diff --git a/locales/fa/LC_MESSAGES/build.po b/locales/fa/LC_MESSAGES/build.po index 5c4c018112cba7dba0abb63918704f59453a3b5b..e36dcd5791f26c9c0c1fe1b0ee220c6f518d185b 100644 --- a/locales/fa/LC_MESSAGES/build.po +++ b/locales/fa/LC_MESSAGES/build.po @@ -1,30 +1,21 @@ -# LANGUAGE translation of FILENAME.pot +# SOME DESCRIPTIVE TITLE. # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors -# This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# This file is distributed under the same license as the Jami package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-10-19 12:03+0000\n" +"PO-Revision-Date: 2022-09-14 17:46+0000\n" +"Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" - -#: ../../../build/building.rst:2 -msgid "Building" -msgstr "" - -#: ../../../build/building.rst:4 ../../../build/packaging.rst:4 -msgid "TODO" -msgstr "" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../../../build/dependencies.rst:2 msgid "Dependencies" @@ -33,8 +24,8 @@ msgstr "" #: ../../../build/dependencies.rst:4 msgid "" "Jami is a large and complex piece of software, and depends on several " -"external free software libraries. Here we outline these dependencies and" -" how to install them with a few popular package systems." +"external free software libraries. Here we outline these dependencies and " +"how to install them with a few popular package systems." msgstr "" #: ../../../build/dependencies.rst:16 ../../../build/dependencies.rst:107 @@ -226,23 +217,22 @@ msgstr "" #: ../../../build/dependencies.rst:66 ../../../build/dependencies.rst:136 msgid "" "On dpkg/deb-based GNU/Linux distributions such as Debian, Trisquel, and " -"Ubuntu you can install these using packages using ``apt-get`` or ``apt`` " -"as follows::" +"Ubuntu you can install these using packages using ``apt-get`` or ``apt`` as " +"follows::" msgstr "" #: ../../../build/dependencies.rst:80 msgid "" -"On rpm-based distributions like Fedora and openSUSE the dependencies can " -"be installed using ``dnf``, ``yum``, or ``zypper`` like so::" +"On rpm-based distributions like Fedora and openSUSE the dependencies can be " +"installed using ``dnf``, ``yum``, or ``zypper`` like so::" msgstr "" #: ../../../build/dependencies.rst:94 msgid "" -"We will do our best to keep the above list up-to-date, but in case you " -"face any issues with missing dependencies you can always check the " -"package definitions for Jami packages distributed via dl.jami.net, as " -"well as the ``build.py`` script, available in the ``jami-project`` " -"repository." +"We will do our best to keep the above list up-to-date, but in case you face " +"any issues with missing dependencies you can always check the package " +"definitions for Jami packages distributed via dl.jami.net, as well as the " +"``build.py`` script, available in the ``jami-project`` repository." msgstr "" #: ../../../build/dependencies.rst:102 @@ -268,7 +258,8 @@ msgid "libqrencode" msgstr "" #: ../../../build/dependencies.rst:111 -msgid "libayatana-appindicator or libappindicator (optional, for notifications)" +msgid "" +"libayatana-appindicator or libappindicator (optional, for notifications)" msgstr "" #: ../../../build/dependencies.rst:113 @@ -307,18 +298,18 @@ msgstr "" #: ../../../build/dependencies.rst:123 msgid "" -"The libqt-jami and jami-libqt packages from dl.jami.net provide the " -"needed Qt 6 dependencies on supported dpkg/deb-based and rpm-based " -"GNU/Linux distributions respectively. This is especially useful for " -"building Jami on slightly older versions of these distributions where Qt " -"6 was not yet packaged in the distribution's official repositories. To " -"install this package providing the Qt 6 dependencies on a supported " -"distribution, first add the respective dl.jami.net repository by " -"following the instructions on the `Download Jami for GNU/Linux " -"<https://jami.net/download-jami-linux/>`_ page of the Jami website, then " -"install the package using a command like ``sudo apt-get install libqt-" -"jami`` (for dpkg/deb-based GNU/Linux distributions) and ``sudo dnf " -"install jami-libqt`` (for rpm-based GNU/Linux distributions)." +"The libqt-jami and jami-libqt packages from dl.jami.net provide the needed " +"Qt 6 dependencies on supported dpkg/deb-based and rpm-based GNU/Linux " +"distributions respectively. This is especially useful for building Jami on " +"slightly older versions of these distributions where Qt 6 was not yet " +"packaged in the distribution's official repositories. To install this " +"package providing the Qt 6 dependencies on a supported distribution, first " +"add the respective dl.jami.net repository by following the instructions on " +"the `Download Jami for GNU/Linux <https://jami.net/download-jami-linux/>`_ " +"page of the Jami website, then install the package using a command like " +"``sudo apt-get install libqt-jami`` (for dpkg/deb-based GNU/Linux " +"distributions) and ``sudo dnf install jami-libqt`` (for rpm-based GNU/Linux " +"distributions)." msgstr "" #: ../../../build/dependencies.rst:153 ../../../build/dependencies.rst:167 @@ -327,18 +318,18 @@ msgstr "" #: ../../../build/dependencies.rst:160 msgid "" -"On rpm-based distributions like Fedora and openSUSE the dependencies can " -"be installed using ``dnf`` or ``zypper`` like so::" +"On rpm-based distributions like Fedora and openSUSE the dependencies can be " +"installed using ``dnf`` or ``zypper`` like so::" msgstr "" #: ../../../build/dependencies.rst:171 msgid "" -"Given the newness of Qt 6, it may not be fully (or at all) packaged in " -"the official repositories of your GNU/Linux distribution of choice yet. " -"In that case, the easiest approach would be to install the libqt-jami or " -"jami-libqt package on your supported dpkg/deb-based and rpm-based " -"GNU/Linux distribution respectively, to get all of the needed Qt 6 " -"dependencies of Jami." +"Given the newness of Qt 6, it may not be fully (or at all) packaged in the " +"official repositories of your GNU/Linux distribution of choice yet. In that" +" case, the easiest approach would be to install the libqt-jami or jami-libqt" +" package on your supported dpkg/deb-based and rpm-based GNU/Linux " +"distribution respectively, to get all of the needed Qt 6 dependencies of " +"Jami." msgstr "" #: ../../../build/index.rst:3 @@ -347,13 +338,13 @@ msgstr "" #: ../../../build/index.rst:5 msgid "" -"The Jami build manual documents the various aspects of building Jami from" -" source, as well as packaging Jami for various package systems. This " -"manual is aimed at those looking to build Jami from source -- for " -"instance to hack on Jami and contribute to its development, or to try " -"recently-added unreleased features -- as well as package maintainers and " -"contributors to GNU/Linux distributions looking to package or help " -"maintain a Jami package for their distribution's repositories." +"The Jami build manual documents the various aspects of building Jami from " +"source, as well as packaging Jami for various package systems. This manual " +"is aimed at those looking to build Jami from source -- for instance to hack " +"on Jami and contribute to its development, or to try recently-added " +"unreleased features -- as well as package maintainers and contributors to " +"GNU/Linux distributions looking to package or help maintain a Jami package " +"for their distribution's repositories." msgstr "" #: ../../../build/introduction.rst:2 @@ -374,61 +365,56 @@ msgstr "" #: ../../../build/introduction.rst:9 msgid "" -"To use Jami, the Jami daemon/library is always needed, since it is the " -"core of Jami and contains all of the connectivity, communication, " -"cryptography, and media logic. It uses libraries such as OpenDHT, PJSIP," -" GnuTLS, and FFmpeg, and has several APIs including DBus, libwrap (shared" -" library), JNI, and REST. These APIs make it possible to interact with " -"Jami without going through a graphical user interface (especially useful " -"for using Jami in a headless/server setting), build automation " -"tools/scripts around Jami, and build custom user interfaces for Jami." +"To use Jami, the Jami daemon/library is always needed, since it is the core " +"of Jami and contains all of the connectivity, communication, cryptography, " +"and media logic. It uses libraries such as OpenDHT, PJSIP, GnuTLS, and " +"FFmpeg, and has several APIs including DBus, libwrap (shared library), JNI, " +"and REST. These APIs make it possible to interact with Jami without going " +"through a graphical user interface (especially useful for using Jami in a " +"headless/server setting), build automation tools/scripts around Jami, and " +"build custom user interfaces for Jami." msgstr "" #: ../../../build/introduction.rst:19 msgid "" -"The client (i.e. user interface) may vary depending on the operating " -"system and/or platform being used. For example, on Android/Replicant " -"systems this would be jami-client-android, and on GNU/Linux, Windows, and" -" macOS this would be the jami-client-qt. There also used to be a GTK-" -"based jami-client-gnome for GNU/Linux and a jami-client-macos for macOS, " -"both of which were deprecated in favour of the newer cross-platform jami-" -"client-qt based on the Qt framework." +"The client (i.e. user interface) may vary depending on the operating system " +"and/or platform being used. For example, on Android/Replicant systems this " +"would be jami-client-android, and on GNU/Linux, Windows, and macOS this " +"would be the jami-client-qt. There also used to be a GTK-based jami-client-" +"gnome for GNU/Linux and a jami-client-macos for macOS, both of which were " +"deprecated in favour of the newer cross-platform jami-client-qt based on the" +" Qt framework." msgstr "" #: ../../../build/introduction.rst:27 msgid "" -"On GNU/Linux systems, jami-client-qt can be configured and built to use " -"one of two main APIs for communicating with the Jami daemon/library:" +"On GNU/Linux systems, jami-client-qt can be configured and built to use one " +"of two main APIs for communicating with the Jami daemon/library:" msgstr "" #: ../../../build/introduction.rst:31 msgid "" -"libwrap: when jami-client-qt is configured to use libwrap (which is " -"always the case on macOS and Windows), it will use Jami daemon's shared " -"library API, and there will be no separate daemon process. This has the " -"advantage of things being somewhat more efficient than with the DBus API " -"mentioned below, in exchange for less flexibility (not being able to " -"interact with Jami via DBus when using libwrap)." +"libwrap: when jami-client-qt is configured to use libwrap (which is always " +"the case on macOS and Windows), it will use Jami daemon's shared library " +"API, and there will be no separate daemon process. This has the advantage of" +" things being somewhat more efficient than with the DBus API mentioned " +"below, in exchange for less flexibility (not being able to interact with " +"Jami via DBus when using libwrap)." msgstr "" #: ../../../build/introduction.rst:38 msgid "" -"The Jami packages distributed via dl.jami.net are currently all " -"configured to use the libwrap API." +"The Jami packages distributed via dl.jami.net are currently all configured " +"to use the libwrap API." msgstr "" #: ../../../build/introduction.rst:41 msgid "" "DBus: when jami-client-qt is configured to use DBus, it will communicate " -"with the Jami daemon via its DBus API, and the daemon will be running as " -"a separate process by itself. This is greatly flexible for communicating" -" with and controlling the daemon through other means (for example small " -"utility scripts) simultaneously while the Jami Qt client also uses and " -"interacts with it. The associated cost of this added flexibility is the " -"overhead of using DBus." -msgstr "" - -#: ../../../build/packaging.rst:2 -msgid "Packaging" +"with the Jami daemon via its DBus API, and the daemon will be running as a " +"separate process by itself. This is greatly flexible for communicating with" +" and controlling the daemon through other means (for example small utility " +"scripts) simultaneously while the Jami Qt client also uses and interacts " +"with it. The associated cost of this added flexibility is the overhead of " +"using DBus." msgstr "" - diff --git a/locales/fa/LC_MESSAGES/contribute.po b/locales/fa/LC_MESSAGES/contribute.po index f76bf8c00417ca2c85810c4d82c285d6f47cfe20..aa4832e93f76f9edfaab30dd0c3f20113ff39808 100644 --- a/locales/fa/LC_MESSAGES/contribute.po +++ b/locales/fa/LC_MESSAGES/contribute.po @@ -1,22 +1,21 @@ -# LANGUAGE translation of FILENAME.pot +# SOME DESCRIPTIVE TITLE. # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors -# This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# This file is distributed under the same license as the Jami package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-10-19 12:03+0000\n" +"PO-Revision-Date: 2022-09-14 17:52+0000\n" +"Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../../../contribute.rst:3 msgid "Contribute to Jami" @@ -24,9 +23,9 @@ msgstr "" #: ../../../contribute.rst:5 msgid "" -"Contributions to Jami are always welcome and are much appreciated. There " -"are many ways to contribute to Jami, including reporting bugs and issues," -" contributing code, helping package and maintain Jami for your GNU/Linux " +"Contributions to Jami are always welcome and are much appreciated. There are" +" many ways to contribute to Jami, including reporting bugs and issues, " +"contributing code, helping package and maintain Jami for your GNU/Linux " "distribution or other operating system, as well as contributing to these " "very docs themselves." msgstr "" @@ -41,8 +40,8 @@ msgstr "" #: ../../../contribute.rst:20 msgid "" -"Please see the :doc:`user/bug-report-guide` for step-by-step instructions" -" on how to report bugs and issues you encounter in Jami." +"Please see the :doc:`user/bug-report-guide` for step-by-step instructions on" +" how to report bugs and issues you encounter in Jami." msgstr "" #: ../../../contribute.rst:24 @@ -63,32 +62,31 @@ msgstr "" #: ../../../contribute.rst:36 msgid "" -"Contributions to these docs are always welcome and appreciated, from " -"small corrections to whole new chapters." +"Contributions to these docs are always welcome and appreciated, from small " +"corrections to whole new chapters." msgstr "" #: ../../../contribute.rst:39 msgid "" "This page will walk through the steps to create a new page or submit a " "correction. The patch review process is the same as :doc:`for any other " -"Jami project <how-to-submit-a-patch>`, so we will not explain every " -"command." +"Jami project <how-to-submit-a-patch>`, so we will not explain every command." msgstr "" #: ../../../contribute.rst:44 msgid "" -"By contributing to this documentation, you agree to make your " -"contributions available under the :doc:`fdl`, Version 1.3 or any later " -"version published by the Free Software Foundation; with no Invariant " -"Sections, no Front-Cover Texts, and no Back-Cover Texts." +"By contributing to this documentation, you agree to make your contributions " +"available under the :doc:`fdl`, Version 1.3 or any later version published " +"by the Free Software Foundation; with no Invariant Sections, no Front-Cover " +"Texts, and no Back-Cover Texts." msgstr "" #: ../../../contribute.rst:50 msgid "" -"You are also promising that you are the author of your changes, or that " -"you copied them from a work in the public domain or a work released under" -" a free license that is compatible with the :doc:`fdl`. DO NOT SUBMIT " -"COPYRIGHTED WORK WITHOUT PERMISSION." +"You are also promising that you are the author of your changes, or that you " +"copied them from a work in the public domain or a work released under a free" +" license that is compatible with the :doc:`fdl`. DO NOT SUBMIT COPYRIGHTED " +"WORK WITHOUT PERMISSION." msgstr "" #: ../../../contribute.rst:56 @@ -101,27 +99,24 @@ msgstr "" #: ../../../contribute.rst:61 msgid "" -"You will need Git installed and configured to use your SSH keypair, and " -"an account on the `Jami Gerrit <https://review.jami.net>`_, where you " -"would send your patches for review. If you need help with this, see " -":doc:`the beginning of our patch submission guide <how-to-" -"submit-a-patch>` (TODO)." +"You will need Git installed and configured to use your SSH keypair, and an " +"account on the `Jami Gerrit <https://review.jami.net>`_, where you would " +"send your patches for review. If you need help with this, see :doc:`the " +"beginning of our patch submission guide <how-to-submit-a-patch>` (TODO)." msgstr "" #: ../../../contribute.rst:67 msgid "" -"If you want to preview your changes locally in your web browser, you need" -" to install `Sphinx <https://www.sphinx-doc.org>`_, the `Read the Docs " -"Sphinx theme <https://sphinx-rtd-theme.readthedocs.io/en/stable/>`_, and " -"the `MyST Markdown parser <https://myst-" -"parser.readthedocs.io/en/latest/index.html>`_." +"If you want to preview your changes locally in your web browser, you need to" +" install `Sphinx <https://www.sphinx-doc.org>`_, the `Read the Docs Sphinx " +"theme <https://sphinx-rtd-theme.readthedocs.io/en/stable/>`_, and the `MyST " +"Markdown parser <https://myst-parser.readthedocs.io/en/latest/index.html>`_." msgstr "" #: ../../../contribute.rst:78 msgid "" "If you want to use the auto-build and auto-refresh feature, also install " -"`sphinx-autobuild <https://github.com/executablebooks/sphinx-" -"autobuild>`_." +"`sphinx-autobuild <https://github.com/executablebooks/sphinx-autobuild>`_." msgstr "" #: ../../../contribute.rst:86 @@ -134,9 +129,9 @@ msgstr "" #: ../../../contribute.rst:96 msgid "" -"You may want to checkout a new branch for each contribution/change before" -" you make any change to the files, so that you could easily ``git pull`` " -"any future changes from upstream into your main local branch:" +"You may want to checkout a new branch for each contribution/change before " +"you make any change to the files, so that you could easily ``git pull`` any " +"future changes from upstream into your main local branch:" msgstr "" #: ../../../contribute.rst:106 @@ -145,10 +140,10 @@ msgstr "" #: ../../../contribute.rst:108 msgid "" -"Pages are written in either markdown or `reStructuredText <https://www" -".sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_. You can " -"click \"View page source\" at the top of any page to open the raw source " -"of the page and see how it was written." +"Pages are written in either markdown or `reStructuredText " +"<https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_." +" You can click \"View page source\" at the top of any page to open the raw " +"source of the page and see how it was written." msgstr "" #: ../../../contribute.rst:113 @@ -165,8 +160,8 @@ msgstr "" #: ../../../contribute.rst:124 msgid "" -"You should now be able to view the documentation in your web browser. " -"The homepage is at ``_build/html/index.html``." +"You should now be able to view the documentation in your web browser. The " +"homepage is at ``_build/html/index.html``." msgstr "" #: ../../../contribute.rst:127 @@ -177,8 +172,8 @@ msgstr "" #: ../../../contribute.rst:134 msgid "" -"Keep this running in the background, then navigate to " -"http://127.0.0.1:8000 (*not* the local .html file)." +"Keep this running in the background, then navigate to http://127.0.0.1:8000 " +"(*not* the local .html file)." msgstr "" #: ../../../contribute.rst:138 @@ -199,10 +194,10 @@ msgstr "" #: ../../../contribute.rst:170 msgid "" -"The first time you try to push your changes, Gerrit will complain that " -"you don't have a Change-Id in your commit, and provide an ``scp`` command" -" to install the commit hook. After running the command, you should be " -"able to recommit and push your change:" +"The first time you try to push your changes, Gerrit will complain that you " +"don't have a Change-Id in your commit, and provide an ``scp`` command to " +"install the commit hook. After running the command, you should be able to " +"recommit and push your change:" msgstr "" #: ../../../contribute.rst:182 @@ -213,8 +208,8 @@ msgstr "" msgid "" "A reviewer may ask you to make changes to your patch before merging it. " "This is no problem! Simply make the changes, ``git add`` them, and run " -"``git commit --amend`` to modify the patch. Note the ``--amend`` switch," -" which is needed to tell git to *amend*/tweak the existing newest commit " +"``git commit --amend`` to modify the patch. Note the ``--amend`` switch, " +"which is needed to tell git to *amend*/tweak the existing newest commit " "rather than making a new commit. This is the workflow for updating a " "proposed change when using Gerrit." msgstr "" @@ -225,15 +220,14 @@ msgstr "" #: ../../../contribute.rst:194 msgid "" -"If you decide to add a whole new page to the documentation, you must also" -" add it to the ``toctree`` directive of that chapter." +"If you decide to add a whole new page to the documentation, you must also " +"add it to the ``toctree`` directive of that chapter." msgstr "" #: ../../../contribute.rst:197 msgid "" "For instance, if you added a new page called ``hosting-jams-on-aws-" -"guide.md`` to the Jami user manual in the ``user`` folder, you should add" -" it in the ``toctree`` directive of ``user/index.rst``, *without* the " -"file extension:" +"guide.md`` to the Jami user manual in the ``user`` folder, you should add it" +" in the ``toctree`` directive of ``user/index.rst``, *without* the file " +"extension:" msgstr "" - diff --git a/locales/fa/LC_MESSAGES/developer.po b/locales/fa/LC_MESSAGES/developer.po index d3c6413561e89b2b8aef1ed40c5dc4cbf92d02cb..4f380079d61f8be1c5bca0ede212ff6d0ada7192 100644 --- a/locales/fa/LC_MESSAGES/developer.po +++ b/locales/fa/LC_MESSAGES/developer.po @@ -1,22 +1,27 @@ -# LANGUAGE translation of FILENAME.pot +# SOME DESCRIPTIVE TITLE. # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors -# This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# This file is distributed under the same license as the Jami package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Translators: +# Mohammad Amin Sameti <mamins1376@gmail.com>, 2022 +# Hamid reza Zaefarani, 2022 +# Amin Mahmudian, 2022 +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-10-19 12:03+0000\n" +"PO-Revision-Date: 2022-09-14 17:48+0000\n" +"Last-Translator: Amin Mahmudian, 2022\n" +"Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../../../developer/account-management.md:1 msgid "Account management" @@ -24,10 +29,10 @@ msgstr "" #: ../../../developer/account-management.md:4 msgid "" -"In this part, we will learn how to manage a Ring account. This means, how" -" to create a Ring account, modify the basic settings and delete the " -"account. This part will *NOT* explain what all the settings mean or how " -"we can use the account to do any action like adding a contact." +"In this part, we will learn how to manage a Ring account. This means, how to" +" create a Ring account, modify the basic settings and delete the account. " +"This part will *NOT* explain what all the settings mean or how we can use " +"the account to do any action like adding a contact." msgstr "" #: ../../../developer/account-management.md:6 @@ -48,8 +53,7 @@ msgstr "" #: ../../../developer/account-management.md:12 msgid "" -"The code related to this feature is located in " -"`src/accountcreationwizard.*`" +"The code related to this feature is located in `src/accountcreationwizard.*`" msgstr "" #: ../../../developer/account-management.md:14 @@ -81,16 +85,16 @@ msgstr "" #: ../../../developer/account-management.md:45 msgid "" -"The details can be retrieven from the method `getAccountTemplate(type)` " -"with `type=RING` or `type=SIP`. For example, this is the following code " -"used in LRC." +"The details can be retrieven from the method `getAccountTemplate(type)` with" +" `type=RING` or `type=SIP`. For example, this is the following code used in " +"LRC." msgstr "" #: ../../../developer/account-management.md:72 msgid "" -"When a new account is added, the signal `accountsChanged` will be " -"emitted. The client should update its internal structure after this " -"signal with other methods in ConfigurationManager." +"When a new account is added, the signal `accountsChanged` will be emitted. " +"The client should update its internal structure after this signal with other" +" methods in ConfigurationManager." msgstr "" #: ../../../developer/account-management.md:74 @@ -111,11 +115,11 @@ msgstr "" #: ../../../developer/account-management.md:80 msgid "" "A Ring account is in fact represented by some files stored in a gzip " -"archive. If a password is provided during the account creation, the " -"archive will be encrypted as following: `dht::crypto::aesEncrypt(archive," -" password)` (`dht::crypto::aesEncrypt` is defined in OpenDHT and use " -"`nettle/{aes,gcm}`). This is what the archive will contain a big JSON " -"file with:" +"archive. If a password is provided during the account creation, the archive " +"will be encrypted as following: `dht::crypto::aesEncrypt(archive, password)`" +" (`dht::crypto::aesEncrypt` is defined in OpenDHT and use " +"`nettle/{aes,gcm}`). This is what the archive will contain a big JSON file " +"with:" msgstr "" #: ../../../developer/account-management.md:82 @@ -134,8 +138,8 @@ msgstr "" #: ../../../developer/account-management.md:85 msgid "" -"The ethereum private key `ethKey` for the device. It's only used when you" -" register your name on `ns.ring.cx`. Not mandatory." +"The ethereum private key `ethKey` for the device. It's only used when you " +"register your name on `ns.ring.cx`. Not mandatory." msgstr "" #: ../../../developer/account-management.md:86 @@ -163,38 +167,36 @@ msgstr "" #: ../../../developer/account-management.md:97 msgid "" -"Deleting a Ring account is pretty simple. Because the keys are only on " -"the device, if the keys are deleted... the account is deleted! The only " -"thing outside the device is the username, on the nameserver. To remove " -"this info, it depends how the nameserver work. For example, it's not " -"possible with https://ns.ring.cx" +"Deleting a Ring account is pretty simple. Because the keys are only on the " +"device, if the keys are deleted... the account is deleted! The only thing " +"outside the device is the username, on the nameserver. To remove this info, " +"it depends how the nameserver work. For example, it's not possible with " +"https://ns.ring.cx" msgstr "" #: ../../../developer/account-management.md:103 msgid "" -"The code related to this feature is located in " -"`newaccountsettingsview.cpp`" +"The code related to this feature is located in `newaccountsettingsview.cpp`" msgstr "" #: ../../../developer/account-management.md:107 msgid "" "The account deletion is in the *NewAccountModel* in " -"`src/api/newaccountmodel.h` and `src/newaccountmodel.cpp` " -"(`removeAccount`)" +"`src/api/newaccountmodel.h` and `src/newaccountmodel.cpp` (`removeAccount`)" msgstr "" #: ../../../developer/account-management.md:128 msgid "" -"When the account is deleted, the signal `accountsChanged` will be " -"emitted. The client should update its internal structure after this " -"signal with other methods in ConfigurationManager." +"When the account is deleted, the signal `accountsChanged` will be emitted. " +"The client should update its internal structure after this signal with other" +" methods in ConfigurationManager." msgstr "" #: ../../../developer/account-management.md:132 msgid "" -"The main logic to create a new account is located in `src/manager.cpp`, " -"in `Manager::removeAccount`. It removes the accounts files and update the" -" config (`dring.yml`)." +"The main logic to create a new account is located in `src/manager.cpp`, in " +"`Manager::removeAccount`. It removes the accounts files and update the " +"config (`dring.yml`)." msgstr "" #: ../../../developer/account-management.md:134 @@ -216,8 +218,8 @@ msgstr "" #: ../../../developer/apis-of-jami.md:6 msgid "" "The documentation related to the API of OpenDHT is " -"[here](https://github.com/savoirfairelinux/opendht/wiki/API-Overview) and" -" will not be detailed in the following part." +"[here](https://github.com/savoirfairelinux/opendht/wiki/API-Overview) and " +"will not be detailed in the following part." msgstr "" #: ../../../developer/apis-of-jami.md:8 @@ -229,16 +231,17 @@ msgid "The managers" msgstr "" #: ../../../developer/apis-of-jami.md:12 -msgid "The API of the daemon is decomposed between 5 Managers + 1 Instance file:" +msgid "" +"The API of the daemon is decomposed between 5 Managers + 1 Instance file:" msgstr "" #: ../../../developer/apis-of-jami.md:13 msgid "" -"The **CallManager** interface is used to manage call and conference " -"related actions. Since the Jami daemon supports multiple " -"incoming/outgoing calls, any actions involving a specific call must " -"address the method by the means of a unique callID. Jami daemon will " -"generate a unique callID for outgoing and incoming calls." +"The **CallManager** interface is used to manage call and conference related " +"actions. Since the Jami daemon supports multiple incoming/outgoing calls, " +"any actions involving a specific call must address the method by the means " +"of a unique callID. Jami daemon will generate a unique callID for outgoing " +"and incoming calls." msgstr "" #: ../../../developer/apis-of-jami.md:14 @@ -257,9 +260,9 @@ msgstr "" #: ../../../developer/apis-of-jami.md:17 msgid "" -"The **Instance** is used to count the number of clients actually " -"registered to the core. When initializing your client, you need to " -"register it against the core by using this interface." +"The **Instance** is used to count the number of clients actually registered " +"to the core. When initializing your client, you need to register it against " +"the core by using this interface." msgstr "" #: ../../../developer/apis-of-jami.md:19 @@ -363,8 +366,8 @@ msgstr "" #: ../../../developer/apis-of-jami.md:50 msgid "" "All the documentation and code for the Node JS API is located in `jami-" -"daemon/bin/nodejs`. This API is not used in any known project and maybe " -"is not up-to-date." +"daemon/bin/nodejs`. This API is not used in any known project and maybe is " +"not up-to-date." msgstr "" #: ../../../developer/apis-of-jami.md:52 @@ -374,8 +377,8 @@ msgstr "" #: ../../../developer/apis-of-jami.md:54 msgid "" "All the documentation and code for the REST API is located in `jami-" -"daemon/bin/restcpp`. This API is not used in any known project and maybe " -"is not up-to-date." +"daemon/bin/restcpp`. This API is not used in any known project and maybe is " +"not up-to-date." msgstr "" #: ../../../developer/apis-of-jami.md:56 @@ -384,14 +387,14 @@ msgstr "" #: ../../../developer/apis-of-jami.md:58 msgid "" -"A Python wrapper is available in `jami-daemon/tools/jamictrl`. This " -"wrapper uses DBus." +"A Python wrapper is available in `jami-daemon/tools/jamictrl`. This wrapper " +"uses DBus." msgstr "" #: ../../../developer/apis-of-jami.md:60 msgid "" -"This is, for example a quick and dirty IRC bot to interact with Jami made" -" with this API:" +"This is, for example a quick and dirty IRC bot to interact with Jami made " +"with this API:" msgstr "" #: ../../../developer/apis-of-jami.md:62 @@ -434,8 +437,8 @@ msgstr "" #: ../../../developer/banned-contacts.md:4 msgid "" -"Following information are here for development purposes and may not " -"reflect the current state of any Ring client." +"Following information are here for development purposes and may not reflect " +"the current state of any Ring client." msgstr "" #: ../../../developer/banned-contacts.md:7 @@ -448,13 +451,13 @@ msgstr "" #: ../../../developer/banned-contacts.md:12 msgid "" -"Alice and Jessica are friends, and like all good friends do, they use " -"Ring to communicate. They are both Ring contact of each other, so Alice " -"is a contact of Jessica and Jessica is a contact of Alice. Some day " -"however, Jessica does something really bad to Alice and Alice doesn't " -"want to hear from her anymore. Instead of removing Jessica from her Ring " -"contacts -- which would still allow Jessica to send her contact requests," -" Alice *bans* Jessica." +"Alice and Jessica are friends, and like all good friends do, they use Ring " +"to communicate. They are both Ring contact of each other, so Alice is a " +"contact of Jessica and Jessica is a contact of Alice. Some day however, " +"Jessica does something really bad to Alice and Alice doesn't want to hear " +"from her anymore. Instead of removing Jessica from her Ring contacts -- " +"which would still allow Jessica to send her contact requests, Alice *bans* " +"Jessica." msgstr "" #: ../../../developer/banned-contacts.md:20 @@ -473,8 +476,8 @@ msgstr "" msgid "" "As a *banned contact* of Alice, Jessica *won't be allowed to contact her " "anymore*, in any way. Text messages, voice or video calls won't be " -"acknowledged or answered in any way. Alice won't even be aware that " -"Jessica tried to contact her." +"acknowledged or answered in any way. Alice won't even be aware that Jessica " +"tried to contact her." msgstr "" #: ../../../developer/banned-contacts.md:32 @@ -489,13 +492,14 @@ msgstr "" msgid "" "As long as Jessica is a banned contact, the conversation with Jessica " "doesn't appears in the conversations list. The conversation history, " -"however, is not deleted. Jessica appears in Alice' account banned contact" -" list. Alice might also find/open the conversation by performing an exact" -" search for Jessica' username." +"however, is not deleted. Jessica appears in Alice' account banned contact " +"list. Alice might also find/open the conversation by performing an exact " +"search for Jessica' username." msgstr "" #: ../../../developer/banned-contacts.md:43 -msgid "Alice can un-ban Jessica from the conversation or the banned contact list." +msgid "" +"Alice can un-ban Jessica from the conversation or the banned contact list." msgstr "" #: ../../../developer/banned-contacts.md:46 @@ -514,12 +518,12 @@ msgstr "" #: ../../../developer/calls.md:1 #: ../../../developer/synchronizing-profiles.md:19 msgid "Calls" -msgstr "" +msgstr "تماسها" #: ../../../developer/calls.md:4 msgid "" -"**NOTE: this page detail the principle for Jami accounts. For SIP " -"accounts, the SIP protocol is used.**" +"**NOTE: this page detail the principle for Jami accounts. For SIP accounts, " +"the SIP protocol is used.**" msgstr "" #: ../../../developer/calls.md:6 @@ -536,8 +540,8 @@ msgstr "" #: ../../../developer/calls.md:12 msgid "" -"Search the contact presence on the DHT (for more details, see {doc" -"}`contact-management`)" +"Search the contact presence on the DHT (for more details, see {doc}`contact-" +"management`)" msgstr "" #: ../../../developer/calls.md:13 @@ -555,8 +559,8 @@ msgstr "" #: ../../../developer/calls.md:15 msgid "" -"Negotiate the socket via ICE. In fact, two ICE sessions are negotiated. " -"One (preferred) in TCP, one in UDP (as a fallback)." +"Negotiate the socket via ICE. In fact, two ICE sessions are negotiated. One " +"(preferred) in TCP, one in UDP (as a fallback)." msgstr "" #: ../../../developer/calls.md:16 @@ -565,9 +569,9 @@ msgstr "" #: ../../../developer/calls.md:17 msgid "" -"The contact is now able to accept or decline the call. When they accept, " -"a ICE transport (UDP only for now) is negotiated to create 4 new sockets " -"for the medias (2 for audio, 2 for video)." +"The contact is now able to accept or decline the call. When they accept, a " +"ICE transport (UDP only for now) is negotiated to create 4 new sockets for " +"the medias (2 for audio, 2 for video)." msgstr "" #: ../../../developer/calls.md:18 @@ -581,33 +585,33 @@ msgstr "" #: ../../../developer/calls.md:22 msgid "" "Everything really starts in `jamiaccount.cpp` " -"(`JamiAccount::startOutgoingCall`). Once both ICE objects are ready and " -"when the contact is found via the DHT, the call request for the contact " -"is crafted. This request contains all the informations necessary for the " -"remote ICE session defined by:" +"(`JamiAccount::startOutgoingCall`). Once both ICE objects are ready and when" +" the contact is found via the DHT, the call request for the contact is " +"crafted. This request contains all the informations necessary for the remote" +" ICE session defined by:" msgstr "" #: ../../../developer/calls.md:28 msgid "" "where `callvid` is a random number used to identify the call and blob " "contains two concatened ICE messages (`IceTransport::packIceMsg` in " -"`ice_transport.cpp`) containing the password of the session, the *ufrag* " -"and ICE candidates.) like:" +"`ice_transport.cpp`) containing the password of the session, the *ufrag* and" +" ICE candidates.) like:" msgstr "" #: ../../../developer/calls.md:48 msgid "" "and is sent via the DHT in an encrypted message for the device to " -"`hash(callto:xxxxxx)` where `xxxxxx` is the device id. The peer will " -"answer at the exact same place (but encrypted for the sender device) its " -"own `dht::IceCandidates`. See `JamiAccount::replyToIncomingIceMsg` for " -"more details." +"`hash(callto:xxxxxx)` where `xxxxxx` is the device id. The peer will answer " +"at the exact same place (but encrypted for the sender device) its own " +"`dht::IceCandidates`. See `JamiAccount::replyToIncomingIceMsg` for more " +"details." msgstr "" #: ../../../developer/calls.md:50 msgid "" -"The ICE session is created both side when they have all the candidates " -"(so for the sender, when the reply from the contact is received)." +"The ICE session is created both side when they have all the candidates (so " +"for the sender, when the reply from the contact is received)." msgstr "" #: ../../../developer/calls.md:52 @@ -616,13 +620,13 @@ msgstr "" #: ../../../developer/calls.md:54 msgid "" -"Pending calls are managed by `JamiAccount::handlePendingCallList()`, " -"which first wait that the TCP negotiation finish (and if it fails, wait " -"for the UDP one). The code for the ICE negotiation is mainly managed by " +"Pending calls are managed by `JamiAccount::handlePendingCallList()`, which " +"first wait that the TCP negotiation finish (and if it fails, wait for the " +"UDP one). The code for the ICE negotiation is mainly managed by " "[pjproject](https://github.com/pjsip/pjproject) but for Jami, the " -"interesting part is located in `ice_transport.cpp`. Moreover, we add some" -" important patches/features on top of *pjproject* not merged upstream for" -" now (for example, ICE over TCP). These patches are present in " +"interesting part is located in `ice_transport.cpp`. Moreover, we add some " +"important patches/features on top of *pjproject* not merged upstream for now" +" (for example, ICE over TCP). These patches are present in " "`contrib/src/pjproject`." msgstr "" @@ -632,13 +636,12 @@ msgstr "" #: ../../../developer/calls.md:58 msgid "" -"Once the socket is created and managed by an **IceTransport** instance, " -"it is then wrapped in a **SipTransport** corresponding to a " -"*TlsIceTransport*. The main code is located into " -"`JamiAccount::handlePendingCall()` and the wrapping is done into " -"`SipTransportBroker::getTlsIceTransport`. Finally, our session is managed" -" by **TlsSession** in `daemon/src/security/tls_session.cpp` and uses the " -"GnuTLS library." +"Once the socket is created and managed by an **IceTransport** instance, it " +"is then wrapped in a **SipTransport** corresponding to a *TlsIceTransport*. " +"The main code is located into `JamiAccount::handlePendingCall()` and the " +"wrapping is done into `SipTransportBroker::getTlsIceTransport`. Finally, our" +" session is managed by **TlsSession** in " +"`daemon/src/security/tls_session.cpp` and uses the GnuTLS library." msgstr "" #: ../../../developer/calls.md:60 @@ -653,8 +656,8 @@ msgstr "" #: ../../../developer/calls.md:62 msgid "" "The control socket is used to transmit SIP packets, like invites, custom " -"messages (Jami sends the VCard of your profile on this socket at the " -"start of the call, or the rotation of the camera), text messages." +"messages (Jami sends the VCard of your profile on this socket at the start " +"of the call, or the rotation of the camera), text messages." msgstr "" #: ../../../developer/calls.md:64 ../../../developer/jami-plugins.md:294 @@ -675,8 +678,8 @@ msgstr "" #: ../../../developer/calls.md:71 msgid "" -"Media sockets are SRTP sockets where the key is negotiated through the " -"TLS Session previously created. **TODO**" +"Media sockets are SRTP sockets where the key is negotiated through the TLS " +"Session previously created. **TODO**" msgstr "" #: ../../../developer/calls.md:74 @@ -704,16 +707,15 @@ msgstr "" #: ../../../developer/calls.md:88 msgid "" -"The first part is to negotiate enough media streams. In fact, every " -"media stream uses 2 UDP sockets. We consider three scenarios:" +"The first part is to negotiate enough media streams. In fact, every media " +"stream uses 2 UDP sockets. We consider three scenarios:" msgstr "" #: ../../../developer/calls.md:91 msgid "" -"If it's the host of a conference who wants to add media, there is nothing" -" more to negotiate, because we already mix the videos into one stream. " -"So, we add the new media directly to the video-mixer without " -"negotiations." +"If it's the host of a conference who wants to add media, there is nothing " +"more to negotiate, because we already mix the videos into one stream. So, " +"we add the new media directly to the video-mixer without negotiations." msgstr "" #: ../../../developer/calls.md:96 @@ -729,8 +731,8 @@ msgstr "" #: ../../../developer/calls.md:101 msgid "" "To make pjsip able to generate more sockets per ICE session, " -"`PJ_ICE_COMP_BITS` was modified to `5` (which corresponds to `2^5`, so 32" -" streams)." +"`PJ_ICE_COMP_BITS` was modified to `5` (which corresponds to `2^5`, so 32 " +"streams)." msgstr "" #: ../../../developer/calls.md:105 @@ -753,8 +755,8 @@ msgstr "" #: ../../../developer/calls.md:159 msgid "" -"If a call is done with a peer where the daemon's version is < 13.3.0, " -"multi-stream is not enabled and the old behavior is used (1 video only)." +"If a call is done with a peer where the daemon's version is < 13.3.0, multi-" +"stream is not enabled and the old behavior is used (1 video only)." msgstr "" #: ../../../developer/calls.md:163 @@ -763,9 +765,9 @@ msgstr "" #: ../../../developer/calls.md:165 msgid "" -"Because there can be multiple streams now, every media stream is " -"identified by its identifier, and the format is \"<type>_<idx>\"; for " -"example: \"audio_0\", \"video_2\", etc." +"Because there can be multiple streams now, every media stream is identified " +"by its identifier, and the format is \"<type>_<idx>\"; for example: " +"\"audio_0\", \"video_2\", etc." msgstr "" #: ../../../developer/calls.md:169 @@ -787,7 +789,7 @@ msgstr "" #: ../../../developer/calls.md:215 msgid "Conference" -msgstr "" +msgstr "نشست" #: ../../../developer/calls.md:217 msgid "Reflected changes are documented {doc}`here <conference-protocol>`." @@ -799,17 +801,17 @@ msgstr "" #: ../../../developer/calls.md:221 msgid "" -"Even if the back-end supports up to 32 media at the same time, except for" -" custom clients we currently recommend only giving the ability to share " -"one camera and one video at the same time. The camera is controlled via " -"the camera button, and the other media via the \"Share\" button." +"Even if the back-end supports up to 32 media at the same time, except for " +"custom clients we currently recommend only giving the ability to share one " +"camera and one video at the same time. The camera is controlled via the " +"camera button, and the other media via the \"Share\" button." msgstr "" #: ../../../developer/calls.md:227 msgid "" "In client-qt, the interesting part is in `AvAdapter` (methods like " -"`isCapturing`, `shareAllScreens`, `stopSharing`). In the library's " -"logic, `addMedia` and `removeMedia` in the `callModel` directly use the " +"`isCapturing`, `shareAllScreens`, `stopSharing`). In the library's logic, " +"`addMedia` and `removeMedia` in the `callModel` directly use the " "`requestMediaChange` and can be used as a design reference." msgstr "" @@ -823,16 +825,15 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:6 msgid "" -"This page aims to describe how call will works with groups. This method " -"will allow clients to provides call for multiple participants with a " -"shared text history. The protocol must be flexible, keep compatibility " -"with the SIP stack, adn must work in a distributed environment. This " -"distributed environment also brings some challenges, such as possible " -"race conditions (where multiple parties can start a call at the same " -"time). Finally, because the Swarm can be with members only using mobiles," -" or by companies with dedicated servers to mix the video, it should also " -"be able to work with the best experience possible on heterogeneous " -"environment." +"This page aims to describe how call will works with groups. This method will" +" allow clients to provides call for multiple participants with a shared text" +" history. The protocol must be flexible, keep compatibility with the SIP " +"stack, adn must work in a distributed environment. This distributed " +"environment also brings some challenges, such as possible race conditions " +"(where multiple parties can start a call at the same time). Finally, because" +" the Swarm can be with members only using mobiles, or by companies with " +"dedicated servers to mix the video, it should also be able to work with the " +"best experience possible on heterogeneous environment." msgstr "" #: ../../../developer/calls-in-swarm.md:8 @@ -841,7 +842,8 @@ msgid "Definitions" msgstr "" #: ../../../developer/calls-in-swarm.md:10 -msgid "a **Rendezvous** will mix all authorized incoming calls in a conference." +msgid "" +"a **Rendezvous** will mix all authorized incoming calls in a conference." msgstr "" #: ../../../developer/calls-in-swarm.md:11 @@ -870,8 +872,8 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:17 msgid "" "Note: those two URIs allow the client to place a call in order to join a " -"*Rendezvous* or to init a call to a swarm, resulting in the logic " -"described in the next section." +"*Rendezvous* or to init a call to a swarm, resulting in the logic described " +"in the next section." msgstr "" #: ../../../developer/calls-in-swarm.md:19 @@ -931,10 +933,10 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:38 msgid "" -"When receiving a new incoming call, the URI MUST be parsed. If the " -"incoming call is for a *Rendezvous* which is currently hosted by the " -"device and the caller is authorized to join, the call MUST be answered " -"and added to the current *Rendezvous*" +"When receiving a new incoming call, the URI MUST be parsed. If the incoming " +"call is for a *Rendezvous* which is currently hosted by the device and the " +"caller is authorized to join, the call MUST be answered and added to the " +"current *Rendezvous*" msgstr "" #: ../../../developer/calls-in-swarm.md:41 @@ -943,11 +945,11 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:43 msgid "" -"To define a default URI, the member who wants to be the host should " -"update the profile of the conversation, and this will be synced and " -"validated by peers. However, the host MUST be able to accept or not to be" -" the host and a member with enough permissions SHOULD be able to ask a " -"device to be the host. This process is not decided for now." +"To define a default URI, the member who wants to be the host should update " +"the profile of the conversation, and this will be synced and validated by " +"peers. However, the host MUST be able to accept or not to be the host and a " +"member with enough permissions SHOULD be able to ask a device to be the " +"host. This process is not decided for now." msgstr "" #: ../../../developer/calls-in-swarm.md:45 @@ -966,8 +968,8 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:51 msgid "" -"Members of the swarm that aren't in a call SHOULD be able to know who is " -"in the active calls." +"Members of the swarm that aren't in a call SHOULD be able to know who is in " +"the active calls." msgstr "" #: ../../../developer/calls-in-swarm.md:53 @@ -977,8 +979,8 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:55 msgid "" "Because conferences are still mixed SIP calls, a SIP bridge is still " -"possible. In the *Swarm's profile* it should be possible to add a SIP " -"entry, like some popular VoIP systems)" +"possible. In the *Swarm's profile* it should be possible to add a SIP entry," +" like some popular VoIP systems)" msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:1 @@ -1002,9 +1004,9 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:8 msgid "" -"It is not necessary to aim for an optimal quality (CRF < 20) because " -"beyond that, the visual perception is almost similar while the data flow " -"(bitrate) required is much higher." +"It is not necessary to aim for an optimal quality (CRF < 20) because beyond " +"that, the visual perception is almost similar while the data flow (bitrate) " +"required is much higher." msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:10 @@ -1013,8 +1015,8 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:11 msgid "" -"The purpose of this document is to verify the impact of a change in video" -" quality with the CRF parameter of the encoder." +"The purpose of this document is to verify the impact of a change in video " +"quality with the CRF parameter of the encoder." msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:13 @@ -1067,16 +1069,16 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:29 msgid "" -"Thanks to this test we can estimate the bitrate that will be emitted in " -"Jami according to the chosen parameters. We also have an overview of the " -"visual quality." +"Thanks to this test we can estimate the bitrate that will be emitted in Jami" +" according to the chosen parameters. We also have an overview of the visual " +"quality." msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:33 msgid "" "1080p / 300 kbit/s / CRF28  1080p / 300 kbit/s / CRF38 " +"crf28.png) 1080p / 300 kbit/s / CRF38 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:33 @@ -1098,8 +1100,8 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:40 msgid "" "1080p / 1.5 Mbps / CRF22  1080p / 1.5 Mbit/s / CRF30 " +"crf22.png) 1080p / 1.5 Mbit/s / CRF30 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:45 @@ -1110,9 +1112,8 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:47 msgid "" -"1080p / 6 Mbps / CRF17  1080p / 6 Mbit/s / CRF23 " +"1080p / 6 Mbps / CRF17  " +"1080p / 6 Mbit/s / CRF23 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:52 @@ -1121,23 +1122,22 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:56 msgid "" -"720p / 300 kbps / CRF28  720p / 300 kbit/s / CRF38  Visual comparison (CRF28 left / CRF38 right)" +"720p / 300 kbps / CRF28 " +" 720p / 300 kbit/s / CRF38  Visual comparison (CRF28 left / CRF38 right)" msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:62 msgid "" -"720p / 1.5 Mbps / CRF22  720p / 1.5 Mbit/s / CRF30 (Test with reduced CRF) " -"" +"720p / 1.5 Mbps / CRF22 " +" 720p / 1.5 Mbit/s / CRF30 (Test with reduced CRF) " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:69 msgid "" "720p / 6 Mbps / CRF17  " -"720p / 6 Mbit/s / CRF23 " +"720p / 6 Mbit/s / CRF23 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:74 @@ -1147,9 +1147,9 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:78 msgid "" -"436p / 300 kbps / CRF28  436p / 300 kbit/s / CRF38 " +"436p / 300 kbps / CRF28 " +" 436p / 300 kbit/s / CRF38 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:83 @@ -1158,16 +1158,15 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:85 msgid "" -"436p / 1.5 Mbps / CRF22  436p / 1.5 Mbit/s / CRF30 " +"436p / 1.5 Mbps / CRF22 " +" 436p / 1.5 Mbit/s / CRF30 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:92 msgid "" "436p / 6 Mbps / CRF17  " -"436p / 6 Mbit/s / CRF23 " +"436p / 6 Mbit/s / CRF23 " msgstr "" #: ../../../developer/coding-style.md:1 @@ -1183,8 +1182,7 @@ msgstr "" #: ../../../developer/coding-style.md:7 msgid "" "C++ format rules are defined by this clang-format file: " -"https://git.jami.net/savoirfairelinux/jami-daemon/blob/master/.clang-" -"format" +"https://git.jami.net/savoirfairelinux/jami-daemon/blob/master/.clang-format" msgstr "" #: ../../../developer/coding-style.md:10 @@ -1201,10 +1199,10 @@ msgstr "" #: ../../../developer/conference-protocol.md:3 msgid "" "This document aims to describe the evolutions we will do for managing " -"conferences (audio/video). The goal is to improve the current " -"implementation which simply merges SIP calls and provide a grid view, to " -"a view where participants are listed, can be muted independently, or the " -"video layout changed (to show only one participant)" +"conferences (audio/video). The goal is to improve the current implementation" +" which simply merges SIP calls and provide a grid view, to a view where " +"participants are listed, can be muted independently, or the video layout " +"changed (to show only one participant)" msgstr "" #: ../../../developer/conference-protocol.md:7 @@ -1222,8 +1220,8 @@ msgstr "" #: ../../../developer/conference-protocol.md:12 msgid "" "This document only describes the first steps for now. This means the " -"identification of participants and position in the video mixer sent to " -"all participants." +"identification of participants and position in the video mixer sent to all " +"participants." msgstr "" #: ../../../developer/conference-protocol.md:14 @@ -1235,7 +1233,8 @@ msgid "GRID: Every member is shown with the same height/width" msgstr "" #: ../../../developer/conference-protocol.md:17 -msgid "ONE_BIG_WITH_SMALL: One member is zoomed and the other preview is shown" +msgid "" +"ONE_BIG_WITH_SMALL: One member is zoomed and the other preview is shown" msgstr "" #: ../../../developer/conference-protocol.md:18 @@ -1249,15 +1248,16 @@ msgid "" msgstr "" #: ../../../developer/conference-protocol.md:38 -#: ../../../developer/conference-protocol.md:95 ../../../developer/swarm.md:490 +#: ../../../developer/conference-protocol.md:95 +#: ../../../developer/swarm.md:490 msgid "Implementation" msgstr "" #: ../../../developer/conference-protocol.md:40 msgid "" "The implementation is pretty straightforward. Everything is managed by " -"`conference.cpp` (to link participant to sources) and `video_mixer.cpp` " -"(to render the wanted layout)." +"`conference.cpp` (to link participant to sources) and `video_mixer.cpp` (to " +"render the wanted layout)." msgstr "" #: ../../../developer/conference-protocol.md:43 @@ -1267,22 +1267,22 @@ msgstr "" #: ../../../developer/conference-protocol.md:45 msgid "" "Note: Actually, the word participant is used for callId mixed in a " -"conference. This can lead at first to some problems for the API and must " -"be fixed in the future" +"conference. This can lead at first to some problems for the API and must be " +"fixed in the future" msgstr "" #: ../../../developer/conference-protocol.md:47 msgid "" "The goal is to notify all participants of the metadata of the rendered " -"video. This means what participant is in the conference and where the " -"video is located." +"video. This means what participant is in the conference and where the video " +"is located." msgstr "" #: ../../../developer/conference-protocol.md:49 msgid "" -"If a participant is itself a conference, its incoming layout info should " -"be merged when sent to other participants. Layout info must not be merged" -" when sent back to a conference." +"If a participant is itself a conference, its incoming layout info should be " +"merged when sent to other participants. Layout info must not be merged when " +"sent back to a conference." msgstr "" #: ../../../developer/conference-protocol.md:51 @@ -1291,8 +1291,8 @@ msgstr "" #: ../../../developer/conference-protocol.md:53 msgid "" -"The Layout is stored as a VectorMapStringString for clients and " -"internally with a vector<ParticipantInfo> with the following format:" +"The Layout is stored as a VectorMapStringString for clients and internally " +"with a vector<ParticipantInfo> with the following format:" msgstr "" #: ../../../developer/conference-protocol.md:67 @@ -1365,16 +1365,16 @@ msgstr "" #: ../../../developer/conference-protocol.md:87 msgid "" -"A new method (in CallManager) and a new signal to respectively get " -"current conference infos and updates are available:" +"A new method (in CallManager) and a new signal to respectively get current " +"conference infos and updates are available:" msgstr "" #: ../../../developer/conference-protocol.md:97 msgid "" -"The `Conference` Object (which only exists if we mix calls, this means " -"that we are the master) manages the information for the whole conference," -" based on the LayoutInfos of each `Call` object. The getConferenceInfos " -"will retrieve info directly from this object." +"The `Conference` Object (which only exists if we mix calls, this means that " +"we are the master) manages the information for the whole conference, based " +"on the LayoutInfos of each `Call` object. The getConferenceInfos will " +"retrieve info directly from this object." msgstr "" #: ../../../developer/conference-protocol.md:99 @@ -1385,14 +1385,14 @@ msgstr "" #: ../../../developer/conference-protocol.md:101 msgid "" -"The master of a conference sends its info via the SIP channel as a " -"message with the following MIME type: `application/confInfo+json`" +"The master of a conference sends its info via the SIP channel as a message " +"with the following MIME type: `application/confInfo+json`" msgstr "" #: ../../../developer/conference-protocol.md:104 msgid "" -"So, if a call receives some confInfo, we know that this call is a member " -"of a conference." +"So, if a call receives some confInfo, we know that this call is a member of " +"a conference." msgstr "" #: ../../../developer/conference-protocol.md:106 @@ -1417,8 +1417,8 @@ msgstr "" #: ../../../developer/conference-protocol.md:114 msgid "" -"It should handle orders at multiple levels. In fact for a conference the " -"is 3 levels to define a participant:" +"It should handle orders at multiple levels. In fact for a conference the is " +"3 levels to define a participant:" msgstr "" #: ../../../developer/conference-protocol.md:115 @@ -1431,12 +1431,13 @@ msgstr "" #: ../../../developer/conference-protocol.md:117 msgid "" -"Medias, because there can be multiple videos by devices (eg 1 camera and " -"1 screen sharing)" +"Medias, because there can be multiple videos by devices (eg 1 camera and 1 " +"screen sharing)" msgstr "" #: ../../../developer/conference-protocol.md:119 -msgid "To save bandwidth, clients should be able to send multiple orders at once." +msgid "" +"To save bandwidth, clients should be able to send multiple orders at once." msgstr "" #: ../../../developer/conference-protocol.md:121 @@ -1446,8 +1447,8 @@ msgstr "" #: ../../../developer/conference-protocol.md:123 msgid "" "To change a layout, the moderator can send a payload with " -"\"application/confOrder+json\" as type: where **0** is a grid, **1** is " -"one user in big, others in small, **2** is one in big" +"\"application/confOrder+json\" as type: where **0** is a grid, **1** is one " +"user in big, others in small, **2** is one in big" msgstr "" #: ../../../developer/conference-protocol.md:126 @@ -1456,8 +1457,8 @@ msgstr "" #: ../../../developer/conference-protocol.md:128 msgid "" -"For now, there is no action supported, however, in the future `moderator:" -" true/false` should be handled to change a moderator." +"For now, there is no action supported, however, in the future `moderator: " +"true/false` should be handled to change a moderator." msgstr "" #: ../../../developer/conference-protocol.md:130 @@ -1465,13 +1466,14 @@ msgid "Device's actions" msgstr "" #: ../../../developer/conference-protocol.md:132 -msgid "`hangup: true` to hangup a device from the conference (only moderators)" +msgid "" +"`hangup: true` to hangup a device from the conference (only moderators)" msgstr "" #: ../../../developer/conference-protocol.md:133 msgid "" -"`raisehand: true/false` to change the raise hand's status. Only doable by" -" the device itself, else dropped." +"`raisehand: true/false` to change the raise hand's status. Only doable by " +"the device itself, else dropped." msgstr "" #: ../../../developer/conference-protocol.md:135 @@ -1479,7 +1481,8 @@ msgid "Media's actions" msgstr "" #: ../../../developer/conference-protocol.md:137 -msgid "`muteAudio` only doable by moderators to mute the audio of a participant" +msgid "" +"`muteAudio` only doable by moderators to mute the audio of a participant" msgstr "" #: ../../../developer/conference-protocol.md:138 @@ -1492,12 +1495,12 @@ msgstr "" #: ../../../developer/conference-protocol.md:140 msgid "" -"`voiceActivity` to indiciate a media stream's voice activity status (only" -" relevant for audio)" +"`voiceActivity` to indiciate a media stream's voice activity status (only " +"relevant for audio)" msgstr "" #: ../../../developer/conference-protocol.md:142 -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "Example" msgstr "" @@ -1507,9 +1510,9 @@ msgstr "" #: ../../../developer/conference-protocol.md:169 msgid "" -"Note: the type of the media should be included in conferences " -"informations and can be used for the client to improve display (e.g. do " -"not crop screen sharing)" +"Note: the type of the media should be included in conferences informations " +"and can be used for the client to improve display (e.g. do not crop screen " +"sharing)" msgstr "" #: ../../../developer/conference-protocol.md:172 @@ -1548,9 +1551,9 @@ msgstr "" #: ../../../developer/conference-protocol.md:186 msgid "" -"It's likely that the protocol will evolve for future needs. I believe " -"it's best if we have a \"version\" field. The older version will be " -"recognized if this field is missing." +"It's likely that the protocol will evolve for future needs. I believe it's " +"best if we have a \"version\" field. The older version will be recognized if" +" this field is missing." msgstr "" #: ../../../developer/connection-manager.md:1 @@ -1566,21 +1569,20 @@ msgstr "" #: ../../../developer/connection-manager.md:6 msgid "" -"The connection manager is the first piece of the group chat features. " -"This class manages connections to peers and offer to the user multiplexed" -" sockets to devices they want to connect. For example, if Alice wants to " -"be connected to one of Bob's device to transfer 2 files, she will ask the" -" ConnectionManager to open 2 channels (one per file) to Bob. This will " -"give:" +"The connection manager is the first piece of the group chat features. This " +"class manages connections to peers and offer to the user multiplexed sockets" +" to devices they want to connect. For example, if Alice wants to be " +"connected to one of Bob's device to transfer 2 files, she will ask the " +"ConnectionManager to open 2 channels (one per file) to Bob. This will give:" msgstr "" #: ../../../developer/connection-manager.md:24 msgid "" -"Behind that, the ConnectionManager will first connect to Bob's device via" -" the DHT (via ICE) and setup a TLS Socket. Then, it will ask for a " -"channel, and when the channel is ready, inform Alice via a callback. For " -"the second file, it will use the first socket and will just open a new " -"channel (only needs 2 TLS packet, so it's fast)" +"Behind that, the ConnectionManager will first connect to Bob's device via " +"the DHT (via ICE) and setup a TLS Socket. Then, it will ask for a channel, " +"and when the channel is ready, inform Alice via a callback. For the second " +"file, it will use the first socket and will just open a new channel (only " +"needs 2 TLS packet, so it's fast)" msgstr "" #: ../../../developer/connection-manager.md:26 @@ -1595,8 +1597,8 @@ msgstr "" #: ../../../developer/connection-manager.md:30 msgid "" -"However, when a side receives a new ICE request, the callback set by ` " -"void onICERequest(onICERequestCallback&& cb);` is triggered." +"However, when a side receives a new ICE request, the callback set by ` void " +"onICERequest(onICERequestCallback&& cb);` is triggered." msgstr "" #: ../../../developer/connection-manager.md:32 @@ -1605,15 +1607,14 @@ msgstr "" #: ../../../developer/connection-manager.md:34 msgid "" -"A channel is defined by an id (unique) and a uri (not unique). For " -"example (1, 'git://*')" +"A channel is defined by an id (unique) and a uri (not unique). For example " +"(1, 'git://*')" msgstr "" #: ../../../developer/connection-manager.md:36 msgid "" -"When ready, the ConnectionManager considers that the channel 0 exists. " -"This channel is called the *CONTROL* channel and is used to ask for new " -"channels." +"When ready, the ConnectionManager considers that the channel 0 exists. This " +"channel is called the *CONTROL* channel and is used to ask for new channels." msgstr "" #: ../../../developer/connection-manager.md:38 @@ -1638,15 +1639,14 @@ msgstr "" #: ../../../developer/connection-manager.md:46 msgid "" -"To ask for a new channel, the ConnectionManager will send a " -"`ChannelRequest` object (msgpack is used to serialize the struct) in the " -"channel 0 to send the id and the name of the new channel to the peer " -"(with `isAnswer = false`). The peer will call the callback given with ̀" -" void onChannelRequest(ChannelRequestCallBack&& cb);` and will refuse " -"or accept the request. If accepted, the peer will answer with a " -"ChannelRequest with the same data (and ̀`isAnswer = true`) and then both " -"peers callbacks will be triggered to inform that the ChannelSock is " -"usable." +"To ask for a new channel, the ConnectionManager will send a `ChannelRequest`" +" object (msgpack is used to serialize the struct) in the channel 0 to send " +"the id and the name of the new channel to the peer (with `isAnswer = " +"false`). The peer will call the callback given with ̀ void " +"onChannelRequest(ChannelRequestCallBack&& cb);` and will refuse or accept " +"the request. If accepted, the peer will answer with a ChannelRequest with " +"the same data (and ̀`isAnswer = true`) and then both peers callbacks will be" +" triggered to inform that the ChannelSock is usable." msgstr "" #: ../../../developer/connection-manager.md:48 @@ -1654,7 +1654,8 @@ msgid "Closing a channel" msgstr "" #: ../../../developer/connection-manager.md:50 -msgid "A *EOF* is transmitted for a channel if the length of the content is 0." +msgid "" +"A *EOF* is transmitted for a channel if the length of the content is 0." msgstr "" #: ../../../developer/connection-manager.md:52 @@ -1676,7 +1677,8 @@ msgid "The ConnectionManager owns MultiplexedSockets and ICE objects" msgstr "" #: ../../../developer/connection-manager.md:58 -msgid "MultiplexedSockets owns the TLS transport and the ChannelSocket objects" +msgid "" +"MultiplexedSockets owns the TLS transport and the ChannelSocket objects" msgstr "" #: ../../../developer/connection-manager.md:59 @@ -1717,10 +1719,9 @@ msgstr "" #: ../../../developer/contact-management.md:4 msgid "" -"This section will present how to find and add a contact from the DHT to " -"the client. The usage of a name server will not be explained here. If " -"you'd like more details about that, please read {doc}`name-server-" -"protocol`." +"This section will present how to find and add a contact from the DHT to the " +"client. The usage of a name server will not be explained here. If you'd " +"like more details about that, please read {doc}`name-server-protocol`." msgstr "" #: ../../../developer/contact-management.md:6 @@ -1733,22 +1734,21 @@ msgstr "" #: ../../../developer/contact-management.md:10 msgid "" -"The presence is pretty simple to announce on the DHT. In fact, it's just " -"a value containing the device hash (see the previous section, {doc" -"}`account-management`) on the hash corresponding to the fingerprint of " -"the key. So, if we have the account " -"`bf5f1e21d3eb2c1246946aa49d5dcf3e5b9cb1b9` with the device " -"`62fbdff0ce86f368c7d3c2682539e5ba9e06404f`, the following defined value " -"will be sent over the DHT:" +"The presence is pretty simple to announce on the DHT. In fact, it's just a " +"value containing the device hash (see the previous section, {doc}`account-" +"management`) on the hash corresponding to the fingerprint of the key. So, if" +" we have the account `bf5f1e21d3eb2c1246946aa49d5dcf3e5b9cb1b9` with the " +"device `62fbdff0ce86f368c7d3c2682539e5ba9e06404f`, the following defined " +"value will be sent over the DHT:" msgstr "" #: ../../../developer/contact-management.md:29 msgid "" "(This value can be put with `dht_.put(h, VALUE, dht::DoneCallback{}, {}, " "true);`, as a permanent put). If the device is announced, the device is " -"present. For now, there is no way to delete or edit a value on the DHT " -"(this will come when OpenDHT will supports ECC). So, the presence always " -"have a delay for now (mean delay: expire-time/2, so 2min30 for now)." +"present. For now, there is no way to delete or edit a value on the DHT (this" +" will come when OpenDHT will supports ECC). So, the presence always have a " +"delay for now (mean delay: expire-time/2, so 2min30 for now)." msgstr "" #: ../../../developer/contact-management.md:31 @@ -1757,13 +1757,13 @@ msgstr "" #: ../../../developer/contact-management.md:33 msgid "" -"Now our presence on the network, it's time to get if somebody is present " -"on the DHT. With the previous section, it's easy to do the reverse " -"process. To know if somebody is present on the DHT (ex: " +"Now our presence on the network, it's time to get if somebody is present on " +"the DHT. With the previous section, it's easy to do the reverse process. To " +"know if somebody is present on the DHT (ex: " "`bf5f1e21d3eb2c1246946aa49d5dcf3e5b9cb1b9`), we have to get value at " "`bf5f1e21d3eb2c1246946aa49d5dcf3e5b9cb1b9` and retrieve the " -"`DeviceAnnouncement` on this hash. The related code in the ring daemon is" -" in `ringaccount.cpp`:" +"`DeviceAnnouncement` on this hash. The related code in the ring daemon is in" +" `ringaccount.cpp`:" msgstr "" #: ../../../developer/contact-management.md:66 @@ -1784,8 +1784,8 @@ msgstr "" #: ../../../developer/contact-management.md:74 msgid "" -"Finally, once the trust request is crafted, we can push the request to " -"the following hash: `InfoHash(\"inbox:\" + deviceId)`" +"Finally, once the trust request is crafted, we can push the request to the " +"following hash: `InfoHash(\"inbox:\" + deviceId)`" msgstr "" #: ../../../developer/contact-management.md:76 @@ -1812,14 +1812,14 @@ msgstr "" #: ../../../developer/contact-management.md:120 msgid "" -"All methods and signals used to manage trust requests and contacts are in" -" the `ConfigurationManager` such as:" +"All methods and signals used to manage trust requests and contacts are in " +"the `ConfigurationManager` such as:" msgstr "" #: ../../../developer/contact-management.md:212 msgid "" -"If you want some examples, these methods are used into `contactmodel.cpp`" -" in LRC." +"If you want some examples, these methods are used into `contactmodel.cpp` in" +" LRC." msgstr "" #: ../../../developer/creating-jami-plugins.md:1 @@ -1836,8 +1836,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:7 msgid "" -"As from September of 2020, Jami team has added plugins as a call feature " -"for GNU/Linux, Windows, and Android users. This meaning that now you can " +"As from September of 2020, Jami team has added plugins as a call feature for" +" GNU/Linux, Windows, and Android users. This meaning that now you can " "personalize your call and chat experience by using one of our available " "plugins. But that is not all, you can also transform your awesome ideas " "into a brand new plugin!" @@ -1855,8 +1855,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:14 msgid "" -"An example of how to create your own base plugin with our SDK - [#Create " -"my first plugin](#create-my-first-plugin)." +"An example of how to create your own base plugin with our SDK - [#Create my " +"first plugin](#create-my-first-plugin)." msgstr "" #: ../../../developer/creating-jami-plugins.md:16 @@ -1865,18 +1865,18 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:17 msgid "" -"We developped a Plugin System for Jami and we have a few plugins " -"available to be used. However as an open source project, we now desire " -"users to be able to create, use, and distribute their own plugins. To " -"achieve that goal, we also developped a Jami Plugins SDK. This kit is " -"fully writen in python, and can be invoked running [pluginMainSDK.py]('')" -" from `<plugins>` folder. To get started you must:" +"We developped a Plugin System for Jami and we have a few plugins available " +"to be used. However as an open source project, we now desire users to be " +"able to create, use, and distribute their own plugins. To achieve that goal," +" we also developped a Jami Plugins SDK. This kit is fully writen in python, " +"and can be invoked running [pluginMainSDK.py]('') from `<plugins>` folder. " +"To get started you must:" msgstr "" #: ../../../developer/creating-jami-plugins.md:32 msgid "" -"You will notice that this script will generate a Jami Plugins SDK shell " -"that allows users to:" +"You will notice that this script will generate a Jami Plugins SDK shell that" +" allows users to:" msgstr "" #: ../../../developer/creating-jami-plugins.md:34 @@ -1930,8 +1930,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:48 msgid "" -"This option performs a sequence of actions to properly create all base " -"files needed to start a plugin development. The steps are:" +"This option performs a sequence of actions to properly create all base files" +" needed to start a plugin development. The steps are:" msgstr "" #: ../../../developer/creating-jami-plugins.md:50 @@ -1964,13 +1964,13 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:58 msgid "" -"If all is completed successfully, the plugin may be build, installed, and" -" loaded. Also the functionallities may be toggled, however, since their " -"data processes are not implemented, they will perform no action. In our " +"If all is completed successfully, the plugin may be build, installed, and " +"loaded. Also the functionallities may be toggled, however, since their data " +"processes are not implemented, they will perform no action. In our " "`HelloWorld` plugin, we implement a simple process using **OpenCV**. For " "more complex options, you can refer to our available plugins at {gitlab-" -"project}`jami-plugins`. Feel free to implement any ideas you may have, " -"but you should respect those constrains:" +"project}`jami-plugins`. Feel free to implement any ideas you may have, but " +"you should respect those constrains:" msgstr "" #: ../../../developer/creating-jami-plugins.md:59 @@ -1995,17 +1995,16 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:64 msgid "" -"if you need other libraries, check if we support it's build with jami-" -"daemon project, otherwise, you will have to build it and ensure correct " -"link to the plugin libraries." +"if you need other libraries, check if we support it's build with jami-daemon" +" project, otherwise, you will have to build it and ensure correct link to " +"the plugin libraries." msgstr "" #: ../../../developer/creating-jami-plugins.md:67 msgid "" "To fully create a basic plugin with pre-implementation of desired " -"functionalities APIs, preferences, package, manifest, main file, and " -"basic build related files, from inside Jami Plugins SDK shell, the user " -"must call:" +"functionalities APIs, preferences, package, manifest, main file, and basic " +"build related files, from inside Jami Plugins SDK shell, the user must call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:72 @@ -2015,8 +2014,7 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:215 #: ../../../developer/creating-jami-plugins.md:263 msgid "" -"The SDK will ask other informations needed to correctly accomplish the " -"task." +"The SDK will ask other informations needed to correctly accomplish the task." msgstr "" #: ../../../developer/creating-jami-plugins.md:74 @@ -2025,18 +2023,18 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:75 msgid "" -"Every plugin must have a manifest. This file contains the official name, " -"a description, and carries the plugin build version as in the example " -"bellow. Without it, the plugin system will not be able to find the plugin" -" library it should load. Due to it's importance, every time Jami Plugin " -"SDK is told to create files to a non existing plugin or to a plugin with " -"no manifest, it will first create a new manifest." +"Every plugin must have a manifest. This file contains the official name, a " +"description, and carries the plugin build version as in the example bellow. " +"Without it, the plugin system will not be able to find the plugin library it" +" should load. Due to it's importance, every time Jami Plugin SDK is told to " +"create files to a non existing plugin or to a plugin with no manifest, it " +"will first create a new manifest." msgstr "" #: ../../../developer/creating-jami-plugins.md:85 msgid "" -"To create/modify (or to delete) a manifest.json, from inside Jami Plugins" -" SDK shell, the user must call:" +"To create/modify (or to delete) a manifest.json, from inside Jami Plugins " +"SDK shell, the user must call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:92 @@ -2045,11 +2043,11 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:93 msgid "" -"Jami currently supports plugins for GNU/Linux, Android and Windows. For " -"the latter, the build system used is the same as for Jami, it is, we call" -" the plugin build using a python script. This script will look for a " -"`package.json` file to aquire build informations and commands. Without " -"this file our build pipeline for Windows will not work." +"Jami currently supports plugins for GNU/Linux, Android and Windows. For the " +"latter, the build system used is the same as for Jami, it is, we call the " +"plugin build using a python script. This script will look for a " +"`package.json` file to aquire build informations and commands. Without this " +"file our build pipeline for Windows will not work." msgstr "" #: ../../../developer/creating-jami-plugins.md:95 @@ -2066,30 +2064,28 @@ msgstr "" msgid "" "`extractLibs` indicates to the build system if the files under `<jami-" "plugins>/contrib/libs.tar.gz` will be used. This archive contains header " -"files for **Tensorflow**. Thus, you only need to set `extractLibs` to " -"true if you plan to use this library." +"files for **Tensorflow**. Thus, you only need to set `extractLibs` to true " +"if you plan to use this library." msgstr "" #: ../../../developer/creating-jami-plugins.md:98 msgid "" "To play with audio or video, the plugin is dependent of **ffmpeg**. By " "adding it to `deps`, the build system will automatically compile this " -"library from `<jami-daemon>/contrib` if needed. We also provide " -"**OpenCV** build from inside `<jami-daemon>/contrib` ! If you want to use" -" Tensorflow, we provide built libraries for GNU/Linux and Android with " -"our docker images " -"[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflow-" -"cuda) and " +"library from `<jami-daemon>/contrib` if needed. We also provide **OpenCV** " +"build from inside `<jami-daemon>/contrib` ! If you want to use Tensorflow, " +"we provide built libraries for GNU/Linux and Android with our docker images " +"[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflow-cuda)" +" and " "[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflowlite)." " For more information about OpenCV and Tensorflow build, please refer to " -"{doc}`jami-plugins` technical documentation. There we have a step-by-" -"step!" +"{doc}`jami-plugins` technical documentation. There we have a step-by-step!" msgstr "" #: ../../../developer/creating-jami-plugins.md:101 msgid "" -"If you're using cmake, your can set configuration definition in `defines`" -" property. Exemple: if your configuration line is of the form `cmake " +"If you're using cmake, your can set configuration definition in `defines` " +"property. Exemple: if your configuration line is of the form `cmake " "-DCPU=TRUE ..` you may set `\"defines\": [\"CPU=TRUE\"]`." msgstr "" @@ -2099,21 +2095,21 @@ msgid "" "`custom_scripts`. Bellow we create the build folder to with the plugins " "project will be configured with `mkdir msvc` and we also set the build " "command as `cmake --build ./msvc --config Release`. Our example " -"CMakeLists.txt may have pre and post build instruction that are not " -"listed here." +"CMakeLists.txt may have pre and post build instruction that are not listed " +"here." msgstr "" #: ../../../developer/creating-jami-plugins.md:125 msgid "" -"To create a package.json, from inside Jami Plugins SDK shell, the user " -"must call:" +"To create a package.json, from inside Jami Plugins SDK shell, the user must " +"call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:130 msgid "" -"The SDK will ask other informations needed to correctly accomplish the " -"task. After the base package.json creation, the user must add or modify " -"any information not previewed by the SDK process." +"The SDK will ask other informations needed to correctly accomplish the task." +" After the base package.json creation, the user must add or modify any " +"information not previewed by the SDK process." msgstr "" #: ../../../developer/creating-jami-plugins.md:132 @@ -2122,37 +2118,36 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:133 msgid "" -"A preference is a internal variable that will be used upon loading or " -"while running the plugin. There is limited types of preferences supported" -" by the plugin system and each of them must contain generic and specific " -"informations. Those informations must be placed under a certain structure" -" that will form one preference and each preference must be listed inside " -"a `preference.json` file." +"A preference is a internal variable that will be used upon loading or while " +"running the plugin. There is limited types of preferences supported by the " +"plugin system and each of them must contain generic and specific " +"informations. Those informations must be placed under a certain structure " +"that will form one preference and each preference must be listed inside a " +"`preference.json` file." msgstr "" #: ../../../developer/creating-jami-plugins.md:136 msgid "" "The generic properties of a preference are those that must be set by any " "type of preference: `category`, `type`, `key`, `title`, `summary`, " -"`defaultValue`, and `scope`. The specific ones are linked to the type of " -"the preference constructed. For `EDITTEXT` preferences there is no other " -"property to be set. For `PATH` preferences we have: `mimeType`. For " -"`LIST` preferences we have: `entries` and `entryValues`. A `LIST` " -"preference must have a list of possible values to be used and a list of " -"'names' for these values. For example: If you have two `entriesValues`: " -"'0' and '1', these values may not be understandable by the user. Jami's " -"UI will take the values from `entries` to be shown as 'names' for each " -"one of these `entryValues`. Then you can call '0' and '1' as 'sent' and " -"'received'. The UI will show these names that are more user friendly! It " -"is important to note that `entries` and `entryValues` must have the same " -"number of items." +"`defaultValue`, and `scope`. The specific ones are linked to the type of the" +" preference constructed. For `EDITTEXT` preferences there is no other " +"property to be set. For `PATH` preferences we have: `mimeType`. For `LIST` " +"preferences we have: `entries` and `entryValues`. A `LIST` preference must " +"have a list of possible values to be used and a list of 'names' for these " +"values. For example: If you have two `entriesValues`: '0' and '1', these " +"values may not be understandable by the user. Jami's UI will take the values" +" from `entries` to be shown as 'names' for each one of these `entryValues`. " +"Then you can call '0' and '1' as 'sent' and 'received'. The UI will show " +"these names that are more user friendly! It is important to note that " +"`entries` and `entryValues` must have the same number of items." msgstr "" #: ../../../developer/creating-jami-plugins.md:145 msgid "" -"Another important point to be noted for the preferences is that their " -"values could be modified during runtime if, and only if, two conditions " -"are satisfied:" +"Another important point to be noted for the preferences is that their values" +" could be modified during runtime if, and only if, two conditions are " +"satisfied:" msgstr "" #: ../../../developer/creating-jami-plugins.md:147 @@ -2167,31 +2162,29 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:150 msgid "" -"To better explain, we have to detail what is a scope and how a preference" -" changement is implemented inside the plugin." +"To better explain, we have to detail what is a scope and how a preference " +"changement is implemented inside the plugin." msgstr "" #: ../../../developer/creating-jami-plugins.md:152 msgid "" -"**Scope**: A scope is a list of functionalities that can modify a " -"preference value even if the functionality is under use. It is, imagine " -"you have a functionality called \"Circle\" that prints a colored circle " -"to your video. Consider also that the color of that circle is set by a " -"preference and that this preference lists \"Circle\" as one of it's " -"scopes. In that scenario \"Circle\" will be able to modify the default " -"circle color to another one." +"**Scope**: A scope is a list of functionalities that can modify a preference" +" value even if the functionality is under use. It is, imagine you have a " +"functionality called \"Circle\" that prints a colored circle to your video. " +"Consider also that the color of that circle is set by a preference and that " +"this preference lists \"Circle\" as one of it's scopes. In that scenario " +"\"Circle\" will be able to modify the default circle color to another one." msgstr "" #: ../../../developer/creating-jami-plugins.md:153 msgid "" -"**Code implementation**: Continuing our example above, \"Circle\" also is" -" the implementation of an abstract API class from Daemon (for more " -"details check [#Create functionality](#create-functionality). When a user" -" changes a preference value, the plugin system will call the " -"`setPreferenceAttribute` implementation for each of the functionalities " -"listed by the preference's scope. By it's turn, this function will match " -"the preference unique `key` and call an internal function to apply the " -"new value." +"**Code implementation**: Continuing our example above, \"Circle\" also is " +"the implementation of an abstract API class from Daemon (for more details " +"check [#Create functionality](#create-functionality). When a user changes a " +"preference value, the plugin system will call the `setPreferenceAttribute` " +"implementation for each of the functionalities listed by the preference's " +"scope. By it's turn, this function will match the preference unique `key` " +"and call an internal function to apply the new value." msgstr "" #: ../../../developer/creating-jami-plugins.md:155 @@ -2201,25 +2194,25 @@ msgid "" "[pluginMediaHandler.cpp](https://git.jami.net/savoirfairelinux/jami-" "plugins/blob/master/GreenScreen/pluginMediaHandler.cpp) and [preferences-" "onnx.json](https://git.jami.net/savoirfairelinux/jami-" -"plugins/blob/master/GreenScreen/preferences-onnx.json). This plugin has " -"both `LIST` and `PATH` preferences and also has one preference that can " -"be modified during runtime. Can you tell wich one?" +"plugins/blob/master/GreenScreen/preferences-onnx.json). This plugin has both" +" `LIST` and `PATH` preferences and also has one preference that can be " +"modified during runtime. Can you tell wich one?" msgstr "" #: ../../../developer/creating-jami-plugins.md:157 msgid "" -"To create (or delete) a preference, from inside Jami Plugins SDK shell, " -"the user must call:" +"To create (or delete) a preference, from inside Jami Plugins SDK shell, the " +"user must call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:162 msgid "" -"The SDK will ask other informations needed to correctly accomplish the " -"task. If a preference is created from outside a functionality creation " -"pipeline, any API implementation will not be changed in order to avoid " -"overwrittings. Thus, if you want to allow values changement during " -"runtime, you may need to manually modify your functionality " -"implementation to fit running time changements conditions." +"The SDK will ask other informations needed to correctly accomplish the task." +" If a preference is created from outside a functionality creation pipeline, " +"any API implementation will not be changed in order to avoid overwrittings. " +"Thus, if you want to allow values changement during runtime, you may need to" +" manually modify your functionality implementation to fit running time " +"changements conditions." msgstr "" #: ../../../developer/creating-jami-plugins.md:164 @@ -2229,28 +2222,27 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:165 msgid "" "A Jami plugin may wrap one or multiple functionalities. It is, the same " -"plugins may have a functionality to change background and to draw a " -"circle to a video for example. Each functionality must implement an " -"abstract API class defined by Jami plugins System. That way, we can say " -"that one functionality is one implementation of an API. Currently we have" -" the `MediaHandler` which allows access to audio or video frames and we " -"have `ChatHandler` which allows acces to messages exchanged in a " -"conversation." +"plugins may have a functionality to change background and to draw a circle " +"to a video for example. Each functionality must implement an abstract API " +"class defined by Jami plugins System. That way, we can say that one " +"functionality is one implementation of an API. Currently we have the " +"`MediaHandler` which allows access to audio or video frames and we have " +"`ChatHandler` which allows acces to messages exchanged in a conversation." msgstr "" #: ../../../developer/creating-jami-plugins.md:169 msgid "" -"When defining a new a functionality, the SDK will create basic header and" -" cpp files for you work on. However, your new functionality can not be " -"added to the scopes of a previously existing preference. For more " -"information, please refer to [Create or delete a preference](#create-or-" -"delete-a-preference)." +"When defining a new a functionality, the SDK will create basic header and " +"cpp files for you work on. However, your new functionality can not be added " +"to the scopes of a previously existing preference. For more information, " +"please refer to [Create or delete a preference](#create-or-delete-a-" +"preference)." msgstr "" #: ../../../developer/creating-jami-plugins.md:172 msgid "" -"To create a functionality, from inside Jami Plugins SDK shell, the user " -"must call:" +"To create a functionality, from inside Jami Plugins SDK shell, the user must" +" call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:179 @@ -2259,9 +2251,9 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:180 msgid "" -"This option create plugin's `main.cpp`. A file that implements the plugin" -" external loading function that Jami Plugin System will call to " -"initialize and register all functionalities for latter use." +"This option create plugin's `main.cpp`. A file that implements the plugin " +"external loading function that Jami Plugin System will call to initialize " +"and register all functionalities for latter use." msgstr "" #: ../../../developer/creating-jami-plugins.md:183 @@ -2273,8 +2265,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:186 msgid "" -"To create a `main.cpp`, from inside Jami Plugins SDK shell, the user must" -" call:" +"To create a `main.cpp`, from inside Jami Plugins SDK shell, the user must " +"call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:193 @@ -2284,9 +2276,9 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:194 msgid "" "The final plugin file is an archive compressed to a `JPL` format. This " -"archive contains libraries, manifest.json, preferences.json, icons and " -"other custom important files for your plugin. OBS.: files added by the " -"developper must be organized under the `data/` folder." +"archive contains libraries, manifest.json, preferences.json, icons and other" +" custom important files for your plugin. OBS.: files added by the developper" +" must be organized under the `data/` folder." msgstr "" #: ../../../developer/creating-jami-plugins.md:197 @@ -2295,25 +2287,24 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:199 msgid "" -"it creates a build folder and copies there all files that will be " -"compressed to the final plugin archive. For linux host: " -"`<plugins>/<HelloWorld>/build-local/jpl/` and for a windows host: " -"`<plugins>/<HelloWorld>/msvc/jpl/`;" +"it creates a build folder and copies there all files that will be compressed" +" to the final plugin archive. For linux host: `<plugins>/<HelloWorld>/build-" +"local/jpl/` and for a windows host: `<plugins>/<HelloWorld>/msvc/jpl/`;" msgstr "" #: ../../../developer/creating-jami-plugins.md:200 msgid "" -"it compresses all files inside the build folder to the jpl archive wich " -"is output under `<plugins>/build`." +"it compresses all files inside the build folder to the jpl archive wich is " +"output under `<plugins>/build`." msgstr "" #: ../../../developer/creating-jami-plugins.md:202 msgid "" -"Both process should be called from inside the CMakeLists.txt as " -"POST_BUILD and PRE_BUILD commands, respectively. Also, the build.sh " -"script should call them. For more information about CMakeLists.txt and " -"build.sh files, please refere to [build](#build) and to our available " -"plugins at {gitlab-project}`jami-plugins`." +"Both process should be called from inside the CMakeLists.txt as POST_BUILD " +"and PRE_BUILD commands, respectively. Also, the build.sh script should call " +"them. For more information about CMakeLists.txt and build.sh files, please " +"refere to [build](#build) and to our available plugins at {gitlab-" +"project}`jami-plugins`." msgstr "" #: ../../../developer/creating-jami-plugins.md:205 @@ -2348,29 +2339,29 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:223 msgid "" -"A description of thes CMakeLists.txt and buils.sh files are found further" -" in this section." +"A description of thes CMakeLists.txt and buils.sh files are found further in" +" this section." msgstr "" #: ../../../developer/creating-jami-plugins.md:225 msgid "" -"To create basic CMakeLists.txt and buils.sh files, from inside Jami " -"Plugins SDK shell, the user must call:" +"To create basic CMakeLists.txt and buils.sh files, from inside Jami Plugins " +"SDK shell, the user must call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:230 msgid "" -"To build plugin library with default configuration, from inside Jami " -"Plugins SDK shell, the user must call:" +"To build plugin library with default configuration, from inside Jami Plugins" +" SDK shell, the user must call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:235 msgid "" -"The SDK will ask other informations needed to correctly accomplish the " -"task. For the moment, the build option does not support cross-compilation" -" neither non default builds. If you have build variables to be set " -"differently than the default option, please directly use the `<plugins" -">/build-plugin.py` script." +"The SDK will ask other informations needed to correctly accomplish the task." +" For the moment, the build option does not support cross-compilation neither" +" non default builds. If you have build variables to be set differently than " +"the default option, please directly use the `<plugins>/build-plugin.py` " +"script." msgstr "" #: ../../../developer/creating-jami-plugins.md:237 @@ -2383,25 +2374,24 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:240 msgid "" -"If you need to pass any defines to cmake generation, your definitions can" -" be in `package.json` as explained in the package section. The " -"package.json created specifies the default configuration that calling the" -" build from Jami Plugins SDK will consider. If you want to build with no " -"default configuration, you can: directly use the script mentioned above " -"and pass non-default definitions as an argument or; you also can manually" -" change your package.json file. For examples, you can refer to our " -"available plugins at {gitlab-project}`jami-plugins`." +"If you need to pass any defines to cmake generation, your definitions can be" +" in `package.json` as explained in the package section. The package.json " +"created specifies the default configuration that calling the build from Jami" +" Plugins SDK will consider. If you want to build with no default " +"configuration, you can: directly use the script mentioned above and pass " +"non-default definitions as an argument or; you also can manually change your" +" package.json file. For examples, you can refer to our available plugins at " +"{gitlab-project}`jami-plugins`." msgstr "" #: ../../../developer/creating-jami-plugins.md:243 msgid "" "Another important information about CMakeLists.txt is that it has to add " -"custom commands. For PRE_BUILD, it must call the pre-assemble " -"functionality process. For POST_BUILD, it must copy the built library to " -"the build folder and call the assemble functionality process. In the end," -" your jpl archive may be found under `<plugins>/build`. The " -"CMakeLists.txt file automatically created by our SDK, already respects " -"these constraints." +"custom commands. For PRE_BUILD, it must call the pre-assemble functionality " +"process. For POST_BUILD, it must copy the built library to the build folder " +"and call the assemble functionality process. In the end, your jpl archive " +"may be found under `<plugins>/build`. The CMakeLists.txt file automatically " +"created by our SDK, already respects these constraints." msgstr "" #: ../../../developer/creating-jami-plugins.md:245 @@ -2416,26 +2406,26 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:248 msgid "" -"The basic script consider the environment variable `DAEMON` that must " -"point to the jami-daemon folder. Besides, you can pass an argument for " -"the platform used like `-t android` if you want to cross-compile for " -"Android. Further custom definitions and environment variables should be " -"handled by the plugin developper. If you want to build with no default " -"configuration, you can modify the environment variables values and then " -"call the build. Ie: for android, you can set which ABI you want to build " -"with `export ANDROID_ABI=\"arm64-v8a armeabi-v7a`. For other examples, " -"you can refer to our {doc}`technical documentation <jami-plugins>` and to" -" our {gitlab-project}`available plugins <jami-plugins>`." +"The basic script consider the environment variable `DAEMON` that must point " +"to the jami-daemon folder. Besides, you can pass an argument for the " +"platform used like `-t android` if you want to cross-compile for Android. " +"Further custom definitions and environment variables should be handled by " +"the plugin developper. If you want to build with no default configuration, " +"you can modify the environment variables values and then call the build. Ie:" +" for android, you can set which ABI you want to build with `export " +"ANDROID_ABI=\"arm64-v8a armeabi-v7a`. For other examples, you can refer to " +"our {doc}`technical documentation <jami-plugins>` and to our {gitlab-" +"project}`available plugins <jami-plugins>`." msgstr "" #: ../../../developer/creating-jami-plugins.md:253 msgid "" -"Another important information about build.sh is that it has to call pre " -"and post assemble. Before the build, it must call the pre-assemble " -"functionality process. After it, it must copy the built library to the " -"build folder and call the assemble functionality process. In the end, " -"your jpl archive may be found under `<plugins>/build`. The build.sh file " -"automatically created by our SDK, already respects these constraints." +"Another important information about build.sh is that it has to call pre and " +"post assemble. Before the build, it must call the pre-assemble functionality" +" process. After it, it must copy the built library to the build folder and " +"call the assemble functionality process. In the end, your jpl archive may be" +" found under `<plugins>/build`. The build.sh file automatically created by " +"our SDK, already respects these constraints." msgstr "" #: ../../../developer/creating-jami-plugins.md:255 @@ -2447,16 +2437,16 @@ msgid "" "If you have more than one jpl archives, like one build for Android and " "anothe for GNU/Linux platforms, you can merge them into one to easy it's " "distribution. However, you should know that merging two or more jpls may " -"inccur orverwritting some of the files inside them if they are not equal " -"for all archives. The only files that may not present conflicting " -"contents are the ones that do not repeate themselves. If conflicts occur," -" files from the first jpl in the arguments will prevail over the others." +"inccur orverwritting some of the files inside them if they are not equal for" +" all archives. The only files that may not present conflicting contents are " +"the ones that do not repeate themselves. If conflicts occur, files from the " +"first jpl in the arguments will prevail over the others." msgstr "" #: ../../../developer/creating-jami-plugins.md:258 msgid "" -"To merge two or more jpls, from inside Jami Plugins SDK shell, the user " -"must simple call:" +"To merge two or more jpls, from inside Jami Plugins SDK shell, the user must" +" simple call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:265 @@ -2466,16 +2456,16 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:266 msgid "" "Through this section we will present a step-by-step construction of a " -"`HelloWorld` plugin using our SDK. Our goal is to print a coloured circle" -" in the midle of the video frames using **OpenCV**. The color of that " -"circle will be defined by a preference which will be changeable during " -"runtime. Also we can set a stream preferece to define if the plugin will " -"modify the video sent or the one received, this time we don't want to " -"allow a changement during runtime. We can define a second functionality " -"that will aways draw a circle in the right top corner, with the color " -"defined by the same preference as the previous functionality but that " -"cannot be changed during runtime. At the end we will exemplify how to " -"build your plugin with and without the SDK." +"`HelloWorld` plugin using our SDK. Our goal is to print a coloured circle in" +" the midle of the video frames using **OpenCV**. The color of that circle " +"will be defined by a preference which will be changeable during runtime. " +"Also we can set a stream preferece to define if the plugin will modify the " +"video sent or the one received, this time we don't want to allow a " +"changement during runtime. We can define a second functionality that will " +"aways draw a circle in the right top corner, with the color defined by the " +"same preference as the previous functionality but that cannot be changed " +"during runtime. At the end we will exemplify how to build your plugin with " +"and without the SDK." msgstr "" #: ../../../developer/creating-jami-plugins.md:273 @@ -2545,14 +2535,13 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:311 msgid "" -"Tell us a description: HelloWorld draws a circle in the center of a " -"call's video" +"Tell us a description: HelloWorld draws a circle in the center of a call's " +"video" msgstr "" #: ../../../developer/creating-jami-plugins.md:313 msgid "" -"Version must be of the form X.Y.Z Set plugin version (default 0.0.0): " -"1.0.0" +"Version must be of the form X.Y.Z Set plugin version (default 0.0.0): 1.0.0" msgstr "" #: ../../../developer/creating-jami-plugins.md:316 @@ -2567,8 +2556,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:454 msgid "" "Available APIs: (1) video during a call (Media Handler API) (2) audio " -"during a call (Media Handler API) (3) chat messages (Chat Handler API) " -"For more information about the API, call help preferences." +"during a call (Media Handler API) (3) chat messages (Chat Handler API) For " +"more information about the API, call help preferences." msgstr "" #: ../../../developer/creating-jami-plugins.md:326 @@ -2586,15 +2575,16 @@ msgid "Would you like to add a preference? [y/n] y" msgstr "" #: ../../../developer/creating-jami-plugins.md:332 -msgid "Your preferences options available are: (0) List; (1) Path; (2) EditText;" +msgid "" +"Your preferences options available are: (0) List; (1) Path; (2) EditText;" msgstr "" #: ../../../developer/creating-jami-plugins.md:337 msgid "" "Which preference type do you choose: 0 Type a value for category: stream " -"Type a value for key: videostream Type a value for title: Video stream " -"Type a value for summary: select a video direction Type a value for " -"defaultValue: 0" +"Type a value for key: videostream Type a value for title: Video stream Type " +"a value for summary: select a video direction Type a value for defaultValue:" +" 0" msgstr "" #: ../../../developer/creating-jami-plugins.md:344 @@ -2611,19 +2601,20 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:352 msgid "" -"Do you want to add a new entry Value? [y/n] n Type an entry name for '0':" -" sent Type an entry name for '1': received" +"Do you want to add a new entry Value? [y/n] n Type an entry name for '0': " +"sent Type an entry name for '1': received" msgstr "" #: ../../../developer/creating-jami-plugins.md:358 -msgid "Your preferences options available are: (0) List; (1) Path; (3) EditText;" +msgid "" +"Your preferences options available are: (0) List; (1) Path; (3) EditText;" msgstr "" #: ../../../developer/creating-jami-plugins.md:363 msgid "" -"Which preference type do you choose: 0 Type a value for category: color " -"Type a value for key: color Type a value for title: Circle color Type a " -"value for summary: select a color Type a value for defaultValue: ##00FF00" +"Which preference type do you choose: 0 Type a value for category: color Type" +" a value for key: color Type a value for title: Circle color Type a value " +"for summary: select a color Type a value for defaultValue: ##00FF00" msgstr "" #: ../../../developer/creating-jami-plugins.md:370 @@ -2639,22 +2630,25 @@ msgid "Which scope do you choose: 0" msgstr "" #: ../../../developer/creating-jami-plugins.md:377 -msgid "Do you want to add a new entry Value? [y/n] y Type one new entry: #0000FF" +msgid "" +"Do you want to add a new entry Value? [y/n] y Type one new entry: #0000FF" msgstr "" #: ../../../developer/creating-jami-plugins.md:380 -msgid "Do you want to add a new entry Value? [y/n] y Type one new entry: #00FF00" +msgid "" +"Do you want to add a new entry Value? [y/n] y Type one new entry: #00FF00" msgstr "" #: ../../../developer/creating-jami-plugins.md:383 -msgid "Do you want to add a new entry Value? [y/n] y Type one new entry: #FF0000" +msgid "" +"Do you want to add a new entry Value? [y/n] y Type one new entry: #FF0000" msgstr "" #: ../../../developer/creating-jami-plugins.md:386 msgid "" "Do you want to add a new entry Value? [y/n] n Type an entry name for " -"'#0000FF': blue Type an entry name for '#00FF00': green Type an entry " -"name for '#FF0000': red" +"'#0000FF': blue Type an entry name for '#00FF00': green Type an entry name " +"for '#FF0000': red" msgstr "" #: ../../../developer/creating-jami-plugins.md:391 @@ -2700,13 +2694,14 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:408 msgid "" "Before building the HelloWorld, you should compile ffmpeg and OpenCV " -"dependencies. This can be achieved by following the build instructions " -"for OpenCV {doc}`here <jami-plugins>`. Ffmpeg will be automatically build" -" if you follow those instructions. To build you plugin, you can either:" +"dependencies. This can be achieved by following the build instructions for " +"OpenCV {doc}`here <jami-plugins>`. Ffmpeg will be automatically build if you" +" follow those instructions. To build you plugin, you can either:" msgstr "" #: ../../../developer/creating-jami-plugins.md:410 -msgid "Call the build from Jami Plugins SDK (works for GNU/Linux and Windows):" +msgid "" +"Call the build from Jami Plugins SDK (works for GNU/Linux and Windows):" msgstr "" #: ../../../developer/creating-jami-plugins.md:415 @@ -2722,7 +2717,8 @@ msgid "DAEMON not provided, building with ./../../daemon" msgstr "" #: ../../../developer/creating-jami-plugins.md:423 -msgid "Call plugin-build.py script (works for GNU/Linux, Windows and Android):" +msgid "" +"Call plugin-build.py script (works for GNU/Linux, Windows and Android):" msgstr "" #: ../../../developer/creating-jami-plugins.md:424 @@ -2744,9 +2740,9 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:430 msgid "" -"OBS: For Android, you can set `ANDROID_ABI` environment variable to the " -"ABI you want to build. Currently Jami supports `x86_64`, `armeabi-v7a`, " -"and `arm64-v8a`. Plugins will be build for the three options by default." +"OBS: For Android, you can set `ANDROID_ABI` environment variable to the ABI " +"you want to build. Currently Jami supports `x86_64`, `armeabi-v7a`, and " +"`arm64-v8a`. Plugins will be build for the three options by default." msgstr "" #: ../../../developer/creating-jami-plugins.md:432 @@ -2755,8 +2751,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:433 msgid "" -"Now that you tested and your HelloWorld is working, you can try to do add" -" another functionality to it." +"Now that you tested and your HelloWorld is working, you can try to do add " +"another functionality to it." msgstr "" #: ../../../developer/creating-jami-plugins.md:438 @@ -2790,15 +2786,16 @@ msgid "Optionally, you can change your plugin version and description:" msgstr "" #: ../../../developer/creating-jami-plugins.md:476 -msgid "(Jami Plugins SDK) manifest Leave Empty or Press 'q' to quit this option." +msgid "" +"(Jami Plugins SDK) manifest Leave Empty or Press 'q' to quit this option." msgstr "" #: ../../../developer/creating-jami-plugins.md:479 msgid "" -"Plugin to be modified or created: HelloWorld New description for your " -"plugin (ignore to keep previous description): HelloWorld can draw a " -"circle at the center or at the top-left of a call's video New plugin " -"version (ignore to keep previous version): 2.0" +"Plugin to be modified or created: HelloWorld New description for your plugin" +" (ignore to keep previous description): HelloWorld can draw a circle at the " +"center or at the top-left of a call's video New plugin version (ignore to " +"keep previous version): 2.0" msgstr "" #: ../../../developer/creating-jami-plugins.md:483 @@ -2807,9 +2804,9 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:486 msgid "" -"Now you can start your own creations! Do not forget to tag Jami or " -"Savoir-Faire Linux in your repository, this way we can get to know how " -"the community is developping their own plugins!" +"Now you can start your own creations! Do not forget to tag Jami or Savoir-" +"Faire Linux in your repository, this way we can get to know how the " +"community is developping their own plugins!" msgstr "" #: ../../../developer/feature-requests.md:1 @@ -2818,9 +2815,8 @@ msgstr "" #: ../../../developer/feature-requests.md:4 msgid "" -"This page exists to classify feature requests per users' feedback, to " -"avoid leaving tickets open for years. Under construction, will sort the " -"tickets." +"This page exists to classify feature requests per users' feedback, to avoid " +"leaving tickets open for years. Under construction, will sort the tickets." msgstr "" #: ../../../developer/feature-requests.md:8 @@ -2829,8 +2825,8 @@ msgstr "" #: ../../../developer/feature-requests.md:10 msgid "" -"{daemon-issue}`Implement pipewire <13> to support screen sharing on " -"Wayland` -> Contact #Jami (Adrien, Sébastien, etc.) / hard" +"{daemon-issue}`Implement pipewire <13> to support screen sharing on Wayland`" +" -> Contact #Jami (Adrien, Sébastien, etc.) / hard" msgstr "" #: ../../../developer/feature-requests.md:12 @@ -2850,7 +2846,8 @@ msgid "Add unit-tests / probably easy" msgstr "" #: ../../../developer/feature-requests.md:16 -msgid "Investigate: SIP/XMPP bridge -> Contact #Jami (Adrien, Sébastien) / hard" +msgid "" +"Investigate: SIP/XMPP bridge -> Contact #Jami (Adrien, Sébastien) / hard" msgstr "" #: ../../../developer/feature-requests.md:18 @@ -2910,8 +2907,8 @@ msgstr "" #: ../../../developer/feature-requests.md:33 msgid "" -"{client-qt-issue}`Live closed captions (multiple languages) <576>` " -"(Whisper OpenAI, Google Speech API or similar) / probably easy" +"{client-qt-issue}`Live closed captions (multiple languages) <576>` (Whisper " +"OpenAI, Google Speech API or similar) / probably easy" msgstr "" #: ../../../developer/feature-requests.md:35 @@ -2930,9 +2927,8 @@ msgstr "" #: ../../../developer/feature-requests.md:40 msgid "" -"Separate connectivity (ICE/TCP/TLS/UPNP/connection manager) in a " -"dedicated library (can be shared with OpenDHT) / medium difficulty & long" -" term project" +"Separate connectivity (ICE/TCP/TLS/UPNP/connection manager) in a dedicated " +"library (can be shared with OpenDHT) / medium difficulty & long term project" msgstr "" #: ../../../developer/feature-requests.md:43 @@ -2951,8 +2947,8 @@ msgstr "" #: ../../../developer/feature-requests.md:47 msgid "" -"Emoji as a native component to avoid depending on qt-webengine for this " -"(not available on macOS) (e.g. https://github.com/jnodev/QMLemoji)" +"Emoji as a native component to avoid depending on qt-webengine for this (not" +" available on macOS) (e.g. https://github.com/jnodev/QMLemoji)" msgstr "" #: ../../../developer/feature-requests.md:49 @@ -2967,8 +2963,8 @@ msgstr "" #: ../../../developer/feature-requests.md:51 msgid "" -"{daemon-issue}`Support message edition/deletion <316>` (Contact #Jami - " -"easy but long)" +"{daemon-issue}`Support message edition/deletion <316>` (Contact #Jami - easy" +" but long)" msgstr "" #: ../../../developer/feature-requests.md:53 @@ -2981,14 +2977,13 @@ msgstr "" #: ../../../developer/feature-requests.md:57 msgid "" -"Improve Jami on Yocto (some codecs problems/lag on i.MX 6) -> Contact " -"Rennes" +"Improve Jami on Yocto (some codecs problems/lag on i.MX 6) -> Contact Rennes" msgstr "" #: ../../../developer/feature-requests.md:59 msgid "" -"[Qt/QML Improve client](https://git.jami.net/savoirfairelinux/jami-" -"client-qt/-/issues) -> Contact #Jami (Andreas)" +"[Qt/QML Improve client](https://git.jami.net/savoirfairelinux/jami-client-" +"qt/-/issues) -> Contact #Jami (Andreas)" msgstr "" #: ../../../developer/feature-requests.md:61 @@ -3005,9 +3000,8 @@ msgstr "" #: ../../../developer/feature-requests.md:64 msgid "" -"{gerrit-project}`jami-web`; because installing an app can be boring. " -"Joining a conference via a link can be cool. For now, nobody is working " -"on it." +"{gerrit-project}`jami-web`; because installing an app can be boring. Joining" +" a conference via a link can be cool. For now, nobody is working on it." msgstr "" #: ../../../developer/feature-requests.md:68 @@ -3027,14 +3021,14 @@ msgstr "" #: ../../../developer/feature-requests.md:74 msgid "" -"{project-issue}`add possibility to show \"reachable at the following " -"times\" (contact details) <1261>`" +"{project-issue}`add possibility to show \"reachable at the following times\"" +" (contact details) <1261>`" msgstr "" #: ../../../developer/feature-requests.md:76 msgid "" -"{project-issue}`Preferences per contact (allow calls, file transfer, " -"custom ringtone) <1280>`" +"{project-issue}`Preferences per contact (allow calls, file transfer, custom " +"ringtone) <1280>`" msgstr "" #: ../../../developer/feature-requests.md:78 @@ -3096,8 +3090,8 @@ msgstr "" #: ../../../developer/feature-requests.md:95 msgid "" -"{project-issue}`Emoticon/emoji message reactions <1034>` (need to wait " -"for group chat)" +"{project-issue}`Emoticon/emoji message reactions <1034>` (need to wait for " +"group chat)" msgstr "" #: ../../../developer/feature-requests.md:98 @@ -3105,7 +3099,7 @@ msgid "Depends on mass changes" msgstr "" #: ../../../developer/feature-requests.md:102 -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:59 msgid "Packaging" msgstr "" @@ -3139,7 +3133,8 @@ msgid "{project-issue}`Sound safety <441>`" msgstr "" #: ../../../developer/feature-requests.md:113 -msgid "{client-gnome-issue}`Ability to see multiple chats at the same time <909>`" +msgid "" +"{client-gnome-issue}`Ability to see multiple chats at the same time <909>`" msgstr "" #: ../../../developer/feature-requests.md:115 @@ -3209,8 +3204,8 @@ msgstr "" #: ../../../developer/file-transfer.md:12 msgid "" -"For sending a file on gnome, in a conversation you need to click to the " -"send file icon at the bottom right of the conversation:" +"For sending a file on gnome, in a conversation you need to click to the send" +" file icon at the bottom right of the conversation:" msgstr "" #: ../../../developer/file-transfer.md:15 @@ -3225,8 +3220,8 @@ msgstr "" #: ../../../developer/file-transfer.md:17 msgid "" -"Then you will see your image as soon as the transfer is finished (and " -"show images is activated)" +"Then you will see your image as soon as the transfer is finished (and show " +"images is activated)" msgstr "" #: ../../../developer/file-transfer.md:20 @@ -3271,7 +3266,8 @@ msgstr "" msgid "Gnome_ongoing" msgstr "" -#: ../../../developer/file-transfer.md:32 ../../../developer/jami-plugins.md:32 +#: ../../../developer/file-transfer.md:32 +#: ../../../developer/jami-plugins.md:32 #: ../../../developer/jami-plugins.md:110 #: ../../../developer/jami-plugins.md:269 msgid "Android" @@ -3295,8 +3291,8 @@ msgstr "" #: ../../../developer/file-transfer.md:39 msgid "" -"Note: when you send a file, the other has to accept it. At this moment " -"you will see 'awaiting peer':" +"Note: when you send a file, the other has to accept it. At this moment you " +"will see 'awaiting peer':" msgstr "" #: ../../../developer/file-transfer.md:42 @@ -3320,40 +3316,38 @@ msgstr "" #: ../../../developer/file-transfer.md:51 msgid "" "Jami is a distributed application and has to work without any internet " -"connectivity. So, file transfer too! Basically, we use the same method to" -" perform file transfer and calls, but in TCP. To summarize how it works, " -"we can imagine a situation where Alice (A) wants to transfer a file to " -"Bob (B)." +"connectivity. So, file transfer too! Basically, we use the same method to " +"perform file transfer and calls, but in TCP. To summarize how it works, we " +"can imagine a situation where Alice (A) wants to transfer a file to Bob (B)." msgstr "" #: ../../../developer/file-transfer.md:53 msgid "" -"First, Alice will request a connection to Bob. To do that, Jami is using " -"ICE (RFC 6544), a protocol used to negotiate links between peers. Alice " -"will send, into an encrypted packet via the DHT the ip of its device. So," -" when Bob receives the ips of Alice, they will be able to negotiate a " -"transport where Bob will be able to send packets to Alice. The " -"negotiation can be successful, but if it fails, a TURN server will be " -"used (the one configured into the settings) to perform the transfer. If " -"the negotiation succeeds, Bob will send its ips to Alice to perform the " -"negotiation in the other direction. Note that the link is still not " -"secure, so Bob will send the ips through the DHT in an encrypted message." -" If the second negotiation fails, the TURN will be used as a fallback." +"First, Alice will request a connection to Bob. To do that, Jami is using ICE" +" (RFC 6544), a protocol used to negotiate links between peers. Alice will " +"send, into an encrypted packet via the DHT the ip of its device. So, when " +"Bob receives the ips of Alice, they will be able to negotiate a transport " +"where Bob will be able to send packets to Alice. The negotiation can be " +"successful, but if it fails, a TURN server will be used (the one configured " +"into the settings) to perform the transfer. If the negotiation succeeds, Bob" +" will send its ips to Alice to perform the negotiation in the other " +"direction. Note that the link is still not secure, so Bob will send the ips " +"through the DHT in an encrypted message. If the second negotiation fails, " +"the TURN will be used as a fallback." msgstr "" #: ../../../developer/file-transfer.md:55 msgid "" "Now that the bidirectionnal TCP link is here, the next step will be to " "negotiate a TLS 1.3 (generally a (TLS1.3)-(DHE-FFDHE8192)-(RSA-PSS-RSAE-" -"SHA384)-(AES-256-GCM) when I write these lines) between Alice an Bob, " -"then Alice will start to transfer the file." +"SHA384)-(AES-256-GCM) when I write these lines) between Alice an Bob, then " +"Alice will start to transfer the file." msgstr "" #: ../../../developer/file-transfer.md:57 msgid "" -"The first part will be a small header to describe the content of the " -"file. Then, after Bob accepts the transfer, the full file will be " -"transmitted." +"The first part will be a small header to describe the content of the file. " +"Then, after Bob accepts the transfer, the full file will be transmitted." msgstr "" #: ../../../developer/file-transfer.md:59 @@ -3371,11 +3365,11 @@ msgstr "" #: ../../../developer/file-transfer.md:65 msgid "" "1\\. A client will call `DataTransferFacade::sendFile()`. " -"`DataTransferFacade` is the class corresponding to the API exposed for " -"the clients. It is used to manage a view of the file transfers (the " +"`DataTransferFacade` is the class corresponding to the API exposed for the " +"clients. It is used to manage a view of the file transfers (the " "corresponding classes are `DataTransfer`, `IncomingFileTransfer`, " -"`OutgoingFileTransfer` and `SubOutgoingFileTransfer`). This method will " -"ask the linked `JamiAccount` to request a connection." +"`OutgoingFileTransfer` and `SubOutgoingFileTransfer`). This method will ask " +"the linked `JamiAccount` to request a connection." msgstr "" #: ../../../developer/file-transfer.md:67 @@ -3387,57 +3381,58 @@ msgstr "" #: ../../../developer/file-transfer.md:69 msgid "" "2\\. The method `DhtPeerConnector: requestConnection()` is triggered and " -"creates a connection between all connected devices of the peer (found on " -"the DHT). `DhtPeerConnector` is used to manage the main event loop which " -"manage connections. When a device is found, the *event loop* will create " -"a `ClientConnector` (which manage the connection for one device) and " -"launch the `process()` method." +"creates a connection between all connected devices of the peer (found on the" +" DHT). `DhtPeerConnector` is used to manage the main event loop which manage" +" connections. When a device is found, the *event loop* will create a " +"`ClientConnector` (which manage the connection for one device) and launch " +"the `process()` method." msgstr "" #: ../../../developer/file-transfer.md:71 msgid "" "3\\. This method is used to initialize the ICE transport and put a " -"*PeerConnectionMsg* (which contains the SDP message, see below) on the " -"DHT and waits for a response (`DhtPeerConnector::Impl::onResponseMsg`)." +"*PeerConnectionMsg* (which contains the SDP message, see below) on the DHT " +"and waits for a response (`DhtPeerConnector::Impl::onResponseMsg`)." msgstr "" #: ../../../developer/file-transfer.md:73 msgid "" "4\\. Then a response is received from the DHT, which contains public " -"addresses of the peer device. We can now negotiate a TLS link (directly " -"via ICE, or via TURN as a fallback). This `TlsSocketEndpoint` is given to" -" the `PeerConnection` object as an output and the transfer can start." +"addresses of the peer device. We can now negotiate a TLS link (directly via " +"ICE, or via TURN as a fallback). This `TlsSocketEndpoint` is given to the " +"`PeerConnection` object as an output and the transfer can start." msgstr "" #: ../../../developer/file-transfer.md:75 msgid "" "5.\\ When the TLS socket is ready, the callback " "`DataTransferFacade::Impl::onConnectionRequestReply` is called, and a " -"`OutgoingFileTransfer` is linked to the `PeerConnection` as an input. " -"This `OutgoingFileTransfer` contains a list of `SubOutgoingFileTransfer` " -"(one per device) where each sub transfer is a transfer to one device. We " -"do that to be able to furnish the most optimistic view of the transfer " -"(if a contact as 3 devices, where the contact cancel the transfer on one " -"device, but accepted the transfer on the two others, the most advanced " -"transfer will be shown)." +"`OutgoingFileTransfer` is linked to the `PeerConnection` as an input. This " +"`OutgoingFileTransfer` contains a list of `SubOutgoingFileTransfer` (one per" +" device) where each sub transfer is a transfer to one device. We do that to " +"be able to furnish the most optimistic view of the transfer (if a contact as" +" 3 devices, where the contact cancel the transfer on one device, but " +"accepted the transfer on the two others, the most advanced transfer will be " +"shown)." msgstr "" #: ../../../developer/file-transfer.md:77 msgid "" "6\\. The `SubOutgoingFileTransfer` will first transfer the header of the " -"file, wait the peer acceptance (A \"GO\\n\" message on the socket) and " -"then will send the file." +"file, wait the peer acceptance (A \"GO\\n\" message on the socket) and then " +"will send the file." msgstr "" #: ../../../developer/file-transfer.md:79 msgid "" "7\\. If a cancel is received from the peer or the client or if the file " -"transfer finish, the connection will be closed via a `CANCEL` message on " -"the `DhtPeerConnector::eventLoop()` and the resources will be released." +"transfer finish, the connection will be closed via a `CANCEL` message on the" +" `DhtPeerConnector::eventLoop()` and the resources will be released." msgstr "" #: ../../../developer/file-transfer.md:81 -msgid "" +msgid "" +"" msgstr "" #: ../../../developer/file-transfer.md:81 @@ -3449,13 +3444,14 @@ msgid "Receiving a file" msgstr "" #: ../../../developer/file-transfer.md:86 -msgid "The same structure is used to receive files, but the method changes a bit:" +msgid "" +"The same structure is used to receive files, but the method changes a bit:" msgstr "" #: ../../../developer/file-transfer.md:88 msgid "" -"The `JamiAccount` class is used to receives messages from the DHT, " -"because the first thing received will be the DHT request." +"The `JamiAccount` class is used to receives messages from the DHT, because " +"the first thing received will be the DHT request." msgstr "" #: ../../../developer/file-transfer.md:89 @@ -3467,14 +3463,14 @@ msgstr "" #: ../../../developer/file-transfer.md:90 msgid "" "The `DhtPeerConnector::Impl::answerToRequest` will try to connect to the " -"TURN server (if not connected) and initialize the ICE transport. This " -"method open 2 control connections to a TURN server (one to authorize IPv4" -" peers, another one for IPv6 peers, due to **RFC 6156**) if it's not " -"already open and permit Peer public addresses to connect. Then, if the " -"SDP received doesn't contains ICE candidates, will use the TURN and craft" -" the SDP answer to wait for the peer. If the SDP contains ICE candidates," -" the method will try to negotiate the link (or fallback on the TURN) and " -"then answer the SDP (with ICE candidates or not)." +"TURN server (if not connected) and initialize the ICE transport. This method" +" open 2 control connections to a TURN server (one to authorize IPv4 peers, " +"another one for IPv6 peers, due to **RFC 6156**) if it's not already open " +"and permit Peer public addresses to connect. Then, if the SDP received " +"doesn't contains ICE candidates, will use the TURN and craft the SDP answer " +"to wait for the peer. If the SDP contains ICE candidates, the method will " +"try to negotiate the link (or fallback on the TURN) and then answer the SDP " +"(with ICE candidates or not)." msgstr "" #: ../../../developer/file-transfer.md:91 @@ -3491,31 +3487,31 @@ msgstr "" #: ../../../developer/file-transfer.md:95 msgid "" -"As specified in {ref}`developer/swarm:Other mime types`, the data-" -"transfer interactions are now synced and stored into conversations. So, a" -" device can easily detects if a file was downloaded or not. If not, it " -"can asks all members in the conversation to transmits the file again." +"As specified in {ref}`developer/swarm:Other mime types`, the data-transfer " +"interactions are now synced and stored into conversations. So, a device can " +"easily detects if a file was downloaded or not. If not, it can asks all " +"members in the conversation to transmits the file again." msgstr "" #: ../../../developer/file-transfer.md:97 msgid "" -"To do this, the device will send a json with the mime-type: `application" -"/data-transfer-request+json` containing `conversation` (the " +"To do this, the device will send a json with the mime-type: " +"`application/data-transfer-request+json` containing `conversation` (the " "conversation's id), `interaction` (related interaction), `deviceId` the " "device receiving the file." msgstr "" #: ../../../developer/file-transfer.md:99 msgid "" -"The sender now checks if the device is a device from the announced peer " -"and that the device is a member of the conversation, and can sends the " -"file via a classic file transfer." +"The sender now checks if the device is a device from the announced peer and " +"that the device is a member of the conversation, and can sends the file via " +"a classic file transfer." msgstr "" #: ../../../developer/file-transfer.md:101 msgid "" -"The receiver can now accepts the first incoming transfer, download the " -"file and verify that the sha3sum is correct." +"The receiver can now accepts the first incoming transfer, download the file " +"and verify that the sha3sum is correct." msgstr "" #: ../../../developer/file-transfer.md:103 @@ -3538,12 +3534,11 @@ msgstr "" #: ../../../developer/file-transfer.md:123 msgid "" -"Where `0d04b932` is the ufrag and `7c33834e7cf944bf0e367b47` the password" -" of the ICE session. `2130706431` and `1694498815` are the priority of " -"the candidates. `192.168.0.126 42751 typ host tcptype passive` is a " -"passive host candidate and `1694498815 X.X.X.X 42751 typ srflx tcptype " -"passive` a passive host reflecting the public ip (mapped via UPnP for " -"example)." +"Where `0d04b932` is the ufrag and `7c33834e7cf944bf0e367b47` the password of" +" the ICE session. `2130706431` and `1694498815` are the priority of the " +"candidates. `192.168.0.126 42751 typ host tcptype passive` is a passive host" +" candidate and `1694498815 X.X.X.X 42751 typ srflx tcptype passive` a " +"passive host reflecting the public ip (mapped via UPnP for example)." msgstr "" #: ../../../developer/file-transfer.md:125 @@ -3589,10 +3584,10 @@ msgstr "" #: ../../../developer/file-transfer.md:153 msgid "" -"The first approach was to send a request through the DHT to all devices " -"and the first devices which answers get the file to transfer. This is bad" -" for your contact because they will not know which device will receives " -"will get the transfer." +"The first approach was to send a request through the DHT to all devices and " +"the first devices which answers get the file to transfer. This is bad for " +"your contact because they will not know which device will receives will get " +"the transfer." msgstr "" #: ../../../developer/file-transfer.md:158 @@ -3610,25 +3605,25 @@ msgstr "" #: ../../../developer/file-transfer.md:165 msgid "" "Now (since <https://gerrit-ring.savoirfairelinux.com/#/c/9327/>), when a " -"user send a file, it will request a *PeerConnection* with all peer " -"devices. And for all connections, we attach a new input stream to have " -"the ability to accept/refuse/cancel each transfer separately." +"user send a file, it will request a *PeerConnection* with all peer devices. " +"And for all connections, we attach a new input stream to have the ability to" +" accept/refuse/cancel each transfer separately." msgstr "" #: ../../../developer/file-transfer.md:170 msgid "" -"In *data\\_transfer.cpp* we define the *OptimisticMetaOutgoingInfo* class" -" which represent the optimistic view to show to the client. It's " -"optimistic because if a contact accept a transfer on one device and " -"refuse on others, this class will show the ongoing file transfer. And it " -"will only show an error if all devices refuse the transfer." +"In *data\\_transfer.cpp* we define the *OptimisticMetaOutgoingInfo* class " +"which represent the optimistic view to show to the client. It's optimistic " +"because if a contact accept a transfer on one device and refuse on others, " +"this class will show the ongoing file transfer. And it will only show an " +"error if all devices refuse the transfer." msgstr "" #: ../../../developer/file-transfer.md:176 msgid "" -"This class is linked to *SubOutgoingFileTransfer* which represent the " -"state of a transfer with one device. Clients will have the ability to " -"show a sub transfer instead the optimistic later (see TODO list)." +"This class is linked to *SubOutgoingFileTransfer* which represent the state " +"of a transfer with one device. Clients will have the ability to show a sub " +"transfer instead the optimistic later (see TODO list)." msgstr "" #: ../../../developer/file-transfer.md:180 @@ -3637,8 +3632,8 @@ msgstr "" #: ../../../developer/file-transfer.md:182 msgid "" -"Actually the default TURN server is *turn.ring.cx*. But you can host your" -" own TURN server. For example by running a " +"Actually the default TURN server is *turn.ring.cx*. But you can host your " +"own TURN server. For example by running a " "[coturn](https://github.com/coturn/coturn) server." msgstr "" @@ -3647,32 +3642,32 @@ msgid "`sudo turnserver -a -v -n -u user:password -r \"realm\"`" msgstr "" #: ../../../developer/file-transfer.md:188 -msgid "Then, you can configure the TURN server in the advanced settings of RING." +msgid "" +"Then, you can configure the TURN server in the advanced settings of RING." msgstr "" #: ../../../developer/file-transfer.md:191 msgid "" -"Note: this needs some technical knowledges. Moreover, the TURN server " -"should see the same ip address of your node as the destination node or " -"the peer connection will fail (because the authorization will be " -"incorrect)" +"Note: this needs some technical knowledges. Moreover, the TURN server should" +" see the same ip address of your node as the destination node or the peer " +"connection will fail (because the authorization will be incorrect)" msgstr "" #: ../../../developer/file-transfer.md:199 msgid "" -"For now, if a file transfer fails when ongoing, the sender can't resume " -"the transfer and must relaunch the whole transfer. In the future, there " -"will be a retry button for resuming the transfer." +"For now, if a file transfer fails when ongoing, the sender can't resume the " +"transfer and must relaunch the whole transfer. In the future, there will be " +"a retry button for resuming the transfer." msgstr "" #: ../../../developer/file-transfer.md:203 msgid "" "Finally, because Ring do not support text conferences (just video " -"conferences, where there is one master merging slaves SIP calls), there " -"is no real file transfer in conferences. For now, when you are in a " -"conference on the gnome client for example: A master, B and C slave. B " -"will be able to send a file to A the master (C same) A will be able to " -"send a file to B or to C (just have to select the correct conversation)." +"conferences, where there is one master merging slaves SIP calls), there is " +"no real file transfer in conferences. For now, when you are in a conference " +"on the gnome client for example: A master, B and C slave. B will be able to " +"send a file to A the master (C same) A will be able to send a file to B or " +"to C (just have to select the correct conversation)." msgstr "" #: ../../../developer/file-transfer.md:210 @@ -3697,7 +3692,7 @@ msgstr "" #: ../../../developer/important-rfcs.md:4 msgid "SIP" -msgstr "" +msgstr "SIP" #: ../../../developer/important-rfcs.md:6 msgid "Reference: <http://tools.ietf.org/html/rfc3261>" @@ -3731,8 +3726,8 @@ msgstr "" #: ../../../developer/important-rfcs.md:20 msgid "" -"How to use SDP: <http://tools.ietf.org/html/rfc3264> Valuable updates and" -" extensions:" +"How to use SDP: <http://tools.ietf.org/html/rfc3264> Valuable updates and " +"extensions:" msgstr "" #: ../../../developer/important-rfcs.md:23 @@ -3792,17 +3787,16 @@ msgid "" msgstr "" #: ../../../developer/improving-quality-of-jami.md:8 -#, python-format msgid "" -"There is about 30 unit-tests and 26% coverage. Due to Jami high demand to" -" give new functionalities to user quickly, they are not maintained by the" -" developers or by a QA dept." +"There is about 30 unit-tests and 26% coverage. Due to Jami high demand to " +"give new functionalities to user quickly, they are not maintained by the " +"developers or by a QA dept." msgstr "" #: ../../../developer/improving-quality-of-jami.md:10 msgid "" -"We use lcov for the coverage, you can find the lcov’s configuration in " -"the daemon’s Makefile.am. Also, the coverage can be found at " +"We use lcov for the coverage, you can find the lcov’s configuration in the " +"daemon’s Makefile.am. Also, the coverage can be found at " "https://docs.jami.net/coverage/" msgstr "" @@ -3814,8 +3808,8 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:14 msgid "" -"You can launch them by doing ‘make check’ in the daemon folder or " -"separately in the unit-test folder with gdb: ‘gdb ut_media_encoder’" +"You can launch them by doing ‘make check’ in the daemon folder or separately" +" in the unit-test folder with gdb: ‘gdb ut_media_encoder’" msgstr "" #: ../../../developer/improving-quality-of-jami.md:16 @@ -3830,20 +3824,21 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:20 msgid "" -"You can find framework tests in the daemon’s Makefile.am and lunch it " -"with ‘make integration’. This calls jami_test.py script in the " -"tools/dringctrl folder. It uses dringctrl.py and controller.py which let " -"you control Jami through bash." +"You can find framework tests in the daemon’s Makefile.am and lunch it with " +"‘make integration’. This calls jami_test.py script in the tools/dringctrl " +"folder. It uses dringctrl.py and controller.py which let you control Jami " +"through bash." msgstr "" #: ../../../developer/improving-quality-of-jami.md:22 -msgid "This makes a series of calls to assure jami’s opendht network is stable." +msgid "" +"This makes a series of calls to assure jami’s opendht network is stable." msgstr "" #: ../../../developer/improving-quality-of-jami.md:24 msgid "" -"Other framework tests need to be implemented in the future to tests " -"Jami’s functionalities as a whole." +"Other framework tests need to be implemented in the future to tests Jami’s " +"functionalities as a whole." msgstr "" #: ../../../developer/improving-quality-of-jami.md:26 @@ -3852,24 +3847,24 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:28 msgid "" -"Each commit goes through integration tests in dockers on the build " -"machines you can find the details at: jenkins.jami.net" +"Each commit goes through integration tests in dockers on the build machines " +"you can find the details at: jenkins.jami.net" msgstr "" #: ../../../developer/improving-quality-of-jami.md:30 msgid "" -"Code-review is made by a fellow developer, sometimes the code is reviewed" -" by the same developer, this should be avoided to emphasize Linus’ law. " -"The ‘Jenkins verified’ label is sometimes discarded and replaced by +1 " -"from a developer, this should also be avoided." +"Code-review is made by a fellow developer, sometimes the code is reviewed by" +" the same developer, this should be avoided to emphasize Linus’ law. The " +"‘Jenkins verified’ label is sometimes discarded and replaced by +1 from a " +"developer, this should also be avoided." msgstr "" #: ../../../developer/improving-quality-of-jami.md:32 msgid "" -"Sonarqube lets Jenkins build Jami and verify linting. You can find " -"filters and results at: sonar- jami.savoirfairelinux.net Sonar uses " -"clang-tidy as a preprocessor linting compilator, you can find clang’s " -"filters in .clang-tidy file in the daemon folder." +"Sonarqube lets Jenkins build Jami and verify linting. You can find filters " +"and results at: sonar- jami.savoirfairelinux.net Sonar uses clang-tidy as a " +"preprocessor linting compilator, you can find clang’s filters in .clang-tidy" +" file in the daemon folder." msgstr "" #: ../../../developer/improving-quality-of-jami.md:34 @@ -3897,10 +3892,10 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:44 msgid "" "A script is called every 30 minutes on a virtual machine jami-" -"monitorpeervm-01. You can find it on sflvault service s#7209 and is " -"calling an other client viratual jami- monitorpeer-02 (service s#7224). A" -" series of calls is being made and it returns the failure rate. You can " -"find all the details at https://wiki.savoirfairelinux.com/wiki/Jami-" +"monitorpeervm-01. You can find it on sflvault service s#7209 and is calling " +"an other client viratual jami- monitorpeer-02 (service s#7224). A series of " +"calls is being made and it returns the failure rate. You can find all the " +"details at https://wiki.savoirfairelinux.com/wiki/Jami-" "monitorpeervm-01.mtl.sfl." msgstr "" @@ -3913,8 +3908,7 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:48 msgid "" "It traces a real time point by point graph on " -"https://monitoring.savoirfairelinux.com/grafana/dashboard/script/dyndash.js?host" -"=jami-" +"https://monitoring.savoirfairelinux.com/grafana/dashboard/script/dyndash.js?host=jami-" "monitorpeervm-01.mtl.sfl&service=Check%20JamiCall&panelId=1&fullscreen&orgId=1" msgstr "" @@ -3932,15 +3926,14 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:57 msgid "" -"They are reviewed by QA dpt. before sending it to the developers if " -"needed." +"They are reviewed by QA dpt. before sending it to the developers if needed." msgstr "" #: ../../../developer/improving-quality-of-jami.md:59 msgid "" -"If a release contains a network commit that has been merged, the QA dept." -" Should be able to automate the different connectivity tests (as descibed" -" below in Calls configurations)" +"If a release contains a network commit that has been merged, the QA dept. " +"Should be able to automate the different connectivity tests (as descibed " +"below in Calls configurations)" msgstr "" #: ../../../developer/improving-quality-of-jami.md:61 @@ -3953,14 +3946,14 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:65 msgid "" -"(IPv4 | IPv6) + (TURN | !TURN) + (STUN | !STUN) + (UPnP | !UPnP) for both" -" sides." +"(IPv4 | IPv6) + (TURN | !TURN) + (STUN | !STUN) + (UPnP | !UPnP) for both " +"sides." msgstr "" #: ../../../developer/improving-quality-of-jami.md:67 msgid "" -"If both sides are IPv4 only without TURN/STUN/UPnP, the call should be " -"only local." +"If both sides are IPv4 only without TURN/STUN/UPnP, the call should be only " +"local." msgstr "" #: ../../../developer/improving-quality-of-jami.md:69 @@ -3990,14 +3983,14 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:79 msgid "" "Each major functionality should be tested as whole by adding a framework " -"test (i.e. making sure a message was received, the call was ended well on" -" both side, etc...)" +"test (i.e. making sure a message was received, the call was ended well on " +"both side, etc...)" msgstr "" #: ../../../developer/improving-quality-of-jami.md:81 msgid "" -"Each new functionality should be tested on each platform before merging " -"it to reduce regression" +"Each new functionality should be tested on each platform before merging it " +"to reduce regression" msgstr "" #: ../../../developer/improving-quality-of-jami.md:83 @@ -4019,15 +4012,15 @@ msgstr "" #: ../../../developer/index.rst:5 msgid "" "The Jami developer manual is a reference for Jami developers and " -"contributors, documenting the various aspects of hacking on and " -"developing Jami, including in-depth explanations of how Jami is designed " -"and how its various parts work together." +"contributors, documenting the various aspects of hacking on and developing " +"Jami, including in-depth explanations of how Jami is designed and how its " +"various parts work together." msgstr "" #: ../../../developer/introduction.md:4 msgid "" -"Greetings! In the developer manual of Jami, you will learn about how " -"Jami works from the high level, to the low, with some examples." +"Greetings! In the developer manual of Jami, you will learn about how Jami " +"works from the high level, to the low, with some examples." msgstr "" #: ../../../developer/introduction.md:7 @@ -4068,7 +4061,7 @@ msgstr "" #: ../../../developer/introduction.md:18 msgid "Advanced features" -msgstr "" +msgstr "ویژگیهای پیشرفته" #: ../../../developer/introduction.md:19 msgid "Manage audio/videos" @@ -4076,13 +4069,13 @@ msgstr "" #: ../../../developer/introduction.md:20 msgid "Call recording" -msgstr "" +msgstr "ضبط تماس" #: ../../../developer/introduction.md:21 msgid "" "[The push notifications " -"system](https://github.com/savoirfairelinux/opendht/wiki/Push-" -"notifications-support)" +"system](https://github.com/savoirfairelinux/opendht/wiki/Push-notifications-" +"support)" msgstr "" #: ../../../developer/introduction.md:22 @@ -4155,9 +4148,9 @@ msgstr "" #: ../../../developer/introduction.md:45 msgid "" -"If you are reading this, chances are you'd either like to contribute to " -"one of Jami's components/projects, or to implement your own client. There" -" are three main layers in this project:" +"If you are reading this, chances are you'd either like to contribute to one " +"of Jami's components/projects, or to implement your own client. There are " +"three main layers in this project:" msgstr "" #: ../../../developer/introduction.md:49 @@ -4170,11 +4163,11 @@ msgstr "" #: ../../../developer/introduction.md:54 msgid "" -"The daemon, which is the main part. It's the part which does all the " -"logic for Jami and interacts with OpenDHT, pjsip, FFmpeg, and the other " -"libraries, and implements the whole protocol. If you'd like to do create" -" a new Jami client, we recommend implementing it on top of this daemon, " -"using one of its many APIs (REST, DBus, libwrap, or JNI)." +"The daemon, which is the main part. It's the part which does all the logic " +"for Jami and interacts with OpenDHT, pjsip, FFmpeg, and the other libraries," +" and implements the whole protocol. If you'd like to do create a new Jami " +"client, we recommend implementing it on top of this daemon, using one of its" +" many APIs (REST, DBus, libwrap, or JNI)." msgstr "" #: ../../../developer/introduction.md:61 @@ -4183,8 +4176,8 @@ msgstr "" #: ../../../developer/introduction.md:63 msgid "" -"The developer manual of Jami will explain the different features from all" -" of these layers." +"The developer manual of Jami will explain the different features from all of" +" these layers." msgstr "" #: ../../../developer/jami-identifiers.md:1 @@ -4194,8 +4187,8 @@ msgstr "" #: ../../../developer/jami-identifiers.md:4 msgid "" "There are many identifiers in Jami. We need to unify the naming of these " -"identifiers between all implementations. This page reference various kind" -" of identifiers used in Jami with relevant examples." +"identifiers between all implementations. This page reference various kind of" +" identifiers used in Jami with relevant examples." msgstr "" #: ../../../developer/jami-identifiers.md:8 @@ -4215,17 +4208,17 @@ msgid "" "**URI** : a Jami or SIP URI such as " "`ring:3d1112ab2bb089370c0744a44bbbb0786418d40b` or `ring:jeandupont` or " "`<sip:nnnnn@host:5060>`. Must be compliant with " -"[rfc3986](https://tools.ietf.org/html/rfc3986). If it's a SIP URI, it " -"must be compliant with " +"[rfc3986](https://tools.ietf.org/html/rfc3986). If it's a SIP URI, it must " +"be compliant with " "[rfc3261#19.1](https://tools.ietf.org/html/rfc3261#section-19.1)." msgstr "" #: ../../../developer/jami-identifiers.md:15 msgid "" "**Canonical URI** : `ring:3d1112ab2bb089370c0744a44bbbb0786418d40b` or " -"`sip:nnnnn@host:5060`. The most simplified form of the URI. Registered " -"name must be resolved, doesn't include <> brackets or display name. " -"Prefixed with the scheme (`ring:` or `sip:` or `sips:`)." +"`sip:nnnnn@host:5060`. The most simplified form of the URI. Registered name " +"must be resolved, doesn't include <> brackets or display name. Prefixed with" +" the scheme (`ring:` or `sip:` or `sips:`)." msgstr "" #: ../../../developer/jami-identifiers.md:16 @@ -4236,8 +4229,8 @@ msgstr "" #: ../../../developer/jami-identifiers.md:17 msgid "" -"**Display name** or **Profile name** : an editable user-defined profile " -"name such as `Jean Dupont`." +"**Display name** or **Profile name** : an editable user-defined profile name" +" such as `Jean Dupont`." msgstr "" #: ../../../developer/jami-identifiers.md:20 @@ -4254,9 +4247,9 @@ msgstr "" #: ../../../developer/jami-identifiers.md:31 msgid "" -"If no photo is available and a registered name (ring) or display name " -"(sip) is available, the first letter of this name can be used to generate" -" a placeholder. Otherwise a generic placeholder is used." +"If no photo is available and a registered name (ring) or display name (sip) " +"is available, the first letter of this name can be used to generate a " +"placeholder. Otherwise a generic placeholder is used." msgstr "" #: ../../../developer/jami-identifiers.md:32 @@ -4267,8 +4260,7 @@ msgstr "" #: ../../../developer/jami-identifiers.md:57 msgid "" -"Color values are from the material palette: " -"https://material.io/tools/color" +"Color values are from the material palette: https://material.io/tools/color" msgstr "" #: ../../../developer/jami-identifiers.md:60 @@ -4281,8 +4273,8 @@ msgstr "" #: ../../../developer/jami-plugins.md:1 msgid "" -"**NOTE: this page describes what is a Jami Plugin and how to install and " -"use them.**" +"**NOTE: this page describes what is a Jami Plugin and how to install and use" +" them.**" msgstr "" #: ../../../developer/jami-plugins.md:3 @@ -4291,23 +4283,23 @@ msgstr "" #: ../../../developer/jami-plugins.md:4 msgid "" -"As from September of 2020, Jami team has added plugins as a call and chat" -" feature for Linux, Windows, and Android users. This meaning that now you" -" can personalize your call/chat experience by using one of our available " -"plugins. But that is not all, you can also transform your awesome ideas " -"into a brand new plugin!" +"As from September of 2020, Jami team has added plugins as a call and chat " +"feature for Linux, Windows, and Android users. This meaning that now you can" +" personalize your call/chat experience by using one of our available " +"plugins. But that is not all, you can also transform your awesome ideas into" +" a brand new plugin!" msgstr "" #: ../../../developer/jami-plugins.md:8 msgid "" -"To properly setup a plugin you must follow the steps in [#How to use it" -"?](#how-to-use-it)." +"To properly setup a plugin you must follow the steps in [#How to use " +"it?](#how-to-use-it)." msgstr "" #: ../../../developer/jami-plugins.md:9 msgid "" -"To build a available plugin, please refer to [#How to build?](#how-to-" -"build) instructions." +"To build a available plugin, please refer to [#How to build?](#how-to-build)" +" instructions." msgstr "" #: ../../../developer/jami-plugins.md:10 @@ -4323,50 +4315,48 @@ msgstr "" #: ../../../developer/jami-plugins.md:13 msgid "" "Jami can be break down to three main components that interact together: " -"Daemon, LRC and clients. Daemon is the core of Jami, and although it does" -" not interact with users, it is involved in every command. Therefore, " -"Daemon has a `JamiPluginManager` class that among other actions perfoms " -"install/uninstall, load/unload, edit preferences and control plugins' " -"usage. Despite Daemon importance, what a plugin effectivelly does to a " -"call video/audio or to a chat message is unknown to it the same way " -"Daemon does not know what is effectivelly done by LRC or the clients " -"interfaces. Plugins then can be seen as a forth interacting component in " -"Jami." +"Daemon, LRC and clients. Daemon is the core of Jami, and although it does " +"not interact with users, it is involved in every command. Therefore, Daemon " +"has a `JamiPluginManager` class that among other actions perfoms " +"install/uninstall, load/unload, edit preferences and control plugins' usage." +" Despite Daemon importance, what a plugin effectivelly does to a call " +"video/audio or to a chat message is unknown to it the same way Daemon does " +"not know what is effectivelly done by LRC or the clients interfaces. Plugins" +" then can be seen as a forth interacting component in Jami." msgstr "" #: ../../../developer/jami-plugins.md:19 msgid "" -"The plugin system inside Jami exposes different APIs that can be used by " -"the plugins. For instance, the ChatHandler and the Media Handler API. The" -" latter enables the plugins to modify audio and video streams from Jami " -"calls and is used by our GreenScreen plugin but could also be used to " -"build a YouTube streaming system, various instagram-style filters, a real" -" time translation service, etc." +"The plugin system inside Jami exposes different APIs that can be used by the" +" plugins. For instance, the ChatHandler and the Media Handler API. The " +"latter enables the plugins to modify audio and video streams from Jami calls" +" and is used by our GreenScreen plugin but could also be used to build a " +"YouTube streaming system, various instagram-style filters, a real time " +"translation service, etc." msgstr "" #: ../../../developer/jami-plugins.md:21 msgid "" -"Plugins can be composed by one or multiple media and chat handlers that " -"are responsible for attaching/detaching a data stream from Jami and a " -"data process. Each handler represents a functionality that can be totally" -" different between them or can be a modified versions of the same core " +"Plugins can be composed by one or multiple media and chat handlers that are " +"responsible for attaching/detaching a data stream from Jami and a data " +"process. Each handler represents a functionality that can be totally " +"different between them or can be a modified versions of the same core " "process. In our example, we have only one functionality, it being, the " -"GreenScreen plugin has one media handler which data process is " -"responsible for segmenting the foreground from a video frame and applying" -" another image to the background, just like it is done with the green " -"screens in movies!" +"GreenScreen plugin has one media handler which data process is responsible " +"for segmenting the foreground from a video frame and applying another image " +"to the background, just like it is done with the green screens in movies!" msgstr "" #: ../../../developer/jami-plugins.md:23 msgid "" "To use one custom functionality, it is necessary that Jami knows all " -"plugins' handlers, which one is going to be used and the data that should" -" be processed. Plugin's handlers are created once a plugin is loaded and " -"are shared with Daemon's Plugin Manager. The data is inside Jami flow " -"(for a call plugin, in the event of a new call, Jami creates and stores " -"the corresponding media stream subjects). Finally, once a user puts a " -"plugin functionality in action Jami tells this handler to attach the " -"available data. When deactivated, Jami tells the handler to dettach." +"plugins' handlers, which one is going to be used and the data that should be" +" processed. Plugin's handlers are created once a plugin is loaded and are " +"shared with Daemon's Plugin Manager. The data is inside Jami flow (for a " +"call plugin, in the event of a new call, Jami creates and stores the " +"corresponding media stream subjects). Finally, once a user puts a plugin " +"functionality in action Jami tells this handler to attach the available " +"data. When deactivated, Jami tells the handler to dettach." msgstr "" #: ../../../developer/jami-plugins.md:27 @@ -4375,26 +4365,26 @@ msgstr "" #: ../../../developer/jami-plugins.md:28 msgid "" -"A Jami plugin is a `pluginname.jpl` file, and it must be installed to " -"your Jami. Once installed, Jami will add your new plugin to the available" -" plugins list but they will not be ready for use yet. Plugins are " -"libraries and must be loaded if you want to expose them. Moreover, plugin" -" may have preferences and besides install/uninstall and load/unload " -"actions, it is possible to modify those preferences. For example, our " -"GreenScreen plugin allows the user to change the background image " -"displayed." +"A Jami plugin is a `pluginname.jpl` file, and it must be installed to your " +"Jami. Once installed, Jami will add your new plugin to the available plugins" +" list but they will not be ready for use yet. Plugins are libraries and must" +" be loaded if you want to expose them. Moreover, plugin may have preferences" +" and besides install/uninstall and load/unload actions, it is possible to " +"modify those preferences. For example, our GreenScreen plugin allows the " +"user to change the background image displayed." msgstr "" #: ../../../developer/jami-plugins.md:33 msgid "" -"To setup a plugin for Android you must go under Setting, enable plugins " -"if they are disabled, and select a plugin file from your phone. After " -"installed it is automaticaly loaded. Optionally, you can manually perform" -" load/unload using the checkbox button on the plugin list." +"To setup a plugin for Android you must go under Setting, enable plugins if " +"they are disabled, and select a plugin file from your phone. After installed" +" it is automaticaly loaded. Optionally, you can manually perform load/unload" +" using the checkbox button on the plugin list." msgstr "" #: ../../../developer/jami-plugins.md:37 -msgid "" +msgid "" +"" msgstr "" #: ../../../developer/jami-plugins.md:37 @@ -4403,10 +4393,10 @@ msgstr "" #: ../../../developer/jami-plugins.md:39 msgid "" -"For Android uninstall, you must click on the plugin and a uninstall " -"option will appear allong with the preferences and a reset preferences " -"option. In order to a preference modification can take effect the plugin " -"has to be reloaded." +"For Android uninstall, you must click on the plugin and a uninstall option " +"will appear allong with the preferences and a reset preferences option. In " +"order to a preference modification can take effect the plugin has to be " +"reloaded." msgstr "" #: ../../../developer/jami-plugins.md:42 @@ -4435,14 +4425,14 @@ msgstr "" #: ../../../developer/jami-plugins.md:49 msgid "" -"Client-gnome: a load/unload button and a uninstall button; For client-" -"gnome it is not possible to change plugin's preferences." +"Client-gnome: a load/unload button and a uninstall button; For client-gnome " +"it is not possible to change plugin's preferences." msgstr "" #: ../../../developer/jami-plugins.md:52 msgid "" -" " +" " msgstr "" #: ../../../developer/jami-plugins.md:52 @@ -4459,9 +4449,9 @@ msgstr "" #: ../../../developer/jami-plugins.md:56 msgid "" -"A media handler functionality only takes place if you turn them on during" -" a call. For either Android, Linux or Windows you can do so by clicking " -"on the plugins icon on your call screen." +"A media handler functionality only takes place if you turn them on during a " +"call. For either Android, Linux or Windows you can do so by clicking on the " +"plugins icon on your call screen." msgstr "" #: ../../../developer/jami-plugins.md:59 @@ -4480,8 +4470,8 @@ msgstr "" #: ../../../developer/jami-plugins.md:62 msgid "" -"Similarly, for chat handler functionality, you will see a plugin icon in " -"the chat window as in the images bellow." +"Similarly, for chat handler functionality, you will see a plugin icon in the" +" chat window as in the images bellow." msgstr "" #: ../../../developer/jami-plugins.md:64 @@ -4490,10 +4480,10 @@ msgstr "" #: ../../../developer/jami-plugins.md:65 msgid "" -"If you want to make something with your video call, it is possible that " -"you will do so with OpenCV and/or deep learning models (Tensorflow, " -"PyTorch, etc). So, before going to the plugin, it is necessary to build " -"plugin's dependencies." +"If you want to make something with your video call, it is possible that you " +"will do so with OpenCV and/or deep learning models (Tensorflow, PyTorch, " +"etc). So, before going to the plugin, it is necessary to build plugin's " +"dependencies." msgstr "" #: ../../../developer/jami-plugins.md:68 @@ -4523,7 +4513,8 @@ msgid "" "instructions." msgstr "" -#: ../../../developer/jami-plugins.md:76 ../../../developer/jami-plugins.md:215 +#: ../../../developer/jami-plugins.md:76 +#: ../../../developer/jami-plugins.md:215 #: ../../../developer/jami-plugins.md:283 #: ../../../developer/tensorflow-plugin.md:51 msgid "Windows" @@ -4553,14 +4544,14 @@ msgstr "" #: ../../../developer/jami-plugins.md:145 msgid "" -"A difficulty for a lot of people working with deep learning models is how" -" to deploy them. With that in mind we provide the user the possibility of" -" using onnxruntime. There are several development libraries to train and " -"test but, they are usually too heavy to deploy. Tensorflow with cuda " -"support, for instance, can easily surpass 400MB. In our GreenScreen " -"plugin We chose to use onnxruntime because it's lighter (library size of " -"140Mb for cuda support) and supports model convertion from several " -"development libraries (Tensorflow, PyTorch, Caffe, etc.)." +"A difficulty for a lot of people working with deep learning models is how to" +" deploy them. With that in mind we provide the user the possibility of using" +" onnxruntime. There are several development libraries to train and test but," +" they are usually too heavy to deploy. Tensorflow with cuda support, for " +"instance, can easily surpass 400MB. In our GreenScreen plugin We chose to " +"use onnxruntime because it's lighter (library size of 140Mb for cuda " +"support) and supports model convertion from several development libraries " +"(Tensorflow, PyTorch, Caffe, etc.)." msgstr "" #: ../../../developer/jami-plugins.md:149 @@ -4573,16 +4564,16 @@ msgstr "" #: ../../../developer/jami-plugins.md:151 msgid "" "To build onnxruntime based plugins for Linux and Android, we strongly " -"recommend using docker files available under `<plugins>/docker/`. We " -"don't offer Windows docker, but here we carefully guide you through the " -"proper build of this library for our three supported platforms." +"recommend using docker files available under `<plugins>/docker/`. We don't " +"offer Windows docker, but here we carefully guide you through the proper " +"build of this library for our three supported platforms." msgstr "" #: ../../../developer/jami-plugins.md:153 msgid "" -"If you want to build onnxruntime with Nvidia GPU suport, be sure to have " -"a CUDA capable GPU and that you have followed all installation steps for " -"the Nvidia drivers, CUDA Toolkit, CUDNN, and that their versions match." +"If you want to build onnxruntime with Nvidia GPU suport, be sure to have a " +"CUDA capable GPU and that you have followed all installation steps for the " +"Nvidia drivers, CUDA Toolkit, CUDNN, and that their versions match." msgstr "" #: ../../../developer/jami-plugins.md:157 @@ -4617,8 +4608,8 @@ msgstr "" msgid "" "We kindly added onnxruntime as a contrib in " "[daemon](https://git.jami.net/savoirfairelinux/jami-" -"daemon/tree/master/contrib). This way you can easily build onnxruntime " -"for Android, and Linux." +"daemon/tree/master/contrib). This way you can easily build onnxruntime for " +"Android, and Linux." msgstr "" #: ../../../developer/jami-plugins.md:167 @@ -4661,8 +4652,8 @@ msgstr "" #: ../../../developer/jami-plugins.md:254 msgid "" -"To exemplify a plugin build, we will use the GreenScreen plugin available" -" {gitlab-project}`here <jami-plugins>`." +"To exemplify a plugin build, we will use the GreenScreen plugin available " +"{gitlab-project}`here <jami-plugins>`." msgstr "" #: ../../../developer/jami-plugins.md:256 @@ -4671,8 +4662,7 @@ msgstr "" #: ../../../developer/jami-plugins.md:257 msgid "" -"First you need to go to the plugins repository in your cloned ring-" -"project:" +"First you need to go to the plugins repository in your cloned ring-project:" msgstr "" #: ../../../developer/jami-plugins.md:263 @@ -4700,8 +4690,8 @@ msgstr "" #: ../../../developer/jami-plugins.md:284 msgid "" -"Windows build of plugins are linked with the daemon repository and its " -"build scripts. So to build our example plugins you have to:" +"Windows build of plugins are linked with the daemon repository and its build" +" scripts. So to build our example plugins you have to:" msgstr "" #: ../../../developer/jami-plugins.md:296 @@ -4718,8 +4708,8 @@ msgstr "" #: ../../../developer/libjamiclient-documentation.md:8 msgid "" -"Lrc (Libringclient) is an interface between the clients and the daemon. " -"It ensures to get the same behaviour for all client using it. " +"Lrc (Libringclient) is an interface between the clients and the daemon. It " +"ensures to get the same behaviour for all client using it. " "" msgstr "" @@ -4734,8 +4724,8 @@ msgstr "" #: ../../../developer/libjamiclient-documentation.md:17 msgid "" -"this class is an interface between lrc and the sqlite database. This " -"class should not be called directly from the client." +"this class is an interface between lrc and the sqlite database. This class " +"should not be called directly from the client." msgstr "" #: ../../../developer/libjamiclient-documentation.md:20 @@ -4758,20 +4748,20 @@ msgstr "" #: ../../../developer/libjamiclient-documentation.md:28 msgid "" -"When we need information about calls, members functions from the model " -"can return NewCall::Info." +"When we need information about calls, members functions from the model can " +"return NewCall::Info." msgstr "" #: ../../../developer/libjamiclient-documentation.md:33 msgid "" -"When we need to perform some operation on a call, we pass it callId to " -"the delegate performing the operation." +"When we need to perform some operation on a call, we pass it callId to the " +"delegate performing the operation." msgstr "" #: ../../../developer/libjamiclient-documentation.md:38 msgid "" -"note about the name : we are using New as prefix to avoid conflict with " -"the current CallModel and Call objects." +"note about the name : we are using New as prefix to avoid conflict with the " +"current CallModel and Call objects." msgstr "" #: ../../../developer/libjamiclient-documentation.md:41 @@ -4794,14 +4784,14 @@ msgstr "" #: ../../../developer/libjamiclient-documentation.md:49 msgid "" -"When we need information about contact(s), members functions from the " -"model can return Contact::Info" +"When we need information about contact(s), members functions from the model " +"can return Contact::Info" msgstr "" #: ../../../developer/libjamiclient-documentation.md:54 msgid "" -"When we need to perform some operation on a contact, we pass it uri to " -"the delegate performing the operation." +"When we need to perform some operation on a contact, we pass it uri to the " +"delegate performing the operation." msgstr "" #: ../../../developer/libjamiclient-documentation.md:57 @@ -4820,27 +4810,25 @@ msgstr "" #: ../../../developer/libjamiclient-documentation.md:61 msgid "" -"ConversationModel is an interface used to manage conversations and " -"messages." +"ConversationModel is an interface used to manage conversations and messages." msgstr "" #: ../../../developer/libjamiclient-documentation.md:66 msgid "" -"When we need information about some conversation(s), members functions " -"from the model can return Conversation::Info. Conversation::Info contains" -" Messages." +"When we need information about some conversation(s), members functions from " +"the model can return Conversation::Info. Conversation::Info contains " +"Messages." msgstr "" #: ../../../developer/libjamiclient-documentation.md:72 msgid "" -"note about Message : so far, we didn't need a MessageModel, but this " -"could be come soon." +"note about Message : so far, we didn't need a MessageModel, but this could " +"be come soon." msgstr "" #: ../../../developer/libjamiclient-documentation.md:75 msgid "" -"" msgstr "" @@ -4870,8 +4858,8 @@ msgstr "" #: ../../../developer/message-displayed-status.md:4 msgid "" -"Every client generally must be able to show what peer read what message " -"and get how many unread messages there is." +"Every client generally must be able to show what peer read what message and " +"get how many unread messages there is." msgstr "" #: ../../../developer/message-displayed-status.md:6 @@ -4888,19 +4876,20 @@ msgstr "" #: ../../../developer/message-displayed-status.md:46 msgid "" -"to set a message as displayed. Should be done when the interaction is " -"shown and the conversation selected." +"to set a message as displayed. Should be done when the interaction is shown " +"and the conversation selected." msgstr "" #: ../../../developer/message-displayed-status.md:48 -msgid "This sends a SIP messages to connected peers with the following format:" +msgid "" +"This sends a SIP messages to connected peers with the following format:" msgstr "" #: ../../../developer/message-displayed-status.md:66 msgid "" -"Then the peer will know this via `onMessageDisplayed` and emit a signal " -"to the client (`DRing::ConfigurationSignal::AccountMessageStatusChanged` " -"with status 3 (`DRing::Account::MessageStates::DISPLAYED`))" +"Then the peer will know this via `onMessageDisplayed` and emit a signal to " +"the client (`DRing::ConfigurationSignal::AccountMessageStatusChanged` with " +"status 3 (`DRing::Account::MessageStates::DISPLAYED`))" msgstr "" #: ../../../developer/message-displayed-status.md:68 @@ -4910,9 +4899,9 @@ msgstr "" #: ../../../developer/message-displayed-status.md:70 msgid "" "By knowing the lastDisplayedMessage for our account, we can use this " -"informations and `ConfigrationManager::countInteractionsSince` which " -"count interaction since last message to a given message (typically last " -"displayed interaction)" +"informations and `ConfigrationManager::countInteractionsSince` which count " +"interaction since last message to a given message (typically last displayed " +"interaction)" msgstr "" #: ../../../developer/message-displayed-status.md:72 @@ -4928,9 +4917,9 @@ msgstr "" #: ../../../developer/message-displayed-status.md:76 msgid "" -"In `src/jamidht/conversation.cpp` each conversation store the last " -"displayed messages in a map<string, string> (uri, interactionId) and this" -" structure is serialized in " +"In `src/jamidht/conversation.cpp` each conversation store the last displayed" +" messages in a map<string, string> (uri, interactionId) and this structure " +"is serialized in " "`fileutils::get_data_dir()/getAccountID()/conversation_data/repository_->id()/lastDisplayed`" msgstr "" @@ -4940,253 +4929,260 @@ msgstr "" #: ../../../developer/name-server-protocol.md:4 msgid "" -"The protocol used by Jami to query and register a name is based on an " -"HTTP " -"[REST](https://en.wikipedia.org/wiki/Representational_state_transfer) API" -" answering requests with JSON documents and regular HTTP status codes." +"The protocol used by Jami to query and register a name is based on an HTTP " +"[REST](https://en.wikipedia.org/wiki/Representational_state_transfer) API " +"answering requests with JSON documents and regular HTTP status codes." msgstr "" #: ../../../developer/name-server-protocol.md:10 msgid "" -"The public nameserver is hosted at `ns.jami.net` and uses a blockchain as" -" its backend. Another implementation could use any other database or " +"The public nameserver is hosted at `ns.jami.net` and uses a blockchain as " +"its backend. Another implementation could use any other database or " "directory service making the nameserver protocol reusable." msgstr "" #: ../../../developer/name-server-protocol.md:14 +msgid "" +"If you run your own nameserver, looking up a username in the form of " +"`username@example.com` will look up the name `username` with the nameserver " +"at `example.com`. (There is no need to add `@ns.jami.net` to use the " +"default nameserver.)" +msgstr "" + +#: ../../../developer/name-server-protocol.md:19 msgid "Rules on name formatting" msgstr "" -#: ../../../developer/name-server-protocol.md:17 -msgid "Usernames are checked by a regex to ensure some rules about their format:" +#: ../../../developer/name-server-protocol.md:22 +msgid "" +"Usernames are checked by a regex to ensure some rules about their format:" msgstr "" -#: ../../../developer/name-server-protocol.md:20 +#: ../../../developer/name-server-protocol.md:25 msgid "Length must be between 3 and 32 characters" msgstr "" -#: ../../../developer/name-server-protocol.md:21 +#: ../../../developer/name-server-protocol.md:26 msgid "" "Those characters must be alphanumerical with underscore `_` being also " "accepted." msgstr "" -#: ../../../developer/name-server-protocol.md:24 +#: ../../../developer/name-server-protocol.md:29 msgid "Querying a name" msgstr "" -#: ../../../developer/name-server-protocol.md:27 +#: ../../../developer/name-server-protocol.md:32 msgid "" -"This is the main service provided by a name server. It enables getting " -"the Jami ID corresponding to a username." +"This is the main service provided by a name server. It enables getting the " +"Jami ID corresponding to a username." msgstr "" -#: ../../../developer/name-server-protocol.md:30 -#: ../../../developer/name-server-protocol.md:78 -#: ../../../developer/name-server-protocol.md:126 +#: ../../../developer/name-server-protocol.md:35 +#: ../../../developer/name-server-protocol.md:83 +#: ../../../developer/name-server-protocol.md:131 msgid "Request" msgstr "" -#: ../../../developer/name-server-protocol.md:32 +#: ../../../developer/name-server-protocol.md:37 msgid "" -"A request for the name `foobar` is a `GET` request with " -"`/name/`*`foobar`* as the URI." +"A request for the name `foobar` is a `GET` request with `/name/`*`foobar`* " +"as the URI." msgstr "" -#: ../../../developer/name-server-protocol.md:35 -#: ../../../developer/name-server-protocol.md:84 -#: ../../../developer/name-server-protocol.md:145 +#: ../../../developer/name-server-protocol.md:40 +#: ../../../developer/name-server-protocol.md:89 +#: ../../../developer/name-server-protocol.md:150 msgid "Response (Success)" msgstr "" -#: ../../../developer/name-server-protocol.md:37 +#: ../../../developer/name-server-protocol.md:42 msgid "" -"If the name is found, a response with status code `200` `OK` must be sent" -" to the client with a `Content-type` field set as `application/json`." +"If the name is found, a response with status code `200` `OK` must be sent to" +" the client with a `Content-type` field set as `application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:41 +#: ../../../developer/name-server-protocol.md:46 msgid "" -"The body is a JSON documents with 2 string attributes : `name` and " -"`addr`. `name` is equal to the one requested and `addr` is an " -"hexadecimal representation of the Jami ID prefixed with `0x`." +"The body is a JSON documents with 2 string attributes : `name` and `addr`. " +"`name` is equal to the one requested and `addr` is an hexadecimal " +"representation of the Jami ID prefixed with `0x`." msgstr "" -#: ../../../developer/name-server-protocol.md:45 -#: ../../../developer/name-server-protocol.md:93 +#: ../../../developer/name-server-protocol.md:50 +#: ../../../developer/name-server-protocol.md:98 msgid "In our example, the JSON answer would be:" msgstr "" -#: ../../../developer/name-server-protocol.md:54 -#: ../../../developer/name-server-protocol.md:101 +#: ../../../developer/name-server-protocol.md:59 +#: ../../../developer/name-server-protocol.md:106 msgid "Response (Not found)" msgstr "" -#: ../../../developer/name-server-protocol.md:56 +#: ../../../developer/name-server-protocol.md:61 msgid "" -"If the name is not found, a response with status code `404` `Not` `Found`" -" must be sent to the client with a `Content-type` field set as " +"If the name is not found, a response with status code `404` `Not` `Found` " +"must be sent to the client with a `Content-type` field set as " "`application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:60 -#: ../../../developer/name-server-protocol.md:107 +#: ../../../developer/name-server-protocol.md:65 +#: ../../../developer/name-server-protocol.md:112 msgid "" "The body is a JSON documents with 1 string attribute : `error`. This " -"attribute is filled with an error message that explains the error (and " -"could be displayed in the client in the future)." +"attribute is filled with an error message that explains the error (and could" +" be displayed in the client in the future)." msgstr "" -#: ../../../developer/name-server-protocol.md:64 -#: ../../../developer/name-server-protocol.md:111 +#: ../../../developer/name-server-protocol.md:69 +#: ../../../developer/name-server-protocol.md:116 msgid "On the reference implementation, the returned document is:" msgstr "" -#: ../../../developer/name-server-protocol.md:72 +#: ../../../developer/name-server-protocol.md:77 msgid "Querying an address" msgstr "" -#: ../../../developer/name-server-protocol.md:75 +#: ../../../developer/name-server-protocol.md:80 msgid "" -"This service is a reverse lookup. You query for an address and a " -"username is returned if one is registered on the name server." +"This service is a reverse lookup. You query for an address and a username " +"is returned if one is registered on the name server." msgstr "" -#: ../../../developer/name-server-protocol.md:80 +#: ../../../developer/name-server-protocol.md:85 msgid "" -"A request for the ID `ring:29347542eb07159f316577e1ae16243d152f6b7b` is a" -" `GET` request with `/addr/`*`29347542eb07159f316577e1ae16243d152f6b7b`* " -"as the URI." +"A request for the ID `ring:29347542eb07159f316577e1ae16243d152f6b7b` is a " +"`GET` request with `/addr/`*`29347542eb07159f316577e1ae16243d152f6b7b`* as " +"the URI." msgstr "" -#: ../../../developer/name-server-protocol.md:86 +#: ../../../developer/name-server-protocol.md:91 msgid "" -"If the address corresponds to a username, a response with status code " -"`200` `OK` must be sent to the client with a `Content-type` field set as " +"If the address corresponds to a username, a response with status code `200` " +"`OK` must be sent to the client with a `Content-type` field set as " "`application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:90 +#: ../../../developer/name-server-protocol.md:95 msgid "" -"The body is a JSON documents with 1 string attribute : `name`. The value" -" of this field is the name registered to this address" +"The body is a JSON documents with 1 string attribute : `name`. The value of" +" this field is the name registered to this address" msgstr "" -#: ../../../developer/name-server-protocol.md:103 +#: ../../../developer/name-server-protocol.md:108 msgid "" -"If the address is not found, a response with status code `404` `Not` " -"`Found` must be sent to the client with a `Content-type` field set as " +"If the address is not found, a response with status code `404` `Not` `Found`" +" must be sent to the client with a `Content-type` field set as " "`application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:119 +#: ../../../developer/name-server-protocol.md:124 msgid "Registering a name" msgstr "" -#: ../../../developer/name-server-protocol.md:122 +#: ../../../developer/name-server-protocol.md:127 msgid "" -"This part of the protocol is used to register a new name/address pair. It" -" is used on the main public registry but may be optional in a custom " +"This part of the protocol is used to register a new name/address pair. It is" +" used on the main public registry but may be optional in a custom " "implementation." msgstr "" -#: ../../../developer/name-server-protocol.md:128 +#: ../../../developer/name-server-protocol.md:133 msgid "" "A request for registering the name `foobar` is a `POST` request with " -"`/name/`*`foobar`* as the URI. The header attribute `Content-type` must " -"be set to `application/json`." +"`/name/`*`foobar`* as the URI. The header attribute `Content-type` must be " +"set to `application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:132 +#: ../../../developer/name-server-protocol.md:137 msgid "" -"The body of the request is a JSON document with 2 string attributes: " -"`addr` and `owner`. `addr` contains the Jami ID prefixed with `0x` and " -"`owner` is the name to be registered." +"The body of the request is a JSON document with 2 string attributes: `addr` " +"and `owner`. `addr` contains the Jami ID prefixed with `0x` and `owner` is " +"the name to be registered." msgstr "" -#: ../../../developer/name-server-protocol.md:136 +#: ../../../developer/name-server-protocol.md:141 msgid "An example for `foobar` could be:" msgstr "" -#: ../../../developer/name-server-protocol.md:147 +#: ../../../developer/name-server-protocol.md:152 msgid "" -"If the name/address pair is successfully registered, a response with " -"status code `200` `OK` must be sent to the client with a `Content-type` " -"field set as `application/json`." +"If the name/address pair is successfully registered, a response with status " +"code `200` `OK` must be sent to the client with a `Content-type` field set " +"as `application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:151 +#: ../../../developer/name-server-protocol.md:156 msgid "" -"The body contain a JSON document with 1 boolean attribute `success` set " -"to `true`." +"The body contain a JSON document with 1 boolean attribute `success` set to " +"`true`." msgstr "" -#: ../../../developer/name-server-protocol.md:154 +#: ../../../developer/name-server-protocol.md:159 msgid "As an example:" msgstr "" -#: ../../../developer/name-server-protocol.md:162 +#: ../../../developer/name-server-protocol.md:167 msgid "" -"Further attempts to query the name or the address should then be " -"successful." +"Further attempts to query the name or the address should then be successful." msgstr "" -#: ../../../developer/name-server-protocol.md:165 +#: ../../../developer/name-server-protocol.md:170 msgid "Response (Bad request)" msgstr "" -#: ../../../developer/name-server-protocol.md:167 +#: ../../../developer/name-server-protocol.md:172 msgid "" -"If the registration cannot be achieved because of an error in the request" -" (formatting, missing attribute, etc.), a response with status code `400`" -" `Bad` `Request` must be sent to the client with a `Content-type` field " -"set as `application/json`." +"If the registration cannot be achieved because of an error in the request " +"(formatting, missing attribute, etc.), a response with status code `400` " +"`Bad` `Request` must be sent to the client with a `Content-type` field set " +"as `application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:172 +#: ../../../developer/name-server-protocol.md:177 msgid "" -"The body is a JSON documents with 2 attributes: `success` which is a " -"boolean and `error` which is a string. `success` is set to `false` and " -"`error` is filled with an error message that explains the error (and " -"could be displayed in the client in the future)." +"The body is a JSON documents with 2 attributes: `success` which is a boolean" +" and `error` which is a string. `success` is set to `false` and `error` is " +"filled with an error message that explains the error (and could be displayed" +" in the client in the future)." msgstr "" -#: ../../../developer/name-server-protocol.md:177 +#: ../../../developer/name-server-protocol.md:182 msgid "For an invalid formatting of the username, the body could be:" msgstr "" -#: ../../../developer/name-server-protocol.md:186 +#: ../../../developer/name-server-protocol.md:191 msgid "Response (Forbidden)" msgstr "" -#: ../../../developer/name-server-protocol.md:188 +#: ../../../developer/name-server-protocol.md:193 msgid "" -"If the registration cannot be achieved because the name is already taken," -" a response with status code `403` `Forbidden` must be sent to the client" -" with a `Content-type` field set as `application/json`." +"If the registration cannot be achieved because the name is already taken, a " +"response with status code `403` `Forbidden` must be sent to the client with " +"a `Content-type` field set as `application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:192 +#: ../../../developer/name-server-protocol.md:197 msgid "" -"The body is a JSON documents with 3 attributes: `success` which is a " -"boolean set to `false`, `name` and `addr` which are both strings " -"replicated from the original request." +"The body is a JSON documents with 3 attributes: `success` which is a boolean" +" set to `false`, `name` and `addr` which are both strings replicated from " +"the original request." msgstr "" -#: ../../../developer/name-server-protocol.md:196 +#: ../../../developer/name-server-protocol.md:201 msgid "" -"Registering `foobar`, with it being already registered, would lead to the" -" following response:" +"Registering `foobar`, with it being already registered, would lead to the " +"following response:" msgstr "" -#: ../../../developer/name-server-protocol.md:207 +#: ../../../developer/name-server-protocol.md:212 msgid "Some links" msgstr "" -#: ../../../developer/name-server-protocol.md:210 +#: ../../../developer/name-server-protocol.md:215 msgid "" -"{gitlab-project}`jami-nameservice`: reference NodeJS implementation used " -"by `ns.jami.net` and querying an Ethereum node." +"{gitlab-project}`jami-nameservice`: reference NodeJS implementation used by " +"`ns.jami.net` and querying an Ethereum node." msgstr "" #: ../../../developer/protocol.md:1 ../../../developer/swarm.md:378 @@ -5199,20 +5195,20 @@ msgstr "" #: ../../../developer/protocol.md:7 msgid "" -"A **Ring account** is defined by an **RSA key pair** with a key length of" -" at least 4096 bits." +"A **Ring account** is defined by an **RSA key pair** with a key length of at" +" least 4096 bits." msgstr "" #: ../../../developer/protocol.md:10 msgid "" -"The standard x509 160-bits fingerprint of the account public key is " -"called the **RingID**." +"The standard x509 160-bits fingerprint of the account public key is called " +"the **RingID**." msgstr "" #: ../../../developer/protocol.md:13 msgid "" -"The account public key is used as the subject of an x509 certificate that" -" must be valid, have the Certificate Authority flag set, and can be self-" +"The account public key is used as the subject of an x509 certificate that " +"must be valid, have the Certificate Authority flag set, and can be self-" "signed. This certificate is called the **Ring account certificate**." msgstr "" @@ -5236,8 +5232,8 @@ msgstr "" #: ../../../developer/protocol.md:27 msgid "" "Access to a saved Ring account private key must be authenticated and " -"authorized. Authentication and authorization method to access the account" -" private key is implementation defined." +"authorized. Authentication and authorization method to access the account " +"private key is implementation defined." msgstr "" #: ../../../developer/protocol.md:31 @@ -5256,18 +5252,17 @@ msgstr "" #: ../../../developer/protocol.md:38 msgid "" -"A **device certificate** is defined as an x509 certificate whose subject " -"is a device public key, signed with an account private key. The " -"certificate MUST be valid. The issuer UID field MUST be the hexadecimal " -"form of the account public key fingerprint." +"A **device certificate** is defined as an x509 certificate whose subject is " +"a device public key, signed with an account private key. The certificate " +"MUST be valid. The issuer UID field MUST be the hexadecimal form of the " +"account public key fingerprint." msgstr "" #: ../../../developer/protocol.md:43 msgid "" -"Persisting a device private key and certificate is implementation " -"defined. Access to a saved device private key should be authenticated. " -"Authentication method to access the device private key is implementation " -"defined." +"Persisting a device private key and certificate is implementation defined. " +"Access to a saved device private key should be authenticated. Authentication" +" method to access the device private key is implementation defined." msgstr "" #: ../../../developer/protocol.md:48 @@ -5276,11 +5271,11 @@ msgstr "" #: ../../../developer/protocol.md:50 msgid "" -"A device can be \"removed\" from a Ring account through revocation of the" -" device certificate. Revoked device certificates are added to one or more" -" standard x509 Certificate Revocation List (CRL). CRLs for revoked device" -" must be valid and signed with the corresponding CA key, which is the " -"Ring account private key." +"A device can be \"removed\" from a Ring account through revocation of the " +"device certificate. Revoked device certificates are added to one or more " +"standard x509 Certificate Revocation List (CRL). CRLs for revoked device " +"must be valid and signed with the corresponding CA key, which is the Ring " +"account private key." msgstr "" #: ../../../developer/protocol.md:56 @@ -5289,9 +5284,8 @@ msgstr "" #: ../../../developer/protocol.md:58 msgid "" -"The **account archive format** defines how to serialize an account " -"private key for transmission, for instance to sign a new device " -"certificate." +"The **account archive format** defines how to serialize an account private " +"key for transmission, for instance to sign a new device certificate." msgstr "" #: ../../../developer/protocol.md:62 @@ -5313,8 +5307,8 @@ msgstr "" #: ../../../developer/protocol.md:83 msgid "" "Where PIN is a random 32bits number in hexadecimal form, \"+\" is string " -"concatenation, timestamp is the current UNIX timestamp divided by 1200 " -"(20 minutes) and password is a user-chosen password." +"concatenation, timestamp is the current UNIX timestamp divided by 1200 (20 " +"minutes) and password is a user-chosen password." msgstr "" #: ../../../developer/protocol.md:87 @@ -5337,8 +5331,8 @@ msgstr "" #: ../../../developer/protocol.md:97 msgid "" -"A device listens for incoming call by performing a listen OpenDHT " -"operation on" +"A device listens for incoming call by performing a listen OpenDHT operation " +"on" msgstr "" #: ../../../developer/protocol.md:100 @@ -5353,10 +5347,10 @@ msgstr "" #: ../../../developer/protocol.md:105 msgid "" -"Received OpenDHT values that are not encrypted or not properly signed " -"must be dropped. The value must be encrypted with the called device " -"public key and signed with the calling device private key according to " -"OpenDHT specifications." +"Received OpenDHT values that are not encrypted or not properly signed must " +"be dropped. The value must be encrypted with the called device public key " +"and signed with the calling device private key according to OpenDHT " +"specifications." msgstr "" #: ../../../developer/protocol.md:110 @@ -5369,28 +5363,27 @@ msgstr "" #: ../../../developer/protocol.md:114 msgid "" -"RFC 5245 defines ICE (Interactive Connectivity Establishment), a protocol" -" for NAT traversal." +"RFC 5245 defines ICE (Interactive Connectivity Establishment), a protocol " +"for NAT traversal." msgstr "" #: ../../../developer/protocol.md:117 msgid "" -"ICE is used in Ring to establish a peer-to-peer communication between two" -" devices." +"ICE is used in Ring to establish a peer-to-peer communication between two " +"devices." msgstr "" #: ../../../developer/protocol.md:120 msgid "" -"The calling device gathers candidates and build an Initial Offer " -"according to the ICE specifications and starts the ICE negotiation " -"process." +"The calling device gathers candidates and build an Initial Offer according " +"to the ICE specifications and starts the ICE negotiation process." msgstr "" #: ../../../developer/protocol.md:124 msgid "" -"The calling device puts the encrypted ICE offer (the Initial Offer) on " -"the DHT at h(\"callto\"+deviceID) where deviceID is the hexadecimal form " -"of the called deviceID." +"The calling device puts the encrypted ICE offer (the Initial Offer) on the " +"DHT at h(\"callto\"+deviceID) where deviceID is the hexadecimal form of the " +"called deviceID." msgstr "" #: ../../../developer/protocol.md:128 @@ -5406,14 +5399,14 @@ msgstr "" #: ../../../developer/protocol.md:134 msgid "" -"This protocol is a compound of msgpack values, successively packed in " -"this order:" +"This protocol is a compound of msgpack values, successively packed in this " +"order:" msgstr "" #: ../../../developer/protocol.md:138 msgid "" -"an integer giving the version of ICE message format protocol used for the" -" rest of the data. Current defined protocol version is **1**." +"an integer giving the version of ICE message format protocol used for the " +"rest of the data. Current defined protocol version is **1**." msgstr "" #: ../../../developer/protocol.md:139 @@ -5429,8 +5422,8 @@ msgstr "" #: ../../../developer/protocol.md:141 msgid "" "an array of string, of the previous number entries, where each string " -"describe the ICE candidate, formated as an \"a=\" line (without the " -"\"a=\" header) described in [rfc5245, section " +"describe the ICE candidate, formated as an \"a=\" line (without the \"a=\" " +"header) described in [rfc5245, section " "4.3](https://tools.ietf.org/html/rfc5245#page-26)" msgstr "" @@ -5440,27 +5433,27 @@ msgstr "" #: ../../../developer/protocol.md:145 msgid "" -"Upon reception of the encrypted and signed Initial ICE Offer (through the" -" listen operation), a called device should perform authorization checks " -"of the calling device, identified as the Initial Offer signer. " -"Authorization rules are implementation defined, but a typical " -"implementation would authorize known or trusted contacts." +"Upon reception of the encrypted and signed Initial ICE Offer (through the " +"listen operation), a called device should perform authorization checks of " +"the calling device, identified as the Initial Offer signer. Authorization " +"rules are implementation defined, but a typical implementation would " +"authorize known or trusted contacts." msgstr "" #: ../../../developer/protocol.md:151 #: ../../../developer/technical-overview.md:227 msgid "" -"If the calling device is not authorized or if for any implementation " -"defined reason the called device refuses the incoming connection request," -" the called device must ignore the Initial Offer and may log the event." +"If the calling device is not authorized or if for any implementation defined" +" reason the called device refuses the incoming connection request, the " +"called device must ignore the Initial Offer and may log the event." msgstr "" #: ../../../developer/protocol.md:156 #: ../../../developer/technical-overview.md:231 msgid "" -"If the called device authorizes the caller and wish to accept the " -"connection it must build an ICE answer, start the ICE negotiation process" -" and send the encrypted and signed ICE answer at the same DHT key." +"If the called device authorizes the caller and wish to accept the connection" +" it must build an ICE answer, start the ICE negotiation process and send the" +" encrypted and signed ICE answer at the same DHT key." msgstr "" #: ../../../developer/protocol.md:161 @@ -5470,10 +5463,10 @@ msgstr "" #: ../../../developer/protocol.md:163 msgid "" -"Once a peer-to-peer communication channel has been established, the " -"called device listens on it for incoming DTLS connections (acting as a " -"DTLS server) while the caller initiates an outgoing DTLS connection " -"(acting as a DTLS client)." +"Once a peer-to-peer communication channel has been established, the called " +"device listens on it for incoming DTLS connections (acting as a DTLS server)" +" while the caller initiates an outgoing DTLS connection (acting as a DTLS " +"client)." msgstr "" #: ../../../developer/protocol.md:168 @@ -5485,15 +5478,15 @@ msgstr "" #: ../../../developer/protocol.md:171 msgid "" "Peers must only support PFS cypher suites. The set of supported cypher " -"suites is implementation defined but should include at least ECDHE-AES-" -"GCM (TODO: specify the exact suites recommended to support)." +"suites is implementation defined but should include at least ECDHE-AES-GCM " +"(TODO: specify the exact suites recommended to support)." msgstr "" #: ../../../developer/protocol.md:175 msgid "" -"During the DTLS handshake, both peers must provide their respective " -"device certificate chain and must authenticate the other peer, checking " -"that its public key is the same used during the DHT ICE exchange." +"During the DTLS handshake, both peers must provide their respective device " +"certificate chain and must authenticate the other peer, checking that its " +"public key is the same used during the DHT ICE exchange." msgstr "" #: ../../../developer/protocol.md:179 @@ -5506,10 +5499,10 @@ msgstr "" #: ../../../developer/protocol.md:183 msgid "" -"Once an encrypted and authenticated peer-to-peer communication channel is" -" available, the SIP protocol [2](https://tools.ietf.org/html/rfc3261) " -"must be used to place a call and send messages. The caller might send a " -"SIP INVITE as soon as the DTLS channel is established." +"Once an encrypted and authenticated peer-to-peer communication channel is " +"available, the SIP protocol [2](https://tools.ietf.org/html/rfc3261) must be" +" used to place a call and send messages. The caller might send a SIP INVITE " +"as soon as the DTLS channel is established." msgstr "" #: ../../../developer/protocol.md:188 @@ -5519,16 +5512,16 @@ msgstr "" #: ../../../developer/protocol.md:190 msgid "" -"Supported codecs are implementation defined, but Ring clients should " -"support the Opus audio coded and the H264 video codec." +"Supported codecs are implementation defined, but Ring clients should support" +" the Opus audio coded and the H264 video codec." msgstr "" #: ../../../developer/protocol.md:193 #: ../../../developer/technical-overview.md:275 msgid "" -"SRTP must be used when negotiating media with SIP, using a new random key" -" for each media and each negotiation. ICE should be used when negotiating" -" media with SIP." +"SRTP must be used when negotiating media with SIP, using a new random key " +"for each media and each negotiation. ICE should be used when negotiating " +"media with SIP." msgstr "" #: ../../../developer/protocol.md:197 @@ -5547,8 +5540,8 @@ msgstr "" #: ../../../developer/protocol.md:205 msgid "" -"Passwords are stretched using argon2i using t\\_cost = 16, m\\_cost = " -"2\\^16 (64 MiB), mono-threaded, to generate a 512 bits hash." +"Passwords are stretched using argon2i using t\\_cost = 16, m\\_cost = 2\\^16" +" (64 MiB), mono-threaded, to generate a 512 bits hash." msgstr "" #: ../../../developer/protocol.md:208 @@ -5567,8 +5560,8 @@ msgstr "" #: ../../../developer/protocol.md:215 msgid "" -"Encryption uses standard AES-GCM as implemented by Nettle using a random " -"IV for each encryption." +"Encryption uses standard AES-GCM as implemented by Nettle using a random IV " +"for each encryption." msgstr "" #: ../../../developer/protocol.md:218 @@ -5577,8 +5570,8 @@ msgstr "" #: ../../../developer/protocol.md:220 msgid "" -"The password is stretched to generate a 256 bits key and a random salt of" -" 128 bits." +"The password is stretched to generate a 256 bits key and a random salt of " +"128 bits." msgstr "" #: ../../../developer/protocol.md:223 @@ -5592,11 +5585,13 @@ msgid "During a call" msgstr "" #: ../../../developer/protocol.md:228 -msgid "Audio/video data are exchanged using encrypted RTP channels between peers." +msgid "" +"Audio/video data are exchanged using encrypted RTP channels between peers." msgstr "" #: ../../../developer/protocol.md:231 -msgid "The protocol is a classic SRTP, with following supported crypto suites:" +msgid "" +"The protocol is a classic SRTP, with following supported crypto suites:" msgstr "" #: ../../../developer/protocol.md:233 @@ -5604,9 +5599,7 @@ msgid "Ring account force AES\\_CM\\_128\\_HMAC\\_SHA1\\_80" msgstr "" #: ../../../developer/protocol.md:234 -msgid "" -"SIP can use AES\\_CM\\_128\\_HMAC\\_SHA1\\_80 or " -"AES\\_CM\\_128\\_HMAC\\_SHA1\\_32" +msgid "SIP can use AES\\_CM\\_128\\_HMAC\\_SHA1\\_80 or AES\\_CM\\_128\\_HMAC\\_SHA1\\_32" msgstr "" #: ../../../developer/protocol.md:237 @@ -5617,11 +5610,11 @@ msgstr "" #: ../../../developer/protocol.md:240 msgid "" -"The keys are exchanged using SDES method: keys are written into the SIP " -"SDP messages during the SIP INVITE negotiation. When SDES is used, Ring " -"forces the underlaying transport to be secure (encrypted) to not disclose" -" these keys. Ring supports DTLS natively for SIP and Ring accounts for " -"such. The call cannot be done if this condition is not fulfilled." +"The keys are exchanged using SDES method: keys are written into the SIP SDP " +"messages during the SIP INVITE negotiation. When SDES is used, Ring forces " +"the underlaying transport to be secure (encrypted) to not disclose these " +"keys. Ring supports DTLS natively for SIP and Ring accounts for such. The " +"call cannot be done if this condition is not fulfilled." msgstr "" #: ../../../developer/qt-qml-coding-style.md:1 @@ -5638,10 +5631,10 @@ msgstr "" #: ../../../developer/qt-qml-coding-style.md:6 msgid "" -"Both signals and slots should use camelCase. A signal should use the " -"simple past tense or past participle of some verb, likely prefixed by a " -"short subject. A corresponding slot should be the signal prefixed with " -"the word \"on\" and not the word \"slot\". Here are some examples:" +"Both signals and slots should use camelCase. A signal should use the simple " +"past tense or past participle of some verb, likely prefixed by a short " +"subject. A corresponding slot should be the signal prefixed with the word " +"\"on\" and not the word \"slot\". Here are some examples:" msgstr "" #: ../../../developer/qt-qml-coding-style.md:29 @@ -5656,11 +5649,11 @@ msgstr "" #: ../../../developer/qt-qml-coding-style.md:31 msgid "" "The Qt 5.15.0 version of qmlformat has some issues dealing with comment " -"sections and currently does not discriminate against max columns, so we " -"will continue to format using these guidelines for now. The following is " -"a comprehensive sample component, adapted from https://doc.qt.io/qt-5" -"/qml-codingconventions.html, that attempts to illustrate the ideally " -"formatted component." +"sections and currently does not discriminate against max columns, so we will" +" continue to format using these guidelines for now. The following is a " +"comprehensive sample component, adapted from https://doc.qt.io/qt-5/qml-" +"codingconventions.html, that attempts to illustrate the ideally formatted " +"component." msgstr "" #: ../../../developer/qt-qml-testing-tools.md:1 @@ -5714,75 +5707,74 @@ msgstr "" #: ../../../developer/release-process.md:8 msgid "" -"Having a unique revision is not a solution in this situation. The " -"retained idea is having a global \"state\" and **various updates per " -"module**." +"Having a unique revision is not a solution in this situation. The retained " +"idea is having a global \"state\" and **various updates per module**." msgstr "" #: ../../../developer/release-process.md:12 msgid "" "For consistency, **each Ring module has to follow the same process** as " -"described in following points. But not all modules have to be modified in" -" same time." +"described in following points. But not all modules have to be modified in " +"same time." msgstr "" #: ../../../developer/release-process.md:18 msgid "**PROCESS FLOW:**" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "1" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "2" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "3" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "4" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "5" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "6" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:26 msgid "Redmine Ticket" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:33 msgid "Repository Preparation" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:38 msgid "Testing" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:54 msgid "Push tags" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:178 msgid "Advertisement" msgstr "" #: ../../../developer/release-process.md:29 msgid "" -"Create a new Task on redmine attached to the release story, for the right" -" sub-module. Set the title to \"Release Major.Minor.Micro\", with the " +"Create a new Task on redmine attached to the release story, for the right " +"sub-module. Set the title to \"Release Major.Minor.Micro\", with the " "appropriate version number." msgstr "" @@ -5796,8 +5788,8 @@ msgstr "" #: ../../../developer/release-process.md:42 msgid "" -"Start with clean git tree by running `git clean -d -f -x` from the top " -"level directory of the project." +"Start with clean git tree by running `git clean -d -f -x` from the top level" +" directory of the project." msgstr "" #: ../../../developer/release-process.md:44 @@ -5820,14 +5812,14 @@ msgstr "" #: ../../../developer/release-process.md:49 msgid "" -"Try making calls between Ring and other free softphones (Ekiga, " -"Linphone), as well as hardware VoIP phones." +"Try making calls between Ring and other free softphones (Ekiga, Linphone), " +"as well as hardware VoIP phones." msgstr "" #: ../../../developer/release-process.md:51 msgid "" -"To catch uninitialized values being used, memory leaks, invalid frees, " -"etc. run `valgrind --track-origins=yes --db-attach=yes ./bin/dring`" +"To catch uninitialized values being used, memory leaks, invalid frees, etc. " +"run `valgrind --track-origins=yes --db-attach=yes ./bin/dring`" msgstr "" #: ../../../developer/release-process.md:57 @@ -5852,8 +5844,8 @@ msgstr "" #: ../../../developer/release-process.md:100 #: ../../../developer/release-process.md:165 msgid "" -"You just have to launch release script. This script launch build, " -"download and update files and repositories..." +"You just have to launch release script. This script launch build, download " +"and update files and repositories..." msgstr "" #: ../../../developer/release-process.md:121 @@ -5876,8 +5868,8 @@ msgstr "" #: ../../../developer/release-process.md:186 msgid "" -"by email to ring@lists.savoirfairelinux.net with the subject line: \"Ring" -" Major.Minor.Patch released\"" +"by email to ring@lists.savoirfairelinux.net with the subject line: \"Ring " +"Major.Minor.Patch released\"" msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:1 @@ -5899,10 +5891,10 @@ msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:11 msgid "" -"In this guide, we will setup a [coturn](https://github.com/coturn/coturn)" -" server. There are other TURN/STUN server implementations available under" -" a free license, such as [TurnServer](http://turnserver.sourceforge.net/)" -" and [Restund](http://www.creytiv.com/restund.html)." +"In this guide, we will setup a [coturn](https://github.com/coturn/coturn) " +"server. There are other TURN/STUN server implementations available under a " +"free license, such as [TurnServer](http://turnserver.sourceforge.net/) and " +"[Restund](http://www.creytiv.com/restund.html)." msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:17 @@ -5911,8 +5903,8 @@ msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:19 msgid "" -"COTURN is available in most Linux distributions. On Debian, install it " -"with the following command:" +"COTURN is available in most Linux distributions. On Debian, install it with " +"the following command:" msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:25 @@ -5925,8 +5917,8 @@ msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:38 msgid "" -"This also will function as a STUN server. The STUN server does not " -"require a username and password (STUN uses very little bandwidth)." +"This also will function as a STUN server. The STUN server does not require a" +" username and password (STUN uses very little bandwidth)." msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:41 @@ -5935,8 +5927,8 @@ msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:43 msgid "" -"To create users on your TURN server, use the `turnadmin` binary (this " -"might require superuser permissions)." +"To create users on your TURN server, use the `turnadmin` binary (this might " +"require superuser permissions)." msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:50 @@ -5949,63 +5941,63 @@ msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:58 msgid "" -"You can configure Jami to use your TURN server from the advanced section " -"of your account settings:" +"You can configure Jami to use your TURN server from the advanced section of " +"your account settings:" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "Field" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "Value" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "**server url**" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "host and port of your server" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "0.0.0.0:10000" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "**username**" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "username" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "bob" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "**password**" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "password" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "secretpassword" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "**realm**" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "realm" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "sfl" msgstr "" @@ -6027,8 +6019,8 @@ msgstr "" #: ../../../developer/submitting-your-first-patch.md:11 msgid "" -"{ref}`Creating a gerrit review <developer/working-with-gerrit:To Create " -"the Review>`" +"{ref}`Creating a gerrit review <developer/working-with-gerrit:To Create the " +"Review>`" msgstr "" #: ../../../developer/submitting-your-first-patch.md:13 @@ -6045,8 +6037,8 @@ msgstr "" #: ../../../developer/submitting-your-first-patch.md:22 msgid "" -"Your identification has been saved in `jami_gerrit_review_rsa`. Your " -"public key has been saved in `jami_gerrit_review_rsa.pub.`" +"Your identification has been saved in `jami_gerrit_review_rsa`. Your public " +"key has been saved in `jami_gerrit_review_rsa.pub.`" msgstr "" #: ../../../developer/submitting-your-first-patch.md:25 @@ -6080,14 +6072,15 @@ msgid "Your Repository" msgstr "" #: ../../../developer/submitting-your-first-patch.md:35 -msgid "This *assumes* you have moved any existing project clone out of the way." +msgid "" +"This *assumes* you have moved any existing project clone out of the way." msgstr "" #: ../../../developer/submitting-your-first-patch.md:37 msgid "" "Clone a (fresh) copy of the project. `git clone " -"ssh://USERNAME@review.jami.net:29420/PROJECT_NAME_GOES_HERE.git`; e.g. " -"`git clone ssh://foo@review.jami.net:29420/jami-project.git`." +"ssh://USERNAME@review.jami.net:29420/PROJECT_NAME_GOES_HERE.git`; e.g. `git " +"clone ssh://foo@review.jami.net:29420/jami-project.git`." msgstr "" #: ../../../developer/submitting-your-first-patch.md:38 @@ -6104,8 +6097,8 @@ msgstr "" #: ../../../developer/submitting-your-first-patch.md:45 msgid "" -"The script creates a unique Change_Id:hash for each commit made from your" -" repository." +"The script creates a unique Change_Id:hash for each commit made from your " +"repository." msgstr "" #: ../../../developer/submitting-your-first-patch.md:48 @@ -6116,8 +6109,8 @@ msgstr "" #: ../../../developer/submitting-your-first-patch.md:51 msgid "" -"Gerrit will also present a secure copy (scp) string. Use *that* to " -"download a copy of .git/hooks/commit-msg." +"Gerrit will also present a secure copy (scp) string. Use *that* to download " +"a copy of .git/hooks/commit-msg." msgstr "" #: ../../../developer/submitting-your-first-patch.md:55 @@ -6151,11 +6144,11 @@ msgstr "" #: ../../../developer/swarm.md:7 msgid "" "A *swarm* is a group able to discuss without any central authority in a " -"resilient way. Indeed, if two person doesn't have any connectivity with " -"the rest of the group (ie Internet outage) but they can contact each " -"other (in a LAN for example or in a subnetwork), they will be able to " -"send messages to each other and then, will be able to sync with the rest " -"of the group when it's possible." +"resilient way. Indeed, if two person doesn't have any connectivity with the " +"rest of the group (ie Internet outage) but they can contact each other (in a" +" LAN for example or in a subnetwork), they will be able to send messages to " +"each other and then, will be able to sync with the rest of the group when " +"it's possible." msgstr "" #: ../../../developer/swarm.md:9 @@ -6168,8 +6161,8 @@ msgstr "" #: ../../../developer/swarm.md:11 msgid "" -"Syncing of the history. Anyone must be able to send a message to the " -"whole group." +"Syncing of the history. Anyone must be able to send a message to the whole " +"group." msgstr "" #: ../../../developer/swarm.md:12 @@ -6178,8 +6171,8 @@ msgstr "" #: ../../../developer/swarm.md:13 msgid "" -"Non-repudiation. Devices must be able to verify old messages' validity " -"and to replay the whole history." +"Non-repudiation. Devices must be able to verify old messages' validity and " +"to replay the whole history." msgstr "" #: ../../../developer/swarm.md:14 @@ -6187,7 +6180,8 @@ msgid "PFS on the transport. Storage is managed by the device." msgstr "" #: ../../../developer/swarm.md:16 -msgid "The main idea is to get a synchronized Merkle tree with the participants." +msgid "" +"The main idea is to get a synchronized Merkle tree with the participants." msgstr "" #: ../../../developer/swarm.md:18 @@ -6252,9 +6246,9 @@ msgstr "" #: ../../../developer/swarm.md:36 msgid "" -"Bob announces to his other devices that he creates a new conversation. " -"This is done via an invite to join the swarm sent through the DHT to " -"other devices linked to that account." +"Bob announces to his other devices that he creates a new conversation. This " +"is done via an invite to join the swarm sent through the DHT to other " +"devices linked to that account." msgstr "" #: ../../../developer/swarm.md:38 @@ -6301,8 +6295,8 @@ msgstr "" #: ../../../developer/swarm.md:53 msgid "" -"Alice pull the git repo of Bob. **WARNING this means that messages need a" -" connection, not from the DHT like today**" +"Alice pull the git repo of Bob. **WARNING this means that messages need a " +"connection, not from the DHT like today**" msgstr "" #: ../../../developer/swarm.md:54 @@ -6311,16 +6305,15 @@ msgstr "" #: ../../../developer/swarm.md:55 msgid "" -"To validate that Alice is a member, she removes the invite from " -"`/invited` directory, then adds her certificate into the `/members` " -"directory" +"To validate that Alice is a member, she removes the invite from `/invited` " +"directory, then adds her certificate into the `/members` directory" msgstr "" #: ../../../developer/swarm.md:56 msgid "" -"Once all commits validated and on her device, other members of the group " -"are discovered by Alice. with these peers, she will construct the **DRT**" -" (explained below) with Bob as a bootstrap." +"Once all commits validated and on her device, other members of the group are" +" discovered by Alice. with these peers, she will construct the **DRT** " +"(explained below) with Bob as a bootstrap." msgstr "" #: ../../../developer/swarm.md:58 @@ -6345,18 +6338,18 @@ msgstr "" msgid "" "and adds her device and CRL to the repository if missing (others must be " "able to verify the commit). Merge conflicts are avoided because we are " -"mostly based on commit messages, not files (unless CRLS + certificates " -"but they are located). then she announces the new commit via the **DRT** " -"with a service message (explained later) and pings the DHT for mobile " -"devices (they must receive a push notification)." +"mostly based on commit messages, not files (unless CRLS + certificates but " +"they are located). then she announces the new commit via the **DRT** with a " +"service message (explained later) and pings the DHT for mobile devices (they" +" must receive a push notification)." msgstr "" #: ../../../developer/swarm.md:68 msgid "" -"For pinging other devices, the sender sends to other members a SIP " -"message with mimetype = \"application/im-gitmessage-id\" containing a " -"JSON with the \"deviceId\" which sends the message, the \"id\" of the " -"conversation related, and the \"commit\"" +"For pinging other devices, the sender sends to other members a SIP message " +"with mimetype = \"application/im-gitmessage-id\" containing a JSON with the " +"\"deviceId\" which sends the message, the \"id\" of the conversation " +"related, and the \"commit\"" msgstr "" #: ../../../developer/swarm.md:70 @@ -6383,8 +6376,8 @@ msgstr "" #: ../../../developer/swarm.md:77 msgid "" -"If all commits are not valid, pull is canceled. *Alice* must reestablish " -"her state to a correct state. **TODO process*" +"If all commits are not valid, pull is canceled. *Alice* must reestablish her" +" state to a correct state. **TODO process*" msgstr "" #: ../../../developer/swarm.md:79 @@ -6394,28 +6387,28 @@ msgstr "" #: ../../../developer/swarm.md:81 msgid "" "To avoid users pushing some unwanted commits (with conflicts, false " -"messages, etc), this is how each commit (from the oldest to the newest " -"one) MUST be validated before merging a remote branch:" +"messages, etc), this is how each commit (from the oldest to the newest one) " +"MUST be validated before merging a remote branch:" msgstr "" #: ../../../developer/swarm.md:83 msgid "" -"Note: if the validation fails, the fetch is ignored and we do not merge " -"the branch (and remove the data), and the user should be notified Note2: " -"If a fetch is too big, it's not done (**TODO**)" +"Note: if the validation fails, the fetch is ignored and we do not merge the " +"branch (and remove the data), and the user should be notified Note2: If a " +"fetch is too big, it's not done (**TODO**)" msgstr "" #: ../../../developer/swarm.md:86 msgid "" "For each commits, check that the device that tries to send the commit is " -"authorized at this moment and that the certificates are present (in " -"/devices for the device, and in /members or /admins for the issuer)." +"authorized at this moment and that the certificates are present (in /devices" +" for the device, and in /members or /admins for the issuer)." msgstr "" #: ../../../developer/swarm.md:87 msgid "" -"3 cases. The commit has 2 parents, so it's a merge, nothing more to " -"validate here" +"3 cases. The commit has 2 parents, so it's a merge, nothing more to validate" +" here" msgstr "" #: ../../../developer/swarm.md:88 @@ -6533,8 +6526,8 @@ msgstr "" #: ../../../developer/swarm.md:120 msgid "" -"else fail. Notify the user that they may be with an old version or that " -"peer tried to submit unwanted commits" +"else fail. Notify the user that they may be with an old version or that peer" +" tried to submit unwanted commits" msgstr "" #: ../../../developer/swarm.md:123 @@ -6547,8 +6540,8 @@ msgstr "" #: ../../../developer/swarm.md:127 msgid "" -"This is one of the most difficult scenarios in our context. Without " -"central authority we can't trust:" +"This is one of the most difficult scenarios in our context. Without central " +"authority we can't trust:" msgstr "" #: ../../../developer/swarm.md:129 @@ -6557,24 +6550,24 @@ msgstr "" #: ../../../developer/swarm.md:130 msgid "" -"Conflicts with banned devices. If multiple admin devices are present and " -"if Alice can speak with Bob but not Denys and Carla; Carla can speak with" -" Denys; Denys bans Alice, Alice bans Denys, what will be the state when " -"the 4 members will merge the conversations." +"Conflicts with banned devices. If multiple admin devices are present and if " +"Alice can speak with Bob but not Denys and Carla; Carla can speak with " +"Denys; Denys bans Alice, Alice bans Denys, what will be the state when the 4" +" members will merge the conversations." msgstr "" #: ../../../developer/swarm.md:131 msgid "" -"A device can be compromised, stolen or its certificate can expire. We " -"should be able to ban a device and avoid that it lies about its " -"expiration or send messages in the past (by changing its certificate or " -"the timestamp of its commit)." +"A device can be compromised, stolen or its certificate can expire. We should" +" be able to ban a device and avoid that it lies about its expiration or send" +" messages in the past (by changing its certificate or the timestamp of its " +"commit)." msgstr "" #: ../../../developer/swarm.md:133 msgid "" -"Similar systems (with distributed group systems) are not so much, but " -"these are some examples:" +"Similar systems (with distributed group systems) are not so much, but these " +"are some examples:" msgstr "" #: ../../../developer/swarm.md:135 @@ -6591,9 +6584,8 @@ msgstr "" #: ../../../developer/swarm.md:138 msgid "" -"This voting system needs a human action to ban someone or must be based " -"on the CRLs info from the repository (because we can't trust external " -"CRLs)" +"This voting system needs a human action to ban someone or must be based on " +"the CRLs info from the repository (because we can't trust external CRLs)" msgstr "" #: ../../../developer/swarm.md:140 @@ -6603,15 +6595,15 @@ msgstr "" #: ../../../developer/swarm.md:142 msgid "" "This is the only part that MUST have a consensus to avoid conversation's " -"split, like if two members kick each other from the conversation, what " -"will see the third one?" +"split, like if two members kick each other from the conversation, what will " +"see the third one?" msgstr "" #: ../../../developer/swarm.md:144 msgid "" -"This is needed to detect revoked devices, or simply avoid getting " -"unwanted people present in a public room. The process is pretty similar " -"between a member and a device:" +"This is needed to detect revoked devices, or simply avoid getting unwanted " +"people present in a public room. The process is pretty similar between a " +"member and a device:" msgstr "" #: ../../../developer/swarm.md:146 @@ -6625,24 +6617,23 @@ msgstr "" #: ../../../developer/swarm.md:150 msgid "" "First, she votes for banning Bob. To do that, she creates the file in " -"/votes/ban/members/uri_bob/uri_alice (members can be replaced by devices " -"for a device, or invited for invites or admins for admins) and commits" +"/votes/ban/members/uri_bob/uri_alice (members can be replaced by devices for" +" a device, or invited for invites or admins for admins) and commits" msgstr "" #: ../../../developer/swarm.md:151 ../../../developer/swarm.md:157 -#, python-format msgid "" -"Then she checks if the vote is resolved. This means that >50% of the " -"admins agree to ban Bob (if she is alone, it's sure it's more than 50%)." +"Then she checks if the vote is resolved. This means that >50% of the admins " +"agree to ban Bob (if she is alone, it's sure it's more than 50%)." msgstr "" #: ../../../developer/swarm.md:152 msgid "" -"If the vote is resolved, files into /votes/ban can be removed, all files " -"for Bob in /members, /admins, /invited, /CRLs, /devices can be removed " -"(or only in /devices if it's a device that is banned) and Bob's " -"certificate can be placed into /banned/members/bob_uri.crt (or " -"/banned/devices/uri.crt if a device is banned) and committed to the repo" +"If the vote is resolved, files into /votes/ban can be removed, all files for" +" Bob in /members, /admins, /invited, /CRLs, /devices can be removed (or only" +" in /devices if it's a device that is banned) and Bob's certificate can be " +"placed into /banned/members/bob_uri.crt (or /banned/devices/uri.crt if a " +"device is banned) and committed to the repo" msgstr "" #: ../../../developer/swarm.md:153 @@ -6656,17 +6647,15 @@ msgstr "" #: ../../../developer/swarm.md:156 msgid "" "Fir she votes for unbanning Bob. To do that, she creates the file in " -"/votes/unban/members/uri_bob/uri_alice (members can be replaced by " -"devices for a device, or invited for invites or admins for admins) and " -"commits" +"/votes/unban/members/uri_bob/uri_alice (members can be replaced by devices " +"for a device, or invited for invites or admins for admins) and commits" msgstr "" #: ../../../developer/swarm.md:158 msgid "" -"If the vote is resolved, files into /votes/unban can be removed, all " -"files for Bob in /members, /admins, /invited, /CRLs, can be re-added (or " -"only in /devices if it's a device that is unbanned) and committed to the " -"repo" +"If the vote is resolved, files into /votes/unban can be removed, all files " +"for Bob in /members, /admins, /invited, /CRLs, can be re-added (or only in " +"/devices if it's a device that is unbanned) and committed to the repo" msgstr "" #: ../../../developer/swarm.md:160 @@ -6675,9 +6664,8 @@ msgstr "" #: ../../../developer/swarm.md:162 msgid "" -"Save in convInfos removed=time::now() (like removeContact saves in " -"contacts) that the conversation is removed and sync with other user's " -"devices" +"Save in convInfos removed=time::now() (like removeContact saves in contacts)" +" that the conversation is removed and sync with other user's devices" msgstr "" #: ../../../developer/swarm.md:163 @@ -6686,29 +6674,28 @@ msgstr "" #: ../../../developer/swarm.md:164 msgid "" -"Now, if Jami startup and the repo is still present, the conversation is " -"not announced to clients" +"Now, if Jami startup and the repo is still present, the conversation is not " +"announced to clients" msgstr "" #: ../../../developer/swarm.md:165 msgid "" "Two cases: a. If no other member in the conversation we can immediately " -"remove the repository b. If still other members, commit that we leave " -"the conversation, and now wait that at least another device sync this " -"message. This avoids the fact that other members will still detect the " -"user as a valid member and still sends new message notifications." +"remove the repository b. If still other members, commit that we leave the " +"conversation, and now wait that at least another device sync this message. " +"This avoids the fact that other members will still detect the user as a " +"valid member and still sends new message notifications." msgstr "" #: ../../../developer/swarm.md:168 msgid "" -"When we are sure that someone is synched, remove erased=time::now() and " -"sync with other user's devices" +"When we are sure that someone is synched, remove erased=time::now() and sync" +" with other user's devices" msgstr "" #: ../../../developer/swarm.md:169 msgid "" -"All devices owned by the user can now erase the repository and related " -"files" +"All devices owned by the user can now erase the repository and related files" msgstr "" #: ../../../developer/swarm.md:171 @@ -6717,15 +6704,15 @@ msgstr "" #: ../../../developer/swarm.md:173 msgid "" -"Modes can't be changed through time. Or it's another conversation. So, " -"this data is stored in the initial commit message. The commit message " -"will be the following:" +"Modes can't be changed through time. Or it's another conversation. So, this " +"data is stored in the initial commit message. The commit message will be the" +" following:" msgstr "" #: ../../../developer/swarm.md:184 msgid "" -"For now, \"mode\" accepts values 0 (ONE_TO_ONE), 1 (ADMIN_INVITES_ONLY), " -"2 (INVITES_ONLY), 3 (PUBLIC)" +"For now, \"mode\" accepts values 0 (ONE_TO_ONE), 1 (ADMIN_INVITES_ONLY), 2 " +"(INVITES_ONLY), 3 (PUBLIC)" msgstr "" #: ../../../developer/swarm.md:186 @@ -6735,16 +6722,15 @@ msgstr "" #: ../../../developer/swarm.md:188 msgid "" "The goal here is to keep the old API (addContact/removeContact, " -"sendTrustRequest/acceptTrustRequest/discardTrustRequest) to generate " -"swarm with a peer and its contact. This still implies some changes that " -"we cannot ignore:" +"sendTrustRequest/acceptTrustRequest/discardTrustRequest) to generate swarm " +"with a peer and its contact. This still implies some changes that we cannot " +"ignore:" msgstr "" #: ../../../developer/swarm.md:190 msgid "" -"The process is still the same, an account can add a contact via " -"addContact, then send a TrustRequest via the DHT. But two changes are " -"necessary:" +"The process is still the same, an account can add a contact via addContact, " +"then send a TrustRequest via the DHT. But two changes are necessary:" msgstr "" #: ../../../developer/swarm.md:191 @@ -6755,11 +6741,11 @@ msgstr "" #: ../../../developer/swarm.md:192 msgid "" -"TrustRequest are retried when contact come backs online. It's not the " -"case today (as we don't want to generate a new TrustRequest if the peer " -"discard the first). So, if an account receives a trust request, it will " -"be automatically ignored if the request with a related conversation is " -"declined (as convRequests are synched)" +"TrustRequest are retried when contact come backs online. It's not the case " +"today (as we don't want to generate a new TrustRequest if the peer discard " +"the first). So, if an account receives a trust request, it will be " +"automatically ignored if the request with a related conversation is declined" +" (as convRequests are synched)" msgstr "" #: ../../../developer/swarm.md:194 @@ -6770,10 +6756,10 @@ msgstr "" #: ../../../developer/swarm.md:196 msgid "" -"removeContact() will remove the contact and related 1:1 conversations " -"(with the same process as \"Remove a conversation\"). The only note here " -"is that if we ban a contact, we don't wait for sync, we just remove all " -"related files." +"removeContact() will remove the contact and related 1:1 conversations (with " +"the same process as \"Remove a conversation\"). The only note here is that " +"if we ban a contact, we don't wait for sync, we just remove all related " +"files." msgstr "" #: ../../../developer/swarm.md:198 @@ -6811,12 +6797,12 @@ msgstr "" #: ../../../developer/swarm.md:211 msgid "" "In this case, two conversations are generated. We don't want to remove " -"messages from users or choose one conversation here. So, sometimes two " -"1:1 swarm between the same members will be shown. It will generate some " -"bugs during the transition time (as we don't want to break API, the " -"inferred conversation will be one of the two shown conversations, but for" -" now it's \"ok-ish\", will be fixed when clients will fully handle " -"conversationId for all APIs (calls, file transfer, etc))." +"messages from users or choose one conversation here. So, sometimes two 1:1 " +"swarm between the same members will be shown. It will generate some bugs " +"during the transition time (as we don't want to break API, the inferred " +"conversation will be one of the two shown conversations, but for now it's " +"\"ok-ish\", will be fixed when clients will fully handle conversationId for " +"all APIs (calls, file transfer, etc))." msgstr "" #: ../../../developer/swarm.md:213 @@ -6825,16 +6811,15 @@ msgstr "" #: ../../../developer/swarm.md:215 msgid "" -"After accepting a conversation's request, there is a time the daemon " -"needs to retrieve the distant repository. During this time, clients MUST " -"show a syncing view to give informations to the user. Note, while " -"syncing:" +"After accepting a conversation's request, there is a time the daemon needs " +"to retrieve the distant repository. During this time, clients MUST show a " +"syncing view to give informations to the user. Note, while syncing:" msgstr "" #: ../../../developer/swarm.md:218 msgid "" -"ConfigurationManager::getConversations() will return the conversation's " -"id even while syncing" +"ConfigurationManager::getConversations() will return the conversation's id " +"even while syncing" msgstr "" #: ../../../developer/swarm.md:219 @@ -6845,8 +6830,8 @@ msgstr "" #: ../../../developer/swarm.md:220 msgid "" -"ConfigurationManager::getConversationMembers() will return a map of two " -"URIs (the current account and the peer who sent the request)" +"ConfigurationManager::getConversationMembers() will return a map of two URIs" +" (the current account and the peer who sent the request)" msgstr "" #: ../../../developer/swarm.md:222 @@ -6855,8 +6840,8 @@ msgstr "" #: ../../../developer/swarm.md:224 msgid "" -"Conversations requests are represented by a **Map<String, String>** with " -"the following keys:" +"Conversations requests are represented by a **Map<String, String>** with the" +" following keys:" msgstr "" #: ../../../developer/swarm.md:226 @@ -6890,10 +6875,10 @@ msgstr "" #: ../../../developer/swarm.md:235 msgid "" "To be identifiable, a conversation generally needs some metadata, like a " -"title (eg: Jami), a description (eg: some links, what is the project, " -"etc), and an image (the logo of the project). Those metadata are optional" -" but shared across all members, so need to be synced and incorporated in " -"the requests." +"title (eg: Jami), a description (eg: some links, what is the project, etc), " +"and an image (the logo of the project). Those metadata are optional but " +"shared across all members, so need to be synced and incorporated in the " +"requests." msgstr "" #: ../../../developer/swarm.md:237 @@ -6914,10 +6899,10 @@ msgstr "" msgid "" "To update the vCard, a user with enough permissions (by default: =ADMIN) " "needs to edit `/profile.vcf`. and will commit the file with the mimetype " -"`application/update-profile`. The new message is sent via the same " -"mechanism and all peers will receive the **MessageReceived** signal from " -"the daemon. The branch is dropped if the commit contains other files or " -"too big or if done by a non-authorized member (by default: <ADMIN)." +"`application/update-profile`. The new message is sent via the same mechanism" +" and all peers will receive the **MessageReceived** signal from the daemon. " +"The branch is dropped if the commit contains other files or too big or if " +"done by a non-authorized member (by default: <ADMIN)." msgstr "" #: ../../../developer/swarm.md:253 @@ -6926,9 +6911,9 @@ msgstr "" #: ../../../developer/swarm.md:255 msgid "" -"In the synchronized data, each devices sends to other devices the state " -"of the conversations. In this state, the last displayed is sent. However," -" because each device can have its own state for each conversation, and " +"In the synchronized data, each devices sends to other devices the state of " +"the conversations. In this state, the last displayed is sent. However, " +"because each device can have its own state for each conversation, and " "probably without the same last commit at some point, there is several " "scenarios to take into account:" msgstr "" @@ -6939,26 +6924,26 @@ msgstr "" #: ../../../developer/swarm.md:258 msgid "" -"if the last displayed sent by other devices is the same as the current " -"one, there is nothing to do." +"if the last displayed sent by other devices is the same as the current one, " +"there is nothing to do." msgstr "" #: ../../../developer/swarm.md:259 msgid "" -"if there is no last displayed for the current device, the remote " -"displayed message is used." +"if there is no last displayed for the current device, the remote displayed " +"message is used." msgstr "" #: ../../../developer/swarm.md:260 msgid "" -"if the remote last displayed is not present in the repo, it means that " -"the commit will be fetched later, so cache the result" +"if the remote last displayed is not present in the repo, it means that the " +"commit will be fetched later, so cache the result" msgstr "" #: ../../../developer/swarm.md:261 msgid "" -"if the remote is already fetched, we check that the local last displayed " -"is before in the history to replace it" +"if the remote is already fetched, we check that the local last displayed is " +"before in the history to replace it" msgstr "" #: ../../../developer/swarm.md:262 @@ -7012,16 +6997,16 @@ msgstr "" #: ../../../developer/swarm.md:305 msgid "" -"The archive MUST contain conversationId to be able to retrieve " -"conversations on new commits after a re-import (because there is no " -"invite at this point). If a commit comes for a conversation not present " -"there are two possibilities:" +"The archive MUST contain conversationId to be able to retrieve conversations" +" on new commits after a re-import (because there is no invite at this " +"point). If a commit comes for a conversation not present there are two " +"possibilities:" msgstr "" #: ../../../developer/swarm.md:307 msgid "" -"The conversationId is there, in this case, the daemon is able to re-clone" -" this conversation" +"The conversationId is there, in this case, the daemon is able to re-clone " +"this conversation" msgstr "" #: ../../../developer/swarm.md:308 @@ -7033,8 +7018,8 @@ msgstr "" #: ../../../developer/swarm.md:310 msgid "" -"Note, a conversation can only be retrieved if a contact or another device" -" is there, else it will be lost. There is no magic." +"Note, a conversation can only be retrieved if a contact or another device is" +" there, else it will be lost. There is no magic." msgstr "" #: ../../../developer/swarm.md:312 @@ -7066,14 +7051,15 @@ msgid "Why this choice" msgstr "" #: ../../../developer/swarm.md:323 -msgid "Each conversation will be a git repository. This choice is motivated by:" +msgid "" +"Each conversation will be a git repository. This choice is motivated by:" msgstr "" #: ../../../developer/swarm.md:325 msgid "" -"We need to sync and order messages. The Merkle Tree is the perfect " -"structure to do that and can be linearized by merging branches. Moreover," -" because it's massively used by Git, it's easy to sync between devices." +"We need to sync and order messages. The Merkle Tree is the perfect structure" +" to do that and can be linearized by merging branches. Moreover, because " +"it's massively used by Git, it's easy to sync between devices." msgstr "" #: ../../../developer/swarm.md:326 @@ -7114,15 +7100,15 @@ msgstr "" #: ../../../developer/swarm.md:339 msgid "" -"History can't be deleted. To delete a conversation, the device has to " -"leave the conversation and create another one." +"History can't be deleted. To delete a conversation, the device has to leave " +"the conversation and create another one." msgstr "" #: ../../../developer/swarm.md:341 msgid "" "However, non-permanent messages (like messages readable only for some " -"minutes) can be sent via a special message via the DRT (like Typing or " -"Read notifications)." +"minutes) can be sent via a special message via the DRT (like Typing or Read" +" notifications)." msgstr "" #: ../../../developer/swarm.md:343 @@ -7136,19 +7122,18 @@ msgstr "" #: ../../../developer/swarm.md:376 msgid "" "Swarm massively changes file transfer. Now, all the history is syncing, " -"allowing all devices in the conversation to easily retrieve old files. " -"This changes allow us to move from a logic where the sender pushed the " -"file on other devices, via trying to connect to their devices (This was " -"bad because not really resistant to connections changes/failures and " -"needed a manual retry) to a logic where the sender allow other devices to" -" download. Moreover, any device having the file can be the host for other" -" devices, allowing to retrieve files even if the sender is not there." +"allowing all devices in the conversation to easily retrieve old files. This " +"changes allow us to move from a logic where the sender pushed the file on " +"other devices, via trying to connect to their devices (This was bad because " +"not really resistant to connections changes/failures and needed a manual " +"retry) to a logic where the sender allow other devices to download. " +"Moreover, any device having the file can be the host for other devices, " +"allowing to retrieve files even if the sender is not there." msgstr "" #: ../../../developer/swarm.md:380 msgid "" -"The sender adds a new commit in the conversation with the following " -"format:" +"The sender adds a new commit in the conversation with the following format:" msgstr "" #: ../../../developer/swarm.md:390 @@ -7162,32 +7147,32 @@ msgstr "" msgid "" "Then, the receiver can now download the files by contacting the devices " "hosting the file by opening a channel with `name=\"data-transfer://\" + " -"conversationId + \"/\" + currentDeviceId() + \"/\" + fileId` and store " -"the info that the file is waiting in " +"conversationId + \"/\" + currentDeviceId() + \"/\" + fileId` and store the " +"info that the file is waiting in " "`${data_path}/conversation_data/${conversation_id}/waiting`" msgstr "" #: ../../../developer/swarm.md:394 msgid "" -"The device receiving the connection will accepts the channel by verifying" -" if the file can be sent (if sha3sum is correct and if file exists). The " -"receiver will keep the first opened channel, close the others and write " -"into a file (with the same path as the sender: " -"`${data_path}/conversation_data/${conversation_id}/${file_id}`) all " -"incoming data." +"The device receiving the connection will accepts the channel by verifying if" +" the file can be sent (if sha3sum is correct and if file exists). The " +"receiver will keep the first opened channel, close the others and write into" +" a file (with the same path as the sender: " +"`${data_path}/conversation_data/${conversation_id}/${file_id}`) all incoming" +" data." msgstr "" #: ../../../developer/swarm.md:396 msgid "" -"When the transfer is finished or the channel closed, the sha3sum is " -"verified to validate that the file is correct (else it's deleted). If " -"valid, the file will be removed from the waiting." +"When the transfer is finished or the channel closed, the sha3sum is verified" +" to validate that the file is correct (else it's deleted). If valid, the " +"file will be removed from the waiting." msgstr "" #: ../../../developer/swarm.md:398 msgid "" -"In case of failure, when a device of the conversation will be back " -"online, we will ask for all waiting files by the same way." +"In case of failure, when a device of the conversation will be back online, " +"we will ask for all waiting files by the same way." msgstr "" #: ../../../developer/swarm.md:400 @@ -7204,8 +7189,8 @@ msgstr "" #: ../../../developer/swarm.md:406 msgid "" -"A swarm conversation can have multiple rendez-vous. A rendez-vous is " -"defined by the following uri:" +"A swarm conversation can have multiple rendez-vous. A rendez-vous is defined" +" by the following uri:" msgstr "" #: ../../../developer/swarm.md:408 @@ -7220,8 +7205,8 @@ msgstr "" #: ../../../developer/swarm.md:412 msgid "" -"In the swarm metadatas. Where it's stored like the title/desc/avatar of " -"the room" +"In the swarm metadatas. Where it's stored like the title/desc/avatar of the " +"room" msgstr "" #: ../../../developer/swarm.md:413 @@ -7230,10 +7215,9 @@ msgstr "" #: ../../../developer/swarm.md:415 msgid "" -"When starting a call, the host will add a new commit to the swarm, with " -"the URI to join (accountUri/deviceId/conversationId/confId). This will be" -" valid till the end of the call (announced by a commit with the duration " -"to show)" +"When starting a call, the host will add a new commit to the swarm, with the " +"URI to join (accountUri/deviceId/conversationId/confId). This will be valid " +"till the end of the call (announced by a commit with the duration to show)" msgstr "" #: ../../../developer/swarm.md:418 @@ -7266,9 +7250,9 @@ msgstr "" #: ../../../developer/swarm.md:430 msgid "" -"Git operations, control messages, files, and other things will use a p2p " -"TLS v1.3 link with only ciphers which guaranty PFS. So each key is " -"renegotiated for each new connexion." +"Git operations, control messages, files, and other things will use a p2p TLS" +" v1.3 link with only ciphers which guaranty PFS. So each key is renegotiated" +" for each new connexion." msgstr "" #: ../../../developer/swarm.md:432 @@ -7287,9 +7271,9 @@ msgstr "" #: ../../../developer/swarm.md:438 msgid "" -"The DRT is a new concept used in swarm to maintain p2p connections. " -"Indeed, group members define a graph of nodes (identified by a hash) en " -"must be connected." +"The DRT is a new concept used in swarm to maintain p2p connections. Indeed, " +"group members define a graph of nodes (identified by a hash) en must be " +"connected." msgstr "" #: ../../../developer/swarm.md:440 @@ -7325,16 +7309,16 @@ msgstr "" #: ../../../developer/swarm.md:450 msgid "" -"Each node is connected to all other nodes $N\\timesN$ connections. " -"Effective to transmit, but need more resources **WILL BE CHOSEN FOR THE " -"FIRST VERSION**" +"Each node is connected to all other nodes $N\\timesN$ connections. Effective" +" to transmit, but need more resources **WILL BE CHOSEN FOR THE FIRST " +"VERSION**" msgstr "" #: ../../../developer/swarm.md:451 msgid "" "[*Maximizing the Coverage of Roadmap Graph for Optimal Motion " -"Planning*](https://www.hindawi.com/journals/complexity/2018/9104720/). " -"But need calculations" +"Planning*](https://www.hindawi.com/journals/complexity/2018/9104720/). But " +"need calculations" msgstr "" #: ../../../developer/swarm.md:452 @@ -7347,8 +7331,8 @@ msgstr "" msgid "" "Note: to optimize the socket numbers, a socket will be given by a " "**ConnectionManager** to get multiplexed sockets with a given hash. This " -"means that if we need to transmit several files and chat with someone, " -"only one socket will be used." +"means that if we need to transmit several files and chat with someone, only " +"one socket will be used." msgstr "" #: ../../../developer/swarm.md:456 @@ -7375,16 +7359,16 @@ msgstr "" #: ../../../developer/swarm.md:467 msgid "" -"Two possibilities for sending the message a. If not connected, via the " -"DHT b. Else, Alice sends on the SIP channel" +"Two possibilities for sending the message a. If not connected, via the DHT" +" b. Else, Alice sends on the SIP channel" msgstr "" #: ../../../developer/swarm.md:470 msgid "" -"Two possibilities for Bob a. Receives the invite, a signal is emitted " -"for the client b. Not connected, so will never receive the request cause" -" Alice must not know if Bob just ignored or blocked Alice. The only way " -"is to regenerate a new invite via a new message (cf next scenario)" +"Two possibilities for Bob a. Receives the invite, a signal is emitted for " +"the client b. Not connected, so will never receive the request cause Alice " +"must not know if Bob just ignored or blocked Alice. The only way is to " +"regenerate a new invite via a new message (cf next scenario)" msgstr "" #: ../../../developer/swarm.md:474 @@ -7415,12 +7399,12 @@ msgstr "" #: ../../../developer/swarm.md:483 msgid "" "Four possibilities for Bob: a. Bob is not connected to Alice, so if he " -"trusts Alice, ask for a new connection and go to b. b. If connected, " -"fetch from Alice and announce new messages c. Bob doesn't know that " -"conversation. Ask through the DHT to get an invite first to be able to " -"accept that conversation ({\"application/invite\", conversationId}) d. " -"Bob is disconnected (no network, or just closed). He will not receive the" -" new message but will try to sync when the next connection will occur" +"trusts Alice, ask for a new connection and go to b. b. If connected, fetch " +"from Alice and announce new messages c. Bob doesn't know that conversation." +" Ask through the DHT to get an invite first to be able to accept that " +"conversation ({\"application/invite\", conversationId}) d. Bob is " +"disconnected (no network, or just closed). He will not receive the new " +"message but will try to sync when the next connection will occur" msgstr "" #: ../../../developer/swarm.md:492 @@ -7436,7 +7420,8 @@ msgid "**!! OLD DRAFT !!**" msgstr "" #: ../../../developer/swarm.md:497 -msgid "Note: Following notes are not organized yet. Just some line of thoughts." +msgid "" +"Note: Following notes are not organized yet. Just some line of thoughts." msgstr "" #: ../../../developer/swarm.md:499 @@ -7446,15 +7431,14 @@ msgstr "" #: ../../../developer/swarm.md:501 msgid "" "For a serious group chat feature, we also need serious crypto. With the " -"current design, if a certificate is stolen as the previous DHT values of " -"a conversation, the conversation can be decrypted. Maybe we need to go to" -" something like **Double ratchet**." +"current design, if a certificate is stolen as the previous DHT values of a " +"conversation, the conversation can be decrypted. Maybe we need to go to " +"something like **Double ratchet**." msgstr "" #: ../../../developer/swarm.md:503 msgid "" -"Note: a lib might exist to implement group conversations. TODO, " -"investigate." +"Note: a lib might exist to implement group conversations. TODO, investigate." msgstr "" #: ../../../developer/swarm.md:505 @@ -7471,8 +7455,8 @@ msgstr "" #: ../../../developer/swarm.md:513 msgid "" -"Something like a Mattermost in a company, with private channels, and some" -" roles (admin/spectator/bot/etc) or for educations (where only a few are " +"Something like a Mattermost in a company, with private channels, and some " +"roles (admin/spectator/bot/etc) or for educations (where only a few are " "active)." msgstr "" @@ -7490,8 +7474,8 @@ msgstr "" #: ../../../developer/swarm.md:520 msgid "" -"A certificate for a group that sign user with a flag for a role. Adding " -"or revoking can also be done." +"A certificate for a group that sign user with a flag for a role. Adding or " +"revoking can also be done." msgstr "" #: ../../../developer/swarm.md:522 @@ -7522,8 +7506,8 @@ msgstr "" #: ../../../developer/swarm.md:531 msgid "" -"Forward secrecy: if any key from the group is compromised, previous " -"messages should remain confidential (as much as possible)" +"Forward secrecy: if any key from the group is compromised, previous messages" +" should remain confidential (as much as possible)" msgstr "" #: ../../../developer/swarm.md:533 @@ -7538,14 +7522,13 @@ msgstr "" #: ../../../developer/swarm.md:535 msgid "" -"Persistence: Actually, a message on the DHT lives only 10 minutes. " -"Because it's the best timing calculated for this kind of DHT. To persist " -"data, the node must re-put the value on the DHT every 10 minutes. Another" -" way to do when the node is offline is to let nodes re-put the data. But," -" if after 10 minutes, 8 nodes are still here, they will do 64 requests " -"(and it's exponential). The current way to avoid spamming for that is " -"queried. This will still do 64 requests but limit the max redundancy to 8" -" nodes." +"Persistence: Actually, a message on the DHT lives only 10 minutes. Because " +"it's the best timing calculated for this kind of DHT. To persist data, the " +"node must re-put the value on the DHT every 10 minutes. Another way to do " +"when the node is offline is to let nodes re-put the data. But, if after 10 " +"minutes, 8 nodes are still here, they will do 64 requests (and it's " +"exponential). The current way to avoid spamming for that is queried. This " +"will still do 64 requests but limit the max redundancy to 8 nodes." msgstr "" #: ../../../developer/swarm.md:537 @@ -7570,8 +7553,8 @@ msgstr "" #: ../../../developer/swarm.md:545 msgid "" -"Group chat can be based on the same work we already have for multi-" -"devices (but here, with a group certificate). Problems to solve:" +"Group chat can be based on the same work we already have for multi-devices " +"(but here, with a group certificate). Problems to solve:" msgstr "" #: ../../../developer/swarm.md:547 @@ -7582,8 +7565,8 @@ msgstr "" #: ../../../developer/swarm.md:548 msgid "" -"If nobody is connected, the synchronization can't be done, and the person" -" will never see the conversation" +"If nobody is connected, the synchronization can't be done, and the person " +"will never see the conversation" msgstr "" #: ../../../developer/swarm.md:550 @@ -7596,16 +7579,16 @@ msgstr "" #: ../../../developer/swarm.md:556 msgid "" -"Currently, the file transfer algorithm is based on a TURN connection (See" -" {doc}`file-transfer`). In the case of a big group, this will be bad. We " -"first need a p2p implement for the file transfer. Implement the RFC for " -"p2p transfer." +"Currently, the file transfer algorithm is based on a TURN connection (See " +"{doc}`file-transfer`). In the case of a big group, this will be bad. We " +"first need a p2p implement for the file transfer. Implement the RFC for p2p " +"transfer." msgstr "" #: ../../../developer/swarm.md:558 msgid "" -"Other problem: currently there is no implementation for TCP support for " -"ICE in PJSIP. This is mandatory for this point (in pjsip or homemade)" +"Other problem: currently there is no implementation for TCP support for ICE " +"in PJSIP. This is mandatory for this point (in pjsip or homemade)" msgstr "" #: ../../../developer/swarm.md:560 @@ -7629,15 +7612,15 @@ msgstr "" #: ../../../developer/synchronization-protocol.md:4 msgid "" "The swarm chat provides new possibilities for every device. Now, it's " -"possible to sync history between devices by sharing the related " -"repository. Devices sync needs to be redefined to follow those changes." +"possible to sync history between devices by sharing the related repository. " +"Devices sync needs to be redefined to follow those changes." msgstr "" #: ../../../developer/synchronization-protocol.md:6 msgid "" -"A lot of scenarios are defined in the {doc}`Swarm design document " -"<swarm>`, however, this doesn't imply for syncing conversations between " -"devices for the same user. Some new scenarios must be written." +"A lot of scenarios are defined in the {doc}`Swarm design document <swarm>`, " +"however, this doesn't imply for syncing conversations between devices for " +"the same user. Some new scenarios must be written." msgstr "" #: ../../../developer/synchronization-protocol.md:8 @@ -7646,9 +7629,9 @@ msgstr "" #: ../../../developer/synchronization-protocol.md:10 msgid "" -"Device sync were done via the DHT. Because every value MUST NOT exceed " -"64k, conversations were not sent in device sync, nor member profiles, " -"because it's too heavy. This is a problem and MUST be improved." +"Device sync were done via the DHT. Because every value MUST NOT exceed 64k, " +"conversations were not sent in device sync, nor member profiles, because " +"it's too heavy. This is a problem and MUST be improved." msgstr "" #: ../../../developer/synchronization-protocol.md:12 @@ -7670,9 +7653,9 @@ msgstr "" #: ../../../developer/synchronization-protocol.md:18 msgid "" -"Since Jami has the {doc}`ConnectionManager <connection-manager>`, using " -"p2p socket is possible to perform sync quickly with big values (cause the" -" socket is not limited in data)" +"Since Jami has the {doc}`ConnectionManager <connection-manager>`, using p2p " +"socket is possible to perform sync quickly with big values (cause the socket" +" is not limited in data)" msgstr "" #: ../../../developer/synchronization-protocol.md:20 @@ -7689,15 +7672,15 @@ msgstr "" msgid "" "Other devices (*!A*) will detect that announce and will ask this device " "through the **ConnectionManager** to open a new channel named " -"\"sync://DEVICE_ID_A\". (Note: A will get announcement from other " -"devices, so it will asks for sync channels too)." +"\"sync://DEVICE_ID_A\". (Note: A will get announcement from other devices, " +"so it will asks for sync channels too)." msgstr "" #: ../../../developer/synchronization-protocol.md:24 msgid "" -"As soon as this channel is opened, the device which is asking this " -"channel will send a **DeviceSync** (cf next part) value containing its " -"known conversations and contacts." +"As soon as this channel is opened, the device which is asking this channel " +"will send a **DeviceSync** (cf next part) value containing its known " +"conversations and contacts." msgstr "" #: ../../../developer/synchronization-protocol.md:25 @@ -7733,8 +7716,8 @@ msgstr "" #: ../../../developer/synchronization-protocol.md:33 msgid "" "Note: If *A* detects new conversations, it will asks the device which " -"announced that conversation to clone the repository through a git channel" -" (so like described in {doc}`Swarm chat design <swarm>`)" +"announced that conversation to clone the repository through a git channel " +"(so like described in {doc}`Swarm chat design <swarm>`)" msgstr "" #: ../../../developer/synchronization-protocol.md:35 @@ -7793,8 +7776,8 @@ msgstr "" #: ../../../developer/synchronization-protocol.md:74 msgid "" -"The other device should receives and sync the conversation created on one" -" of the devices" +"The other device should receives and sync the conversation created on one of" +" the devices" msgstr "" #: ../../../developer/synchronization-protocol.md:76 @@ -7857,11 +7840,10 @@ msgstr "" #: ../../../developer/synchronizing-profiles.md:3 msgid "" "There is two types of profiles. The one for the current account, and the " -"ones from contacts. As this vcard contains infos, such as the avatar and " -"the display name, it should be synced as soon as possible. But, it must " -"be sent only when needed, to avoid un-necessary data transmissions. The " -"format used to store the profiles is a " -"[vCard](https://en.wikipedia.org/wiki/VCard) " +"ones from contacts. As this vcard contains infos, such as the avatar and the" +" display name, it should be synced as soon as possible. But, it must be sent" +" only when needed, to avoid un-necessary data transmissions. The format used" +" to store the profiles is a [vCard](https://en.wikipedia.org/wiki/VCard) " "(https://datatracker.ietf.org/doc/html/rfc6350)" msgstr "" @@ -7885,8 +7867,8 @@ msgstr "" #: ../../../developer/synchronizing-profiles.md:13 msgid "" -"Because this logic is still managed per client, it depends on the client." -" However, on Desktop, this is unified and stored into: " +"Because this logic is still managed per client, it depends on the client. " +"However, on Desktop, this is unified and stored into: " "`${idPath_}/profiles/${base64(uri)}.vcf`" msgstr "" @@ -7896,9 +7878,8 @@ msgstr "" #: ../../../developer/synchronizing-profiles.md:21 msgid "" -"At the beginning of a call, generally client sends the vCard. However, " -"this method should be removed in favor of the other located in the " -"daemon." +"At the beginning of a call, generally client sends the vCard. However, this " +"method should be removed in favor of the other located in the daemon." msgstr "" #: ../../../developer/synchronizing-profiles.md:23 @@ -7907,15 +7888,14 @@ msgstr "" #: ../../../developer/synchronizing-profiles.md:25 msgid "" -"When connecting to a new devices, a SIP or a sync channel is done. When " -"this channel is ready, we check if we need to send the profile. To do " -"this, the hash of the profile is compared to the one in the cache " -"(`${cacheDir}/${accId}/vcard/sha3` like " -"`~/.cache/jami/xxxxx/vcard/sha3`on GNU/Linux), and the file " -"`${cacheDir}/${accId}/vcard/deviceId` is checked). cf " -"`JamiAccount::needToSendProfile()`. If not present, the profile of the " -"account is sent. Typically, the name of the channel will be " -"\"vcard://xxx\" where the issuer is the one sending the profile." +"When connecting to a new devices, a SIP or a sync channel is done. When this" +" channel is ready, we check if we need to send the profile. To do this, the " +"hash of the profile is compared to the one in the cache " +"(`${cacheDir}/${accId}/vcard/sha3` like `~/.cache/jami/xxxxx/vcard/sha3`on " +"GNU/Linux), and the file `${cacheDir}/${accId}/vcard/deviceId` is checked). " +"cf `JamiAccount::needToSendProfile()`. If not present, the profile of the " +"account is sent. Typically, the name of the channel will be \"vcard://xxx\" " +"where the issuer is the one sending the profile." msgstr "" #: ../../../developer/synchronizing-profiles.md:27 @@ -7925,9 +7905,9 @@ msgstr "" #: ../../../developer/synchronizing-profiles.md:29 msgid "" "If the profile is sent and the device is from the same account, " -"conversations are checked and we send profiles of all members. The " -"channel name will be \"${conversationId}/profile/${memberUri}.vcf\". " -"Behavior tested in `daemon/test/unitTest/syncHistory/syncHistory.cpp`" +"conversations are checked and we send profiles of all members. The channel " +"name will be \"${conversationId}/profile/${memberUri}.vcf\". Behavior tested" +" in `daemon/test/unitTest/syncHistory/syncHistory.cpp`" msgstr "" #: ../../../developer/technical-overview.md:1 @@ -7987,8 +7967,8 @@ msgstr "" #: ../../../developer/technical-overview.md:25 msgid "" -"The issuer UID field must be the hexadecimal form of the issuer public " -"key fingerprint (CA)." +"The issuer UID field must be the hexadecimal form of the issuer public key " +"fingerprint (CA)." msgstr "" #: ../../../developer/technical-overview.md:27 @@ -8025,8 +8005,8 @@ msgstr "" #: ../../../developer/technical-overview.md:37 msgid "" -"The issuer UID field must be the hexadecimal form of the issuer public " -"key fingerprint (JamiId)." +"The issuer UID field must be the hexadecimal form of the issuer public key " +"fingerprint (JamiId)." msgstr "" #: ../../../developer/technical-overview.md:40 @@ -8039,9 +8019,9 @@ msgstr "" #: ../../../developer/technical-overview.md:43 msgid "" -"It's the DHT key where the list of account devices are published and " -"where all devices listen to synchronize on account changes (i.e. adding " -"or revoke a device)." +"It's the DHT key where the list of account devices are published and where " +"all devices listen to synchronize on account changes (i.e. adding or revoke " +"a device)." msgstr "" #: ../../../developer/technical-overview.md:46 @@ -8058,14 +8038,14 @@ msgstr "" #: ../../../developer/technical-overview.md:50 msgid "" -"public key to encrypt messages (this is done by the message issuer using " -"the receiver public key)." +"public key to encrypt messages (this is done by the message issuer using the" +" receiver public key)." msgstr "" #: ../../../developer/technical-overview.md:52 msgid "" -"A device can be \"removed\" from a Jami account through revocation of the" -" device certificate:" +"A device can be \"removed\" from a Jami account through revocation of the " +"device certificate:" msgstr "" #: ../../../developer/technical-overview.md:54 @@ -8076,8 +8056,8 @@ msgstr "" #: ../../../developer/technical-overview.md:56 msgid "" -"CRLs for revoked device must be valid and signed with the corresponding " -"CA key, which is the Jami account private key." +"CRLs for revoked device must be valid and signed with the corresponding CA " +"key, which is the Jami account private key." msgstr "" #: ../../../developer/technical-overview.md:59 @@ -8090,21 +8070,21 @@ msgstr "" #: ../../../developer/technical-overview.md:65 msgid "" -"Jami needs to load certificates and key-pairs each time the application " -"is started." +"Jami needs to load certificates and key-pairs each time the application is " +"started." msgstr "" #: ../../../developer/technical-overview.md:67 msgid "" -"When Jami creates a new device, these information are also needed, shared" -" from another trusted device in a secure way." +"When Jami creates a new device, these information are also needed, shared " +"from another trusted device in a secure way." msgstr "" #: ../../../developer/technical-overview.md:69 msgid "" -"All platforms doesn't provide secure way to store data, Jami supports " -"this fact by encrypting data stored outside the memory (i.e. on a file-" -"system) using a user defined password during the account creation." +"All platforms doesn't provide secure way to store data, Jami supports this " +"fact by encrypting data stored outside the memory (i.e. on a file-system) " +"using a user defined password during the account creation." msgstr "" #: ../../../developer/technical-overview.md:76 @@ -8151,15 +8131,15 @@ msgstr "" #: ../../../developer/technical-overview.md:107 msgid "" -"Then the gzip-stream is encrypted using AES-GCM-256 symmetric cipher with" -" a 256-bits key." +"Then the gzip-stream is encrypted using AES-GCM-256 symmetric cipher with a " +"256-bits key." msgstr "" #: ../../../developer/technical-overview.md:109 msgid "" -"This key is derived from the user provided password, a PIN and a " -"timestamp, using [Argon2](https://github.com/P-H-C/phc-winner-argon2) (a " -"password stretching and normalizer) as follow:" +"This key is derived from the user provided password, a PIN and a timestamp, " +"using [Argon2](https://github.com/P-H-C/phc-winner-argon2) (a password " +"stretching and normalizer) as follow:" msgstr "" #: ../../../developer/technical-overview.md:124 @@ -8171,10 +8151,10 @@ msgstr "" #: ../../../developer/technical-overview.md:127 msgid "" -"NOTE: when exporting a file on the DHT or anywhere else, the daemon " -"update the archive first, to write latest contacts. This is the reason " -"why the password is needed when exporting (it's not just a copy of the " -"archive somewhere else)" +"NOTE: when exporting a file on the DHT or anywhere else, the daemon update " +"the archive first, to write latest contacts. This is the reason why the " +"password is needed when exporting (it's not just a copy of the archive " +"somewhere else)" msgstr "" #: ../../../developer/technical-overview.md:129 @@ -8217,8 +8197,8 @@ msgstr "" #: ../../../developer/technical-overview.md:146 msgid "" -"Dedicated [ Jami distributed network](Ring_distributed_network " -"\"wikilink\") page." +"Dedicated [ Jami distributed network](Ring_distributed_network \"wikilink\")" +" page." msgstr "" #: ../../../developer/technical-overview.md:149 @@ -8255,14 +8235,14 @@ msgstr "" #: ../../../developer/technical-overview.md:165 msgid "" -"*[RFC 5245](https://tools.ietf.org/html/rfc5245)* defines ICE " -"(Interactive Connectivity Establishment), a protocol for NAT traversal." +"*[RFC 5245](https://tools.ietf.org/html/rfc5245)* defines ICE (Interactive " +"Connectivity Establishment), a protocol for NAT traversal." msgstr "" #: ../../../developer/technical-overview.md:168 msgid "" -"ICE is used in Jami to establish a peer-to-peer communication between two" -" devices." +"ICE is used in Jami to establish a peer-to-peer communication between two " +"devices." msgstr "" #: ../../../developer/technical-overview.md:171 @@ -8277,10 +8257,9 @@ msgstr "" #: ../../../developer/technical-overview.md:175 msgid "" -"The calling device puts the encrypted ICE offer (the *Initial Offer*) on " -"the DHT at: `h(\"`[`callto:\"+DeviceID`](callto:%22+DeviceID)`)` where " -"*h* is SHA1, *+* is the string concatenation, *DeviceID* is in " -"hexadecimal form." +"The calling device puts the encrypted ICE offer (the *Initial Offer*) on the" +" DHT at: `h(\"`[`callto:\"+DeviceID`](callto:%22+DeviceID)`)` where *h* is " +"SHA1, *+* is the string concatenation, *DeviceID* is in hexadecimal form." msgstr "" #: ../../../developer/technical-overview.md:180 @@ -8290,7 +8269,8 @@ msgid "" msgstr "" #: ../../../developer/technical-overview.md:182 -msgid "At peer answer reception, the calling device starts the ICE negotiation." +msgid "" +"At peer answer reception, the calling device starts the ICE negotiation." msgstr "" #: ../../../developer/technical-overview.md:184 @@ -8305,16 +8285,15 @@ msgstr "" #: ../../../developer/technical-overview.md:189 msgid "" -"A device listens for incoming calls by performing a listen OpenDHT " -"operation on `h(\"`[`callto:\"+DeviceID`](callto:%22+DeviceID)`)` where " -"*h* is SHA1, *+* is the string concatenation and *DeviceID* is in " -"hexadecimal form." +"A device listens for incoming calls by performing a listen OpenDHT operation" +" on `h(\"`[`callto:\"+DeviceID`](callto:%22+DeviceID)`)` where *h* is SHA1, " +"*+* is the string concatenation and *DeviceID* is in hexadecimal form." msgstr "" #: ../../../developer/technical-overview.md:193 msgid "" -"At ICE *Initial Offer* reception, the called device **must** do a " -"security validation of the peer (see below)." +"At ICE *Initial Offer* reception, the called device **must** do a security " +"validation of the peer (see below)." msgstr "" #: ../../../developer/technical-overview.md:195 @@ -8331,8 +8310,8 @@ msgstr "" #: ../../../developer/technical-overview.md:200 msgid "" -"*Note: OpenDHT drops values that are not properly encrypted or signed, as" -" specified by OpenDHT protocol.*" +"*Note: OpenDHT drops values that are not properly encrypted or signed, as " +"specified by OpenDHT protocol.*" msgstr "" #: ../../../developer/technical-overview.md:203 @@ -8361,23 +8340,23 @@ msgstr "" #: ../../../developer/technical-overview.md:221 msgid "" -"Upon reception of the encrypted and signed Initial ICE Offer (through the" -" listen operation), a called device should perform authorization checks " -"of the calling device, identified as the Initial Offer signer." +"Upon reception of the encrypted and signed Initial ICE Offer (through the " +"listen operation), a called device should perform authorization checks of " +"the calling device, identified as the Initial Offer signer." msgstr "" #: ../../../developer/technical-overview.md:225 msgid "" -"Authorization rules are implementation defined, but a typical " -"implementation would authorize known or trusted contacts." +"Authorization rules are implementation defined, but a typical implementation" +" would authorize known or trusted contacts." msgstr "" #: ../../../developer/technical-overview.md:238 msgid "" "Once a peer-to-peer communication channel has been established by ICE " "protocol, the called device starts a server-side DTLS session on the ICE " -"socket, while the caller starts a client-side DTLS session on the other " -"side of the ICE socket." +"socket, while the caller starts a client-side DTLS session on the other side" +" of the ICE socket." msgstr "" #: ../../../developer/technical-overview.md:242 @@ -8400,8 +8379,8 @@ msgstr "" #: ../../../developer/technical-overview.md:250 msgid "" -"A second handshake in **certificate mode**, over the first one, to prove " -"the identity of peers." +"A second handshake in **certificate mode**, over the first one, to prove the" +" identity of peers." msgstr "" #: ../../../developer/technical-overview.md:253 @@ -8420,8 +8399,8 @@ msgstr "" #: ../../../developer/technical-overview.md:257 msgid "" -"anonymous step: `SECURE192:-KX-ALL:+ANON-ECDH:+ANON-DH:+SECURE192:-VERS-" -"TLS-ALL:+VERS-DTLS-ALL:-RSA:%SERVER_PRECEDENCE:%SAFE_RENEGOTIATION`" +"anonymous step: `SECURE192:-KX-ALL:+ANON-ECDH:+ANON-DH:+SECURE192:-VERS-TLS-" +"ALL:+VERS-DTLS-ALL:-RSA:%SERVER_PRECEDENCE:%SAFE_RENEGOTIATION`" msgstr "" #: ../../../developer/technical-overview.md:259 @@ -8436,15 +8415,15 @@ msgstr "" #: ../../../developer/technical-overview.md:264 msgid "" -"Used over the DTLS session to signaling the call (vcard, media " -"negotiation, hangup, instant messaging, ...)" +"Used over the DTLS session to signaling the call (vcard, media negotiation, " +"hangup, instant messaging, ...)" msgstr "" #: ../../../developer/technical-overview.md:266 msgid "" -"Once an encrypted and authenticated peer-to-peer communication channel is" -" available, the [SIP protocol](https://tools.ietf.org/html/rfc3261) must " -"be used to place a call and send messages." +"Once an encrypted and authenticated peer-to-peer communication channel is " +"available, the [SIP protocol](https://tools.ietf.org/html/rfc3261) must be " +"used to place a call and send messages." msgstr "" #: ../../../developer/technical-overview.md:270 @@ -8455,8 +8434,8 @@ msgstr "" #: ../../../developer/technical-overview.md:273 msgid "" -"Supported codecs are implementation defined, but Jami clients should " -"support the Opus audio coded and the H264 video codec." +"Supported codecs are implementation defined, but Jami clients should support" +" the Opus audio coded and the H264 video codec." msgstr "" #: ../../../developer/technical-overview.md:279 @@ -8469,10 +8448,10 @@ msgstr "" #: ../../../developer/technical-overview.md:286 msgid "" -"Jami provides perfect forward secrecy for calls and in call text messages" -" with different Eliptic Curve Diffie-Hellman key negociation at every " -"call. For out of call messaging single RSA-4096 is used. The cryptography" -" library used is GNUTLS" +"Jami provides perfect forward secrecy for calls and in call text messages " +"with different Eliptic Curve Diffie-Hellman key negociation at every call. " +"For out of call messaging single RSA-4096 is used. The cryptography library " +"used is GNUTLS" msgstr "" #: ../../../developer/technical-overview.md:291 @@ -8481,8 +8460,8 @@ msgstr "" #: ../../../developer/technical-overview.md:293 msgid "" -"[Technical overview](technical/Technical-overview) of concepts and " -"protocols inside Jami" +"[Technical overview](technical/Technical-overview) of concepts and protocols" +" inside Jami" msgstr "" #: ../../../developer/tensorflow-plugin.md:1 @@ -8491,8 +8470,8 @@ msgstr "" #: ../../../developer/tensorflow-plugin.md:4 msgid "" -"**NOTE: this page describes to build Tensorflow and TensorflowLite C++ " -"API for Linux Android and Windows.**" +"**NOTE: this page describes to build Tensorflow and TensorflowLite C++ API " +"for Linux Android and Windows.**" msgstr "" #: ../../../developer/tensorflow-plugin.md:6 @@ -8501,16 +8480,16 @@ msgstr "" #: ../../../developer/tensorflow-plugin.md:7 msgid "" -"A difficulty for a lot of people working with tensorflow is how to " -"properly build it. With that in mind we created docker images with cuda " -"and tensorflow libraries available for GNU/Linux builds " -"[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflow-" -"cuda) and for Android builds " +"A difficulty for a lot of people working with tensorflow is how to properly " +"build it. With that in mind we created docker images with cuda and " +"tensorflow libraries available for GNU/Linux builds " +"[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflow-cuda)" +" and for Android builds " "[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflowlite)." -" These docker can be used to build plugins for Linux and Android, however" -" they cannot handle Windows. Here we carefully guide you through the " -"proper build of tensorflow LITE Native and Tensorflow C++ API for our " -"three supported platforms." +" These docker can be used to build plugins for Linux and Android, however " +"they cannot handle Windows. Here we carefully guide you through the proper " +"build of tensorflow LITE Native and Tensorflow C++ API for our three " +"supported platforms." msgstr "" #: ../../../developer/tensorflow-plugin.md:11 @@ -8531,8 +8510,8 @@ msgstr "" #: ../../../developer/tensorflow-plugin.md:22 msgid "" -"We assembled Tensorflow headers needed to build plugins, to access them " -"you only have to extract `libs.tar.gz` file found under `jami-" +"We assembled Tensorflow headers needed to build plugins, to access them you " +"only have to extract `libs.tar.gz` file found under `jami-" "project/plugins/contrib`. However, if you are using another tensorflow " "version or you want to do it by yourself, you can follow the assemble " "instructions for Tensorflow LITE Native and C++ API are available under " @@ -8549,11 +8528,10 @@ msgstr "" #: ../../../developer/tensorflow-plugin.md:27 #: ../../../developer/tensorflow-plugin.md:54 msgid "" -"If you want to build Tensorflow C++ API with GPU suport, be sure to have " -"a CUDA capable GPU and that you have followed all installation steps for" -" the Nvidia drivers, CUDA Toolkit, CUDNN, Tensor RT, that their versions" -" matches and that they are correct for the Tensorflow version you want " -"to build." +"If you want to build Tensorflow C++ API with GPU suport, be sure to have a " +"CUDA capable GPU and that you have followed all installation steps for the " +"Nvidia drivers, CUDA Toolkit, CUDNN, Tensor RT, that their versions matches" +" and that they are correct for the Tensorflow version you want to build." msgstr "" #: ../../../developer/tensorflow-plugin.md:33 @@ -8582,9 +8560,9 @@ msgstr "" #: ../../../developer/tensorflow-plugin.md:77 msgid "" "There may be some missign references while compilling a plugin with " -"Tensorflow C++ API. If that happens you have to rebuild you tensorflow " -"and explicitly export the missing symbols. Fortunatelly Tensorflow now " -"has a easy workaround to do so, you only have to feed " +"Tensorflow C++ API. If that happens you have to rebuild you tensorflow and " +"explicitly export the missing symbols. Fortunatelly Tensorflow now has a " +"easy workaround to do so, you only have to feed " "[this](\"https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/tools/def_file_filter/def_file_filter.py.tpl\")" " file with the desired symbols." msgstr "" @@ -8633,8 +8611,7 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:7 msgid "" -"User documentation: <https://review.jami.net/Documentation/intro-" -"user.html>" +"User documentation: <https://review.jami.net/Documentation/intro-user.html>" msgstr "" #: ../../../developer/working-with-gerrit.md:8 @@ -8648,8 +8625,8 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:11 msgid "" "You'll also need to [upload an SSH " -"key](https://review.jami.net/settings/#SSHKeys) to be able to commit " -"changes for review." +"key](https://review.jami.net/settings/#SSHKeys) to be able to commit changes" +" for review." msgstr "" #: ../../../developer/working-with-gerrit.md:12 @@ -8658,8 +8635,8 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:13 msgid "" -"Finally, the email address specified in your git config must match one " -"the email address registered with your Gerrit account." +"Finally, the email address specified in your git config must match one the " +"email address registered with your Gerrit account." msgstr "" #: ../../../developer/working-with-gerrit.md:15 @@ -8682,8 +8659,7 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:23 msgid "" -"To check that your SSH access is properly setup, run the following " -"command:" +"To check that your SSH access is properly setup, run the following command:" msgstr "" #: ../../../developer/working-with-gerrit.md:25 @@ -8710,8 +8686,8 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:50 msgid "" -"You must update your remote information to use now the Gerrit repository." -" To do that, update your origin url:" +"You must update your remote information to use now the Gerrit repository. To" +" do that, update your origin url:" msgstr "" #: ../../../developer/working-with-gerrit.md:52 @@ -8748,8 +8724,8 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:66 msgid "" -"When pushing to this magic branch, a review will automatically be created" -" on Gerrit." +"When pushing to this magic branch, a review will automatically be created on" +" Gerrit." msgstr "" #: ../../../developer/working-with-gerrit.md:68 @@ -8758,8 +8734,7 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:70 msgid "" -"If you configured the default to refs/for/master as described above, " -"simply" +"If you configured the default to refs/for/master as described above, simply" msgstr "" #: ../../../developer/working-with-gerrit.md:72 @@ -8768,9 +8743,9 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:74 msgid "" -"If HEAD currently points to the branch with the commits you'd like to " -"push. Ideally, you should work in a feature/bug branch for the issue at " -"hand. Then you can do:" +"If HEAD currently points to the branch with the commits you'd like to push. " +"Ideally, you should work in a feature/bug branch for the issue at hand. Then" +" you can do:" msgstr "" #: ../../../developer/working-with-gerrit.md:76 @@ -8779,11 +8754,11 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:78 msgid "" -"If this is the first time you've pushed, you will be prompted to install " -"a post-commit Hook to insert a Change-ID in your commit message. Gerrit " -"needs this to track patchsets and will reject pushes until you install " -"it. Simply copy paste the command to install the hook as instructed by " -"Gerrit, and amend your commits." +"If this is the first time you've pushed, you will be prompted to install a " +"post-commit Hook to insert a Change-ID in your commit message. Gerrit needs " +"this to track patchsets and will reject pushes until you install it. Simply " +"copy paste the command to install the hook as instructed by Gerrit, and " +"amend your commits." msgstr "" #: ../../../developer/working-with-gerrit.md:80 @@ -8813,7 +8788,6 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:97 msgid "" "Private work the same way as patchsets, except they are not visible to " -"others by default and don't trigger any Jenkins builds. A draft can then " -"be shared or published." +"others by default and don't trigger any Jenkins builds. A draft can then be " +"shared or published." msgstr "" - diff --git a/locales/fa/LC_MESSAGES/index.po b/locales/fa/LC_MESSAGES/index.po index 0986d745e3a595739d7ad468467ab3ed01b54f31..b71523c5d1f8cd9d6199a2b30665d7d85325b9af 100644 --- a/locales/fa/LC_MESSAGES/index.po +++ b/locales/fa/LC_MESSAGES/index.po @@ -1,28 +1,31 @@ -# LANGUAGE translation of FILENAME.pot +# SOME DESCRIPTIVE TITLE. # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors -# This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# This file is distributed under the same license as the Jami package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Translators: +# Mohammad Amin Sameti <mamins1376@gmail.com>, 2022 +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-10-19 12:03+0000\n" +"PO-Revision-Date: 2022-09-14 17:41+0000\n" +"Last-Translator: Mohammad Amin Sameti <mamins1376@gmail.com>, 2022\n" +"Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../../../index.rst:2 msgid "Home" -msgstr "" +msgstr "خانه" -#: ../../../index.rst:-1 +#: ../../../index.rst-1 msgid "Jami logo" msgstr "" @@ -47,17 +50,17 @@ msgstr "" #: ../../../index.rst:18 msgid "" -"Jami is an official GNU package and you can redistribute it and/or modify" -" it under the terms of the `GNU General Public License " -"<https://www.gnu.org/licenses/gpl.html>`_ as published by the Free " -"Software Foundation, either version 3 of the License, or (at your option)" -" any later version. The Jami team :doc:`uses Gerrit for development " -"<developer/working-with-gerrit>` and code reviews, and issues and feature" -" requests are :doc:`tracked on the Jami GitLab <user/bug-report-guide>`." -" The development of Jami is led by `Savoir-faire Linux " +"Jami is an official GNU package and you can redistribute it and/or modify it" +" under the terms of the `GNU General Public License " +"<https://www.gnu.org/licenses/gpl.html>`_ as published by the Free Software " +"Foundation, either version 3 of the License, or (at your option) any later " +"version. The Jami team :doc:`uses Gerrit for development " +"<developer/working-with-gerrit>` and code reviews, and issues and feature " +"requests are :doc:`tracked on the Jami GitLab <user/bug-report-guide>`. The" +" development of Jami is led by `Savoir-faire Linux " "<https://savoirfairelinux.com/en>`_ --- a Canadian GNU/Linux consulting " -"company based in Montréal --- and is supported by a growing global " -"community of users and contributors." +"company based in Montréal --- and is supported by a growing global community" +" of users and contributors." msgstr "" #: ../../../index.rst:30 @@ -71,8 +74,8 @@ msgid "" "You may also be interested in the Jami `daemon " "<https://docs.jami.net/doxygen/daemon/>`_ or `libclient " "<https://docs.jami.net/doxygen/lrc/>`_'s technical documentation, the " -"daemon's `code coverage <https://docs.jami.net/coverage/>`_, or the " -"`OpenDHT wiki <https://github.com/savoirfairelinux/opendht/wiki>`_." +"daemon's `code coverage <https://docs.jami.net/coverage/>`_, or the `OpenDHT" +" wiki <https://github.com/savoirfairelinux/opendht/wiki>`_." msgstr "" #: ../../../index.rst:42 @@ -81,8 +84,8 @@ msgstr "" #: ../../../index.rst:44 msgid "" -"Here are the documentation manuals of Jami and details on how to " -"contribute to Jami:" +"Here are the documentation manuals of Jami and details on how to contribute " +"to Jami:" msgstr "" #: ../../../index.rst:56 @@ -91,8 +94,8 @@ msgstr "" #: ../../../index.rst:58 msgid "" -"You can reach the Jami developers and community of users at the following" -" public places:" +"You can reach the Jami developers and community of users at the following " +"public places:" msgstr "" #: ../../../index.rst:61 @@ -130,8 +133,7 @@ msgstr "" #: ../../../index.rst:74 msgid "" -"You can also contact the Jami team at Savoir-faire Linux directly via " -"email, at contact@jami.net. Additionally, Savoir-faire Linux offers " -"commercial support for Jami via https://jami.biz." +"You can also contact the Jami team at Savoir-faire Linux directly via email," +" at contact@jami.net. Additionally, Savoir-faire Linux offers commercial " +"support for Jami via https://jami.biz." msgstr "" - diff --git a/locales/fa/LC_MESSAGES/sphinx.po b/locales/fa/LC_MESSAGES/sphinx.po index 1cfe5f09b865efe76a139bd7d696d01d321be905..1bbf6fb74a704a291346bc15f8df32ab8e0251e2 100644 --- a/locales/fa/LC_MESSAGES/sphinx.po +++ b/locales/fa/LC_MESSAGES/sphinx.po @@ -1,30 +1,27 @@ -# LANGUAGE translation of FILENAME.pot +# SOME DESCRIPTIVE TITLE. # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors -# This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# This file is distributed under the same license as the Jami package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-10-19 12:03+0000\n" +"PO-Revision-Date: 2022-09-14 17:53+0000\n" +"Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../../../_templates/footer.html:41 -#, python-format msgid "<p><a href=\"%(path)s\">Copyright</a> © %(copyright)s</p>" msgstr "" #: ../../../_templates/footer.html:43 -#, python-format msgid "<p>Copyright © %(copyright)s</p>" msgstr "" @@ -37,7 +34,5 @@ msgid "Revision" msgstr "" #: ../../../_templates/footer.html:64 -#, python-format msgid "Last updated on %(last_updated)s." msgstr "" - diff --git a/locales/fa/LC_MESSAGES/user.po b/locales/fa/LC_MESSAGES/user.po index ca6e66bba463c2e8724385ef31335ed98e155e7a..8c0e06f46ce09498cdbcbd43bd19c6aa3f0ed03d 100644 --- a/locales/fa/LC_MESSAGES/user.po +++ b/locales/fa/LC_MESSAGES/user.po @@ -1,22 +1,34 @@ -# LANGUAGE translation of FILENAME.pot +# SOME DESCRIPTIVE TITLE. # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors -# This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# This file is distributed under the same license as the Jami package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Translators: +# . . <ovari123@zoho.com>, 2022 +# Mohammad Amin Sameti <mamins1376@gmail.com>, 2022 +# Mrehdi Ghayour, 2022 +# Reza Ghasemi, 2022 +# Amir Taherizadeh, 2022 +# Amin Mahmudian, 2022 +# Amir H. Firouzian, 2022 +# ali ask <aliraadlar@gmail.com>, 2022 +# Hamid reza Zaefarani, 2022 +# Danial Behzadi <dani.behzi@ubuntu.com>, 2022 +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-10-19 12:03+0000\n" +"PO-Revision-Date: 2022-09-14 17:45+0000\n" +"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>, 2022\n" +"Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../../../user/all-features-by-client.md:1 msgid "All features by client" @@ -44,297 +56,297 @@ msgstr "" #: ../../../user/all-features-by-client.md:11 msgid "Text messaging" -msgstr "" +msgstr "پیغامدهی متنی" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "**Client**" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Linux" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Windows" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Android" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Android TV" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "iOS" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "macOS" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Text Messaging" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "✓" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Group chat" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "E" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "X" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Clear History" -msgstr "" +msgstr "پاک کردن تاریخچه" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Chat history shared across devices" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Send Files" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Auto accept images" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Custom download location" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Typing indicator" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Read status" msgstr "" #: ../../../user/all-features-by-client.md:25 msgid "Calling" -msgstr "" +msgstr "در حال تماس" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Audio Calling" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Video Calling" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Host call conference" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Auto bitrate" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Change video quality" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Custom ringtones" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Select camera" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Video call recording" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Leave audio message" -msgstr "" +msgstr "یک پیام صوتی بگذارید" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Leave video message" -msgstr "" +msgstr "یک پیام تصویری بگذارید" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Screen sharing" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "✓(1)" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Window sharing" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Media sharing" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Hardware encoding *" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Hardware decoding *" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Mute sound" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Texting while on call" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Remote recording notif" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Rendez-vous mode" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Conference Layout" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Multistream" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Videosplit" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Audio Processor \\*\\*" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "✓(2)" msgstr "" #: ../../../user/all-features-by-client.md:54 msgid "" -"\\* This enables 4k video calling support \\*\\* cf {ref}`user/faq:How " -"can I configure the audio processor?` in the FAQ" +"\\* This enables 4k video calling support \\*\\* cf {ref}`user/faq:How can" +" I configure the audio processor?` in the FAQ" msgstr "" #: ../../../user/all-features-by-client.md:58 msgid "" -"(1) only on X (not Wayland) (2) Some features enabled by default and " -"not configurable" +"(1) only on X (not Wayland) (2) Some features enabled by default and not " +"configurable" msgstr "" #: ../../../user/all-features-by-client.md:61 msgid "Account settings" -msgstr "" +msgstr "تنظیمات حساب کاربری" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Profile avatar" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Disable account" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Delete account" -msgstr "" +msgstr "حذف حساب" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Contact availability" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Register username" -msgstr "" +msgstr "ثبت نام کاربری" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Delete Contacts" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Block Contacts" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Link new device via DHT" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Link new device via archive" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Auto answer" -msgstr "" +msgstr "پاسخ خودکار" #: ../../../user/all-features-by-client.md:77 msgid "Other features" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Scan QR Code" -msgstr "" +msgstr "اسکن کد QR" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Display QR Code" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Ban contact" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "System notifications" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Supported languages *" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "98" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Contacts shared across devices" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Multi account" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "SIP account" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "SIP transferring" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Dark theme support" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "JAMS support" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Plugin support" msgstr "" @@ -344,34 +356,34 @@ msgstr "" #: ../../../user/all-features-by-client.md:96 msgid "Advanced settings" -msgstr "" +msgstr "تنظیمات پیشرفته" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "DHT Proxy support" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Push notification" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "N/A" -msgstr "" +msgstr "قابل اجرا نیست" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "UPnP" -msgstr "" +msgstr "UPnP" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "TURN configuration" msgstr "" #: ../../../user/bug-report-guide.md:1 msgid "" -"**Note: We are currently a small number of developers active on the " -"project. As such, we cannot answer and tag all of the opened issues " -"immediately, but we do notice and read them. Good bug reports provide us" -" important feedback, which we thank you for and always appreciate.**" +"**Note: We are currently a small number of developers active on the project." +" As such, we cannot answer and tag all of the opened issues immediately, " +"but we do notice and read them. Good bug reports provide us important " +"feedback, which we thank you for and always appreciate.**" msgstr "" #: ../../../user/bug-report-guide.md:6 @@ -380,8 +392,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:9 msgid "" -"This guide includes step-by-step instructions for reporting bugs and " -"issues you encounter in Jami." +"This guide includes step-by-step instructions for reporting bugs and issues " +"you encounter in Jami." msgstr "" #: ../../../user/bug-report-guide.md:12 @@ -390,15 +402,15 @@ msgstr "" #: ../../../user/bug-report-guide.md:15 msgid "" -"Be ready for data loss. Back up your account and link your account to as" -" many devices as possible." +"Be ready for data loss. Back up your account and link your account to as " +"many devices as possible." msgstr "" #: ../../../user/bug-report-guide.md:17 msgid "" "Install the latest version (or even a beta version) of Jami. Reporting " -"bugs/issues against older versions is less useful, and there is a " -"likelihood of it already having been fixed in newer versions." +"bugs/issues against older versions is less useful, and there is a likelihood" +" of it already having been fixed in newer versions." msgstr "" #: ../../../user/bug-report-guide.md:22 @@ -407,9 +419,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:25 msgid "" -"Create an account on the [Jami " -"GitLab](https://git.jami.net/users/sign_up) if you don't have one " -"already." +"Create an account on the [Jami GitLab](https://git.jami.net/users/sign_up) " +"if you don't have one already." msgstr "" #: ../../../user/bug-report-guide.md:29 @@ -426,8 +437,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:33 msgid "" -"{gitlab-project}`The GNOME/GTK client <jami-client-gnome>` (deprecated by" -" {gitlab-project}`the Qt client <jami-client-qt>`)" +"{gitlab-project}`The GNOME/GTK client <jami-client-gnome>` (deprecated by " +"{gitlab-project}`the Qt client <jami-client-qt>`)" msgstr "" #: ../../../user/bug-report-guide.md:35 @@ -442,8 +453,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:38 msgid "" -"{gitlab-project}`The Jami project in general (or if you are not sure) " -"<jami-project>`" +"{gitlab-project}`The Jami project in general (or if you are not sure) <jami-" +"project>`" msgstr "" #: ../../../user/bug-report-guide.md:40 @@ -454,14 +465,14 @@ msgstr "" #: ../../../user/bug-report-guide.md:43 msgid "" -"If you have multiple issues, please file separate bug reports. It will be" -" much easier to keep track of them that way." +"If you have multiple issues, please file separate bug reports. It will be " +"much easier to keep track of them that way." msgstr "" #: ../../../user/bug-report-guide.md:46 msgid "" -"The title is an explicit summary of the bug (e.g.: header bar is too big " -"due to icon size)" +"The title is an explicit summary of the bug (e.g.: header bar is too big due" +" to icon size)" msgstr "" #: ../../../user/bug-report-guide.md:49 @@ -476,16 +487,16 @@ msgstr "" #: ../../../user/bug-report-guide.md:53 msgid "" -"If you can reproduce occasionally, but not after following specific " -"steps, please provide additional information about the issue to help " -"others understand and try to reproduce it." +"If you can reproduce occasionally, but not after following specific steps, " +"please provide additional information about the issue to help others " +"understand and try to reproduce it." msgstr "" #: ../../../user/bug-report-guide.md:56 msgid "" -"If you can't reproduce the problem, there may be little chance of it " -"being reasonably fixable. If you do report it, please try your best to " -"provide as much information/clues about its occurrence as possible." +"If you can't reproduce the problem, there may be little chance of it being " +"reasonably fixable. If you do report it, please try your best to provide as" +" much information/clues about its occurrence as possible." msgstr "" #: ../../../user/bug-report-guide.md:61 @@ -519,16 +530,16 @@ msgstr "" #: ../../../user/bug-report-guide.md:72 msgid "" "what build you are using (F-Droid, Play Store, App Store, from " -"`dl.jami.net`, your own build, etc.). If you have built your own version" -" of Jami, please specify the exact Jami Daemon version and client version" -" (you can obtain it using `jamid -v` and `jami-gnome -v` or `jami-qt -v`;" -" but note that our packages are updated quite often) and the Git commit." +"`dl.jami.net`, your own build, etc.). If you have built your own version of" +" Jami, please specify the exact Jami Daemon version and client version (you " +"can obtain it using `jamid -v` and `jami-gnome -v` or `jami-qt -v`; but note" +" that our packages are updated quite often) and the Git commit." msgstr "" #: ../../../user/bug-report-guide.md:78 msgid "" -"network conditions: are both devices on the same local network? Different" -" networks? Is one or both behind NAT? Are you using LTE? Are you using " +"network conditions: are both devices on the same local network? Different " +"networks? Is one or both behind NAT? Are you using LTE? Are you using " "WiFi?" msgstr "" @@ -548,8 +559,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:89 msgid "" -"A good summary should quickly and uniquely identify a bug report. It " -"should explain the problem, not your suggested solution." +"A good summary should quickly and uniquely identify a bug report. It should " +"explain the problem, not your suggested solution." msgstr "" #: ../../../user/bug-report-guide.md:102 @@ -563,11 +574,11 @@ msgstr "" #: ../../../user/bug-report-guide.md:107 msgid "" "Steps to reproduce are the most important part of any bug report. If a " -"developer is able to reproduce the bug, the bug is very likely to be " -"fixed. If the steps are unclear, it might not even be possible to know " -"whether the bug has been fixed. We are totally aware that some bugs may " -"look obvious to you, but they are probably related to your environment. " -"The more precise you are, the quicker the bug can be fixed." +"developer is able to reproduce the bug, the bug is very likely to be fixed." +" If the steps are unclear, it might not even be possible to know whether " +"the bug has been fixed. We are totally aware that some bugs may look " +"obvious to you, but they are probably related to your environment. The more" +" precise you are, the quicker the bug can be fixed." msgstr "" #: ../../../user/bug-report-guide.md:115 @@ -576,9 +587,9 @@ msgstr "" #: ../../../user/bug-report-guide.md:117 msgid "" -"Indicate whether you can reproduce the bug at will, occasionally, or not " -"at all. Describe your method of interacting with Jami in addition to the" -" intent of each step. After your steps, precisely describe the observed " +"Indicate whether you can reproduce the bug at will, occasionally, or not at " +"all. Describe your method of interacting with Jami in addition to the " +"intent of each step. After your steps, precisely describe the observed " "(actual) result and the expected result. Clearly separate facts " "(observations) from speculations." msgstr "" @@ -625,8 +636,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:160 msgid "" -"The following information is requested for most bug reports. You can " -"save time by providing this information below the Expected results." +"The following information is requested for most bug reports. You can save " +"time by providing this information below the Expected results." msgstr "" #: ../../../user/bug-report-guide.md:163 @@ -639,10 +650,10 @@ msgstr "" #: ../../../user/bug-report-guide.md:167 msgid "" -"Go to the General settings. In the Troubleshoot section, you can click " -"on \"Open logs\", where you will be able to get statistics (\"Show " -"stats\") or start recording information via \"Receive logs\". Then you " -"can just copy the result and explain your scenario." +"Go to the General settings. In the Troubleshoot section, you can click on " +"\"Open logs\", where you will be able to get statistics (\"Show stats\") or " +"start recording information via \"Receive logs\". Then you can just copy the" +" result and explain your scenario." msgstr "" #: ../../../user/bug-report-guide.md:172 @@ -655,15 +666,15 @@ msgstr "" #: ../../../user/bug-report-guide.md:180 msgid "" -"Full log: Since the Jami client (GUI) and daemon are separated processes," -" the easiest way to get logs from both is to start them one at a time, " +"Full log: Since the Jami client (GUI) and daemon are separated processes, " +"the easiest way to get logs from both is to start them one at a time, " "manually." msgstr "" #: ../../../user/bug-report-guide.md:185 msgid "" -"Ensure that no Jami client or daemon instances are running: check by " -"running `ps aux | grep jami` in a terminal." +"Ensure that no Jami client or daemon instances are running: check by running" +" `ps aux | grep jami` in a terminal." msgstr "" #: ../../../user/bug-report-guide.md:187 @@ -673,7 +684,8 @@ msgid "" msgstr "" #: ../../../user/bug-report-guide.md:189 -msgid "If either client or daemon are running, terminate them using `kill PID`." +msgid "" +"If either client or daemon are running, terminate them using `kill PID`." msgstr "" #: ../../../user/bug-report-guide.md:191 @@ -689,8 +701,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:196 msgid "" -"In another terminal, start the client, using e.g. `jami-gnome -d` or " -"`jami-qt -d`." +"In another terminal, start the client, using e.g. `jami-gnome -d` or `jami-" +"qt -d`." msgstr "" #: ../../../user/bug-report-guide.md:199 @@ -699,16 +711,14 @@ msgstr "" #: ../../../user/bug-report-guide.md:201 msgid "" -"`gdb -ex run jami-qt`, or `gdb -ex run jami-gnome`, or `gdb -ex run " -"--args /usr/libexec/jamid -cd`, depending on the component you need to " -"debug." +"`gdb -ex run jami-qt`, or `gdb -ex run jami-gnome`, or `gdb -ex run --args " +"/usr/libexec/jamid -cd`, depending on the component you need to debug." msgstr "" #: ../../../user/bug-report-guide.md:205 msgid "" -"When it crashes, you can type `bt` (or even better, `thread apply all " -"bt`) then press *Enter*. Then copy the backtrace and paste it in the " -"issue." +"When it crashes, you can type `bt` (or even better, `thread apply all bt`) " +"then press *Enter*. Then copy the backtrace and paste it in the issue." msgstr "" #: ../../../user/bug-report-guide.md:209 @@ -720,7 +730,8 @@ msgid "Navigate to `/Applications/Jami.app/Contents/MacOS/`." msgstr "" #: ../../../user/bug-report-guide.md:212 -msgid "Double click Jami. It will launch Jami and print the log to the terminal." +msgid "" +"Double click Jami. It will launch Jami and print the log to the terminal." msgstr "" #: ../../../user/bug-report-guide.md:214 @@ -729,8 +740,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:216 msgid "" -"Alternatively, you could run `/<path to " -"Jami>/Jami.app/Contents/MacOS/Jami -d` from the terminal." +"Alternatively, you could run `/<path to Jami>/Jami.app/Contents/MacOS/Jami " +"-d` from the terminal." msgstr "" #: ../../../user/bug-report-guide.md:219 @@ -771,8 +782,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:232 msgid "" -"```adb logcat *:D | grep `adb shell ps | egrep 'cx.ring' | cut -c10-15` >" -" logring.txt```" +"```adb logcat *:D | grep `adb shell ps | egrep 'cx.ring' | cut -c10-15` > " +"logring.txt```" msgstr "" #: ../../../user/bug-report-guide.md:233 @@ -784,7 +795,8 @@ msgid "For Windows" msgstr "" #: ../../../user/bug-report-guide.md:237 -msgid "Open a terminal (cmd.exe) and launch Jami.exe with the following options:" +msgid "" +"Open a terminal (cmd.exe) and launch Jami.exe with the following options:" msgstr "" #: ../../../user/bug-report-guide.md:240 @@ -792,7 +804,6 @@ msgid "`-d` to open a separate console window to receive logs" msgstr "" #: ../../../user/bug-report-guide.md:241 -#, python-format msgid "`-f` to write logs to `%localappdata%\\jami\\jami.log`" msgstr "" @@ -812,8 +823,8 @@ msgstr "" #: ../../../user/create-jami-account.md:8 msgid "" -"Android (FR) [creer-compte-jami-android-fr.pdf](creer-compte-jami-" -"android-fr.pdf)" +"Android (FR) [creer-compte-jami-android-fr.pdf](creer-compte-jami-android-" +"fr.pdf)" msgstr "" #: ../../../user/create-jami-account.md:10 @@ -824,12 +835,12 @@ msgstr "" #: ../../../user/create-jami-account.md:12 msgid "" -"macOS (FR) [creer-compte-jami-macos-fr.pdf](creer-compte-jami-macos-" -"fr.pdf)" +"macOS (FR) [creer-compte-jami-macos-fr.pdf](creer-compte-jami-macos-fr.pdf)" msgstr "" #: ../../../user/create-jami-account.md:14 -msgid "iOS (EN) [create-jami-account-ios-en.pdf](create-jami-account-ios-en.pdf)" +msgid "" +"iOS (EN) [create-jami-account-ios-en.pdf](create-jami-account-ios-en.pdf)" msgstr "" #: ../../../user/create-jami-account.md:16 @@ -838,8 +849,8 @@ msgstr "" #: ../../../user/create-jami-account.md:18 msgid "" -"Windows (FR) [creer-compte-jami-windows-fr.pdf](creer-compte-jami-" -"windows-fr.pdf)" +"Windows (FR) [creer-compte-jami-windows-fr.pdf](creer-compte-jami-windows-" +"fr.pdf)" msgstr "" #: ../../../user/faq.rst:2 @@ -870,11 +881,11 @@ msgstr "" #: ../../../user/faq.rst:23 msgid "" -"The choice of the name Jami was inspired by the Swahili word `jamii` " -"which means `community` as a noun and `together` as an adverb. It was " -"chosen as it reflects the vision for the project: a free/libre program " -"available to all that helps bring communities together, is community " -"supported, and respects the freedom and privacy of the users." +"The choice of the name Jami was inspired by the Swahili word `jamii` which " +"means `community` as a noun and `together` as an adverb. It was chosen as " +"it reflects the vision for the project: a free/libre program available to " +"all that helps bring communities together, is community supported, and " +"respects the freedom and privacy of the users." msgstr "" #: ../../../user/faq.rst:30 @@ -895,16 +906,16 @@ msgid "" "*distributed*:" msgstr "" -#: ../../../user/faq.rst:-1 +#: ../../../user/faq.rst-1 msgid "Centralized, Decentralized, and Distributed network topology" msgstr "" #: ../../../user/faq.rst:43 msgid "" -"Some of the consequences may seem surprising. For instance, since " -"accounts are stored on your device, passwords are optional. However, the" -" most significant practical differences are that you have more *freedom* " -"and *privacy*." +"Some of the consequences may seem surprising. For instance, since accounts " +"are stored on your device, passwords are optional. However, the most " +"significant practical differences are that you have more *freedom* and " +"*privacy*." msgstr "" #: ../../../user/faq.rst:52 @@ -919,18 +930,16 @@ msgstr "" #: ../../../user/faq.rst:57 msgid "" -"On other contacts, a red circle means that they are not online, and a " -"green circle means they are online and you should be able to message " -"them." +"On other contacts, a red circle means that they are not online, and a green " +"circle means they are online and you should be able to message them." msgstr "" #: ../../../user/faq.rst:61 msgid "" "Note that a green circle only means that the contact has announced their " "presence on the DHT. It does not indicate a direct connection to their " -"device. In some cases, a contact may be able to send and receive " -"messages but cannot make calls or file transfers because of their " -"firewall." +"device. In some cases, a contact may be able to send and receive messages " +"but cannot make calls or file transfers because of their firewall." msgstr "" #: ../../../user/faq.rst:68 @@ -954,8 +963,8 @@ msgstr "" #: ../../../user/faq.rst:79 msgid "" "You can enable or disable read receipts on Android. Other platforms may " -"still be working on this feature. Please see :doc:`All Features by " -"Client <all-features-by-client>` for the current status." +"still be working on this feature. Please see :doc:`All Features by Client " +"<all-features-by-client>` for the current status." msgstr "" #: ../../../user/faq.rst:84 @@ -964,8 +973,8 @@ msgstr "" #: ../../../user/faq.rst:86 msgid "" -"Most of the client support sending and receiving typing notifications. " -"You can enable/disable them in the general settings." +"Most of the client support sending and receiving typing notifications. You " +"can enable/disable them in the general settings." msgstr "" #: ../../../user/faq.rst:90 @@ -994,8 +1003,8 @@ msgstr "" #: ../../../user/faq.rst:105 msgid "" -"Yes, Jami now has :doc:`../developer/swarm` group chats. However, they " -"are currently experimental and must be manually enabled from application " +"Yes, Jami now has :doc:`../developer/swarm` group chats. However, they are " +"currently experimental and must be manually enabled from application " "settings. Also, group chats are currently limited to 8 participants (so " "that bugs and issues could be more easily found and fixed in smaller " "scenarios, and hopefully lift this limit in the future)." @@ -1009,26 +1018,26 @@ msgstr "" msgid "" "Before :doc:`../developer/swarm`, an account's devices would receive the " "same messages from contacts if the device was online at the time of the " -"message being sent, but *sent* messages would not show up on devices " -"other than the one sending the message." +"message being sent, but *sent* messages would not show up on devices other " +"than the one sending the message." msgstr "" #: ../../../user/faq.rst:120 msgid "" "With the introduction of Swarm, conversation histories of new Swarm " -"conversations (including one-on-one conversations) are fully synchronized" -" between all of an account's linked devices. If you are using an older " -"version of Jami, please upgrade to the latest version with Swarm support." -" The latest version of Jami is always available from the Download page " -"of the Jami website, at https://jami.net/download/." +"conversations (including one-on-one conversations) are fully synchronized " +"between all of an account's linked devices. If you are using an older " +"version of Jami, please upgrade to the latest version with Swarm support. " +"The latest version of Jami is always available from the Download page of the" +" Jami website, at https://jami.net/download/." msgstr "" #: ../../../user/faq.rst:128 msgid "" "To learn more about Swarm, you can read our blog post `Synchronizing " "conversation history with Swarm <https://jami.net/synchronizing-" -"conversation-history-with-swarm/>`_ and see the :doc:`../developer/swarm`" -" page of the Jami developer manual." +"conversation-history-with-swarm/>`_ and see the :doc:`../developer/swarm` " +"page of the Jami developer manual." msgstr "" #: ../../../user/faq.rst:135 @@ -1037,30 +1046,30 @@ msgstr "" #: ../../../user/faq.rst:137 msgid "" -"With :doc:`../developer/swarm` conversations, every device stores all a " -"copy of all of the messages in that conversation. If a device (whether " -"your own, or another participant's) is not available/online when a " -"message is sent, when it comes back online again it will try to fetch any" -" new messages from other online devices/peers and synchronize message " -"history. This can be done whenever at least one other device that has a " -"copy of the new messages is also online." +"With :doc:`../developer/swarm` conversations, every device stores all a copy" +" of all of the messages in that conversation. If a device (whether your " +"own, or another participant's) is not available/online when a message is " +"sent, when it comes back online again it will try to fetch any new messages " +"from other online devices/peers and synchronize message history. This can " +"be done whenever at least one other device that has a copy of the new " +"messages is also online." msgstr "" #: ../../../user/faq.rst:145 msgid "" -"You can read more about how Swarm conversations are synchronized in our " -"blog post `Synchronizing conversation history with Swarm " +"You can read more about how Swarm conversations are synchronized in our blog" +" post `Synchronizing conversation history with Swarm " "<https://jami.net/synchronizing-conversation-history-with-swarm/>`_." msgstr "" #: ../../../user/faq.rst:150 msgid "" -"If the participants in a conversation are often not online at the same " -"time (for instance, due to timezone differences), one of them might " -"choose to set up Jami on an often-online device that would receive the " -"messages from each participant and relay it to the other(s) whenever they" -" come online. Thus, acting similarly to a \"server\", all the while Jami" -" remains distributed by nature." +"If the participants in a conversation are often not online at the same time " +"(for instance, due to timezone differences), one of them might choose to set" +" up Jami on an often-online device that would receive the messages from each" +" participant and relay it to the other(s) whenever they come online. Thus, " +"acting similarly to a \"server\", all the while Jami remains distributed by " +"nature." msgstr "" #: ../../../user/faq.rst:160 @@ -1069,31 +1078,30 @@ msgstr "" #: ../../../user/faq.rst:162 msgid "" -"Jami saves its configuration (account, certificates, history) at " -"different locations depending on the platform." +"Jami saves its configuration (account, certificates, history) at different " +"locations depending on the platform." msgstr "" #: ../../../user/faq.rst:165 msgid "" -"**GNU/Linux**: global configuration is under " -"``~/.config/jami/dring.yml``, and account-specific files are under " -"``~/.local/share/jami/``. Finally, there is a cache directory at " -"``~/.cache/jami/``." +"**GNU/Linux**: global configuration is under ``~/.config/jami/dring.yml``, " +"and account-specific files are under ``~/.local/share/jami/``. Finally, " +"there is a cache directory at ``~/.cache/jami/``." msgstr "" #: ../../../user/faq.rst:170 msgid "" "**macOS**: the full configuration is under ``~/Library/Application " -"Support/Jami/`` if installed via https://jami.net. The app store version" -" uses " +"Support/Jami/`` if installed via https://jami.net. The app store version " +"uses " "``~/Library/Containers/com.savoirfairelinux.ring.macos/Data/Library/Application" " Support/jami/``." msgstr "" #: ../../../user/faq.rst:175 msgid "" -"**Android**: the full configuration is under ``/data/data/cx.ring/`` (may" -" require root privileges to view or change from outside Jami)." +"**Android**: the full configuration is under ``/data/data/cx.ring/`` (may " +"require root privileges to view or change from outside Jami)." msgstr "" #: ../../../user/faq.rst:178 @@ -1106,15 +1114,14 @@ msgstr "" #: ../../../user/faq.rst:183 msgid "" -"Note: audio and video messages are recorded in the local-data in the " -"folder: ``sent_data``" +"Note: audio and video messages are recorded in the local-data in the folder:" +" ``sent_data``" msgstr "" #: ../../../user/faq.rst:186 msgid "" -"For files, if a file is saved (right click on the file, then Save) it " -"will be added to the directory you configured in the application " -"settings." +"For files, if a file is saved (right click on the file, then Save) it will " +"be added to the directory you configured in the application settings." msgstr "" #: ../../../user/faq.rst:191 @@ -1123,37 +1130,37 @@ msgstr "" #: ../../../user/faq.rst:193 msgid "" -"For audio calls, Jami uses about 100 Kbps. For a video call, you need " -"about 2 Mbit/s for medium quality. If your connection is slower, the " -"bitrate will be automatically reduced." +"For audio calls, Jami uses about 100 Kbps. For a video call, you need about" +" 2 Mbit/s for medium quality. If your connection is slower, the bitrate " +"will be automatically reduced." msgstr "" #: ../../../user/faq.rst:197 msgid "" "If you are hosting a video conference, you will approximately need an " -"additional 2 Mbps per participant. So, for example for a conference with" -" 10 participants, each participant will need 2 Mbps up & down and the " -"host will need 20 Mbps up and down." +"additional 2 Mbps per participant. So, for example for a conference with 10" +" participants, each participant will need 2 Mbps up & down and the host will" +" need 20 Mbps up and down." msgstr "" #: ../../../user/faq.rst:202 msgid "" "Jami also uses an algorithm to change the consumption depending of the " -"quality of the link. So, the bitrate can have a minimum of 200 Kbit/s and" -" maximum of 6 Mbit/s." +"quality of the link. So, the bitrate can have a minimum of 200 Kbit/s and " +"maximum of 6 Mbit/s." msgstr "" #: ../../../user/faq.rst:207 msgid "" -"How can SFL afford to give Jami away for free? How does/will SFL make " -"money off Jami?" +"How can SFL afford to give Jami away for free? How does/will SFL make money" +" off Jami?" msgstr "" #: ../../../user/faq.rst:209 msgid "" "Summary: ethical company, they will make money supporting managed Jami " -"solutions for organizations; their main source of income is elsewhere; " -"all Jami code is GPLv3+; etc. etc." +"solutions for organizations; their main source of income is elsewhere; all " +"Jami code is GPLv3+; etc. etc." msgstr "" #: ../../../user/faq.rst:215 @@ -1167,10 +1174,9 @@ msgstr "" #: ../../../user/faq.rst:220 msgid "" "A Jami account is an `asymmetric encryption key " -"<https://en.wikipedia.org/wiki/Public-key_cryptography>`_. Your account " -"is identified by a Jami ID, which is a `fingerprint " -"<https://en.wikipedia.org/wiki/Public_key_fingerprint>`_ of your public " -"key." +"<https://en.wikipedia.org/wiki/Public-key_cryptography>`_. Your account is " +"identified by a Jami ID, which is a `fingerprint " +"<https://en.wikipedia.org/wiki/Public_key_fingerprint>`_ of your public key." msgstr "" #: ../../../user/faq.rst:227 @@ -1179,12 +1185,13 @@ msgstr "" #: ../../../user/faq.rst:229 msgid "" -"When you create a new Jami account, you don't have to provide any private" -" information like an email, address, or phone number." +"When you create a new Jami account, you don't have to provide any private " +"information like an email, address, or phone number." msgstr "" #: ../../../user/faq.rst:232 -msgid "This is the information you can provide if you choose (it's all optional):" +msgid "" +"This is the information you can provide if you choose (it's all optional):" msgstr "" #: ../../../user/faq.rst:235 @@ -1200,14 +1207,14 @@ msgstr "" #: ../../../user/faq.rst:238 msgid "" "An optional username, which is a unique identifier that is directly " -"associated with your Jami ID. This username->Jami ID mapping is stored " -"on a server (``ns.jami.net`` by default, but you can host your own)." +"associated with your Jami ID. This username->Jami ID mapping is stored on a" +" server (``ns.jami.net`` by default, but you can host your own)." msgstr "" #: ../../../user/faq.rst:242 msgid "" -"A password. This password is used to protect the account archive in your" -" device." +"A password. This password is used to protect the account archive in your " +"device." msgstr "" #: ../../../user/faq.rst:245 @@ -1222,8 +1229,8 @@ msgstr "" #: ../../../user/faq.rst:251 msgid "" -"Your Jami ID should be displayed prominently in whichever app you're " -"using. It looks like a long string of letters and numbers; for example: " +"Your Jami ID should be displayed prominently in whichever app you're using." +" It looks like a long string of letters and numbers; for example: " "``f2c815f5554bcc22689ce84d45aefdda1bce9146``." msgstr "" @@ -1235,23 +1242,23 @@ msgstr "" msgid "" "You are not forced to have a password on your account. On a centralized " "system you would use your password to authenticate with a public server " -"where your account is stored. Someone who knows your password could " -"steal your identity." +"where your account is stored. Someone who knows your password could steal " +"your identity." msgstr "" #: ../../../user/faq.rst:263 msgid "" -"With Jami, your account is stored in a :ref:`folder <user/faq:Where are " -"the configuration files located?>` on your device. **The password is " -"only used to encrypt your account in order to protect you from someone " -"who has physical access to your device.**" +"With Jami, your account is stored in a :ref:`folder <user/faq:Where are the " +"configuration files located?>` on your device. **The password is only used " +"to encrypt your account in order to protect you from someone who has " +"physical access to your device.**" msgstr "" #: ../../../user/faq.rst:268 msgid "" -"If your device is encrypted, you may not want or need to use a password, " -"and indeed recent versions of Jami don't ask for an account encryption " -"password by default when creating new accounts." +"If your device is encrypted, you may not want or need to use a password, and" +" indeed recent versions of Jami don't ask for an account encryption password" +" by default when creating new accounts." msgstr "" #: ../../../user/faq.rst:273 @@ -1260,731 +1267,724 @@ msgstr "" #: ../../../user/faq.rst:275 msgid "" -"The most permanent, secure identifier is your :ref:`Jami ID " -"<user/faq:Where is my Jami ID?>`, but since these are difficult to use " -"for some people, you also have the option of registering a username. " -"Username registration requires a name server, such as Jami's default one " -"at ``ns.jami.net``." +"The most permanent, secure identifier is your :ref:`Jami ID <user/faq:Where " +"is my Jami ID?>`, but since these are difficult to use for some people, you " +"also have the option of registering a username. Username registration " +"requires a name server, such as Jami's default one at ``ns.jami.net``." msgstr "" #: ../../../user/faq.rst:281 msgid "" -"If you don't register a username, you can still choose to register one " -"later at any time." +"If you don't register a username, you can still choose to register one later" +" at any time." msgstr "" -#: ../../../user/faq.rst:285 +#: ../../../user/faq.rst:284 +msgid "" +"If you host your own nameserver at ``example.com``, usernames registered " +"there can be looked up by searching for ``username@example.com``." +msgstr "" + +#: ../../../user/faq.rst:288 msgid "Can I change my username?" msgstr "" -#: ../../../user/faq.rst:287 +#: ../../../user/faq.rst:290 msgid "" "With the default nameserver (``ns.jami.net``) you cannot change your " "username." msgstr "" -#: ../../../user/faq.rst:291 +#: ../../../user/faq.rst:294 msgid "What is the difference between a username and a display name?" msgstr "" -#: ../../../user/faq.rst:293 +#: ../../../user/faq.rst:296 msgid "" "You can use your username as an identifier. The username points to your " ":ref:`Jami ID <user/faq:Where is my Jami ID?>`, which is your permanent, " "secure identifier. Two people cannot have the same username." msgstr "" -#: ../../../user/faq.rst:298 +#: ../../../user/faq.rst:301 msgid "" -"A display name allows you to choose another name that identifies you to " -"your contacts. Display names can be edited or changed at any time and " -"only your contacts can see them." +"A display name allows you to choose another name that identifies you to your" +" contacts. Display names can be edited or changed at any time and only your" +" contacts can see them." msgstr "" -#: ../../../user/faq.rst:303 +#: ../../../user/faq.rst:306 msgid "How can I back up my account?" msgstr "" -#: ../../../user/faq.rst:305 +#: ../../../user/faq.rst:308 msgid "There are two ways to back up your account:" msgstr "" -#: ../../../user/faq.rst:307 +#: ../../../user/faq.rst:310 msgid "" -"Link another device to your account so your account will be on two " -"devices. You can find this option in the account settings page." +"Link another device to your account so your account will be on two devices." +" You can find this option in the account settings page." msgstr "" -#: ../../../user/faq.rst:309 +#: ../../../user/faq.rst:312 msgid "" -"Back up the :ref:`account archive <developer/technical-overview:Jami " -"archive (export.gz)>`. This file can be found in the account files " -":ref:`folder <user/faq:Where are the configuration files located?>`. In " -"some clients, you can export this archive from the account settings." +"Back up the :ref:`account archive <developer/technical-overview:Jami archive" +" (export.gz)>`. This file can be found in the account files :ref:`folder " +"<user/faq:Where are the configuration files located?>`. In some clients, " +"you can export this archive from the account settings." msgstr "" -#: ../../../user/faq.rst:316 +#: ../../../user/faq.rst:319 msgid "Can I retrieve my username without my keys?" msgstr "" -#: ../../../user/faq.rst:318 +#: ../../../user/faq.rst:321 msgid "" -"If you used the default name server at ``ns.jami.net``, **you can't**. " -"There is no way to prove it's your username without your key." +"If you used the default name server at ``ns.jami.net``, **you can't**. There" +" is no way to prove it's your username without your key." msgstr "" -#: ../../../user/faq.rst:321 +#: ../../../user/faq.rst:324 msgid "" -"If you use a different name server, there may be a way to move a username" -" to a new Jami ID at the discretion of the administrator of that name " -"server." +"If you use a different name server, there may be a way to move a username to" +" a new Jami ID at the discretion of the administrator of that name server." msgstr "" -#: ../../../user/faq.rst:325 +#: ../../../user/faq.rst:328 msgid "" -"For more information about name servers, see :doc:`../developer/name-" -"server-protocol`." +"For more information about name servers, see :doc:`../developer/name-server-" +"protocol`." msgstr "" -#: ../../../user/faq.rst:329 +#: ../../../user/faq.rst:332 msgid "Can I recover my account if I forget my password?" msgstr "" -#: ../../../user/faq.rst:331 +#: ../../../user/faq.rst:334 msgid "" -"No. There can't be a traditional account recovery process; you are the " -"only person with access to your data. If you are worried about " -"forgetting your password, please use a password manager." +"No. There can't be a traditional account recovery process; you are the only" +" person with access to your data. If you are worried about forgetting your " +"password, please use a password manager." msgstr "" -#: ../../../user/faq.rst:336 +#: ../../../user/faq.rst:339 msgid "What happens when I delete my account?" msgstr "" -#: ../../../user/faq.rst:338 +#: ../../../user/faq.rst:341 msgid "" -"Your account is only stored on your own devices. If you delete your " -"account from each device, the account is gone and you cannot get it back " -"(unless you already made a backup of it earlier). Nobody else can use " -"your account after that." +"Your account is only stored on your own devices. If you delete your account" +" from each device, the account is gone and you cannot get it back (unless " +"you already made a backup of it earlier). Nobody else can use your account " +"after that." msgstr "" -#: ../../../user/faq.rst:343 +#: ../../../user/faq.rst:346 msgid "" "Your contacts will still have the messages you sent them, but all public " -"record of your account on the DHT will eventually disappear due to " -"absence and lack of activity." +"record of your account on the DHT will eventually disappear due to absence " +"and lack of activity." msgstr "" -#: ../../../user/faq.rst:347 +#: ../../../user/faq.rst:350 msgid "" -"The default ``ns.jami.net`` name server **does not** delete any " -"registered usernames -- other name servers might (not recommended), at " -"their administrator's discretion. So, if you have an account with a " -"username registered on the default name server and you delete or lose " -"your account, and did not back up your account earlier, nobody (including" -" you) will be able to register a new account with that username again, " -"thus nobody can reach you at that username anymore." +"The default ``ns.jami.net`` name server **does not** delete any registered " +"usernames -- other name servers might (not recommended), at their " +"administrator's discretion. So, if you have an account with a username " +"registered on the default name server and you delete or lose your account, " +"and did not back up your account earlier, nobody (including you) will be " +"able to register a new account with that username again, thus nobody can " +"reach you at that username anymore." msgstr "" -#: ../../../user/faq.rst:356 +#: ../../../user/faq.rst:359 msgid "" -"To avoid losing your account **please** :ref:`back it up <user/faq:How " -"can I back up my account?>`!" +"To avoid losing your account **please** :ref:`back it up <user/faq:How can I" +" back up my account?>`!" msgstr "" -#: ../../../user/faq.rst:360 +#: ../../../user/faq.rst:363 msgid "What happens when I link a new device?" msgstr "" -#: ../../../user/faq.rst:362 +#: ../../../user/faq.rst:365 msgid "" "When you link a device to your account, your :ref:`account archive " -"<developer/technical-overview:Jami archive (export.gz)>` is put on the " -"Jami network for a few minutes. It is protected by a password Jami gives" -" you." +"<developer/technical-overview:Jami archive (export.gz)>` is put on the Jami " +"network for a few minutes. It is protected by a password Jami gives you." msgstr "" -#: ../../../user/faq.rst:367 +#: ../../../user/faq.rst:370 msgid "" -"The new device receives your full account certificate with the master RSA" -" keys, but it generates a new device key for signing/encrypting messages." +"The new device receives your full account certificate with the master RSA " +"keys, but it generates a new device key for signing/encrypting messages." msgstr "" -#: ../../../user/faq.rst:373 +#: ../../../user/faq.rst:376 msgid "Advanced" -msgstr "" +msgstr "پیشرفته" -#: ../../../user/faq.rst:376 +#: ../../../user/faq.rst:379 msgid "What protocol does Jami use for the end-to-end encryption?" msgstr "" -#: ../../../user/faq.rst:378 +#: ../../../user/faq.rst:381 msgid "" -"We use TLS 1.3 with a perfect forward secrecy requirement for the " -"negotiated ciphers for calls and file transfers. Messages are encrypted " -"with an RSA key." +"We use TLS 1.3 with a perfect forward secrecy requirement for the negotiated" +" ciphers for calls and file transfers. Messages are encrypted with an RSA " +"key." msgstr "" -#: ../../../user/faq.rst:384 +#: ../../../user/faq.rst:387 msgid "" -"What data passes through my machine when I participate in the Jami " -"network?" +"What data passes through my machine when I participate in the Jami network?" msgstr "" -#: ../../../user/faq.rst:386 +#: ../../../user/faq.rst:389 msgid "**All these data are encrypted**. There is:" msgstr "" -#: ../../../user/faq.rst:388 +#: ../../../user/faq.rst:391 msgid "" "ICE descriptors of other Jami users (ICE is a protocol that helps " "establishing communication between two computers);" msgstr "" -#: ../../../user/faq.rst:390 +#: ../../../user/faq.rst:393 msgid "certain text messages; and" msgstr "" -#: ../../../user/faq.rst:391 +#: ../../../user/faq.rst:394 msgid "accounts currently being linked to a new device, as explained above." msgstr "" -#: ../../../user/faq.rst:393 +#: ../../../user/faq.rst:396 msgid "" -"Audio/video streams and some text messages pass through the VOIP " -"protocol. Text messages can be sent either via VOIP or DHT (the " -"distributed network) depending on whether a VOIP communication channel is" -" already open or not." +"Audio/video streams and some text messages pass through the VOIP protocol. " +"Text messages can be sent either via VOIP or DHT (the distributed network) " +"depending on whether a VOIP communication channel is already open or not." msgstr "" -#: ../../../user/faq.rst:399 +#: ../../../user/faq.rst:402 msgid "Why am I able to communicate with myself?" msgstr "" -#: ../../../user/faq.rst:401 +#: ../../../user/faq.rst:404 msgid "Many users use Jami to transfer data from one machine to another." msgstr "" -#: ../../../user/faq.rst:404 +#: ../../../user/faq.rst:407 msgid "Should I enable push notifications?" msgstr "" -#: ../../../user/faq.rst:406 +#: ../../../user/faq.rst:409 msgid "" "Push notifications allow Jami to operate in a way more adapted to the " "context of mobility (energy consumption, data, ...). However, for the " -"moment, notifications go through Google's servers, via the Firebase " -"service. Only one identifier is transferred and it is unusable for " -"anyone who does not have access to your account." +"moment, notifications go through Google's servers, via the Firebase service." +" Only one identifier is transferred and it is unusable for anyone who does " +"not have access to your account." msgstr "" -#: ../../../user/faq.rst:413 +#: ../../../user/faq.rst:416 msgid "What is a bootstrap server?" msgstr "" -#: ../../../user/faq.rst:415 +#: ../../../user/faq.rst:418 msgid "" -"A bootstrap server is the entry point of the distributed network. To " -"enter in a network, Jami must know one other node. This is the role of " -"the bootstrap. It can be any node in the network, but, bootstrap nodes " -"are generally always up and available. The default one in Jami is " +"A bootstrap server is the entry point of the distributed network. To enter " +"in a network, Jami must know one other node. This is the role of the " +"bootstrap. It can be any node in the network, but, bootstrap nodes are " +"generally always up and available. The default one in Jami is " "``bootstrap.jami.net``." msgstr "" -#: ../../../user/faq.rst:422 +#: ../../../user/faq.rst:425 msgid "What is a TURN server? What is STUN?" msgstr "" -#: ../../../user/faq.rst:424 +#: ../../../user/faq.rst:427 msgid "" -"A TURN server is a relay, and is generally used when two peers can't " -"contact to each other due to some firewall restriction, have NAT without " -"any opened port, and no IPv6." +"A TURN server is a relay, and is generally used when two peers can't contact" +" to each other due to some firewall restriction, have NAT without any opened" +" port, and no IPv6." msgstr "" -#: ../../../user/faq.rst:428 +#: ../../../user/faq.rst:431 msgid "" -"A STUN server is only used for SIP accounts, and is generally used to get" -" your public IP. For Jami accounts, the DHT already gives this " -"information." +"A STUN server is only used for SIP accounts, and is generally used to get " +"your public IP. For Jami accounts, the DHT already gives this information." msgstr "" -#: ../../../user/faq.rst:433 +#: ../../../user/faq.rst:436 msgid "What is DHT proxy?" msgstr "" -#: ../../../user/faq.rst:435 +#: ../../../user/faq.rst:438 msgid "" -"The DHT proxy is a server that registers on the DHT for you and relays " -"your information to you. Thus, it is the server that will be active on " -"the DHT and will participate in the network, and no longer the target " -"device. Multiple devices can register on the same DHT proxy." +"The DHT proxy is a server that registers on the DHT for you and relays your " +"information to you. Thus, it is the server that will be active on the DHT " +"and will participate in the network, and no longer the target device. " +"Multiple devices can register on the same DHT proxy." msgstr "" -#: ../../../user/faq.rst:441 +#: ../../../user/faq.rst:444 msgid "How does the username registration service work?" msgstr "" -#: ../../../user/faq.rst:443 +#: ../../../user/faq.rst:446 msgid "" -"With the default name server (``ns.jami.net``), the usernames are " -"registered on an Ethereum blockchain. If you are a developer, you can " -"build your own name server with the underlying data storage technology of" -" your choice (e.g. you could use a SQL database rather than using a " -"blockchain)." +"With the default name server (``ns.jami.net``), the usernames are registered" +" on an Ethereum blockchain. If you are a developer, you can build your own " +"name server with the underlying data storage technology of your choice (e.g." +" you could use a SQL database rather than using a blockchain)." msgstr "" -#: ../../../user/faq.rst:449 +#: ../../../user/faq.rst:452 msgid "" "With the default name server, you can look up usernames at " -"``https://ns.jami.net/name/test``, where ``test`` is a username for which" -" we are looking for a matching :doc:`Infohash <../developer/jami-" -"identifiers>`. Once registered, this name server **does not** provide " -"any way to remove the mapping." +"``https://ns.jami.net/name/test``, where ``test`` is a username for which we" +" are looking for a matching :doc:`Infohash <../developer/jami-identifiers>`." +" Once registered, this name server **does not** provide any way to remove " +"the mapping." msgstr "" -#: ../../../user/faq.rst:455 +#: ../../../user/faq.rst:458 msgid "Read more about the Jami :doc:`../developer/name-server-protocol`." msgstr "" -#: ../../../user/faq.rst:458 +#: ../../../user/faq.rst:461 msgid "How can I change the timeout for a call?" msgstr "" -#: ../../../user/faq.rst:460 +#: ../../../user/faq.rst:463 msgid "" -"In the ``dring.yml`` file (see :ref:`user/faq:Where are the configuration" -" files located?`), you can change the ``ringingTimeout`` (in seconds)." +"In the ``dring.yml`` file (see :ref:`user/faq:Where are the configuration " +"files located?`), you can change the ``ringingTimeout`` (in seconds)." msgstr "" -#: ../../../user/faq.rst:465 +#: ../../../user/faq.rst:468 msgid "How to back up and reimport conversations and accounts" msgstr "" -#: ../../../user/faq.rst:467 +#: ../../../user/faq.rst:470 msgid "This is only for clients based on LRC (desktop ones)." msgstr "" -#: ../../../user/faq.rst:469 +#: ../../../user/faq.rst:472 msgid "" -"First you will need to export all your accounts (For GNU/Linux: " -"``Settings`` => ``Account`` => ``Export account``). Then you will need " -"to copy the database (in ``~/.local/share/jami/`` for example)." +"First you will need to export all your accounts (For GNU/Linux: ``Settings``" +" => ``Account`` => ``Export account``). Then you will need to copy the " +"database (in ``~/.local/share/jami/`` for example)." msgstr "" -#: ../../../user/faq.rst:473 +#: ../../../user/faq.rst:476 msgid "" -"Then on the new device, when you will open Jami for the first time, you " -"have to re-import your accounts via the archive previously saved. This " -"will re-import your settings and contacts (with empty conversations). " -"Then close the client and replace the database with the one previously " -"saved. That's all!" +"Then on the new device, when you will open Jami for the first time, you have" +" to re-import your accounts via the archive previously saved. This will re-" +"import your settings and contacts (with empty conversations). Then close the" +" client and replace the database with the one previously saved. That's all!" msgstr "" -#: ../../../user/faq.rst:480 +#: ../../../user/faq.rst:483 msgid "How secure are you?" msgstr "" -#: ../../../user/faq.rst:482 +#: ../../../user/faq.rst:485 msgid "" "**We use TLS/SRTP to secure connection and communications over the " "network.**" msgstr "" -#: ../../../user/faq.rst:485 +#: ../../../user/faq.rst:488 msgid "" -"We implement SRTP over SIP using recommendations described in the " -"following two RFCs:" +"We implement SRTP over SIP using recommendations described in the following " +"two RFCs:" msgstr "" -#: ../../../user/faq.rst:488 +#: ../../../user/faq.rst:491 msgid "`RFC 3711 <https://tools.ietf.org/html/rfc3711>`_" msgstr "" -#: ../../../user/faq.rst:489 +#: ../../../user/faq.rst:492 msgid "`RFC 4568 <https://tools.ietf.org/html/rfc4568>`_" msgstr "" -#: ../../../user/faq.rst:491 +#: ../../../user/faq.rst:494 msgid "" -"Typically 2 kinds of sockets are negotiated. One for the control socket," -" the other for the media sockets." +"Typically 2 kinds of sockets are negotiated. One for the control socket, " +"the other for the media sockets." msgstr "" -#: ../../../user/faq.rst:494 +#: ../../../user/faq.rst:497 msgid "Typical control session will use the following cipher suite::" msgstr "" -#: ../../../user/faq.rst:499 +#: ../../../user/faq.rst:502 msgid "DTLS (fallback) supported::" msgstr "" -#: ../../../user/faq.rst:503 +#: ../../../user/faq.rst:506 msgid "TLS::" msgstr "" -#: ../../../user/faq.rst:507 +#: ../../../user/faq.rst:510 msgid "Supported crypto suite for the media session are:" msgstr "" -#: ../../../user/faq.rst:509 +#: ../../../user/faq.rst:512 msgid "``AES_CM_128_HMAC_SHA1_80 / SRTP_AES128_CM_HMAC_SHA1_80``" msgstr "" -#: ../../../user/faq.rst:510 +#: ../../../user/faq.rst:513 msgid "``AES_CM_128_HMAC_SHA1_32 / SRTP_AES128_CM_HMAC_SHA1_32``" msgstr "" -#: ../../../user/faq.rst:513 +#: ../../../user/faq.rst:516 msgid "When do public IPs get exposed?" msgstr "" -#: ../../../user/faq.rst:515 +#: ../../../user/faq.rst:518 msgid "" "We can consider three main connectivity scenarios: (1) a classic " -"configuration, (2) behind a VPN, (3) via Tor. As Jami is a p2p " -"application, the reader would probably know that (2) or (3) is a bit " -"mandatory to avoid IP leaking." +"configuration, (2) behind a VPN, (3) via Tor. As Jami is a p2p application," +" the reader would probably know that (2) or (3) is a bit mandatory to avoid " +"IP leaking." msgstr "" -#: ../../../user/faq.rst:520 +#: ../../../user/faq.rst:523 msgid "" -"Moreover, even if it's my answer, you can choose to not trust my answer " -"and check the code, or use wireshark or other tools. Generally, I (and as" -" far as I know most other Jami developers) use the first scenario " -"(sometimes the second one), and we surely can't test all the possible " -"networks configurations we would like to, so if you discover a bug, " -"please :doc:`open an issue <bug-report-guide>`." +"Moreover, even if it's my answer, you can choose to not trust my answer and " +"check the code, or use wireshark or other tools. Generally, I (and as far as" +" I know most other Jami developers) use the first scenario (sometimes the " +"second one), and we surely can't test all the possible networks " +"configurations we would like to, so if you discover a bug, please :doc:`open" +" an issue <bug-report-guide>`." msgstr "" -#: ../../../user/faq.rst:527 +#: ../../../user/faq.rst:530 msgid "Anyway, in these 3 scenarios, there are 3 main actions:" msgstr "" -#: ../../../user/faq.rst:529 +#: ../../../user/faq.rst:532 msgid "sending a message (this will use the DHT);" msgstr "" -#: ../../../user/faq.rst:530 +#: ../../../user/faq.rst:533 msgid "" -"sending a file (TCP ICE connection as described here: :doc:`../developer" -"/file-transfer`; and" +"sending a file (TCP ICE connection as described here: " +":doc:`../developer/file-transfer`; and" msgstr "" -#: ../../../user/faq.rst:532 +#: ../../../user/faq.rst:535 msgid "" "placing a call (TCP + UDP ICE connection as described here: " ":doc:`../developer/calls`)." msgstr "" -#: ../../../user/faq.rst:536 +#: ../../../user/faq.rst:539 msgid "Classic config" msgstr "" -#: ../../../user/faq.rst:538 ../../../user/faq.rst:564 -#: ../../../user/faq.rst:598 +#: ../../../user/faq.rst:541 ../../../user/faq.rst:567 +#: ../../../user/faq.rst:601 msgid "Send a message" -msgstr "" +msgstr "ارسال پیام" -#: ../../../user/faq.rst:540 +#: ../../../user/faq.rst:543 msgid "" "The Jami application is running a DHT (https://opendht.net) node on your " -"device. So every operations on the DHT will use your ips. This is why " -"Jami has the option to use a dhtproxy (eg dhtproxy.jami.net), this will " -"avoid to use your node, but will use another node on the network (which " -"will see your ip). Note that your message is not sent directly to the " -"other device. In fact your message is sent on some nodes of the DHT and " -"your contact will retrieve the message on this node. So, your contact " -"don't see your IP at this step, but the node who get the message will (or" -" they will see the IP of the proxy)." -msgstr "" - -#: ../../../user/faq.rst:550 ../../../user/faq.rst:584 -#: ../../../user/faq.rst:604 +"device. So every operations on the DHT will use your ips. This is why Jami " +"has the option to use a dhtproxy (eg dhtproxy.jami.net), this will avoid to " +"use your node, but will use another node on the network (which will see your" +" ip). Note that your message is not sent directly to the other device. In " +"fact your message is sent on some nodes of the DHT and your contact will " +"retrieve the message on this node. So, your contact don't see your IP at " +"this step, but the node who get the message will (or they will see the IP of" +" the proxy)." +msgstr "" + +#: ../../../user/faq.rst:553 ../../../user/faq.rst:587 +#: ../../../user/faq.rst:607 msgid "Send a file" -msgstr "" +msgstr "ارسال فایل" -#: ../../../user/faq.rst:552 +#: ../../../user/faq.rst:555 msgid "" -"As described in the docs, you will send a message with all the IP you " -"know that your peer can contact in an encrypted packet. So, if your peer " -"send you a file or you send a file, your addresses will appear in the ICE" -" message." +"As described in the docs, you will send a message with all the IP you know " +"that your peer can contact in an encrypted packet. So, if your peer send you" +" a file or you send a file, your addresses will appear in the ICE message." msgstr "" -#: ../../../user/faq.rst:557 +#: ../../../user/faq.rst:560 msgid "Calls" -msgstr "" +msgstr "تماسها" -#: ../../../user/faq.rst:559 +#: ../../../user/faq.rst:562 msgid "Same as above, the IP is present in the ICE." msgstr "" -#: ../../../user/faq.rst:562 +#: ../../../user/faq.rst:565 msgid "Behind a VPN" msgstr "" -#: ../../../user/faq.rst:566 +#: ../../../user/faq.rst:569 msgid "" -"The IP of your VPN will be used by the DHT node. If you want a proof, you" -" can compile dhtnode and run the ``la`` command to get your public " -"detected address. This is what I got:" +"The IP of your VPN will be used by the DHT node. If you want a proof, you " +"can compile dhtnode and run the ``la`` command to get your public detected " +"address. This is what I got:" msgstr "" -#: ../../../user/faq.rst:581 +#: ../../../user/faq.rst:584 msgid "" -"So, if you don't use a proxy, your VPN addresses will be used for using " -"the DHT. If you use a dhtproxy, the dhtproxy will see your VPN addresses" +"So, if you don't use a proxy, your VPN addresses will be used for using the " +"DHT. If you use a dhtproxy, the dhtproxy will see your VPN addresses" msgstr "" -#: ../../../user/faq.rst:586 +#: ../../../user/faq.rst:589 msgid "" "Same as above, the ICE will contains: + addresses from your LAN + public " "address of your VPN + TURN address if TURN is enabled" msgstr "" -#: ../../../user/faq.rst:589 ../../../user/faq.rst:627 +#: ../../../user/faq.rst:592 ../../../user/faq.rst:630 msgid "Do a call" msgstr "" -#: ../../../user/faq.rst:591 +#: ../../../user/faq.rst:594 msgid "" -"Same as above, your public address is replaced by your VPN address. You " -"can see it in the logs from daemon. See :ref:`user/bug-report-" -"guide:logs`." +"Same as above, your public address is replaced by your VPN address. You can " +"see it in the logs from daemon. See :ref:`user/bug-report-guide:logs`." msgstr "" -#: ../../../user/faq.rst:596 +#: ../../../user/faq.rst:599 msgid "Tor" msgstr "" -#: ../../../user/faq.rst:600 +#: ../../../user/faq.rst:603 msgid "" -"Tor basically doesn't supports UDP. This means that you can't use your " -"DHT node locally, you MUST use a DHTProxy. That proxy will see the Exit " -"node." +"Tor basically doesn't supports UDP. This means that you can't use your DHT " +"node locally, you MUST use a DHTProxy. That proxy will see the Exit node." msgstr "" -#: ../../../user/faq.rst:606 +#: ../../../user/faq.rst:609 msgid "" -"I prefer a proof that any description. So, I did a file transfer with " -"Jami + TOR. This is what I see in the logs for the remote:" +"I prefer a proof that any description. So, I did a file transfer with Jami +" +" TOR. This is what I see in the logs for the remote:" msgstr "" -#: ../../../user/faq.rst:618 +#: ../../../user/faq.rst:621 msgid "" -"The first ones are some 192.168.x.x so we don't care. 51.254.39.157 is " -"the TURN address in France (my device is in the Canada). 185.220.101.24 " -"is the Tor exit node:" +"The first ones are some 192.168.x.x so we don't care. 51.254.39.157 is the " +"TURN address in France (my device is in the Canada). 185.220.101.24 is the " +"Tor exit node:" msgstr "" -#: ../../../user/faq.rst:629 +#: ../../../user/faq.rst:632 msgid "" "This will not work (actually, you can create the SIP control connection " -"because it's a TCP connection), but medias are negotiated in UDP, so this" -" will fail." +"because it's a TCP connection), but medias are negotiated in UDP, so this " +"will fail." msgstr "" -#: ../../../user/faq.rst:634 +#: ../../../user/faq.rst:637 msgid "What ports does Jami use?" msgstr "" -#: ../../../user/faq.rst:636 +#: ../../../user/faq.rst:639 msgid "" "Jami works as a server and gets new ports for each connections (randomly " "bound). These are the ranges that can be used for each component:" msgstr "" -#: ../../../user/faq.rst:639 +#: ../../../user/faq.rst:642 msgid "dht: UDP [4000, 8888]" msgstr "" -#: ../../../user/faq.rst:640 +#: ../../../user/faq.rst:643 msgid "audio: UDP [16384-32766]" msgstr "" -#: ../../../user/faq.rst:641 +#: ../../../user/faq.rst:644 msgid "video: UDP [49152-65534]" msgstr "" -#: ../../../user/faq.rst:642 +#: ../../../user/faq.rst:645 msgid "SIP Control: UDP/TCP randomly bound" msgstr "" -#: ../../../user/faq.rst:644 +#: ../../../user/faq.rst:647 msgid "" "Note: if UDP is blocked, a dhtproxy can be used to use TCP instead. Note " "that medias will not work cause it only supports UDP." msgstr "" -#: ../../../user/faq.rst:647 +#: ../../../user/faq.rst:650 msgid "So for ufw, we recommend running ``sudo ufw default allow outgoing``." msgstr "" -#: ../../../user/faq.rst:649 +#: ../../../user/faq.rst:652 msgid "" -"For now, you can't specify a specific range to configure ports used by " -"Jami. The inbound traffic can be controlled without issue, Jami should " -"work and can use a TURN server if needed." +"For now, you can't specify a specific range to configure ports used by Jami." +" The inbound traffic can be controlled without issue, Jami should work and " +"can use a TURN server if needed." msgstr "" -#: ../../../user/faq.rst:653 +#: ../../../user/faq.rst:656 msgid "If you run your own proxy or nameserver:" msgstr "" -#: ../../../user/faq.rst:655 +#: ../../../user/faq.rst:658 msgid "dhtproxy, nameserver: TCP [80-100], 443" msgstr "" -#: ../../../user/faq.rst:657 +#: ../../../user/faq.rst:660 msgid "If you run your own TURN server:" msgstr "" -#: ../../../user/faq.rst:659 +#: ../../../user/faq.rst:662 msgid "TURN/STUN: TCP+UDP 3478, 5349" msgstr "" -#: ../../../user/faq.rst:662 +#: ../../../user/faq.rst:665 msgid "Can I use Jami in a local network (LAN) without internet access?" msgstr "" -#: ../../../user/faq.rst:664 +#: ../../../user/faq.rst:667 msgid "" -"Yes! Thanks to Jami's architecture, Jami users on a local/private " -"network can communicate among themselves using Jami, without requiring " -"any outside connectivity such as the internet." +"Yes! Thanks to Jami's architecture, Jami users on a local/private network " +"can communicate among themselves using Jami, without requiring any outside " +"connectivity such as the internet." msgstr "" -#: ../../../user/faq.rst:668 +#: ../../../user/faq.rst:671 msgid "" "To do so, from Jami's ``Account`` settings open ``Advanced account " "settings``. There, enable the ``Enable local peer discovery`` setting. " -"Additionally, you may want to manually set the ``bootstrap`` node's " -"address (default: ``bootstrap.jami.net``) to the IP address of another " -"device on your network that also runs Jami and/or an OpenDHT node." +"Additionally, you may want to manually set the ``bootstrap`` node's address " +"(default: ``bootstrap.jami.net``) to the IP address of another device on " +"your network that also runs Jami and/or an OpenDHT node." msgstr "" -#: ../../../user/faq.rst:675 +#: ../../../user/faq.rst:678 msgid "" "If you will use this Jami account for communicating only with only with " -"other devices on the same local/private network, you can disable TURN if " -"you wish. If you do so, and later you decide to use this account also " -"for communicating with other Jami devices outside your network, don't " -"forget to enable TURN again, as it helps Jami work around issues with " -"some overly restrictive firewalls." +"other devices on the same local/private network, you can disable TURN if you" +" wish. If you do so, and later you decide to use this account also for " +"communicating with other Jami devices outside your network, don't forget to " +"enable TURN again, as it helps Jami work around issues with some overly " +"restrictive firewalls." msgstr "" -#: ../../../user/faq.rst:684 +#: ../../../user/faq.rst:687 msgid "How can I configure the codecs even more?" msgstr "" -#: ../../../user/faq.rst:686 +#: ../../../user/faq.rst:689 msgid "" -"Codecs can be configured via a file. In the configurations files, you can" -" create a file called ``encoder.json`` like this:" +"Codecs can be configured via a file. In the configurations files, you can " +"create a file called ``encoder.json`` like this:" msgstr "" -#: ../../../user/faq.rst:706 +#: ../../../user/faq.rst:709 msgid "or:" msgstr "" -#: ../../../user/faq.rst:716 +#: ../../../user/faq.rst:719 msgid "" "This file is :ref:`located in the same directory <user/faq:Where are the " "configuration files located?>` as ``dring.yml``." msgstr "" -#: ../../../user/faq.rst:719 +#: ../../../user/faq.rst:722 msgid "" "To check which options are supported, use the command ``ffmpeg -h " -"encoder=[encoder_name]``, where ``encoder_name`` can be any of " -"``libx264``, ``libvpx``, ``mpeg4``, ``h263``, ``libopus``, ``libspeex``, " -"``g722``, ``pcm_alaw``, or ``pcm_mulaw`` (the FFmpeg names for all of " -"Jami's supported encoders)." +"encoder=[encoder_name]``, where ``encoder_name`` can be any of ``libx264``, " +"``libvpx``, ``mpeg4``, ``h263``, ``libopus``, ``libspeex``, ``g722``, " +"``pcm_alaw``, or ``pcm_mulaw`` (the FFmpeg names for all of Jami's supported" +" encoders)." msgstr "" -#: ../../../user/faq.rst:726 +#: ../../../user/faq.rst:729 msgid "How can I configure the audio processor?" msgstr "" -#: ../../../user/faq.rst:728 +#: ../../../user/faq.rst:731 msgid "" "An audio processor allows Jami to clean up and process your microphone's " "audio. It can remove echo, reduce noise, and equalize your microphone's " "volume. Additionally, it can detect when you're speaking and send this " -"information to participants in your call. The audio processor settings " -"can be set in your ``dring.yml`` file. See :ref:`this section to find " -"where this file is located <config-file-location>`." +"information to participants in your call. The audio processor settings can " +"be set in your ``dring.yml`` file. See :ref:`this section to find where this" +" file is located <config-file-location>`." msgstr "" -#: ../../../user/faq.rst:734 +#: ../../../user/faq.rst:737 msgid "The relevant preference keys are:" msgstr "" -#: ../../../user/faq.rst:736 +#: ../../../user/faq.rst:739 msgid "" -"``audioProcessor``, which configures which audio processor to use. The " -"valid options are:" +"``audioProcessor``, which configures which audio processor to use. The valid" +" options are:" msgstr "" -#: ../../../user/faq.rst:738 +#: ../../../user/faq.rst:741 msgid "" "``webrtc``: the `WebRTC Audio Processing library " -"<https://www.freedesktop.org/software/pulseaudio/webrtc-audio-" -"processing/>`_" +"<https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/>`_" msgstr "" -#: ../../../user/faq.rst:739 +#: ../../../user/faq.rst:742 msgid "" -"``speex``: the `Speex DSP library " -"<https://gitlab.xiph.org/xiph/speexdsp>`_" +"``speex``: the `Speex DSP library <https://gitlab.xiph.org/xiph/speexdsp>`_" msgstr "" -#: ../../../user/faq.rst:740 +#: ../../../user/faq.rst:743 msgid "" -"``null``: disables audio processing (though your system echo canceller " -"may still be used, see below)" +"``null``: disables audio processing (though your system echo canceller may " +"still be used, see below)" msgstr "" -#: ../../../user/faq.rst:742 +#: ../../../user/faq.rst:745 msgid "" "``echoCancel``, which configures how echo cancelling should be done. The " "valid options are:" msgstr "" -#: ../../../user/faq.rst:744 +#: ../../../user/faq.rst:747 msgid "" -"``auto``: try to use your operating system's echo canceller (if it " -"exists), otherwise fall back to the chosen audio processor's echo " -"canceller" +"``auto``: try to use your operating system's echo canceller (if it exists), " +"otherwise fall back to the chosen audio processor's echo canceller" msgstr "" -#: ../../../user/faq.rst:745 -msgid "``audioProcessor``: only use the chosen audio processor's echo canceller" +#: ../../../user/faq.rst:748 +msgid "" +"``audioProcessor``: only use the chosen audio processor's echo canceller" msgstr "" -#: ../../../user/faq.rst:746 +#: ../../../user/faq.rst:749 msgid "``system``: only use your operating system's echo canceller" msgstr "" -#: ../../../user/faq.rst:747 +#: ../../../user/faq.rst:750 msgid "``null``: don't do any echo cancelling" msgstr "" -#: ../../../user/faq.rst:749 +#: ../../../user/faq.rst:752 msgid "" "``noiseReduce``, ``true``/``false`` to set noise reduction on the audio " "processor" msgstr "" -#: ../../../user/faq.rst:750 +#: ../../../user/faq.rst:753 msgid "" -"``automaticGainControl``, ``true``/``false`` to set automatic gain " -"control on the audio processor" +"``automaticGainControl``, ``true``/``false`` to set automatic gain control " +"on the audio processor" msgstr "" -#: ../../../user/faq.rst:751 +#: ../../../user/faq.rst:754 msgid "" "``voiceActivityDetection``, ``true``/``false`` to set voice activity " "detection on the audio processor" @@ -1996,19 +1996,18 @@ msgstr "" #: ../../../user/index.rst:5 msgid "" -"The Jami user manual introduces Jami and its features, provides " -"additional information on methods of installing Jami, answers users' most" -" common questions in the FAQ (frequently asked questions), and includes " -"various user guides and tutorials for users, such as the :doc:`bug-" -"report-guide` with step-by-step instructions for reporting bugs and " -"issues." +"The Jami user manual introduces Jami and its features, provides additional " +"information on methods of installing Jami, answers users' most common " +"questions in the FAQ (frequently asked questions), and includes various user" +" guides and tutorials for users, such as the :doc:`bug-report-guide` with " +"step-by-step instructions for reporting bugs and issues." msgstr "" #: ../../../user/introduction.rst:2 msgid "Introduction" msgstr "" -#: ../../../user/introduction.rst:-1 +#: ../../../user/introduction.rst-1 msgid "Jami logo" msgstr "" @@ -2020,16 +2019,16 @@ msgstr "" #: ../../../user/introduction.rst:10 msgid "" -"Jami's features include: text chats, voice and video calls, screen " -"sharing, file sharing, conference calls, and :doc:`group chats " -"<../developer/swarm>`. Jami can also function as a regular SIP client." +"Jami's features include: text chats, voice and video calls, screen sharing, " +"file sharing, conference calls, and :doc:`group chats <../developer/swarm>`." +" Jami can also function as a regular SIP client." msgstr "" #: ../../../user/introduction.rst:15 msgid "" -"Jami works on GNU/Linux, Windows, macOS, iOS, and Android. Multiple " -"devices can be linked to a Jami account, and no personal information is " -"required to create an account." +"Jami works on GNU/Linux, Windows, macOS, iOS, and Android. Multiple devices" +" can be linked to a Jami account, and no personal information is required to" +" create an account." msgstr "" #: ../../../user/introduction.rst:20 @@ -2039,25 +2038,24 @@ msgstr "" #: ../../../user/introduction.rst:22 msgid "" "Jami uses a `distributed hash table " -"<https://en.wikipedia.org/wiki/Distributed_hash_table>`_ (DHT) to connect" -" peers. Jami accounts are asymmetric `X.509 certificates " -"<https://en.wikipedia.org/wiki/X.509>`_ generated by the GnuTLS library." -" Calls are made over the `Session Initiation Protocol " -"<https://en.wikipedia.org/wiki/Session_Initiation_Protocol>`_ (SIP) after" -" negotiating a `TLS " -"<https://en.wikipedia.org/wiki/Transport_Layer_Security>`_-encrypted " -"secure connection, performing `Secure Real-time Transport Protocol " -"<https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol>`_ " -"(SRTP) communication which carries the media streams." +"<https://en.wikipedia.org/wiki/Distributed_hash_table>`_ (DHT) to connect " +"peers. Jami accounts are asymmetric `X.509 certificates " +"<https://en.wikipedia.org/wiki/X.509>`_ generated by the GnuTLS library. " +"Calls are made over the `Session Initiation Protocol " +"<https://en.wikipedia.org/wiki/Session_Initiation_Protocol>`_ (SIP) after " +"negotiating a `TLS " +"<https://en.wikipedia.org/wiki/Transport_Layer_Security>`_-encrypted secure " +"connection, performing `Secure Real-time Transport Protocol " +"<https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol>`_ (SRTP)" +" communication which carries the media streams." msgstr "" #: ../../../user/introduction.rst:34 msgid "" "For more on how Jami works, see the `Jami and how it empowers users " -"<https://kelar.org/~bandali/talks/jami-empowers-users.html>`_ talk by " -"`Amin Bandali <https://kelar.org/~bandali/>`_, as well as the " -":doc:`Technical Overview <../developer/technical-overview>` for more in-" -"depth information." +"<https://kelar.org/~bandali/talks/jami-empowers-users.html>`_ talk by `Amin " +"Bandali <https://kelar.org/~bandali/>`_, as well as the :doc:`Technical " +"Overview <../developer/technical-overview>` for more in-depth information." msgstr "" #: ../../../user/introduction.rst:41 @@ -2067,16 +2065,16 @@ msgstr "" #: ../../../user/introduction.rst:43 msgid "" "The Jami project is led by `Savoir-faire Linux " -"<https://www.savoirfairelinux.com/en/>`_ -- a Canadian/Québécois " -"GNU/Linux consulting company -- and is supported by a global community of" -" free software enthusiasts, users, and contributors." +"<https://www.savoirfairelinux.com/en/>`_ -- a Canadian/Québécois GNU/Linux " +"consulting company -- and is supported by a global community of free " +"software enthusiasts, users, and contributors." msgstr "" #: ../../../user/introduction.rst:48 msgid "" -"Jami is `free software <https://www.gnu.org/philosophy/free-sw.html>`_ " -"and an official GNU package, developed and distributed under the `GNU " -"GPLv3+ <https://www.gnu.org/licenses/gpl-3.0.html>`_ license." +"Jami is `free software <https://www.gnu.org/philosophy/free-sw.html>`_ and " +"an official GNU package, developed and distributed under the `GNU GPLv3+ " +"<https://www.gnu.org/licenses/gpl-3.0.html>`_ license." msgstr "" #: ../../../user/jami-distributed-network.md:1 @@ -2085,13 +2083,12 @@ msgstr "" #: ../../../user/jami-distributed-network.md:4 msgid "Connectivity" -msgstr "" +msgstr "اتصال" #: ../../../user/jami-distributed-network.md:6 msgid "" -"Jami relies on a [distributed network](tutorials/Jami-distributed-" -"network), that brings multiple advantages when compared to federated " -"networks:" +"Jami relies on a [distributed network](tutorials/Jami-distributed-network), " +"that brings multiple advantages when compared to federated networks:" msgstr "" #: ../../../user/jami-distributed-network.md:10 @@ -2126,8 +2123,8 @@ msgstr "" #: ../../../user/jami-distributed-network.md:19 msgid "" -"The core problem of distributed communication systems is peer " -"connectivity, Jami achieves it through two elements:" +"The core problem of distributed communication systems is peer connectivity, " +"Jami achieves it through two elements:" msgstr "" #: ../../../user/jami-distributed-network.md:22 @@ -2160,30 +2157,30 @@ msgstr "" msgid "" "See " "[<https://github.com/savoirfairelinux/opendht>](https://github.com/savoirfairelinux/opendht)" -" for more information about OpenDHT, which provides a distributed key-" -"value datastore for connectivity establishment (with ICE) and message " -"distribution in Jami." +" for more information about OpenDHT, which provides a distributed key-value " +"datastore for connectivity establishment (with ICE) and message distribution" +" in Jami." msgstr "" #: ../../../user/jami-distributed-network.md:40 msgid "" -"An OpenDHT network can be joined by knowing about any node already " -"connected to the network. This node will then share its knowledge about " -"other nodes on the network." +"An OpenDHT network can be joined by knowing about any node already connected" +" to the network. This node will then share its knowledge about other nodes " +"on the network." msgstr "" #: ../../../user/jami-distributed-network.md:44 msgid "" -"Jami clients use a persistent node cache to reconnect to the network " -"after a first session. A configurable, known, stable \"bootstrap\" node " -"is used for the first connection or if cached nodes don't answer." +"Jami clients use a persistent node cache to reconnect to the network after a" +" first session. A configurable, known, stable \"bootstrap\" node is used for" +" the first connection or if cached nodes don't answer." msgstr "" #: ../../../user/jami-distributed-network.md:48 msgid "" "Jami clients currently use bootstrap.jami.net:4222 as the default " -"(configurable) bootstrap node and network ID 0 (the default, public " -"OpenDHT network)." +"(configurable) bootstrap node and network ID 0 (the default, public OpenDHT " +"network)." msgstr "" #: ../../../user/jami-distributed-network.md:52 @@ -2198,24 +2195,24 @@ msgstr "" #: ../../../user/jami-distributed-network.md:57 msgid "" -"Jami users can have full independence by running their own stable OpenDHT" -" node and configure it as a bootstrap node in Jami, while helping to " -"improve stability, robustness and resilience for every user of the public" -" OpenDHT network." +"Jami users can have full independence by running their own stable OpenDHT " +"node and configure it as a bootstrap node in Jami, while helping to improve " +"stability, robustness and resilience for every user of the public OpenDHT " +"network." msgstr "" #: ../../../user/jami-distributed-network.md:62 msgid "" "A standalone node can be run using the [dhtnode " "utility](https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-" -"with-dhtnode) included with OpenDHT. dhtnode doesn't persist any data and" -" has a default in-memory storage limit of 8 MiB." +"with-dhtnode) included with OpenDHT. dhtnode doesn't persist any data and " +"has a default in-memory storage limit of 8 MiB." msgstr "" #: ../../../user/jami-distributed-network.md:67 msgid "" -"Stable community-run DHT nodes will be added to the default bootstrap " -"list at the request of their owner, as more bootstrap nodes means a more " +"Stable community-run DHT nodes will be added to the default bootstrap list " +"at the request of their owner, as more bootstrap nodes means a more " "resilient, independent network." msgstr "" @@ -2225,16 +2222,16 @@ msgstr "" #: ../../../user/jami-distributed-network.md:74 msgid "" -"The JamiNS blockchain is experimental and its architecture is expected to" -" evolve." +"The JamiNS blockchain is experimental and its architecture is expected to " +"evolve." msgstr "" #: ../../../user/jami-distributed-network.md:77 msgid "" -"Jami clients don't run blockchain nodes themselves but rather communicate" -" with a JamiNS server using HTTP for name registration and query, with a " -"REST API. This is because the resources needed to run a blockchain node " -"are too high for most end-users." +"Jami clients don't run blockchain nodes themselves but rather communicate " +"with a JamiNS server using HTTP for name registration and query, with a REST" +" API. This is because the resources needed to run a blockchain node are too " +"high for most end-users." msgstr "" #: ../../../user/jami-distributed-network.md:82 @@ -2251,15 +2248,15 @@ msgstr "" msgid "" "The default Jami name service is ns.jami.net, provided by Savoir-faire " "Linux, connected to an Ethereum blockchain node; the goal being to give " -"everyone the possibility (if they which so) to run their own blockchain " -"node and HTTP service, mine some Ether, and use it to pay the transaction" -" fee needed to register their username in Jami." +"everyone the possibility (if they which so) to run their own blockchain node" +" and HTTP service, mine some Ether, and use it to pay the transaction fee " +"needed to register their username in Jami." msgstr "" #: ../../../user/jami-distributed-network.md:93 msgid "" -"Code of the Ethereum contract, the blockchain genesis file, and the " -"NodeJS module (HTTP server) can be found here : " +"Code of the Ethereum contract, the blockchain genesis file, and the NodeJS " +"module (HTTP server) can be found here : " "[1](https://github.com/savoirfairelinux/ring-nameservice)" msgstr "" @@ -2272,7 +2269,8 @@ msgid "Pre-requisites:" msgstr "" #: ../../../user/jami-distributed-network.md:100 -msgid "Geth 1.8.23+ (download from [HERE](https://geth.ethereum.org/downloads/))" +msgid "" +"Geth 1.8.23+ (download from [HERE](https://geth.ethereum.org/downloads/))" msgstr "" #: ../../../user/jami-distributed-network.md:101 @@ -2288,9 +2286,9 @@ msgstr "" #: ../../../user/jami-distributed-network.md:106 msgid "" -"The process of joining the Jami network is similar to the process of " -"joining a regular ethereum network with the difference that the genesis " -"file is used to initialize the data directory." +"The process of joining the Jami network is similar to the process of joining" +" a regular ethereum network with the difference that the genesis file is " +"used to initialize the data directory." msgstr "" #: ../../../user/jami-distributed-network.md:108 @@ -2317,19 +2315,18 @@ msgstr "" #: ../../../user/jami-distributed-network.md:113 msgid "" -"Use geth to initialize the directory you created in (2) by running " -"```./geth --datadir /home/username/jamichain init genes is.json ```" +"Use geth to initialize the directory you created in (2) by running ```./geth" +" --datadir /home/username/jamichain init genes is.json ```" msgstr "" #: ../../../user/jami-distributed-network.md:114 msgid "" -"You can now start geth with the command-line options you need and " -"specifying one of Jami's bootnodes as follows:" +"You can now start geth with the command-line options you need and specifying" +" one of Jami's bootnodes as follows:" msgstr "" #: ../../../user/jami-distributed-network.md:119 msgid "" -"This will start a geth daemon with an attached console which is now " -"syncing with Jami's network." +"This will start a geth daemon with an attached console which is now syncing " +"with Jami's network." msgstr "" - diff --git a/locales/fr/LC_MESSAGES/build.po b/locales/fr/LC_MESSAGES/build.po index 5c4c018112cba7dba0abb63918704f59453a3b5b..6a431834a652edf603ed9fd7479fea1228d73471 100644 --- a/locales/fr/LC_MESSAGES/build.po +++ b/locales/fr/LC_MESSAGES/build.po @@ -1,45 +1,44 @@ # LANGUAGE translation of FILENAME.pot # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors # This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Translators: +# Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022 +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n" +"POT-Creation-Date: 2022-10-26 17:49+0000\n" +"PO-Revision-Date: 2022-09-14 17:46+0000\n" +"Last-Translator: Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022\n" +"Language-Team: French (https://www.transifex.com/savoirfairelinux/teams/49466/fr/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" - -#: ../../../build/building.rst:2 -msgid "Building" -msgstr "" - -#: ../../../build/building.rst:4 ../../../build/packaging.rst:4 -msgid "TODO" -msgstr "" +"Language: fr\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" #: ../../../build/dependencies.rst:2 msgid "Dependencies" -msgstr "" +msgstr "Dépendances" #: ../../../build/dependencies.rst:4 msgid "" "Jami is a large and complex piece of software, and depends on several " -"external free software libraries. Here we outline these dependencies and" -" how to install them with a few popular package systems." +"external free software libraries. Here we outline these dependencies and " +"how to install them with a few popular package systems." msgstr "" +"Jami est un logiciel vaste et complexe, qui dépend de plusieurs " +"bibliothèques externes de logiciels libres. Nous décrivons ici ces " +"dépendances et comment les installer avec quelques systèmes de paquets " +"populaires." #: ../../../build/dependencies.rst:16 ../../../build/dependencies.rst:107 msgid "jami-daemon" -msgstr "" +msgstr "jami-daemon" #: ../../../build/dependencies.rst:18 msgid "" @@ -226,23 +225,22 @@ msgstr "" #: ../../../build/dependencies.rst:66 ../../../build/dependencies.rst:136 msgid "" "On dpkg/deb-based GNU/Linux distributions such as Debian, Trisquel, and " -"Ubuntu you can install these using packages using ``apt-get`` or ``apt`` " -"as follows::" +"Ubuntu you can install these using packages using ``apt-get`` or ``apt`` as " +"follows::" msgstr "" #: ../../../build/dependencies.rst:80 msgid "" -"On rpm-based distributions like Fedora and openSUSE the dependencies can " -"be installed using ``dnf``, ``yum``, or ``zypper`` like so::" +"On rpm-based distributions like Fedora and openSUSE the dependencies can be " +"installed using ``dnf``, ``yum``, or ``zypper`` like so::" msgstr "" #: ../../../build/dependencies.rst:94 msgid "" -"We will do our best to keep the above list up-to-date, but in case you " -"face any issues with missing dependencies you can always check the " -"package definitions for Jami packages distributed via dl.jami.net, as " -"well as the ``build.py`` script, available in the ``jami-project`` " -"repository." +"We will do our best to keep the above list up-to-date, but in case you face " +"any issues with missing dependencies you can always check the package " +"definitions for Jami packages distributed via dl.jami.net, as well as the " +"``build.py`` script, available in the ``jami-project`` repository." msgstr "" #: ../../../build/dependencies.rst:102 @@ -268,7 +266,8 @@ msgid "libqrencode" msgstr "" #: ../../../build/dependencies.rst:111 -msgid "libayatana-appindicator or libappindicator (optional, for notifications)" +msgid "" +"libayatana-appindicator or libappindicator (optional, for notifications)" msgstr "" #: ../../../build/dependencies.rst:113 @@ -307,19 +306,32 @@ msgstr "" #: ../../../build/dependencies.rst:123 msgid "" -"The libqt-jami and jami-libqt packages from dl.jami.net provide the " -"needed Qt 6 dependencies on supported dpkg/deb-based and rpm-based " -"GNU/Linux distributions respectively. This is especially useful for " -"building Jami on slightly older versions of these distributions where Qt " -"6 was not yet packaged in the distribution's official repositories. To " -"install this package providing the Qt 6 dependencies on a supported " -"distribution, first add the respective dl.jami.net repository by " -"following the instructions on the `Download Jami for GNU/Linux " -"<https://jami.net/download-jami-linux/>`_ page of the Jami website, then " -"install the package using a command like ``sudo apt-get install libqt-" -"jami`` (for dpkg/deb-based GNU/Linux distributions) and ``sudo dnf " -"install jami-libqt`` (for rpm-based GNU/Linux distributions)." -msgstr "" +"The libqt-jami and jami-libqt packages from dl.jami.net provide the needed " +"Qt 6 dependencies on supported dpkg/deb-based and rpm-based GNU/Linux " +"distributions respectively. This is especially useful for building Jami on " +"slightly older versions of these distributions where Qt 6 was not yet " +"packaged in the distribution's official repositories. To install this " +"package providing the Qt 6 dependencies on a supported distribution, first " +"add the respective dl.jami.net repository by following the instructions on " +"the `Download Jami for GNU/Linux <https://jami.net/download-jami-linux/>`_ " +"page of the Jami website, then install the package using a command like " +"``sudo apt-get install libqt-jami`` (for dpkg/deb-based GNU/Linux " +"distributions) and ``sudo dnf install jami-libqt`` (for rpm-based GNU/Linux " +"distributions)." +msgstr "" +"Les paquets libqt-jami et jami-libqt de dl.jami.net fournissent les " +"dépendances Qt 6 nécessaires aux distributions GNU/Linux basées sur dpkg/deb" +" et rpm respectivement. Ceci est particulièrement utile pour construire Jami" +" sur des versions légèrement plus anciennes de ces distributions où Qt 6 " +"n'était pas encore empaqueté dans les dépôts officiels de la distribution. " +"Pour installer ce paquetage fournissant les dépendances Qt 6 sur une " +"distribution supportée, ajoutez d'abord le dépôt dl.jami.net respectif en " +"suivant les instructions sur le site `Download Jami for GNU/Linux " +"<https://jami. net/download-jami-linux/>`_ du site web de Jami, puis " +"installez le paquet en utilisant une commande comme ``sudo apt-get install " +"libqt-jami`` (pour les distributions GNU/Linux basées sur dpkg/deb) et " +"``sudo dnf install jami-libqt`` (pour les distributions GNU/Linux basées sur" +" rpm)." #: ../../../build/dependencies.rst:153 ../../../build/dependencies.rst:167 msgid "And for the optional Qt WebEngine dependencies::" @@ -327,34 +339,49 @@ msgstr "" #: ../../../build/dependencies.rst:160 msgid "" -"On rpm-based distributions like Fedora and openSUSE the dependencies can " -"be installed using ``dnf`` or ``zypper`` like so::" +"On rpm-based distributions like Fedora and openSUSE the dependencies can be " +"installed using ``dnf`` or ``zypper`` like so::" msgstr "" #: ../../../build/dependencies.rst:171 msgid "" -"Given the newness of Qt 6, it may not be fully (or at all) packaged in " -"the official repositories of your GNU/Linux distribution of choice yet. " -"In that case, the easiest approach would be to install the libqt-jami or " -"jami-libqt package on your supported dpkg/deb-based and rpm-based " -"GNU/Linux distribution respectively, to get all of the needed Qt 6 " -"dependencies of Jami." -msgstr "" +"Given the newness of Qt 6, it may not be fully (or at all) packaged in the " +"official repositories of your GNU/Linux distribution of choice yet. In that" +" case, the easiest approach would be to install the libqt-jami or jami-libqt" +" package on your supported dpkg/deb-based and rpm-based GNU/Linux " +"distribution respectively, to get all of the needed Qt 6 dependencies of " +"Jami." +msgstr "" +"Étant donné la nouveauté de Qt 6, il se peut qu'il ne soit pas encore " +"complètement (ou pas du tout) empaqueté dans les dépôts officiels de la " +"distribution GNU/Linux de votre choix. Dans ce cas, l'approche la plus " +"simple serait d'installer le paquet libqt-jami ou jami-libqt sur votre " +"distribution GNU/Linux basée sur dpkg/deb et rpm respectivement, pour " +"obtenir toutes les dépendances Qt 6 nécessaires à Jami." #: ../../../build/index.rst:3 msgid "Build manual" -msgstr "" +msgstr "Manuel de construction" #: ../../../build/index.rst:5 msgid "" -"The Jami build manual documents the various aspects of building Jami from" -" source, as well as packaging Jami for various package systems. This " -"manual is aimed at those looking to build Jami from source -- for " -"instance to hack on Jami and contribute to its development, or to try " -"recently-added unreleased features -- as well as package maintainers and " -"contributors to GNU/Linux distributions looking to package or help " -"maintain a Jami package for their distribution's repositories." -msgstr "" +"The Jami build manual documents the various aspects of building Jami from " +"source, as well as packaging Jami for various package systems. This manual " +"is aimed at those looking to build Jami from source -- for instance to hack " +"on Jami and contribute to its development, or to try recently-added " +"unreleased features -- as well as package maintainers and contributors to " +"GNU/Linux distributions looking to package or help maintain a Jami package " +"for their distribution's repositories." +msgstr "" +"Le manuel de construction de Jami documente les différents aspects de la " +"construction de Jami à partir des sources, ainsi que l'empaquetage de Jami " +"pour différents systèmes de paquets. Ce manuel s'adresse à ceux qui " +"cherchent à construire Jami à partir des sources - par exemple pour " +"bidouiller sur Jami et contribuer à son développement, ou pour essayer des " +"fonctionnalités inédites récemment ajoutées - ainsi qu'aux mainteneurs de " +"paquets et aux contributeurs aux distributions GNU/Linux qui cherchent à " +"empaqueter ou à aider à maintenir un paquetage de Jami pour les dépôts de " +"leur distribution." #: ../../../build/introduction.rst:2 msgid "Introduction" @@ -374,61 +401,56 @@ msgstr "" #: ../../../build/introduction.rst:9 msgid "" -"To use Jami, the Jami daemon/library is always needed, since it is the " -"core of Jami and contains all of the connectivity, communication, " -"cryptography, and media logic. It uses libraries such as OpenDHT, PJSIP," -" GnuTLS, and FFmpeg, and has several APIs including DBus, libwrap (shared" -" library), JNI, and REST. These APIs make it possible to interact with " -"Jami without going through a graphical user interface (especially useful " -"for using Jami in a headless/server setting), build automation " -"tools/scripts around Jami, and build custom user interfaces for Jami." +"To use Jami, the Jami daemon/library is always needed, since it is the core " +"of Jami and contains all of the connectivity, communication, cryptography, " +"and media logic. It uses libraries such as OpenDHT, PJSIP, GnuTLS, and " +"FFmpeg, and has several APIs including DBus, libwrap (shared library), JNI, " +"and REST. These APIs make it possible to interact with Jami without going " +"through a graphical user interface (especially useful for using Jami in a " +"headless/server setting), build automation tools/scripts around Jami, and " +"build custom user interfaces for Jami." msgstr "" #: ../../../build/introduction.rst:19 msgid "" -"The client (i.e. user interface) may vary depending on the operating " -"system and/or platform being used. For example, on Android/Replicant " -"systems this would be jami-client-android, and on GNU/Linux, Windows, and" -" macOS this would be the jami-client-qt. There also used to be a GTK-" -"based jami-client-gnome for GNU/Linux and a jami-client-macos for macOS, " -"both of which were deprecated in favour of the newer cross-platform jami-" -"client-qt based on the Qt framework." +"The client (i.e. user interface) may vary depending on the operating system " +"and/or platform being used. For example, on Android/Replicant systems this " +"would be jami-client-android, and on GNU/Linux, Windows, and macOS this " +"would be the jami-client-qt. There also used to be a GTK-based jami-client-" +"gnome for GNU/Linux and a jami-client-macos for macOS, both of which were " +"deprecated in favour of the newer cross-platform jami-client-qt based on the" +" Qt framework." msgstr "" #: ../../../build/introduction.rst:27 msgid "" -"On GNU/Linux systems, jami-client-qt can be configured and built to use " -"one of two main APIs for communicating with the Jami daemon/library:" +"On GNU/Linux systems, jami-client-qt can be configured and built to use one " +"of two main APIs for communicating with the Jami daemon/library:" msgstr "" #: ../../../build/introduction.rst:31 msgid "" -"libwrap: when jami-client-qt is configured to use libwrap (which is " -"always the case on macOS and Windows), it will use Jami daemon's shared " -"library API, and there will be no separate daemon process. This has the " -"advantage of things being somewhat more efficient than with the DBus API " -"mentioned below, in exchange for less flexibility (not being able to " -"interact with Jami via DBus when using libwrap)." +"libwrap: when jami-client-qt is configured to use libwrap (which is always " +"the case on macOS and Windows), it will use Jami daemon's shared library " +"API, and there will be no separate daemon process. This has the advantage of" +" things being somewhat more efficient than with the DBus API mentioned " +"below, in exchange for less flexibility (not being able to interact with " +"Jami via DBus when using libwrap)." msgstr "" #: ../../../build/introduction.rst:38 msgid "" -"The Jami packages distributed via dl.jami.net are currently all " -"configured to use the libwrap API." +"The Jami packages distributed via dl.jami.net are currently all configured " +"to use the libwrap API." msgstr "" #: ../../../build/introduction.rst:41 msgid "" "DBus: when jami-client-qt is configured to use DBus, it will communicate " -"with the Jami daemon via its DBus API, and the daemon will be running as " -"a separate process by itself. This is greatly flexible for communicating" -" with and controlling the daemon through other means (for example small " -"utility scripts) simultaneously while the Jami Qt client also uses and " -"interacts with it. The associated cost of this added flexibility is the " -"overhead of using DBus." +"with the Jami daemon via its DBus API, and the daemon will be running as a " +"separate process by itself. This is greatly flexible for communicating with" +" and controlling the daemon through other means (for example small utility " +"scripts) simultaneously while the Jami Qt client also uses and interacts " +"with it. The associated cost of this added flexibility is the overhead of " +"using DBus." msgstr "" - -#: ../../../build/packaging.rst:2 -msgid "Packaging" -msgstr "" - diff --git a/locales/fr/LC_MESSAGES/contribute.po b/locales/fr/LC_MESSAGES/contribute.po index f76bf8c00417ca2c85810c4d82c285d6f47cfe20..8d568dd8c78c11e4219d371ddb05c44652218c92 100644 --- a/locales/fr/LC_MESSAGES/contribute.po +++ b/locales/fr/LC_MESSAGES/contribute.po @@ -1,239 +1,310 @@ # LANGUAGE translation of FILENAME.pot # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors # This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Translators: +# Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022 +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n" +"POT-Creation-Date: 2022-10-26 17:49+0000\n" +"PO-Revision-Date: 2022-09-14 17:52+0000\n" +"Last-Translator: Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022\n" +"Language-Team: French (https://www.transifex.com/savoirfairelinux/teams/49466/fr/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Language: fr\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" #: ../../../contribute.rst:3 msgid "Contribute to Jami" -msgstr "" +msgstr "Contribuer à Jami" #: ../../../contribute.rst:5 msgid "" -"Contributions to Jami are always welcome and are much appreciated. There " -"are many ways to contribute to Jami, including reporting bugs and issues," -" contributing code, helping package and maintain Jami for your GNU/Linux " +"Contributions to Jami are always welcome and are much appreciated. There are" +" many ways to contribute to Jami, including reporting bugs and issues, " +"contributing code, helping package and maintain Jami for your GNU/Linux " "distribution or other operating system, as well as contributing to these " "very docs themselves." msgstr "" +"Les contributions à Jami sont toujours les bienvenues et sont très " +"appréciées. Il existe de nombreuses façons de contribuer à Jami, notamment " +"en signalant les bogues et les problèmes, en contribuant au code, en aidant " +"à empaqueter et à maintenir Jami pour votre distribution GNU/Linux ou tout " +"autre système d'exploitation, ainsi qu'en contribuant à cette documentation " +"elle-même." #: ../../../contribute.rst:11 msgid "Please see below for how to get started contributing to Jami!" -msgstr "" +msgstr "Veuillez lire ci-dessous pour commencer à contribuer à Jami !" #: ../../../contribute.rst:18 msgid "Reporting bugs and issues" -msgstr "" +msgstr "Signaler les bogues et les problèmes." #: ../../../contribute.rst:20 msgid "" -"Please see the :doc:`user/bug-report-guide` for step-by-step instructions" -" on how to report bugs and issues you encounter in Jami." +"Please see the :doc:`user/bug-report-guide` for step-by-step instructions on" +" how to report bugs and issues you encounter in Jami." msgstr "" +"Veuillez consulter le :doc:`user/bug-report-guide` pour obtenir des " +"instructions étape par étape sur la manière de signaler les bogues et les " +"problèmes que vous rencontrez dans Jami." #: ../../../contribute.rst:24 msgid "Contributing code" -msgstr "" +msgstr "Contribuer au code" #: ../../../contribute.rst:26 ../../../contribute.rst:31 msgid "TODO" -msgstr "" +msgstr "À FAIRE" #: ../../../contribute.rst:29 msgid "Packaging Jami" -msgstr "" +msgstr "Faire des paquets Jami" #: ../../../contribute.rst:34 msgid "Contributing to this documentation" -msgstr "" +msgstr "Contribuer à la documentation" #: ../../../contribute.rst:36 msgid "" -"Contributions to these docs are always welcome and appreciated, from " -"small corrections to whole new chapters." +"Contributions to these docs are always welcome and appreciated, from small " +"corrections to whole new chapters." msgstr "" +"Les contributions à ces documents sont toujours les bienvenues et " +"appréciées, qu'il s'agisse de petites corrections ou de nouveaux chapitres " +"entiers." #: ../../../contribute.rst:39 msgid "" "This page will walk through the steps to create a new page or submit a " "correction. The patch review process is the same as :doc:`for any other " -"Jami project <how-to-submit-a-patch>`, so we will not explain every " -"command." +"Jami project <how-to-submit-a-patch>`, so we will not explain every command." msgstr "" +"Cette page vous explique les étapes à suivre pour créer une nouvelle page ou" +" soumettre une correction. Le processus de révision des correctifs est le " +"même que :doc:`pour tout autre projet Jami `<how-to-submit-a-patch>, nous " +"n'expliquerons donc pas chaque commande." #: ../../../contribute.rst:44 msgid "" -"By contributing to this documentation, you agree to make your " -"contributions available under the :doc:`fdl`, Version 1.3 or any later " -"version published by the Free Software Foundation; with no Invariant " -"Sections, no Front-Cover Texts, and no Back-Cover Texts." +"By contributing to this documentation, you agree to make your contributions " +"available under the :doc:`fdl`, Version 1.3 or any later version published " +"by the Free Software Foundation; with no Invariant Sections, no Front-Cover " +"Texts, and no Back-Cover Texts." msgstr "" +"En contribuant à cette documentation, vous acceptez de mettre vos " +"contributions à disposition sous la licence :doc:`fdl`, version 1.3 ou toute" +" autre version ultérieure publiée par la Free Software Foundation ; sans " +"sections invariantes, sans textes de première de couverture et sans textes " +"de quatrième de couverture." #: ../../../contribute.rst:50 msgid "" -"You are also promising that you are the author of your changes, or that " -"you copied them from a work in the public domain or a work released under" -" a free license that is compatible with the :doc:`fdl`. DO NOT SUBMIT " -"COPYRIGHTED WORK WITHOUT PERMISSION." +"You are also promising that you are the author of your changes, or that you " +"copied them from a work in the public domain or a work released under a free" +" license that is compatible with the :doc:`fdl`. DO NOT SUBMIT COPYRIGHTED " +"WORK WITHOUT PERMISSION." msgstr "" +"Vous promettez également que vous êtes l'auteur de vos modifications, ou que" +" vous les avez copiées à partir d'une œuvre du domaine public ou d'une œuvre" +" publiée sous une licence libre compatible avec le :doc:`fdl`. NE SOUMETTEZ " +"PAS DE TRAVAUX PROTÉGÉS PAR LE DROIT D'AUTEUR SANS AUTORISATION." #: ../../../contribute.rst:56 msgid "**TODO: internationalization**" -msgstr "" +msgstr "**À FAIRE : localisation**" #: ../../../contribute.rst:59 msgid "Dependencies" -msgstr "" +msgstr "Dépendances" #: ../../../contribute.rst:61 msgid "" -"You will need Git installed and configured to use your SSH keypair, and " -"an account on the `Jami Gerrit <https://review.jami.net>`_, where you " -"would send your patches for review. If you need help with this, see " -":doc:`the beginning of our patch submission guide <how-to-" -"submit-a-patch>` (TODO)." +"You will need Git installed and configured to use your SSH keypair, and an " +"account on the `Jami Gerrit <https://review.jami.net>`_, where you would " +"send your patches for review. If you need help with this, see :doc:`the " +"beginning of our patch submission guide <how-to-submit-a-patch>` (TODO)." msgstr "" +"Vous aurez besoin de Git installé et configuré pour utiliser votre paire de " +"clés SSH, et un compte sur le `Jami Gerrit <https://review.jami.net>`_, où " +"vous enverrez vos patchs pour révision. Si vous avez besoin d'aide pour " +"cela, consultez :doc:`le début de notre guide de soumission de patchs<how-" +"to-submit-a-patch> ` (À FAIRE)." #: ../../../contribute.rst:67 msgid "" -"If you want to preview your changes locally in your web browser, you need" -" to install `Sphinx <https://www.sphinx-doc.org>`_, the `Read the Docs " -"Sphinx theme <https://sphinx-rtd-theme.readthedocs.io/en/stable/>`_, and " -"the `MyST Markdown parser <https://myst-" -"parser.readthedocs.io/en/latest/index.html>`_." +"If you want to preview your changes locally in your web browser, you need to" +" install `Sphinx <https://www.sphinx-doc.org>`_, the `Read the Docs Sphinx " +"theme <https://sphinx-rtd-theme.readthedocs.io/en/stable/>`_, and the `MyST " +"Markdown parser <https://myst-parser.readthedocs.io/en/latest/index.html>`_." msgstr "" +"Si vous voulez prévisualiser vos modifications localement dans votre " +"navigateur web, vous devez installer `Sphinx <https://www.sphinx-doc.org>`_," +" le thème `Read the Docs Sphinx <https://sphinx-rtd-" +"theme.readthedocs.io/en/stable/>`_, et le parseur Markdown `MyST " +"<https://myst-parser.readthedocs.io/en/latest/index.html>`_." #: ../../../contribute.rst:78 msgid "" "If you want to use the auto-build and auto-refresh feature, also install " -"`sphinx-autobuild <https://github.com/executablebooks/sphinx-" -"autobuild>`_." +"`sphinx-autobuild <https://github.com/executablebooks/sphinx-autobuild>`_." msgstr "" +"Si vous voulez utiliser la fonction de construction automatique et de " +"rafraîchissement automatique, installez également `sphinx-autobuild " +"<https://github.com/executablebooks/sphinx-autobuild>`_." #: ../../../contribute.rst:86 msgid "Cloning the repository" -msgstr "" +msgstr "Cloner le référentiel" #: ../../../contribute.rst:88 msgid "Clone the repository and configure the push settings like this:" -msgstr "" +msgstr "Clonez le dépôt et configurez les paramètres de poussée comme ceci :" #: ../../../contribute.rst:96 msgid "" -"You may want to checkout a new branch for each contribution/change before" -" you make any change to the files, so that you could easily ``git pull`` " -"any future changes from upstream into your main local branch:" +"You may want to checkout a new branch for each contribution/change before " +"you make any change to the files, so that you could easily ``git pull`` any " +"future changes from upstream into your main local branch:" msgstr "" +"Vous pouvez vouloir vérifier une nouvelle branche pour chaque " +"contribution/changement avant d'effectuer tout changement dans les fichiers," +" de sorte que vous puissiez facilement ``git pull`` tout changement futur " +"depuis l'amont dans votre branche locale principale :" #: ../../../contribute.rst:106 msgid "Editing a page" -msgstr "" +msgstr "Éditer une page" #: ../../../contribute.rst:108 msgid "" -"Pages are written in either markdown or `reStructuredText <https://www" -".sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_. You can " -"click \"View page source\" at the top of any page to open the raw source " -"of the page and see how it was written." +"Pages are written in either markdown or `reStructuredText " +"<https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_." +" You can click \"View page source\" at the top of any page to open the raw " +"source of the page and see how it was written." msgstr "" +"Les pages sont écrites soit en markdown soit en `reStructuredText " +"<https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_." +" Vous pouvez cliquer sur \"View page source\" en haut de n'importe quelle " +"page pour ouvrir la source brute de la page et voir comment elle a été " +"écrite." #: ../../../contribute.rst:113 msgid "Go ahead and make your changes to the ``.rst`` or ``.md`` files." msgstr "" +"Allez-y et faites vos changements dans les fichiers ``.rst`` ou ``.md``." #: ../../../contribute.rst:116 msgid "Previewing your work" -msgstr "" +msgstr "Prévisualisation de votre travail" #: ../../../contribute.rst:118 msgid "From the base of the repository, run:" -msgstr "" +msgstr "Depuis la base du référentiel, exécutez :" #: ../../../contribute.rst:124 msgid "" -"You should now be able to view the documentation in your web browser. " -"The homepage is at ``_build/html/index.html``." +"You should now be able to view the documentation in your web browser. The " +"homepage is at ``_build/html/index.html``." msgstr "" +"Vous devriez maintenant être en mesure de visualiser la documentation dans " +"votre navigateur web. La page d'accueil est à ``_build/html/index.html``." #: ../../../contribute.rst:127 msgid "" "To automatically build the documentation and refresh your web browser " "whenever you save changes, run:" msgstr "" +"Pour construire automatiquement la documentation et rafraîchir votre " +"navigateur web à chaque fois que vous enregistrez des modifications, " +"exécutez :" #: ../../../contribute.rst:134 msgid "" -"Keep this running in the background, then navigate to " -"http://127.0.0.1:8000 (*not* the local .html file)." +"Keep this running in the background, then navigate to http://127.0.0.1:8000 " +"(*not* the local .html file)." msgstr "" +"Laissez le système fonctionner en arrière-plan, puis accédez à " +"http://127.0.0.1:8000 (*pas* le fichier .html local)." #: ../../../contribute.rst:138 msgid "Saving your work" -msgstr "" +msgstr "Sauvegarder votre travail" #: ../../../contribute.rst:145 msgid "Your commit message should look something like this:" -msgstr "" +msgstr "Votre message de commit devrait ressembler à ceci :" #: ../../../contribute.rst:155 msgid "For example:" -msgstr "" +msgstr "Par exemple :" #: ../../../contribute.rst:168 msgid "Submitting a change" -msgstr "" +msgstr "Soumettre un changement" #: ../../../contribute.rst:170 msgid "" -"The first time you try to push your changes, Gerrit will complain that " -"you don't have a Change-Id in your commit, and provide an ``scp`` command" -" to install the commit hook. After running the command, you should be " -"able to recommit and push your change:" +"The first time you try to push your changes, Gerrit will complain that you " +"don't have a Change-Id in your commit, and provide an ``scp`` command to " +"install the commit hook. After running the command, you should be able to " +"recommit and push your change:" msgstr "" +"La première fois que vous essayez de pousser vos changements, Gerrit se " +"plaindra que vous n'avez pas de Change-Id dans votre commit, et fournira une" +" commande ``scp`` pour installer le commit hook. Après avoir exécuté la " +"commande, vous devriez être capable de recommencer et de pousser votre " +"changement :" #: ../../../contribute.rst:182 msgid "Modifying your work" -msgstr "" +msgstr "Modifier votre travail" #: ../../../contribute.rst:184 msgid "" "A reviewer may ask you to make changes to your patch before merging it. " "This is no problem! Simply make the changes, ``git add`` them, and run " -"``git commit --amend`` to modify the patch. Note the ``--amend`` switch," -" which is needed to tell git to *amend*/tweak the existing newest commit " +"``git commit --amend`` to modify the patch. Note the ``--amend`` switch, " +"which is needed to tell git to *amend*/tweak the existing newest commit " "rather than making a new commit. This is the workflow for updating a " "proposed change when using Gerrit." msgstr "" +"Un réviseur peut vous demander d'apporter des modifications à votre patch " +"avant de le fusionner. Ce n'est pas un problème ! Faites simplement les " +"changements, ``git add``, et lancez ``git commit --amend`` pour modifier le " +"patch. Notez le commutateur ``--amend``, qui est nécessaire pour dire à git " +"de *amender*/tweak le dernier commit existant plutôt que de faire un nouveau" +" commit. C'est le flux de travail pour mettre à jour une proposition de " +"changement quand on utilise Gerrit." #: ../../../contribute.rst:192 msgid "Adding a page" -msgstr "" +msgstr "Ajouter une page" #: ../../../contribute.rst:194 msgid "" -"If you decide to add a whole new page to the documentation, you must also" -" add it to the ``toctree`` directive of that chapter." +"If you decide to add a whole new page to the documentation, you must also " +"add it to the ``toctree`` directive of that chapter." msgstr "" +"Si vous décidez d'ajouter une toute nouvelle page à la documentation, vous " +"devez également l'ajouter à la directive ``toctree`` de ce chapitre." #: ../../../contribute.rst:197 msgid "" "For instance, if you added a new page called ``hosting-jams-on-aws-" -"guide.md`` to the Jami user manual in the ``user`` folder, you should add" -" it in the ``toctree`` directive of ``user/index.rst``, *without* the " -"file extension:" -msgstr "" - +"guide.md`` to the Jami user manual in the ``user`` folder, you should add it" +" in the ``toctree`` directive of ``user/index.rst``, *without* the file " +"extension:" +msgstr "" +"Par exemple, si vous avez ajouté une nouvelle page appelée ``hosting-jams-" +"on-aws-guide.md`` au manuel de l'utilisateur de Jami dans le dossier " +"``user``, vous devez l'ajouter dans la directive ``toctree`` de " +"``user/index.rst``, *sans* l'extension du fichier :" diff --git a/locales/fr/LC_MESSAGES/developer.po b/locales/fr/LC_MESSAGES/developer.po index d3c6413561e89b2b8aef1ed40c5dc4cbf92d02cb..6cce3c815e2ed6173fa7cb2af1d8de2e3cc22d5f 100644 --- a/locales/fr/LC_MESSAGES/developer.po +++ b/locales/fr/LC_MESSAGES/developer.po @@ -1,96 +1,106 @@ # LANGUAGE translation of FILENAME.pot # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors # This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Translators: +# Alexandre Lision, 2022 +# Antoine Gorenflot, 2022 +# Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022 +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n" +"POT-Creation-Date: 2022-10-26 17:49+0000\n" +"PO-Revision-Date: 2022-09-14 17:48+0000\n" +"Last-Translator: Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022\n" +"Language-Team: French (https://www.transifex.com/savoirfairelinux/teams/49466/fr/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Language: fr\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" #: ../../../developer/account-management.md:1 msgid "Account management" -msgstr "" +msgstr "Gestion du compte" #: ../../../developer/account-management.md:4 msgid "" -"In this part, we will learn how to manage a Ring account. This means, how" -" to create a Ring account, modify the basic settings and delete the " -"account. This part will *NOT* explain what all the settings mean or how " -"we can use the account to do any action like adding a contact." +"In this part, we will learn how to manage a Ring account. This means, how to" +" create a Ring account, modify the basic settings and delete the account. " +"This part will *NOT* explain what all the settings mean or how we can use " +"the account to do any action like adding a contact." msgstr "" +"Dans cette section, nous allons apprendre à gérer un compte Ring, sa création, suppression, en passant par sa modification.\n" +"Cette section ne vous expliquera pas en détail tous les paramètres, ni comment utiliser votre compte." #: ../../../developer/account-management.md:6 msgid "Create a new account" -msgstr "" +msgstr "Création d'un nouveau compte" #: ../../../developer/account-management.md:8 #: ../../../developer/account-management.md:99 msgid "Client side" -msgstr "" +msgstr "Client side" #: ../../../developer/account-management.md:10 #: ../../../developer/account-management.md:101 #: ../../../developer/file-transfer.md:10 #: ../../../developer/release-process.md:111 msgid "Gnome" -msgstr "" +msgstr "Gnome" #: ../../../developer/account-management.md:12 msgid "" -"The code related to this feature is located in " -"`src/accountcreationwizard.*`" +"The code related to this feature is located in `src/accountcreationwizard.*`" msgstr "" +"Le code concernant cette fonctionnalité se situe dans " +"`src/accountcreationwizard.*`" #: ../../../developer/account-management.md:14 #: ../../../developer/account-management.md:105 #: ../../../developer/apis-of-jami.md:243 msgid "LRC" -msgstr "" +msgstr "LRC" #: ../../../developer/account-management.md:16 msgid "" "The account creation is mainly managed by the *NewAccountModel* in " "`src/api/newaccountmodel.h` and `src/newaccountmodel.cpp`" msgstr "" +"La création de compte est principalement gérée par *NewAccountModel* dans " +"`src/api/newaccountmodel.h` et `src/newaccountmodel.cpp`" #: ../../../developer/account-management.md:18 #: ../../../developer/account-management.md:109 ../../../developer/calls.md:8 msgid "Daemon side" -msgstr "" +msgstr "Daemon side" #: ../../../developer/account-management.md:20 #: ../../../developer/account-management.md:111 msgid "API" -msgstr "" +msgstr "API" #: ../../../developer/account-management.md:22 #: ../../../developer/account-management.md:113 msgid "In cx.ring.Ring.ConfigurationManager:" -msgstr "" +msgstr "Dans cx.ring.Ring.ConfigurationManager:" #: ../../../developer/account-management.md:45 msgid "" -"The details can be retrieven from the method `getAccountTemplate(type)` " -"with `type=RING` or `type=SIP`. For example, this is the following code " -"used in LRC." +"The details can be retrieven from the method `getAccountTemplate(type)` with" +" `type=RING` or `type=SIP`. For example, this is the following code used in " +"LRC." msgstr "" #: ../../../developer/account-management.md:72 msgid "" -"When a new account is added, the signal `accountsChanged` will be " -"emitted. The client should update its internal structure after this " -"signal with other methods in ConfigurationManager." +"When a new account is added, the signal `accountsChanged` will be emitted. " +"The client should update its internal structure after this signal with other" +" methods in ConfigurationManager." msgstr "" #: ../../../developer/account-management.md:74 @@ -111,11 +121,11 @@ msgstr "" #: ../../../developer/account-management.md:80 msgid "" "A Ring account is in fact represented by some files stored in a gzip " -"archive. If a password is provided during the account creation, the " -"archive will be encrypted as following: `dht::crypto::aesEncrypt(archive," -" password)` (`dht::crypto::aesEncrypt` is defined in OpenDHT and use " -"`nettle/{aes,gcm}`). This is what the archive will contain a big JSON " -"file with:" +"archive. If a password is provided during the account creation, the archive " +"will be encrypted as following: `dht::crypto::aesEncrypt(archive, password)`" +" (`dht::crypto::aesEncrypt` is defined in OpenDHT and use " +"`nettle/{aes,gcm}`). This is what the archive will contain a big JSON file " +"with:" msgstr "" #: ../../../developer/account-management.md:82 @@ -134,8 +144,8 @@ msgstr "" #: ../../../developer/account-management.md:85 msgid "" -"The ethereum private key `ethKey` for the device. It's only used when you" -" register your name on `ns.ring.cx`. Not mandatory." +"The ethereum private key `ethKey` for the device. It's only used when you " +"register your name on `ns.ring.cx`. Not mandatory." msgstr "" #: ../../../developer/account-management.md:86 @@ -163,38 +173,36 @@ msgstr "" #: ../../../developer/account-management.md:97 msgid "" -"Deleting a Ring account is pretty simple. Because the keys are only on " -"the device, if the keys are deleted... the account is deleted! The only " -"thing outside the device is the username, on the nameserver. To remove " -"this info, it depends how the nameserver work. For example, it's not " -"possible with https://ns.ring.cx" +"Deleting a Ring account is pretty simple. Because the keys are only on the " +"device, if the keys are deleted... the account is deleted! The only thing " +"outside the device is the username, on the nameserver. To remove this info, " +"it depends how the nameserver work. For example, it's not possible with " +"https://ns.ring.cx" msgstr "" #: ../../../developer/account-management.md:103 msgid "" -"The code related to this feature is located in " -"`newaccountsettingsview.cpp`" +"The code related to this feature is located in `newaccountsettingsview.cpp`" msgstr "" #: ../../../developer/account-management.md:107 msgid "" "The account deletion is in the *NewAccountModel* in " -"`src/api/newaccountmodel.h` and `src/newaccountmodel.cpp` " -"(`removeAccount`)" +"`src/api/newaccountmodel.h` and `src/newaccountmodel.cpp` (`removeAccount`)" msgstr "" #: ../../../developer/account-management.md:128 msgid "" -"When the account is deleted, the signal `accountsChanged` will be " -"emitted. The client should update its internal structure after this " -"signal with other methods in ConfigurationManager." +"When the account is deleted, the signal `accountsChanged` will be emitted. " +"The client should update its internal structure after this signal with other" +" methods in ConfigurationManager." msgstr "" #: ../../../developer/account-management.md:132 msgid "" -"The main logic to create a new account is located in `src/manager.cpp`, " -"in `Manager::removeAccount`. It removes the accounts files and update the" -" config (`dring.yml`)." +"The main logic to create a new account is located in `src/manager.cpp`, in " +"`Manager::removeAccount`. It removes the accounts files and update the " +"config (`dring.yml`)." msgstr "" #: ../../../developer/account-management.md:134 @@ -216,8 +224,8 @@ msgstr "" #: ../../../developer/apis-of-jami.md:6 msgid "" "The documentation related to the API of OpenDHT is " -"[here](https://github.com/savoirfairelinux/opendht/wiki/API-Overview) and" -" will not be detailed in the following part." +"[here](https://github.com/savoirfairelinux/opendht/wiki/API-Overview) and " +"will not be detailed in the following part." msgstr "" #: ../../../developer/apis-of-jami.md:8 @@ -229,16 +237,17 @@ msgid "The managers" msgstr "" #: ../../../developer/apis-of-jami.md:12 -msgid "The API of the daemon is decomposed between 5 Managers + 1 Instance file:" +msgid "" +"The API of the daemon is decomposed between 5 Managers + 1 Instance file:" msgstr "" #: ../../../developer/apis-of-jami.md:13 msgid "" -"The **CallManager** interface is used to manage call and conference " -"related actions. Since the Jami daemon supports multiple " -"incoming/outgoing calls, any actions involving a specific call must " -"address the method by the means of a unique callID. Jami daemon will " -"generate a unique callID for outgoing and incoming calls." +"The **CallManager** interface is used to manage call and conference related " +"actions. Since the Jami daemon supports multiple incoming/outgoing calls, " +"any actions involving a specific call must address the method by the means " +"of a unique callID. Jami daemon will generate a unique callID for outgoing " +"and incoming calls." msgstr "" #: ../../../developer/apis-of-jami.md:14 @@ -257,9 +266,9 @@ msgstr "" #: ../../../developer/apis-of-jami.md:17 msgid "" -"The **Instance** is used to count the number of clients actually " -"registered to the core. When initializing your client, you need to " -"register it against the core by using this interface." +"The **Instance** is used to count the number of clients actually registered " +"to the core. When initializing your client, you need to register it against " +"the core by using this interface." msgstr "" #: ../../../developer/apis-of-jami.md:19 @@ -363,8 +372,8 @@ msgstr "" #: ../../../developer/apis-of-jami.md:50 msgid "" "All the documentation and code for the Node JS API is located in `jami-" -"daemon/bin/nodejs`. This API is not used in any known project and maybe " -"is not up-to-date." +"daemon/bin/nodejs`. This API is not used in any known project and maybe is " +"not up-to-date." msgstr "" #: ../../../developer/apis-of-jami.md:52 @@ -374,8 +383,8 @@ msgstr "" #: ../../../developer/apis-of-jami.md:54 msgid "" "All the documentation and code for the REST API is located in `jami-" -"daemon/bin/restcpp`. This API is not used in any known project and maybe " -"is not up-to-date." +"daemon/bin/restcpp`. This API is not used in any known project and maybe is " +"not up-to-date." msgstr "" #: ../../../developer/apis-of-jami.md:56 @@ -384,14 +393,14 @@ msgstr "" #: ../../../developer/apis-of-jami.md:58 msgid "" -"A Python wrapper is available in `jami-daemon/tools/jamictrl`. This " -"wrapper uses DBus." +"A Python wrapper is available in `jami-daemon/tools/jamictrl`. This wrapper " +"uses DBus." msgstr "" #: ../../../developer/apis-of-jami.md:60 msgid "" -"This is, for example a quick and dirty IRC bot to interact with Jami made" -" with this API:" +"This is, for example a quick and dirty IRC bot to interact with Jami made " +"with this API:" msgstr "" #: ../../../developer/apis-of-jami.md:62 @@ -434,8 +443,8 @@ msgstr "" #: ../../../developer/banned-contacts.md:4 msgid "" -"Following information are here for development purposes and may not " -"reflect the current state of any Ring client." +"Following information are here for development purposes and may not reflect " +"the current state of any Ring client." msgstr "" #: ../../../developer/banned-contacts.md:7 @@ -448,13 +457,13 @@ msgstr "" #: ../../../developer/banned-contacts.md:12 msgid "" -"Alice and Jessica are friends, and like all good friends do, they use " -"Ring to communicate. They are both Ring contact of each other, so Alice " -"is a contact of Jessica and Jessica is a contact of Alice. Some day " -"however, Jessica does something really bad to Alice and Alice doesn't " -"want to hear from her anymore. Instead of removing Jessica from her Ring " -"contacts -- which would still allow Jessica to send her contact requests," -" Alice *bans* Jessica." +"Alice and Jessica are friends, and like all good friends do, they use Ring " +"to communicate. They are both Ring contact of each other, so Alice is a " +"contact of Jessica and Jessica is a contact of Alice. Some day however, " +"Jessica does something really bad to Alice and Alice doesn't want to hear " +"from her anymore. Instead of removing Jessica from her Ring contacts -- " +"which would still allow Jessica to send her contact requests, Alice *bans* " +"Jessica." msgstr "" #: ../../../developer/banned-contacts.md:20 @@ -473,8 +482,8 @@ msgstr "" msgid "" "As a *banned contact* of Alice, Jessica *won't be allowed to contact her " "anymore*, in any way. Text messages, voice or video calls won't be " -"acknowledged or answered in any way. Alice won't even be aware that " -"Jessica tried to contact her." +"acknowledged or answered in any way. Alice won't even be aware that Jessica " +"tried to contact her." msgstr "" #: ../../../developer/banned-contacts.md:32 @@ -489,13 +498,14 @@ msgstr "" msgid "" "As long as Jessica is a banned contact, the conversation with Jessica " "doesn't appears in the conversations list. The conversation history, " -"however, is not deleted. Jessica appears in Alice' account banned contact" -" list. Alice might also find/open the conversation by performing an exact" -" search for Jessica' username." +"however, is not deleted. Jessica appears in Alice' account banned contact " +"list. Alice might also find/open the conversation by performing an exact " +"search for Jessica' username." msgstr "" #: ../../../developer/banned-contacts.md:43 -msgid "Alice can un-ban Jessica from the conversation or the banned contact list." +msgid "" +"Alice can un-ban Jessica from the conversation or the banned contact list." msgstr "" #: ../../../developer/banned-contacts.md:46 @@ -514,12 +524,12 @@ msgstr "" #: ../../../developer/calls.md:1 #: ../../../developer/synchronizing-profiles.md:19 msgid "Calls" -msgstr "" +msgstr "Appels" #: ../../../developer/calls.md:4 msgid "" -"**NOTE: this page detail the principle for Jami accounts. For SIP " -"accounts, the SIP protocol is used.**" +"**NOTE: this page detail the principle for Jami accounts. For SIP accounts, " +"the SIP protocol is used.**" msgstr "" #: ../../../developer/calls.md:6 @@ -536,8 +546,8 @@ msgstr "" #: ../../../developer/calls.md:12 msgid "" -"Search the contact presence on the DHT (for more details, see {doc" -"}`contact-management`)" +"Search the contact presence on the DHT (for more details, see {doc}`contact-" +"management`)" msgstr "" #: ../../../developer/calls.md:13 @@ -555,8 +565,8 @@ msgstr "" #: ../../../developer/calls.md:15 msgid "" -"Negotiate the socket via ICE. In fact, two ICE sessions are negotiated. " -"One (preferred) in TCP, one in UDP (as a fallback)." +"Negotiate the socket via ICE. In fact, two ICE sessions are negotiated. One " +"(preferred) in TCP, one in UDP (as a fallback)." msgstr "" #: ../../../developer/calls.md:16 @@ -565,9 +575,9 @@ msgstr "" #: ../../../developer/calls.md:17 msgid "" -"The contact is now able to accept or decline the call. When they accept, " -"a ICE transport (UDP only for now) is negotiated to create 4 new sockets " -"for the medias (2 for audio, 2 for video)." +"The contact is now able to accept or decline the call. When they accept, a " +"ICE transport (UDP only for now) is negotiated to create 4 new sockets for " +"the medias (2 for audio, 2 for video)." msgstr "" #: ../../../developer/calls.md:18 @@ -581,33 +591,33 @@ msgstr "" #: ../../../developer/calls.md:22 msgid "" "Everything really starts in `jamiaccount.cpp` " -"(`JamiAccount::startOutgoingCall`). Once both ICE objects are ready and " -"when the contact is found via the DHT, the call request for the contact " -"is crafted. This request contains all the informations necessary for the " -"remote ICE session defined by:" +"(`JamiAccount::startOutgoingCall`). Once both ICE objects are ready and when" +" the contact is found via the DHT, the call request for the contact is " +"crafted. This request contains all the informations necessary for the remote" +" ICE session defined by:" msgstr "" #: ../../../developer/calls.md:28 msgid "" "where `callvid` is a random number used to identify the call and blob " "contains two concatened ICE messages (`IceTransport::packIceMsg` in " -"`ice_transport.cpp`) containing the password of the session, the *ufrag* " -"and ICE candidates.) like:" +"`ice_transport.cpp`) containing the password of the session, the *ufrag* and" +" ICE candidates.) like:" msgstr "" #: ../../../developer/calls.md:48 msgid "" "and is sent via the DHT in an encrypted message for the device to " -"`hash(callto:xxxxxx)` where `xxxxxx` is the device id. The peer will " -"answer at the exact same place (but encrypted for the sender device) its " -"own `dht::IceCandidates`. See `JamiAccount::replyToIncomingIceMsg` for " -"more details." +"`hash(callto:xxxxxx)` where `xxxxxx` is the device id. The peer will answer " +"at the exact same place (but encrypted for the sender device) its own " +"`dht::IceCandidates`. See `JamiAccount::replyToIncomingIceMsg` for more " +"details." msgstr "" #: ../../../developer/calls.md:50 msgid "" -"The ICE session is created both side when they have all the candidates " -"(so for the sender, when the reply from the contact is received)." +"The ICE session is created both side when they have all the candidates (so " +"for the sender, when the reply from the contact is received)." msgstr "" #: ../../../developer/calls.md:52 @@ -616,13 +626,13 @@ msgstr "" #: ../../../developer/calls.md:54 msgid "" -"Pending calls are managed by `JamiAccount::handlePendingCallList()`, " -"which first wait that the TCP negotiation finish (and if it fails, wait " -"for the UDP one). The code for the ICE negotiation is mainly managed by " +"Pending calls are managed by `JamiAccount::handlePendingCallList()`, which " +"first wait that the TCP negotiation finish (and if it fails, wait for the " +"UDP one). The code for the ICE negotiation is mainly managed by " "[pjproject](https://github.com/pjsip/pjproject) but for Jami, the " -"interesting part is located in `ice_transport.cpp`. Moreover, we add some" -" important patches/features on top of *pjproject* not merged upstream for" -" now (for example, ICE over TCP). These patches are present in " +"interesting part is located in `ice_transport.cpp`. Moreover, we add some " +"important patches/features on top of *pjproject* not merged upstream for now" +" (for example, ICE over TCP). These patches are present in " "`contrib/src/pjproject`." msgstr "" @@ -632,13 +642,12 @@ msgstr "" #: ../../../developer/calls.md:58 msgid "" -"Once the socket is created and managed by an **IceTransport** instance, " -"it is then wrapped in a **SipTransport** corresponding to a " -"*TlsIceTransport*. The main code is located into " -"`JamiAccount::handlePendingCall()` and the wrapping is done into " -"`SipTransportBroker::getTlsIceTransport`. Finally, our session is managed" -" by **TlsSession** in `daemon/src/security/tls_session.cpp` and uses the " -"GnuTLS library." +"Once the socket is created and managed by an **IceTransport** instance, it " +"is then wrapped in a **SipTransport** corresponding to a *TlsIceTransport*. " +"The main code is located into `JamiAccount::handlePendingCall()` and the " +"wrapping is done into `SipTransportBroker::getTlsIceTransport`. Finally, our" +" session is managed by **TlsSession** in " +"`daemon/src/security/tls_session.cpp` and uses the GnuTLS library." msgstr "" #: ../../../developer/calls.md:60 @@ -653,8 +662,8 @@ msgstr "" #: ../../../developer/calls.md:62 msgid "" "The control socket is used to transmit SIP packets, like invites, custom " -"messages (Jami sends the VCard of your profile on this socket at the " -"start of the call, or the rotation of the camera), text messages." +"messages (Jami sends the VCard of your profile on this socket at the start " +"of the call, or the rotation of the camera), text messages." msgstr "" #: ../../../developer/calls.md:64 ../../../developer/jami-plugins.md:294 @@ -675,8 +684,8 @@ msgstr "" #: ../../../developer/calls.md:71 msgid "" -"Media sockets are SRTP sockets where the key is negotiated through the " -"TLS Session previously created. **TODO**" +"Media sockets are SRTP sockets where the key is negotiated through the TLS " +"Session previously created. **TODO**" msgstr "" #: ../../../developer/calls.md:74 @@ -704,16 +713,15 @@ msgstr "" #: ../../../developer/calls.md:88 msgid "" -"The first part is to negotiate enough media streams. In fact, every " -"media stream uses 2 UDP sockets. We consider three scenarios:" +"The first part is to negotiate enough media streams. In fact, every media " +"stream uses 2 UDP sockets. We consider three scenarios:" msgstr "" #: ../../../developer/calls.md:91 msgid "" -"If it's the host of a conference who wants to add media, there is nothing" -" more to negotiate, because we already mix the videos into one stream. " -"So, we add the new media directly to the video-mixer without " -"negotiations." +"If it's the host of a conference who wants to add media, there is nothing " +"more to negotiate, because we already mix the videos into one stream. So, " +"we add the new media directly to the video-mixer without negotiations." msgstr "" #: ../../../developer/calls.md:96 @@ -729,8 +737,8 @@ msgstr "" #: ../../../developer/calls.md:101 msgid "" "To make pjsip able to generate more sockets per ICE session, " -"`PJ_ICE_COMP_BITS` was modified to `5` (which corresponds to `2^5`, so 32" -" streams)." +"`PJ_ICE_COMP_BITS` was modified to `5` (which corresponds to `2^5`, so 32 " +"streams)." msgstr "" #: ../../../developer/calls.md:105 @@ -753,8 +761,8 @@ msgstr "" #: ../../../developer/calls.md:159 msgid "" -"If a call is done with a peer where the daemon's version is < 13.3.0, " -"multi-stream is not enabled and the old behavior is used (1 video only)." +"If a call is done with a peer where the daemon's version is < 13.3.0, multi-" +"stream is not enabled and the old behavior is used (1 video only)." msgstr "" #: ../../../developer/calls.md:163 @@ -763,9 +771,9 @@ msgstr "" #: ../../../developer/calls.md:165 msgid "" -"Because there can be multiple streams now, every media stream is " -"identified by its identifier, and the format is \"<type>_<idx>\"; for " -"example: \"audio_0\", \"video_2\", etc." +"Because there can be multiple streams now, every media stream is identified " +"by its identifier, and the format is \"<type>_<idx>\"; for example: " +"\"audio_0\", \"video_2\", etc." msgstr "" #: ../../../developer/calls.md:169 @@ -787,7 +795,7 @@ msgstr "" #: ../../../developer/calls.md:215 msgid "Conference" -msgstr "" +msgstr "Conférence" #: ../../../developer/calls.md:217 msgid "Reflected changes are documented {doc}`here <conference-protocol>`." @@ -799,17 +807,17 @@ msgstr "" #: ../../../developer/calls.md:221 msgid "" -"Even if the back-end supports up to 32 media at the same time, except for" -" custom clients we currently recommend only giving the ability to share " -"one camera and one video at the same time. The camera is controlled via " -"the camera button, and the other media via the \"Share\" button." +"Even if the back-end supports up to 32 media at the same time, except for " +"custom clients we currently recommend only giving the ability to share one " +"camera and one video at the same time. The camera is controlled via the " +"camera button, and the other media via the \"Share\" button." msgstr "" #: ../../../developer/calls.md:227 msgid "" "In client-qt, the interesting part is in `AvAdapter` (methods like " -"`isCapturing`, `shareAllScreens`, `stopSharing`). In the library's " -"logic, `addMedia` and `removeMedia` in the `callModel` directly use the " +"`isCapturing`, `shareAllScreens`, `stopSharing`). In the library's logic, " +"`addMedia` and `removeMedia` in the `callModel` directly use the " "`requestMediaChange` and can be used as a design reference." msgstr "" @@ -823,16 +831,15 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:6 msgid "" -"This page aims to describe how call will works with groups. This method " -"will allow clients to provides call for multiple participants with a " -"shared text history. The protocol must be flexible, keep compatibility " -"with the SIP stack, adn must work in a distributed environment. This " -"distributed environment also brings some challenges, such as possible " -"race conditions (where multiple parties can start a call at the same " -"time). Finally, because the Swarm can be with members only using mobiles," -" or by companies with dedicated servers to mix the video, it should also " -"be able to work with the best experience possible on heterogeneous " -"environment." +"This page aims to describe how call will works with groups. This method will" +" allow clients to provides call for multiple participants with a shared text" +" history. The protocol must be flexible, keep compatibility with the SIP " +"stack, adn must work in a distributed environment. This distributed " +"environment also brings some challenges, such as possible race conditions " +"(where multiple parties can start a call at the same time). Finally, because" +" the Swarm can be with members only using mobiles, or by companies with " +"dedicated servers to mix the video, it should also be able to work with the " +"best experience possible on heterogeneous environment." msgstr "" #: ../../../developer/calls-in-swarm.md:8 @@ -841,7 +848,8 @@ msgid "Definitions" msgstr "" #: ../../../developer/calls-in-swarm.md:10 -msgid "a **Rendezvous** will mix all authorized incoming calls in a conference." +msgid "" +"a **Rendezvous** will mix all authorized incoming calls in a conference." msgstr "" #: ../../../developer/calls-in-swarm.md:11 @@ -870,8 +878,8 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:17 msgid "" "Note: those two URIs allow the client to place a call in order to join a " -"*Rendezvous* or to init a call to a swarm, resulting in the logic " -"described in the next section." +"*Rendezvous* or to init a call to a swarm, resulting in the logic described " +"in the next section." msgstr "" #: ../../../developer/calls-in-swarm.md:19 @@ -931,10 +939,10 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:38 msgid "" -"When receiving a new incoming call, the URI MUST be parsed. If the " -"incoming call is for a *Rendezvous* which is currently hosted by the " -"device and the caller is authorized to join, the call MUST be answered " -"and added to the current *Rendezvous*" +"When receiving a new incoming call, the URI MUST be parsed. If the incoming " +"call is for a *Rendezvous* which is currently hosted by the device and the " +"caller is authorized to join, the call MUST be answered and added to the " +"current *Rendezvous*" msgstr "" #: ../../../developer/calls-in-swarm.md:41 @@ -943,11 +951,11 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:43 msgid "" -"To define a default URI, the member who wants to be the host should " -"update the profile of the conversation, and this will be synced and " -"validated by peers. However, the host MUST be able to accept or not to be" -" the host and a member with enough permissions SHOULD be able to ask a " -"device to be the host. This process is not decided for now." +"To define a default URI, the member who wants to be the host should update " +"the profile of the conversation, and this will be synced and validated by " +"peers. However, the host MUST be able to accept or not to be the host and a " +"member with enough permissions SHOULD be able to ask a device to be the " +"host. This process is not decided for now." msgstr "" #: ../../../developer/calls-in-swarm.md:45 @@ -966,8 +974,8 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:51 msgid "" -"Members of the swarm that aren't in a call SHOULD be able to know who is " -"in the active calls." +"Members of the swarm that aren't in a call SHOULD be able to know who is in " +"the active calls." msgstr "" #: ../../../developer/calls-in-swarm.md:53 @@ -977,8 +985,8 @@ msgstr "" #: ../../../developer/calls-in-swarm.md:55 msgid "" "Because conferences are still mixed SIP calls, a SIP bridge is still " -"possible. In the *Swarm's profile* it should be possible to add a SIP " -"entry, like some popular VoIP systems)" +"possible. In the *Swarm's profile* it should be possible to add a SIP entry," +" like some popular VoIP systems)" msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:1 @@ -1002,9 +1010,9 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:8 msgid "" -"It is not necessary to aim for an optimal quality (CRF < 20) because " -"beyond that, the visual perception is almost similar while the data flow " -"(bitrate) required is much higher." +"It is not necessary to aim for an optimal quality (CRF < 20) because beyond " +"that, the visual perception is almost similar while the data flow (bitrate) " +"required is much higher." msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:10 @@ -1013,8 +1021,8 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:11 msgid "" -"The purpose of this document is to verify the impact of a change in video" -" quality with the CRF parameter of the encoder." +"The purpose of this document is to verify the impact of a change in video " +"quality with the CRF parameter of the encoder." msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:13 @@ -1067,16 +1075,16 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:29 msgid "" -"Thanks to this test we can estimate the bitrate that will be emitted in " -"Jami according to the chosen parameters. We also have an overview of the " -"visual quality." +"Thanks to this test we can estimate the bitrate that will be emitted in Jami" +" according to the chosen parameters. We also have an overview of the visual " +"quality." msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:33 msgid "" "1080p / 300 kbit/s / CRF28  1080p / 300 kbit/s / CRF38 " +"crf28.png) 1080p / 300 kbit/s / CRF38 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:33 @@ -1098,8 +1106,8 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:40 msgid "" "1080p / 1.5 Mbps / CRF22  1080p / 1.5 Mbit/s / CRF30 " +"crf22.png) 1080p / 1.5 Mbit/s / CRF30 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:45 @@ -1110,9 +1118,8 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:47 msgid "" -"1080p / 6 Mbps / CRF17  1080p / 6 Mbit/s / CRF23 " +"1080p / 6 Mbps / CRF17  " +"1080p / 6 Mbit/s / CRF23 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:52 @@ -1121,23 +1128,22 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:56 msgid "" -"720p / 300 kbps / CRF28  720p / 300 kbit/s / CRF38  Visual comparison (CRF28 left / CRF38 right)" +"720p / 300 kbps / CRF28 " +" 720p / 300 kbit/s / CRF38  Visual comparison (CRF28 left / CRF38 right)" msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:62 msgid "" -"720p / 1.5 Mbps / CRF22  720p / 1.5 Mbit/s / CRF30 (Test with reduced CRF) " -"" +"720p / 1.5 Mbps / CRF22 " +" 720p / 1.5 Mbit/s / CRF30 (Test with reduced CRF) " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:69 msgid "" "720p / 6 Mbps / CRF17  " -"720p / 6 Mbit/s / CRF23 " +"720p / 6 Mbit/s / CRF23 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:74 @@ -1147,9 +1153,9 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:78 msgid "" -"436p / 300 kbps / CRF28  436p / 300 kbit/s / CRF38 " +"436p / 300 kbps / CRF28 " +" 436p / 300 kbit/s / CRF38 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:83 @@ -1158,16 +1164,15 @@ msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:85 msgid "" -"436p / 1.5 Mbps / CRF22  436p / 1.5 Mbit/s / CRF30 " +"436p / 1.5 Mbps / CRF22 " +" 436p / 1.5 Mbit/s / CRF30 " msgstr "" #: ../../../developer/choosing-crf-value-for-encoder.md:92 msgid "" "436p / 6 Mbps / CRF17  " -"436p / 6 Mbit/s / CRF23 " +"436p / 6 Mbit/s / CRF23 " msgstr "" #: ../../../developer/coding-style.md:1 @@ -1183,8 +1188,7 @@ msgstr "" #: ../../../developer/coding-style.md:7 msgid "" "C++ format rules are defined by this clang-format file: " -"https://git.jami.net/savoirfairelinux/jami-daemon/blob/master/.clang-" -"format" +"https://git.jami.net/savoirfairelinux/jami-daemon/blob/master/.clang-format" msgstr "" #: ../../../developer/coding-style.md:10 @@ -1201,10 +1205,10 @@ msgstr "" #: ../../../developer/conference-protocol.md:3 msgid "" "This document aims to describe the evolutions we will do for managing " -"conferences (audio/video). The goal is to improve the current " -"implementation which simply merges SIP calls and provide a grid view, to " -"a view where participants are listed, can be muted independently, or the " -"video layout changed (to show only one participant)" +"conferences (audio/video). The goal is to improve the current implementation" +" which simply merges SIP calls and provide a grid view, to a view where " +"participants are listed, can be muted independently, or the video layout " +"changed (to show only one participant)" msgstr "" #: ../../../developer/conference-protocol.md:7 @@ -1222,8 +1226,8 @@ msgstr "" #: ../../../developer/conference-protocol.md:12 msgid "" "This document only describes the first steps for now. This means the " -"identification of participants and position in the video mixer sent to " -"all participants." +"identification of participants and position in the video mixer sent to all " +"participants." msgstr "" #: ../../../developer/conference-protocol.md:14 @@ -1235,7 +1239,8 @@ msgid "GRID: Every member is shown with the same height/width" msgstr "" #: ../../../developer/conference-protocol.md:17 -msgid "ONE_BIG_WITH_SMALL: One member is zoomed and the other preview is shown" +msgid "" +"ONE_BIG_WITH_SMALL: One member is zoomed and the other preview is shown" msgstr "" #: ../../../developer/conference-protocol.md:18 @@ -1249,15 +1254,16 @@ msgid "" msgstr "" #: ../../../developer/conference-protocol.md:38 -#: ../../../developer/conference-protocol.md:95 ../../../developer/swarm.md:490 +#: ../../../developer/conference-protocol.md:95 +#: ../../../developer/swarm.md:490 msgid "Implementation" msgstr "" #: ../../../developer/conference-protocol.md:40 msgid "" "The implementation is pretty straightforward. Everything is managed by " -"`conference.cpp` (to link participant to sources) and `video_mixer.cpp` " -"(to render the wanted layout)." +"`conference.cpp` (to link participant to sources) and `video_mixer.cpp` (to " +"render the wanted layout)." msgstr "" #: ../../../developer/conference-protocol.md:43 @@ -1267,22 +1273,22 @@ msgstr "" #: ../../../developer/conference-protocol.md:45 msgid "" "Note: Actually, the word participant is used for callId mixed in a " -"conference. This can lead at first to some problems for the API and must " -"be fixed in the future" +"conference. This can lead at first to some problems for the API and must be " +"fixed in the future" msgstr "" #: ../../../developer/conference-protocol.md:47 msgid "" "The goal is to notify all participants of the metadata of the rendered " -"video. This means what participant is in the conference and where the " -"video is located." +"video. This means what participant is in the conference and where the video " +"is located." msgstr "" #: ../../../developer/conference-protocol.md:49 msgid "" -"If a participant is itself a conference, its incoming layout info should " -"be merged when sent to other participants. Layout info must not be merged" -" when sent back to a conference." +"If a participant is itself a conference, its incoming layout info should be " +"merged when sent to other participants. Layout info must not be merged when " +"sent back to a conference." msgstr "" #: ../../../developer/conference-protocol.md:51 @@ -1291,8 +1297,8 @@ msgstr "" #: ../../../developer/conference-protocol.md:53 msgid "" -"The Layout is stored as a VectorMapStringString for clients and " -"internally with a vector<ParticipantInfo> with the following format:" +"The Layout is stored as a VectorMapStringString for clients and internally " +"with a vector<ParticipantInfo> with the following format:" msgstr "" #: ../../../developer/conference-protocol.md:67 @@ -1365,16 +1371,16 @@ msgstr "" #: ../../../developer/conference-protocol.md:87 msgid "" -"A new method (in CallManager) and a new signal to respectively get " -"current conference infos and updates are available:" +"A new method (in CallManager) and a new signal to respectively get current " +"conference infos and updates are available:" msgstr "" #: ../../../developer/conference-protocol.md:97 msgid "" -"The `Conference` Object (which only exists if we mix calls, this means " -"that we are the master) manages the information for the whole conference," -" based on the LayoutInfos of each `Call` object. The getConferenceInfos " -"will retrieve info directly from this object." +"The `Conference` Object (which only exists if we mix calls, this means that " +"we are the master) manages the information for the whole conference, based " +"on the LayoutInfos of each `Call` object. The getConferenceInfos will " +"retrieve info directly from this object." msgstr "" #: ../../../developer/conference-protocol.md:99 @@ -1385,14 +1391,14 @@ msgstr "" #: ../../../developer/conference-protocol.md:101 msgid "" -"The master of a conference sends its info via the SIP channel as a " -"message with the following MIME type: `application/confInfo+json`" +"The master of a conference sends its info via the SIP channel as a message " +"with the following MIME type: `application/confInfo+json`" msgstr "" #: ../../../developer/conference-protocol.md:104 msgid "" -"So, if a call receives some confInfo, we know that this call is a member " -"of a conference." +"So, if a call receives some confInfo, we know that this call is a member of " +"a conference." msgstr "" #: ../../../developer/conference-protocol.md:106 @@ -1417,8 +1423,8 @@ msgstr "" #: ../../../developer/conference-protocol.md:114 msgid "" -"It should handle orders at multiple levels. In fact for a conference the " -"is 3 levels to define a participant:" +"It should handle orders at multiple levels. In fact for a conference the is " +"3 levels to define a participant:" msgstr "" #: ../../../developer/conference-protocol.md:115 @@ -1431,12 +1437,13 @@ msgstr "" #: ../../../developer/conference-protocol.md:117 msgid "" -"Medias, because there can be multiple videos by devices (eg 1 camera and " -"1 screen sharing)" +"Medias, because there can be multiple videos by devices (eg 1 camera and 1 " +"screen sharing)" msgstr "" #: ../../../developer/conference-protocol.md:119 -msgid "To save bandwidth, clients should be able to send multiple orders at once." +msgid "" +"To save bandwidth, clients should be able to send multiple orders at once." msgstr "" #: ../../../developer/conference-protocol.md:121 @@ -1446,8 +1453,8 @@ msgstr "" #: ../../../developer/conference-protocol.md:123 msgid "" "To change a layout, the moderator can send a payload with " -"\"application/confOrder+json\" as type: where **0** is a grid, **1** is " -"one user in big, others in small, **2** is one in big" +"\"application/confOrder+json\" as type: where **0** is a grid, **1** is one " +"user in big, others in small, **2** is one in big" msgstr "" #: ../../../developer/conference-protocol.md:126 @@ -1456,8 +1463,8 @@ msgstr "" #: ../../../developer/conference-protocol.md:128 msgid "" -"For now, there is no action supported, however, in the future `moderator:" -" true/false` should be handled to change a moderator." +"For now, there is no action supported, however, in the future `moderator: " +"true/false` should be handled to change a moderator." msgstr "" #: ../../../developer/conference-protocol.md:130 @@ -1465,13 +1472,14 @@ msgid "Device's actions" msgstr "" #: ../../../developer/conference-protocol.md:132 -msgid "`hangup: true` to hangup a device from the conference (only moderators)" +msgid "" +"`hangup: true` to hangup a device from the conference (only moderators)" msgstr "" #: ../../../developer/conference-protocol.md:133 msgid "" -"`raisehand: true/false` to change the raise hand's status. Only doable by" -" the device itself, else dropped." +"`raisehand: true/false` to change the raise hand's status. Only doable by " +"the device itself, else dropped." msgstr "" #: ../../../developer/conference-protocol.md:135 @@ -1479,7 +1487,8 @@ msgid "Media's actions" msgstr "" #: ../../../developer/conference-protocol.md:137 -msgid "`muteAudio` only doable by moderators to mute the audio of a participant" +msgid "" +"`muteAudio` only doable by moderators to mute the audio of a participant" msgstr "" #: ../../../developer/conference-protocol.md:138 @@ -1492,12 +1501,12 @@ msgstr "" #: ../../../developer/conference-protocol.md:140 msgid "" -"`voiceActivity` to indiciate a media stream's voice activity status (only" -" relevant for audio)" +"`voiceActivity` to indiciate a media stream's voice activity status (only " +"relevant for audio)" msgstr "" #: ../../../developer/conference-protocol.md:142 -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "Example" msgstr "" @@ -1507,9 +1516,9 @@ msgstr "" #: ../../../developer/conference-protocol.md:169 msgid "" -"Note: the type of the media should be included in conferences " -"informations and can be used for the client to improve display (e.g. do " -"not crop screen sharing)" +"Note: the type of the media should be included in conferences informations " +"and can be used for the client to improve display (e.g. do not crop screen " +"sharing)" msgstr "" #: ../../../developer/conference-protocol.md:172 @@ -1548,9 +1557,9 @@ msgstr "" #: ../../../developer/conference-protocol.md:186 msgid "" -"It's likely that the protocol will evolve for future needs. I believe " -"it's best if we have a \"version\" field. The older version will be " -"recognized if this field is missing." +"It's likely that the protocol will evolve for future needs. I believe it's " +"best if we have a \"version\" field. The older version will be recognized if" +" this field is missing." msgstr "" #: ../../../developer/connection-manager.md:1 @@ -1566,21 +1575,20 @@ msgstr "" #: ../../../developer/connection-manager.md:6 msgid "" -"The connection manager is the first piece of the group chat features. " -"This class manages connections to peers and offer to the user multiplexed" -" sockets to devices they want to connect. For example, if Alice wants to " -"be connected to one of Bob's device to transfer 2 files, she will ask the" -" ConnectionManager to open 2 channels (one per file) to Bob. This will " -"give:" +"The connection manager is the first piece of the group chat features. This " +"class manages connections to peers and offer to the user multiplexed sockets" +" to devices they want to connect. For example, if Alice wants to be " +"connected to one of Bob's device to transfer 2 files, she will ask the " +"ConnectionManager to open 2 channels (one per file) to Bob. This will give:" msgstr "" #: ../../../developer/connection-manager.md:24 msgid "" -"Behind that, the ConnectionManager will first connect to Bob's device via" -" the DHT (via ICE) and setup a TLS Socket. Then, it will ask for a " -"channel, and when the channel is ready, inform Alice via a callback. For " -"the second file, it will use the first socket and will just open a new " -"channel (only needs 2 TLS packet, so it's fast)" +"Behind that, the ConnectionManager will first connect to Bob's device via " +"the DHT (via ICE) and setup a TLS Socket. Then, it will ask for a channel, " +"and when the channel is ready, inform Alice via a callback. For the second " +"file, it will use the first socket and will just open a new channel (only " +"needs 2 TLS packet, so it's fast)" msgstr "" #: ../../../developer/connection-manager.md:26 @@ -1595,8 +1603,8 @@ msgstr "" #: ../../../developer/connection-manager.md:30 msgid "" -"However, when a side receives a new ICE request, the callback set by ` " -"void onICERequest(onICERequestCallback&& cb);` is triggered." +"However, when a side receives a new ICE request, the callback set by ` void " +"onICERequest(onICERequestCallback&& cb);` is triggered." msgstr "" #: ../../../developer/connection-manager.md:32 @@ -1605,15 +1613,14 @@ msgstr "" #: ../../../developer/connection-manager.md:34 msgid "" -"A channel is defined by an id (unique) and a uri (not unique). For " -"example (1, 'git://*')" +"A channel is defined by an id (unique) and a uri (not unique). For example " +"(1, 'git://*')" msgstr "" #: ../../../developer/connection-manager.md:36 msgid "" -"When ready, the ConnectionManager considers that the channel 0 exists. " -"This channel is called the *CONTROL* channel and is used to ask for new " -"channels." +"When ready, the ConnectionManager considers that the channel 0 exists. This " +"channel is called the *CONTROL* channel and is used to ask for new channels." msgstr "" #: ../../../developer/connection-manager.md:38 @@ -1638,15 +1645,14 @@ msgstr "" #: ../../../developer/connection-manager.md:46 msgid "" -"To ask for a new channel, the ConnectionManager will send a " -"`ChannelRequest` object (msgpack is used to serialize the struct) in the " -"channel 0 to send the id and the name of the new channel to the peer " -"(with `isAnswer = false`). The peer will call the callback given with ̀" -" void onChannelRequest(ChannelRequestCallBack&& cb);` and will refuse " -"or accept the request. If accepted, the peer will answer with a " -"ChannelRequest with the same data (and ̀`isAnswer = true`) and then both " -"peers callbacks will be triggered to inform that the ChannelSock is " -"usable." +"To ask for a new channel, the ConnectionManager will send a `ChannelRequest`" +" object (msgpack is used to serialize the struct) in the channel 0 to send " +"the id and the name of the new channel to the peer (with `isAnswer = " +"false`). The peer will call the callback given with ̀ void " +"onChannelRequest(ChannelRequestCallBack&& cb);` and will refuse or accept " +"the request. If accepted, the peer will answer with a ChannelRequest with " +"the same data (and ̀`isAnswer = true`) and then both peers callbacks will be" +" triggered to inform that the ChannelSock is usable." msgstr "" #: ../../../developer/connection-manager.md:48 @@ -1654,7 +1660,8 @@ msgid "Closing a channel" msgstr "" #: ../../../developer/connection-manager.md:50 -msgid "A *EOF* is transmitted for a channel if the length of the content is 0." +msgid "" +"A *EOF* is transmitted for a channel if the length of the content is 0." msgstr "" #: ../../../developer/connection-manager.md:52 @@ -1676,7 +1683,8 @@ msgid "The ConnectionManager owns MultiplexedSockets and ICE objects" msgstr "" #: ../../../developer/connection-manager.md:58 -msgid "MultiplexedSockets owns the TLS transport and the ChannelSocket objects" +msgid "" +"MultiplexedSockets owns the TLS transport and the ChannelSocket objects" msgstr "" #: ../../../developer/connection-manager.md:59 @@ -1717,10 +1725,9 @@ msgstr "" #: ../../../developer/contact-management.md:4 msgid "" -"This section will present how to find and add a contact from the DHT to " -"the client. The usage of a name server will not be explained here. If " -"you'd like more details about that, please read {doc}`name-server-" -"protocol`." +"This section will present how to find and add a contact from the DHT to the " +"client. The usage of a name server will not be explained here. If you'd " +"like more details about that, please read {doc}`name-server-protocol`." msgstr "" #: ../../../developer/contact-management.md:6 @@ -1733,22 +1740,21 @@ msgstr "" #: ../../../developer/contact-management.md:10 msgid "" -"The presence is pretty simple to announce on the DHT. In fact, it's just " -"a value containing the device hash (see the previous section, {doc" -"}`account-management`) on the hash corresponding to the fingerprint of " -"the key. So, if we have the account " -"`bf5f1e21d3eb2c1246946aa49d5dcf3e5b9cb1b9` with the device " -"`62fbdff0ce86f368c7d3c2682539e5ba9e06404f`, the following defined value " -"will be sent over the DHT:" +"The presence is pretty simple to announce on the DHT. In fact, it's just a " +"value containing the device hash (see the previous section, {doc}`account-" +"management`) on the hash corresponding to the fingerprint of the key. So, if" +" we have the account `bf5f1e21d3eb2c1246946aa49d5dcf3e5b9cb1b9` with the " +"device `62fbdff0ce86f368c7d3c2682539e5ba9e06404f`, the following defined " +"value will be sent over the DHT:" msgstr "" #: ../../../developer/contact-management.md:29 msgid "" "(This value can be put with `dht_.put(h, VALUE, dht::DoneCallback{}, {}, " "true);`, as a permanent put). If the device is announced, the device is " -"present. For now, there is no way to delete or edit a value on the DHT " -"(this will come when OpenDHT will supports ECC). So, the presence always " -"have a delay for now (mean delay: expire-time/2, so 2min30 for now)." +"present. For now, there is no way to delete or edit a value on the DHT (this" +" will come when OpenDHT will supports ECC). So, the presence always have a " +"delay for now (mean delay: expire-time/2, so 2min30 for now)." msgstr "" #: ../../../developer/contact-management.md:31 @@ -1757,13 +1763,13 @@ msgstr "" #: ../../../developer/contact-management.md:33 msgid "" -"Now our presence on the network, it's time to get if somebody is present " -"on the DHT. With the previous section, it's easy to do the reverse " -"process. To know if somebody is present on the DHT (ex: " +"Now our presence on the network, it's time to get if somebody is present on " +"the DHT. With the previous section, it's easy to do the reverse process. To " +"know if somebody is present on the DHT (ex: " "`bf5f1e21d3eb2c1246946aa49d5dcf3e5b9cb1b9`), we have to get value at " "`bf5f1e21d3eb2c1246946aa49d5dcf3e5b9cb1b9` and retrieve the " -"`DeviceAnnouncement` on this hash. The related code in the ring daemon is" -" in `ringaccount.cpp`:" +"`DeviceAnnouncement` on this hash. The related code in the ring daemon is in" +" `ringaccount.cpp`:" msgstr "" #: ../../../developer/contact-management.md:66 @@ -1784,8 +1790,8 @@ msgstr "" #: ../../../developer/contact-management.md:74 msgid "" -"Finally, once the trust request is crafted, we can push the request to " -"the following hash: `InfoHash(\"inbox:\" + deviceId)`" +"Finally, once the trust request is crafted, we can push the request to the " +"following hash: `InfoHash(\"inbox:\" + deviceId)`" msgstr "" #: ../../../developer/contact-management.md:76 @@ -1812,14 +1818,14 @@ msgstr "" #: ../../../developer/contact-management.md:120 msgid "" -"All methods and signals used to manage trust requests and contacts are in" -" the `ConfigurationManager` such as:" +"All methods and signals used to manage trust requests and contacts are in " +"the `ConfigurationManager` such as:" msgstr "" #: ../../../developer/contact-management.md:212 msgid "" -"If you want some examples, these methods are used into `contactmodel.cpp`" -" in LRC." +"If you want some examples, these methods are used into `contactmodel.cpp` in" +" LRC." msgstr "" #: ../../../developer/creating-jami-plugins.md:1 @@ -1836,8 +1842,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:7 msgid "" -"As from September of 2020, Jami team has added plugins as a call feature " -"for GNU/Linux, Windows, and Android users. This meaning that now you can " +"As from September of 2020, Jami team has added plugins as a call feature for" +" GNU/Linux, Windows, and Android users. This meaning that now you can " "personalize your call and chat experience by using one of our available " "plugins. But that is not all, you can also transform your awesome ideas " "into a brand new plugin!" @@ -1855,8 +1861,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:14 msgid "" -"An example of how to create your own base plugin with our SDK - [#Create " -"my first plugin](#create-my-first-plugin)." +"An example of how to create your own base plugin with our SDK - [#Create my " +"first plugin](#create-my-first-plugin)." msgstr "" #: ../../../developer/creating-jami-plugins.md:16 @@ -1865,18 +1871,18 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:17 msgid "" -"We developped a Plugin System for Jami and we have a few plugins " -"available to be used. However as an open source project, we now desire " -"users to be able to create, use, and distribute their own plugins. To " -"achieve that goal, we also developped a Jami Plugins SDK. This kit is " -"fully writen in python, and can be invoked running [pluginMainSDK.py]('')" -" from `<plugins>` folder. To get started you must:" +"We developped a Plugin System for Jami and we have a few plugins available " +"to be used. However as an open source project, we now desire users to be " +"able to create, use, and distribute their own plugins. To achieve that goal," +" we also developped a Jami Plugins SDK. This kit is fully writen in python, " +"and can be invoked running [pluginMainSDK.py]('') from `<plugins>` folder. " +"To get started you must:" msgstr "" #: ../../../developer/creating-jami-plugins.md:32 msgid "" -"You will notice that this script will generate a Jami Plugins SDK shell " -"that allows users to:" +"You will notice that this script will generate a Jami Plugins SDK shell that" +" allows users to:" msgstr "" #: ../../../developer/creating-jami-plugins.md:34 @@ -1930,8 +1936,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:48 msgid "" -"This option performs a sequence of actions to properly create all base " -"files needed to start a plugin development. The steps are:" +"This option performs a sequence of actions to properly create all base files" +" needed to start a plugin development. The steps are:" msgstr "" #: ../../../developer/creating-jami-plugins.md:50 @@ -1964,13 +1970,13 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:58 msgid "" -"If all is completed successfully, the plugin may be build, installed, and" -" loaded. Also the functionallities may be toggled, however, since their " -"data processes are not implemented, they will perform no action. In our " +"If all is completed successfully, the plugin may be build, installed, and " +"loaded. Also the functionallities may be toggled, however, since their data " +"processes are not implemented, they will perform no action. In our " "`HelloWorld` plugin, we implement a simple process using **OpenCV**. For " "more complex options, you can refer to our available plugins at {gitlab-" -"project}`jami-plugins`. Feel free to implement any ideas you may have, " -"but you should respect those constrains:" +"project}`jami-plugins`. Feel free to implement any ideas you may have, but " +"you should respect those constrains:" msgstr "" #: ../../../developer/creating-jami-plugins.md:59 @@ -1995,17 +2001,16 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:64 msgid "" -"if you need other libraries, check if we support it's build with jami-" -"daemon project, otherwise, you will have to build it and ensure correct " -"link to the plugin libraries." +"if you need other libraries, check if we support it's build with jami-daemon" +" project, otherwise, you will have to build it and ensure correct link to " +"the plugin libraries." msgstr "" #: ../../../developer/creating-jami-plugins.md:67 msgid "" "To fully create a basic plugin with pre-implementation of desired " -"functionalities APIs, preferences, package, manifest, main file, and " -"basic build related files, from inside Jami Plugins SDK shell, the user " -"must call:" +"functionalities APIs, preferences, package, manifest, main file, and basic " +"build related files, from inside Jami Plugins SDK shell, the user must call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:72 @@ -2015,8 +2020,7 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:215 #: ../../../developer/creating-jami-plugins.md:263 msgid "" -"The SDK will ask other informations needed to correctly accomplish the " -"task." +"The SDK will ask other informations needed to correctly accomplish the task." msgstr "" #: ../../../developer/creating-jami-plugins.md:74 @@ -2025,18 +2029,18 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:75 msgid "" -"Every plugin must have a manifest. This file contains the official name, " -"a description, and carries the plugin build version as in the example " -"bellow. Without it, the plugin system will not be able to find the plugin" -" library it should load. Due to it's importance, every time Jami Plugin " -"SDK is told to create files to a non existing plugin or to a plugin with " -"no manifest, it will first create a new manifest." +"Every plugin must have a manifest. This file contains the official name, a " +"description, and carries the plugin build version as in the example bellow. " +"Without it, the plugin system will not be able to find the plugin library it" +" should load. Due to it's importance, every time Jami Plugin SDK is told to " +"create files to a non existing plugin or to a plugin with no manifest, it " +"will first create a new manifest." msgstr "" #: ../../../developer/creating-jami-plugins.md:85 msgid "" -"To create/modify (or to delete) a manifest.json, from inside Jami Plugins" -" SDK shell, the user must call:" +"To create/modify (or to delete) a manifest.json, from inside Jami Plugins " +"SDK shell, the user must call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:92 @@ -2045,11 +2049,11 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:93 msgid "" -"Jami currently supports plugins for GNU/Linux, Android and Windows. For " -"the latter, the build system used is the same as for Jami, it is, we call" -" the plugin build using a python script. This script will look for a " -"`package.json` file to aquire build informations and commands. Without " -"this file our build pipeline for Windows will not work." +"Jami currently supports plugins for GNU/Linux, Android and Windows. For the " +"latter, the build system used is the same as for Jami, it is, we call the " +"plugin build using a python script. This script will look for a " +"`package.json` file to aquire build informations and commands. Without this " +"file our build pipeline for Windows will not work." msgstr "" #: ../../../developer/creating-jami-plugins.md:95 @@ -2066,30 +2070,28 @@ msgstr "" msgid "" "`extractLibs` indicates to the build system if the files under `<jami-" "plugins>/contrib/libs.tar.gz` will be used. This archive contains header " -"files for **Tensorflow**. Thus, you only need to set `extractLibs` to " -"true if you plan to use this library." +"files for **Tensorflow**. Thus, you only need to set `extractLibs` to true " +"if you plan to use this library." msgstr "" #: ../../../developer/creating-jami-plugins.md:98 msgid "" "To play with audio or video, the plugin is dependent of **ffmpeg**. By " "adding it to `deps`, the build system will automatically compile this " -"library from `<jami-daemon>/contrib` if needed. We also provide " -"**OpenCV** build from inside `<jami-daemon>/contrib` ! If you want to use" -" Tensorflow, we provide built libraries for GNU/Linux and Android with " -"our docker images " -"[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflow-" -"cuda) and " +"library from `<jami-daemon>/contrib` if needed. We also provide **OpenCV** " +"build from inside `<jami-daemon>/contrib` ! If you want to use Tensorflow, " +"we provide built libraries for GNU/Linux and Android with our docker images " +"[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflow-cuda)" +" and " "[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflowlite)." " For more information about OpenCV and Tensorflow build, please refer to " -"{doc}`jami-plugins` technical documentation. There we have a step-by-" -"step!" +"{doc}`jami-plugins` technical documentation. There we have a step-by-step!" msgstr "" #: ../../../developer/creating-jami-plugins.md:101 msgid "" -"If you're using cmake, your can set configuration definition in `defines`" -" property. Exemple: if your configuration line is of the form `cmake " +"If you're using cmake, your can set configuration definition in `defines` " +"property. Exemple: if your configuration line is of the form `cmake " "-DCPU=TRUE ..` you may set `\"defines\": [\"CPU=TRUE\"]`." msgstr "" @@ -2099,21 +2101,21 @@ msgid "" "`custom_scripts`. Bellow we create the build folder to with the plugins " "project will be configured with `mkdir msvc` and we also set the build " "command as `cmake --build ./msvc --config Release`. Our example " -"CMakeLists.txt may have pre and post build instruction that are not " -"listed here." +"CMakeLists.txt may have pre and post build instruction that are not listed " +"here." msgstr "" #: ../../../developer/creating-jami-plugins.md:125 msgid "" -"To create a package.json, from inside Jami Plugins SDK shell, the user " -"must call:" +"To create a package.json, from inside Jami Plugins SDK shell, the user must " +"call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:130 msgid "" -"The SDK will ask other informations needed to correctly accomplish the " -"task. After the base package.json creation, the user must add or modify " -"any information not previewed by the SDK process." +"The SDK will ask other informations needed to correctly accomplish the task." +" After the base package.json creation, the user must add or modify any " +"information not previewed by the SDK process." msgstr "" #: ../../../developer/creating-jami-plugins.md:132 @@ -2122,37 +2124,36 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:133 msgid "" -"A preference is a internal variable that will be used upon loading or " -"while running the plugin. There is limited types of preferences supported" -" by the plugin system and each of them must contain generic and specific " -"informations. Those informations must be placed under a certain structure" -" that will form one preference and each preference must be listed inside " -"a `preference.json` file." +"A preference is a internal variable that will be used upon loading or while " +"running the plugin. There is limited types of preferences supported by the " +"plugin system and each of them must contain generic and specific " +"informations. Those informations must be placed under a certain structure " +"that will form one preference and each preference must be listed inside a " +"`preference.json` file." msgstr "" #: ../../../developer/creating-jami-plugins.md:136 msgid "" "The generic properties of a preference are those that must be set by any " "type of preference: `category`, `type`, `key`, `title`, `summary`, " -"`defaultValue`, and `scope`. The specific ones are linked to the type of " -"the preference constructed. For `EDITTEXT` preferences there is no other " -"property to be set. For `PATH` preferences we have: `mimeType`. For " -"`LIST` preferences we have: `entries` and `entryValues`. A `LIST` " -"preference must have a list of possible values to be used and a list of " -"'names' for these values. For example: If you have two `entriesValues`: " -"'0' and '1', these values may not be understandable by the user. Jami's " -"UI will take the values from `entries` to be shown as 'names' for each " -"one of these `entryValues`. Then you can call '0' and '1' as 'sent' and " -"'received'. The UI will show these names that are more user friendly! It " -"is important to note that `entries` and `entryValues` must have the same " -"number of items." +"`defaultValue`, and `scope`. The specific ones are linked to the type of the" +" preference constructed. For `EDITTEXT` preferences there is no other " +"property to be set. For `PATH` preferences we have: `mimeType`. For `LIST` " +"preferences we have: `entries` and `entryValues`. A `LIST` preference must " +"have a list of possible values to be used and a list of 'names' for these " +"values. For example: If you have two `entriesValues`: '0' and '1', these " +"values may not be understandable by the user. Jami's UI will take the values" +" from `entries` to be shown as 'names' for each one of these `entryValues`. " +"Then you can call '0' and '1' as 'sent' and 'received'. The UI will show " +"these names that are more user friendly! It is important to note that " +"`entries` and `entryValues` must have the same number of items." msgstr "" #: ../../../developer/creating-jami-plugins.md:145 msgid "" -"Another important point to be noted for the preferences is that their " -"values could be modified during runtime if, and only if, two conditions " -"are satisfied:" +"Another important point to be noted for the preferences is that their values" +" could be modified during runtime if, and only if, two conditions are " +"satisfied:" msgstr "" #: ../../../developer/creating-jami-plugins.md:147 @@ -2167,31 +2168,29 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:150 msgid "" -"To better explain, we have to detail what is a scope and how a preference" -" changement is implemented inside the plugin." +"To better explain, we have to detail what is a scope and how a preference " +"changement is implemented inside the plugin." msgstr "" #: ../../../developer/creating-jami-plugins.md:152 msgid "" -"**Scope**: A scope is a list of functionalities that can modify a " -"preference value even if the functionality is under use. It is, imagine " -"you have a functionality called \"Circle\" that prints a colored circle " -"to your video. Consider also that the color of that circle is set by a " -"preference and that this preference lists \"Circle\" as one of it's " -"scopes. In that scenario \"Circle\" will be able to modify the default " -"circle color to another one." +"**Scope**: A scope is a list of functionalities that can modify a preference" +" value even if the functionality is under use. It is, imagine you have a " +"functionality called \"Circle\" that prints a colored circle to your video. " +"Consider also that the color of that circle is set by a preference and that " +"this preference lists \"Circle\" as one of it's scopes. In that scenario " +"\"Circle\" will be able to modify the default circle color to another one." msgstr "" #: ../../../developer/creating-jami-plugins.md:153 msgid "" -"**Code implementation**: Continuing our example above, \"Circle\" also is" -" the implementation of an abstract API class from Daemon (for more " -"details check [#Create functionality](#create-functionality). When a user" -" changes a preference value, the plugin system will call the " -"`setPreferenceAttribute` implementation for each of the functionalities " -"listed by the preference's scope. By it's turn, this function will match " -"the preference unique `key` and call an internal function to apply the " -"new value." +"**Code implementation**: Continuing our example above, \"Circle\" also is " +"the implementation of an abstract API class from Daemon (for more details " +"check [#Create functionality](#create-functionality). When a user changes a " +"preference value, the plugin system will call the `setPreferenceAttribute` " +"implementation for each of the functionalities listed by the preference's " +"scope. By it's turn, this function will match the preference unique `key` " +"and call an internal function to apply the new value." msgstr "" #: ../../../developer/creating-jami-plugins.md:155 @@ -2201,25 +2200,25 @@ msgid "" "[pluginMediaHandler.cpp](https://git.jami.net/savoirfairelinux/jami-" "plugins/blob/master/GreenScreen/pluginMediaHandler.cpp) and [preferences-" "onnx.json](https://git.jami.net/savoirfairelinux/jami-" -"plugins/blob/master/GreenScreen/preferences-onnx.json). This plugin has " -"both `LIST` and `PATH` preferences and also has one preference that can " -"be modified during runtime. Can you tell wich one?" +"plugins/blob/master/GreenScreen/preferences-onnx.json). This plugin has both" +" `LIST` and `PATH` preferences and also has one preference that can be " +"modified during runtime. Can you tell wich one?" msgstr "" #: ../../../developer/creating-jami-plugins.md:157 msgid "" -"To create (or delete) a preference, from inside Jami Plugins SDK shell, " -"the user must call:" +"To create (or delete) a preference, from inside Jami Plugins SDK shell, the " +"user must call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:162 msgid "" -"The SDK will ask other informations needed to correctly accomplish the " -"task. If a preference is created from outside a functionality creation " -"pipeline, any API implementation will not be changed in order to avoid " -"overwrittings. Thus, if you want to allow values changement during " -"runtime, you may need to manually modify your functionality " -"implementation to fit running time changements conditions." +"The SDK will ask other informations needed to correctly accomplish the task." +" If a preference is created from outside a functionality creation pipeline, " +"any API implementation will not be changed in order to avoid overwrittings. " +"Thus, if you want to allow values changement during runtime, you may need to" +" manually modify your functionality implementation to fit running time " +"changements conditions." msgstr "" #: ../../../developer/creating-jami-plugins.md:164 @@ -2229,28 +2228,27 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:165 msgid "" "A Jami plugin may wrap one or multiple functionalities. It is, the same " -"plugins may have a functionality to change background and to draw a " -"circle to a video for example. Each functionality must implement an " -"abstract API class defined by Jami plugins System. That way, we can say " -"that one functionality is one implementation of an API. Currently we have" -" the `MediaHandler` which allows access to audio or video frames and we " -"have `ChatHandler` which allows acces to messages exchanged in a " -"conversation." +"plugins may have a functionality to change background and to draw a circle " +"to a video for example. Each functionality must implement an abstract API " +"class defined by Jami plugins System. That way, we can say that one " +"functionality is one implementation of an API. Currently we have the " +"`MediaHandler` which allows access to audio or video frames and we have " +"`ChatHandler` which allows acces to messages exchanged in a conversation." msgstr "" #: ../../../developer/creating-jami-plugins.md:169 msgid "" -"When defining a new a functionality, the SDK will create basic header and" -" cpp files for you work on. However, your new functionality can not be " -"added to the scopes of a previously existing preference. For more " -"information, please refer to [Create or delete a preference](#create-or-" -"delete-a-preference)." +"When defining a new a functionality, the SDK will create basic header and " +"cpp files for you work on. However, your new functionality can not be added " +"to the scopes of a previously existing preference. For more information, " +"please refer to [Create or delete a preference](#create-or-delete-a-" +"preference)." msgstr "" #: ../../../developer/creating-jami-plugins.md:172 msgid "" -"To create a functionality, from inside Jami Plugins SDK shell, the user " -"must call:" +"To create a functionality, from inside Jami Plugins SDK shell, the user must" +" call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:179 @@ -2259,9 +2257,9 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:180 msgid "" -"This option create plugin's `main.cpp`. A file that implements the plugin" -" external loading function that Jami Plugin System will call to " -"initialize and register all functionalities for latter use." +"This option create plugin's `main.cpp`. A file that implements the plugin " +"external loading function that Jami Plugin System will call to initialize " +"and register all functionalities for latter use." msgstr "" #: ../../../developer/creating-jami-plugins.md:183 @@ -2273,8 +2271,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:186 msgid "" -"To create a `main.cpp`, from inside Jami Plugins SDK shell, the user must" -" call:" +"To create a `main.cpp`, from inside Jami Plugins SDK shell, the user must " +"call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:193 @@ -2284,9 +2282,9 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:194 msgid "" "The final plugin file is an archive compressed to a `JPL` format. This " -"archive contains libraries, manifest.json, preferences.json, icons and " -"other custom important files for your plugin. OBS.: files added by the " -"developper must be organized under the `data/` folder." +"archive contains libraries, manifest.json, preferences.json, icons and other" +" custom important files for your plugin. OBS.: files added by the developper" +" must be organized under the `data/` folder." msgstr "" #: ../../../developer/creating-jami-plugins.md:197 @@ -2295,25 +2293,24 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:199 msgid "" -"it creates a build folder and copies there all files that will be " -"compressed to the final plugin archive. For linux host: " -"`<plugins>/<HelloWorld>/build-local/jpl/` and for a windows host: " -"`<plugins>/<HelloWorld>/msvc/jpl/`;" +"it creates a build folder and copies there all files that will be compressed" +" to the final plugin archive. For linux host: `<plugins>/<HelloWorld>/build-" +"local/jpl/` and for a windows host: `<plugins>/<HelloWorld>/msvc/jpl/`;" msgstr "" #: ../../../developer/creating-jami-plugins.md:200 msgid "" -"it compresses all files inside the build folder to the jpl archive wich " -"is output under `<plugins>/build`." +"it compresses all files inside the build folder to the jpl archive wich is " +"output under `<plugins>/build`." msgstr "" #: ../../../developer/creating-jami-plugins.md:202 msgid "" -"Both process should be called from inside the CMakeLists.txt as " -"POST_BUILD and PRE_BUILD commands, respectively. Also, the build.sh " -"script should call them. For more information about CMakeLists.txt and " -"build.sh files, please refere to [build](#build) and to our available " -"plugins at {gitlab-project}`jami-plugins`." +"Both process should be called from inside the CMakeLists.txt as POST_BUILD " +"and PRE_BUILD commands, respectively. Also, the build.sh script should call " +"them. For more information about CMakeLists.txt and build.sh files, please " +"refere to [build](#build) and to our available plugins at {gitlab-" +"project}`jami-plugins`." msgstr "" #: ../../../developer/creating-jami-plugins.md:205 @@ -2348,29 +2345,29 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:223 msgid "" -"A description of thes CMakeLists.txt and buils.sh files are found further" -" in this section." +"A description of thes CMakeLists.txt and buils.sh files are found further in" +" this section." msgstr "" #: ../../../developer/creating-jami-plugins.md:225 msgid "" -"To create basic CMakeLists.txt and buils.sh files, from inside Jami " -"Plugins SDK shell, the user must call:" +"To create basic CMakeLists.txt and buils.sh files, from inside Jami Plugins " +"SDK shell, the user must call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:230 msgid "" -"To build plugin library with default configuration, from inside Jami " -"Plugins SDK shell, the user must call:" +"To build plugin library with default configuration, from inside Jami Plugins" +" SDK shell, the user must call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:235 msgid "" -"The SDK will ask other informations needed to correctly accomplish the " -"task. For the moment, the build option does not support cross-compilation" -" neither non default builds. If you have build variables to be set " -"differently than the default option, please directly use the `<plugins" -">/build-plugin.py` script." +"The SDK will ask other informations needed to correctly accomplish the task." +" For the moment, the build option does not support cross-compilation neither" +" non default builds. If you have build variables to be set differently than " +"the default option, please directly use the `<plugins>/build-plugin.py` " +"script." msgstr "" #: ../../../developer/creating-jami-plugins.md:237 @@ -2383,25 +2380,24 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:240 msgid "" -"If you need to pass any defines to cmake generation, your definitions can" -" be in `package.json` as explained in the package section. The " -"package.json created specifies the default configuration that calling the" -" build from Jami Plugins SDK will consider. If you want to build with no " -"default configuration, you can: directly use the script mentioned above " -"and pass non-default definitions as an argument or; you also can manually" -" change your package.json file. For examples, you can refer to our " -"available plugins at {gitlab-project}`jami-plugins`." +"If you need to pass any defines to cmake generation, your definitions can be" +" in `package.json` as explained in the package section. The package.json " +"created specifies the default configuration that calling the build from Jami" +" Plugins SDK will consider. If you want to build with no default " +"configuration, you can: directly use the script mentioned above and pass " +"non-default definitions as an argument or; you also can manually change your" +" package.json file. For examples, you can refer to our available plugins at " +"{gitlab-project}`jami-plugins`." msgstr "" #: ../../../developer/creating-jami-plugins.md:243 msgid "" "Another important information about CMakeLists.txt is that it has to add " -"custom commands. For PRE_BUILD, it must call the pre-assemble " -"functionality process. For POST_BUILD, it must copy the built library to " -"the build folder and call the assemble functionality process. In the end," -" your jpl archive may be found under `<plugins>/build`. The " -"CMakeLists.txt file automatically created by our SDK, already respects " -"these constraints." +"custom commands. For PRE_BUILD, it must call the pre-assemble functionality " +"process. For POST_BUILD, it must copy the built library to the build folder " +"and call the assemble functionality process. In the end, your jpl archive " +"may be found under `<plugins>/build`. The CMakeLists.txt file automatically " +"created by our SDK, already respects these constraints." msgstr "" #: ../../../developer/creating-jami-plugins.md:245 @@ -2416,26 +2412,26 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:248 msgid "" -"The basic script consider the environment variable `DAEMON` that must " -"point to the jami-daemon folder. Besides, you can pass an argument for " -"the platform used like `-t android` if you want to cross-compile for " -"Android. Further custom definitions and environment variables should be " -"handled by the plugin developper. If you want to build with no default " -"configuration, you can modify the environment variables values and then " -"call the build. Ie: for android, you can set which ABI you want to build " -"with `export ANDROID_ABI=\"arm64-v8a armeabi-v7a`. For other examples, " -"you can refer to our {doc}`technical documentation <jami-plugins>` and to" -" our {gitlab-project}`available plugins <jami-plugins>`." +"The basic script consider the environment variable `DAEMON` that must point " +"to the jami-daemon folder. Besides, you can pass an argument for the " +"platform used like `-t android` if you want to cross-compile for Android. " +"Further custom definitions and environment variables should be handled by " +"the plugin developper. If you want to build with no default configuration, " +"you can modify the environment variables values and then call the build. Ie:" +" for android, you can set which ABI you want to build with `export " +"ANDROID_ABI=\"arm64-v8a armeabi-v7a`. For other examples, you can refer to " +"our {doc}`technical documentation <jami-plugins>` and to our {gitlab-" +"project}`available plugins <jami-plugins>`." msgstr "" #: ../../../developer/creating-jami-plugins.md:253 msgid "" -"Another important information about build.sh is that it has to call pre " -"and post assemble. Before the build, it must call the pre-assemble " -"functionality process. After it, it must copy the built library to the " -"build folder and call the assemble functionality process. In the end, " -"your jpl archive may be found under `<plugins>/build`. The build.sh file " -"automatically created by our SDK, already respects these constraints." +"Another important information about build.sh is that it has to call pre and " +"post assemble. Before the build, it must call the pre-assemble functionality" +" process. After it, it must copy the built library to the build folder and " +"call the assemble functionality process. In the end, your jpl archive may be" +" found under `<plugins>/build`. The build.sh file automatically created by " +"our SDK, already respects these constraints." msgstr "" #: ../../../developer/creating-jami-plugins.md:255 @@ -2447,16 +2443,16 @@ msgid "" "If you have more than one jpl archives, like one build for Android and " "anothe for GNU/Linux platforms, you can merge them into one to easy it's " "distribution. However, you should know that merging two or more jpls may " -"inccur orverwritting some of the files inside them if they are not equal " -"for all archives. The only files that may not present conflicting " -"contents are the ones that do not repeate themselves. If conflicts occur," -" files from the first jpl in the arguments will prevail over the others." +"inccur orverwritting some of the files inside them if they are not equal for" +" all archives. The only files that may not present conflicting contents are " +"the ones that do not repeate themselves. If conflicts occur, files from the " +"first jpl in the arguments will prevail over the others." msgstr "" #: ../../../developer/creating-jami-plugins.md:258 msgid "" -"To merge two or more jpls, from inside Jami Plugins SDK shell, the user " -"must simple call:" +"To merge two or more jpls, from inside Jami Plugins SDK shell, the user must" +" simple call:" msgstr "" #: ../../../developer/creating-jami-plugins.md:265 @@ -2466,16 +2462,16 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:266 msgid "" "Through this section we will present a step-by-step construction of a " -"`HelloWorld` plugin using our SDK. Our goal is to print a coloured circle" -" in the midle of the video frames using **OpenCV**. The color of that " -"circle will be defined by a preference which will be changeable during " -"runtime. Also we can set a stream preferece to define if the plugin will " -"modify the video sent or the one received, this time we don't want to " -"allow a changement during runtime. We can define a second functionality " -"that will aways draw a circle in the right top corner, with the color " -"defined by the same preference as the previous functionality but that " -"cannot be changed during runtime. At the end we will exemplify how to " -"build your plugin with and without the SDK." +"`HelloWorld` plugin using our SDK. Our goal is to print a coloured circle in" +" the midle of the video frames using **OpenCV**. The color of that circle " +"will be defined by a preference which will be changeable during runtime. " +"Also we can set a stream preferece to define if the plugin will modify the " +"video sent or the one received, this time we don't want to allow a " +"changement during runtime. We can define a second functionality that will " +"aways draw a circle in the right top corner, with the color defined by the " +"same preference as the previous functionality but that cannot be changed " +"during runtime. At the end we will exemplify how to build your plugin with " +"and without the SDK." msgstr "" #: ../../../developer/creating-jami-plugins.md:273 @@ -2545,14 +2541,13 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:311 msgid "" -"Tell us a description: HelloWorld draws a circle in the center of a " -"call's video" +"Tell us a description: HelloWorld draws a circle in the center of a call's " +"video" msgstr "" #: ../../../developer/creating-jami-plugins.md:313 msgid "" -"Version must be of the form X.Y.Z Set plugin version (default 0.0.0): " -"1.0.0" +"Version must be of the form X.Y.Z Set plugin version (default 0.0.0): 1.0.0" msgstr "" #: ../../../developer/creating-jami-plugins.md:316 @@ -2567,8 +2562,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:454 msgid "" "Available APIs: (1) video during a call (Media Handler API) (2) audio " -"during a call (Media Handler API) (3) chat messages (Chat Handler API) " -"For more information about the API, call help preferences." +"during a call (Media Handler API) (3) chat messages (Chat Handler API) For " +"more information about the API, call help preferences." msgstr "" #: ../../../developer/creating-jami-plugins.md:326 @@ -2586,15 +2581,16 @@ msgid "Would you like to add a preference? [y/n] y" msgstr "" #: ../../../developer/creating-jami-plugins.md:332 -msgid "Your preferences options available are: (0) List; (1) Path; (2) EditText;" +msgid "" +"Your preferences options available are: (0) List; (1) Path; (2) EditText;" msgstr "" #: ../../../developer/creating-jami-plugins.md:337 msgid "" "Which preference type do you choose: 0 Type a value for category: stream " -"Type a value for key: videostream Type a value for title: Video stream " -"Type a value for summary: select a video direction Type a value for " -"defaultValue: 0" +"Type a value for key: videostream Type a value for title: Video stream Type " +"a value for summary: select a video direction Type a value for defaultValue:" +" 0" msgstr "" #: ../../../developer/creating-jami-plugins.md:344 @@ -2611,19 +2607,20 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:352 msgid "" -"Do you want to add a new entry Value? [y/n] n Type an entry name for '0':" -" sent Type an entry name for '1': received" +"Do you want to add a new entry Value? [y/n] n Type an entry name for '0': " +"sent Type an entry name for '1': received" msgstr "" #: ../../../developer/creating-jami-plugins.md:358 -msgid "Your preferences options available are: (0) List; (1) Path; (3) EditText;" +msgid "" +"Your preferences options available are: (0) List; (1) Path; (3) EditText;" msgstr "" #: ../../../developer/creating-jami-plugins.md:363 msgid "" -"Which preference type do you choose: 0 Type a value for category: color " -"Type a value for key: color Type a value for title: Circle color Type a " -"value for summary: select a color Type a value for defaultValue: ##00FF00" +"Which preference type do you choose: 0 Type a value for category: color Type" +" a value for key: color Type a value for title: Circle color Type a value " +"for summary: select a color Type a value for defaultValue: ##00FF00" msgstr "" #: ../../../developer/creating-jami-plugins.md:370 @@ -2639,22 +2636,25 @@ msgid "Which scope do you choose: 0" msgstr "" #: ../../../developer/creating-jami-plugins.md:377 -msgid "Do you want to add a new entry Value? [y/n] y Type one new entry: #0000FF" +msgid "" +"Do you want to add a new entry Value? [y/n] y Type one new entry: #0000FF" msgstr "" #: ../../../developer/creating-jami-plugins.md:380 -msgid "Do you want to add a new entry Value? [y/n] y Type one new entry: #00FF00" +msgid "" +"Do you want to add a new entry Value? [y/n] y Type one new entry: #00FF00" msgstr "" #: ../../../developer/creating-jami-plugins.md:383 -msgid "Do you want to add a new entry Value? [y/n] y Type one new entry: #FF0000" +msgid "" +"Do you want to add a new entry Value? [y/n] y Type one new entry: #FF0000" msgstr "" #: ../../../developer/creating-jami-plugins.md:386 msgid "" "Do you want to add a new entry Value? [y/n] n Type an entry name for " -"'#0000FF': blue Type an entry name for '#00FF00': green Type an entry " -"name for '#FF0000': red" +"'#0000FF': blue Type an entry name for '#00FF00': green Type an entry name " +"for '#FF0000': red" msgstr "" #: ../../../developer/creating-jami-plugins.md:391 @@ -2700,13 +2700,14 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:408 msgid "" "Before building the HelloWorld, you should compile ffmpeg and OpenCV " -"dependencies. This can be achieved by following the build instructions " -"for OpenCV {doc}`here <jami-plugins>`. Ffmpeg will be automatically build" -" if you follow those instructions. To build you plugin, you can either:" +"dependencies. This can be achieved by following the build instructions for " +"OpenCV {doc}`here <jami-plugins>`. Ffmpeg will be automatically build if you" +" follow those instructions. To build you plugin, you can either:" msgstr "" #: ../../../developer/creating-jami-plugins.md:410 -msgid "Call the build from Jami Plugins SDK (works for GNU/Linux and Windows):" +msgid "" +"Call the build from Jami Plugins SDK (works for GNU/Linux and Windows):" msgstr "" #: ../../../developer/creating-jami-plugins.md:415 @@ -2722,7 +2723,8 @@ msgid "DAEMON not provided, building with ./../../daemon" msgstr "" #: ../../../developer/creating-jami-plugins.md:423 -msgid "Call plugin-build.py script (works for GNU/Linux, Windows and Android):" +msgid "" +"Call plugin-build.py script (works for GNU/Linux, Windows and Android):" msgstr "" #: ../../../developer/creating-jami-plugins.md:424 @@ -2744,9 +2746,9 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:430 msgid "" -"OBS: For Android, you can set `ANDROID_ABI` environment variable to the " -"ABI you want to build. Currently Jami supports `x86_64`, `armeabi-v7a`, " -"and `arm64-v8a`. Plugins will be build for the three options by default." +"OBS: For Android, you can set `ANDROID_ABI` environment variable to the ABI " +"you want to build. Currently Jami supports `x86_64`, `armeabi-v7a`, and " +"`arm64-v8a`. Plugins will be build for the three options by default." msgstr "" #: ../../../developer/creating-jami-plugins.md:432 @@ -2755,8 +2757,8 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:433 msgid "" -"Now that you tested and your HelloWorld is working, you can try to do add" -" another functionality to it." +"Now that you tested and your HelloWorld is working, you can try to do add " +"another functionality to it." msgstr "" #: ../../../developer/creating-jami-plugins.md:438 @@ -2790,15 +2792,16 @@ msgid "Optionally, you can change your plugin version and description:" msgstr "" #: ../../../developer/creating-jami-plugins.md:476 -msgid "(Jami Plugins SDK) manifest Leave Empty or Press 'q' to quit this option." +msgid "" +"(Jami Plugins SDK) manifest Leave Empty or Press 'q' to quit this option." msgstr "" #: ../../../developer/creating-jami-plugins.md:479 msgid "" -"Plugin to be modified or created: HelloWorld New description for your " -"plugin (ignore to keep previous description): HelloWorld can draw a " -"circle at the center or at the top-left of a call's video New plugin " -"version (ignore to keep previous version): 2.0" +"Plugin to be modified or created: HelloWorld New description for your plugin" +" (ignore to keep previous description): HelloWorld can draw a circle at the " +"center or at the top-left of a call's video New plugin version (ignore to " +"keep previous version): 2.0" msgstr "" #: ../../../developer/creating-jami-plugins.md:483 @@ -2807,9 +2810,9 @@ msgstr "" #: ../../../developer/creating-jami-plugins.md:486 msgid "" -"Now you can start your own creations! Do not forget to tag Jami or " -"Savoir-Faire Linux in your repository, this way we can get to know how " -"the community is developping their own plugins!" +"Now you can start your own creations! Do not forget to tag Jami or Savoir-" +"Faire Linux in your repository, this way we can get to know how the " +"community is developping their own plugins!" msgstr "" #: ../../../developer/feature-requests.md:1 @@ -2818,9 +2821,8 @@ msgstr "" #: ../../../developer/feature-requests.md:4 msgid "" -"This page exists to classify feature requests per users' feedback, to " -"avoid leaving tickets open for years. Under construction, will sort the " -"tickets." +"This page exists to classify feature requests per users' feedback, to avoid " +"leaving tickets open for years. Under construction, will sort the tickets." msgstr "" #: ../../../developer/feature-requests.md:8 @@ -2829,8 +2831,8 @@ msgstr "" #: ../../../developer/feature-requests.md:10 msgid "" -"{daemon-issue}`Implement pipewire <13> to support screen sharing on " -"Wayland` -> Contact #Jami (Adrien, Sébastien, etc.) / hard" +"{daemon-issue}`Implement pipewire <13> to support screen sharing on Wayland`" +" -> Contact #Jami (Adrien, Sébastien, etc.) / hard" msgstr "" #: ../../../developer/feature-requests.md:12 @@ -2850,7 +2852,8 @@ msgid "Add unit-tests / probably easy" msgstr "" #: ../../../developer/feature-requests.md:16 -msgid "Investigate: SIP/XMPP bridge -> Contact #Jami (Adrien, Sébastien) / hard" +msgid "" +"Investigate: SIP/XMPP bridge -> Contact #Jami (Adrien, Sébastien) / hard" msgstr "" #: ../../../developer/feature-requests.md:18 @@ -2910,8 +2913,8 @@ msgstr "" #: ../../../developer/feature-requests.md:33 msgid "" -"{client-qt-issue}`Live closed captions (multiple languages) <576>` " -"(Whisper OpenAI, Google Speech API or similar) / probably easy" +"{client-qt-issue}`Live closed captions (multiple languages) <576>` (Whisper " +"OpenAI, Google Speech API or similar) / probably easy" msgstr "" #: ../../../developer/feature-requests.md:35 @@ -2930,9 +2933,8 @@ msgstr "" #: ../../../developer/feature-requests.md:40 msgid "" -"Separate connectivity (ICE/TCP/TLS/UPNP/connection manager) in a " -"dedicated library (can be shared with OpenDHT) / medium difficulty & long" -" term project" +"Separate connectivity (ICE/TCP/TLS/UPNP/connection manager) in a dedicated " +"library (can be shared with OpenDHT) / medium difficulty & long term project" msgstr "" #: ../../../developer/feature-requests.md:43 @@ -2951,8 +2953,8 @@ msgstr "" #: ../../../developer/feature-requests.md:47 msgid "" -"Emoji as a native component to avoid depending on qt-webengine for this " -"(not available on macOS) (e.g. https://github.com/jnodev/QMLemoji)" +"Emoji as a native component to avoid depending on qt-webengine for this (not" +" available on macOS) (e.g. https://github.com/jnodev/QMLemoji)" msgstr "" #: ../../../developer/feature-requests.md:49 @@ -2967,8 +2969,8 @@ msgstr "" #: ../../../developer/feature-requests.md:51 msgid "" -"{daemon-issue}`Support message edition/deletion <316>` (Contact #Jami - " -"easy but long)" +"{daemon-issue}`Support message edition/deletion <316>` (Contact #Jami - easy" +" but long)" msgstr "" #: ../../../developer/feature-requests.md:53 @@ -2981,14 +2983,13 @@ msgstr "" #: ../../../developer/feature-requests.md:57 msgid "" -"Improve Jami on Yocto (some codecs problems/lag on i.MX 6) -> Contact " -"Rennes" +"Improve Jami on Yocto (some codecs problems/lag on i.MX 6) -> Contact Rennes" msgstr "" #: ../../../developer/feature-requests.md:59 msgid "" -"[Qt/QML Improve client](https://git.jami.net/savoirfairelinux/jami-" -"client-qt/-/issues) -> Contact #Jami (Andreas)" +"[Qt/QML Improve client](https://git.jami.net/savoirfairelinux/jami-client-" +"qt/-/issues) -> Contact #Jami (Andreas)" msgstr "" #: ../../../developer/feature-requests.md:61 @@ -3005,9 +3006,8 @@ msgstr "" #: ../../../developer/feature-requests.md:64 msgid "" -"{gerrit-project}`jami-web`; because installing an app can be boring. " -"Joining a conference via a link can be cool. For now, nobody is working " -"on it." +"{gerrit-project}`jami-web`; because installing an app can be boring. Joining" +" a conference via a link can be cool. For now, nobody is working on it." msgstr "" #: ../../../developer/feature-requests.md:68 @@ -3027,14 +3027,14 @@ msgstr "" #: ../../../developer/feature-requests.md:74 msgid "" -"{project-issue}`add possibility to show \"reachable at the following " -"times\" (contact details) <1261>`" +"{project-issue}`add possibility to show \"reachable at the following times\"" +" (contact details) <1261>`" msgstr "" #: ../../../developer/feature-requests.md:76 msgid "" -"{project-issue}`Preferences per contact (allow calls, file transfer, " -"custom ringtone) <1280>`" +"{project-issue}`Preferences per contact (allow calls, file transfer, custom " +"ringtone) <1280>`" msgstr "" #: ../../../developer/feature-requests.md:78 @@ -3096,8 +3096,8 @@ msgstr "" #: ../../../developer/feature-requests.md:95 msgid "" -"{project-issue}`Emoticon/emoji message reactions <1034>` (need to wait " -"for group chat)" +"{project-issue}`Emoticon/emoji message reactions <1034>` (need to wait for " +"group chat)" msgstr "" #: ../../../developer/feature-requests.md:98 @@ -3105,7 +3105,7 @@ msgid "Depends on mass changes" msgstr "" #: ../../../developer/feature-requests.md:102 -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:59 msgid "Packaging" msgstr "" @@ -3139,7 +3139,8 @@ msgid "{project-issue}`Sound safety <441>`" msgstr "" #: ../../../developer/feature-requests.md:113 -msgid "{client-gnome-issue}`Ability to see multiple chats at the same time <909>`" +msgid "" +"{client-gnome-issue}`Ability to see multiple chats at the same time <909>`" msgstr "" #: ../../../developer/feature-requests.md:115 @@ -3209,8 +3210,8 @@ msgstr "" #: ../../../developer/file-transfer.md:12 msgid "" -"For sending a file on gnome, in a conversation you need to click to the " -"send file icon at the bottom right of the conversation:" +"For sending a file on gnome, in a conversation you need to click to the send" +" file icon at the bottom right of the conversation:" msgstr "" #: ../../../developer/file-transfer.md:15 @@ -3225,8 +3226,8 @@ msgstr "" #: ../../../developer/file-transfer.md:17 msgid "" -"Then you will see your image as soon as the transfer is finished (and " -"show images is activated)" +"Then you will see your image as soon as the transfer is finished (and show " +"images is activated)" msgstr "" #: ../../../developer/file-transfer.md:20 @@ -3271,11 +3272,12 @@ msgstr "" msgid "Gnome_ongoing" msgstr "" -#: ../../../developer/file-transfer.md:32 ../../../developer/jami-plugins.md:32 +#: ../../../developer/file-transfer.md:32 +#: ../../../developer/jami-plugins.md:32 #: ../../../developer/jami-plugins.md:110 #: ../../../developer/jami-plugins.md:269 msgid "Android" -msgstr "" +msgstr "Android" #: ../../../developer/file-transfer.md:34 msgid "" @@ -3295,8 +3297,8 @@ msgstr "" #: ../../../developer/file-transfer.md:39 msgid "" -"Note: when you send a file, the other has to accept it. At this moment " -"you will see 'awaiting peer':" +"Note: when you send a file, the other has to accept it. At this moment you " +"will see 'awaiting peer':" msgstr "" #: ../../../developer/file-transfer.md:42 @@ -3320,40 +3322,38 @@ msgstr "" #: ../../../developer/file-transfer.md:51 msgid "" "Jami is a distributed application and has to work without any internet " -"connectivity. So, file transfer too! Basically, we use the same method to" -" perform file transfer and calls, but in TCP. To summarize how it works, " -"we can imagine a situation where Alice (A) wants to transfer a file to " -"Bob (B)." +"connectivity. So, file transfer too! Basically, we use the same method to " +"perform file transfer and calls, but in TCP. To summarize how it works, we " +"can imagine a situation where Alice (A) wants to transfer a file to Bob (B)." msgstr "" #: ../../../developer/file-transfer.md:53 msgid "" -"First, Alice will request a connection to Bob. To do that, Jami is using " -"ICE (RFC 6544), a protocol used to negotiate links between peers. Alice " -"will send, into an encrypted packet via the DHT the ip of its device. So," -" when Bob receives the ips of Alice, they will be able to negotiate a " -"transport where Bob will be able to send packets to Alice. The " -"negotiation can be successful, but if it fails, a TURN server will be " -"used (the one configured into the settings) to perform the transfer. If " -"the negotiation succeeds, Bob will send its ips to Alice to perform the " -"negotiation in the other direction. Note that the link is still not " -"secure, so Bob will send the ips through the DHT in an encrypted message." -" If the second negotiation fails, the TURN will be used as a fallback." +"First, Alice will request a connection to Bob. To do that, Jami is using ICE" +" (RFC 6544), a protocol used to negotiate links between peers. Alice will " +"send, into an encrypted packet via the DHT the ip of its device. So, when " +"Bob receives the ips of Alice, they will be able to negotiate a transport " +"where Bob will be able to send packets to Alice. The negotiation can be " +"successful, but if it fails, a TURN server will be used (the one configured " +"into the settings) to perform the transfer. If the negotiation succeeds, Bob" +" will send its ips to Alice to perform the negotiation in the other " +"direction. Note that the link is still not secure, so Bob will send the ips " +"through the DHT in an encrypted message. If the second negotiation fails, " +"the TURN will be used as a fallback." msgstr "" #: ../../../developer/file-transfer.md:55 msgid "" "Now that the bidirectionnal TCP link is here, the next step will be to " "negotiate a TLS 1.3 (generally a (TLS1.3)-(DHE-FFDHE8192)-(RSA-PSS-RSAE-" -"SHA384)-(AES-256-GCM) when I write these lines) between Alice an Bob, " -"then Alice will start to transfer the file." +"SHA384)-(AES-256-GCM) when I write these lines) between Alice an Bob, then " +"Alice will start to transfer the file." msgstr "" #: ../../../developer/file-transfer.md:57 msgid "" -"The first part will be a small header to describe the content of the " -"file. Then, after Bob accepts the transfer, the full file will be " -"transmitted." +"The first part will be a small header to describe the content of the file. " +"Then, after Bob accepts the transfer, the full file will be transmitted." msgstr "" #: ../../../developer/file-transfer.md:59 @@ -3371,11 +3371,11 @@ msgstr "" #: ../../../developer/file-transfer.md:65 msgid "" "1\\. A client will call `DataTransferFacade::sendFile()`. " -"`DataTransferFacade` is the class corresponding to the API exposed for " -"the clients. It is used to manage a view of the file transfers (the " +"`DataTransferFacade` is the class corresponding to the API exposed for the " +"clients. It is used to manage a view of the file transfers (the " "corresponding classes are `DataTransfer`, `IncomingFileTransfer`, " -"`OutgoingFileTransfer` and `SubOutgoingFileTransfer`). This method will " -"ask the linked `JamiAccount` to request a connection." +"`OutgoingFileTransfer` and `SubOutgoingFileTransfer`). This method will ask " +"the linked `JamiAccount` to request a connection." msgstr "" #: ../../../developer/file-transfer.md:67 @@ -3387,57 +3387,58 @@ msgstr "" #: ../../../developer/file-transfer.md:69 msgid "" "2\\. The method `DhtPeerConnector: requestConnection()` is triggered and " -"creates a connection between all connected devices of the peer (found on " -"the DHT). `DhtPeerConnector` is used to manage the main event loop which " -"manage connections. When a device is found, the *event loop* will create " -"a `ClientConnector` (which manage the connection for one device) and " -"launch the `process()` method." +"creates a connection between all connected devices of the peer (found on the" +" DHT). `DhtPeerConnector` is used to manage the main event loop which manage" +" connections. When a device is found, the *event loop* will create a " +"`ClientConnector` (which manage the connection for one device) and launch " +"the `process()` method." msgstr "" #: ../../../developer/file-transfer.md:71 msgid "" "3\\. This method is used to initialize the ICE transport and put a " -"*PeerConnectionMsg* (which contains the SDP message, see below) on the " -"DHT and waits for a response (`DhtPeerConnector::Impl::onResponseMsg`)." +"*PeerConnectionMsg* (which contains the SDP message, see below) on the DHT " +"and waits for a response (`DhtPeerConnector::Impl::onResponseMsg`)." msgstr "" #: ../../../developer/file-transfer.md:73 msgid "" "4\\. Then a response is received from the DHT, which contains public " -"addresses of the peer device. We can now negotiate a TLS link (directly " -"via ICE, or via TURN as a fallback). This `TlsSocketEndpoint` is given to" -" the `PeerConnection` object as an output and the transfer can start." +"addresses of the peer device. We can now negotiate a TLS link (directly via " +"ICE, or via TURN as a fallback). This `TlsSocketEndpoint` is given to the " +"`PeerConnection` object as an output and the transfer can start." msgstr "" #: ../../../developer/file-transfer.md:75 msgid "" "5.\\ When the TLS socket is ready, the callback " "`DataTransferFacade::Impl::onConnectionRequestReply` is called, and a " -"`OutgoingFileTransfer` is linked to the `PeerConnection` as an input. " -"This `OutgoingFileTransfer` contains a list of `SubOutgoingFileTransfer` " -"(one per device) where each sub transfer is a transfer to one device. We " -"do that to be able to furnish the most optimistic view of the transfer " -"(if a contact as 3 devices, where the contact cancel the transfer on one " -"device, but accepted the transfer on the two others, the most advanced " -"transfer will be shown)." +"`OutgoingFileTransfer` is linked to the `PeerConnection` as an input. This " +"`OutgoingFileTransfer` contains a list of `SubOutgoingFileTransfer` (one per" +" device) where each sub transfer is a transfer to one device. We do that to " +"be able to furnish the most optimistic view of the transfer (if a contact as" +" 3 devices, where the contact cancel the transfer on one device, but " +"accepted the transfer on the two others, the most advanced transfer will be " +"shown)." msgstr "" #: ../../../developer/file-transfer.md:77 msgid "" "6\\. The `SubOutgoingFileTransfer` will first transfer the header of the " -"file, wait the peer acceptance (A \"GO\\n\" message on the socket) and " -"then will send the file." +"file, wait the peer acceptance (A \"GO\\n\" message on the socket) and then " +"will send the file." msgstr "" #: ../../../developer/file-transfer.md:79 msgid "" "7\\. If a cancel is received from the peer or the client or if the file " -"transfer finish, the connection will be closed via a `CANCEL` message on " -"the `DhtPeerConnector::eventLoop()` and the resources will be released." +"transfer finish, the connection will be closed via a `CANCEL` message on the" +" `DhtPeerConnector::eventLoop()` and the resources will be released." msgstr "" #: ../../../developer/file-transfer.md:81 -msgid "" +msgid "" +"" msgstr "" #: ../../../developer/file-transfer.md:81 @@ -3449,13 +3450,14 @@ msgid "Receiving a file" msgstr "" #: ../../../developer/file-transfer.md:86 -msgid "The same structure is used to receive files, but the method changes a bit:" +msgid "" +"The same structure is used to receive files, but the method changes a bit:" msgstr "" #: ../../../developer/file-transfer.md:88 msgid "" -"The `JamiAccount` class is used to receives messages from the DHT, " -"because the first thing received will be the DHT request." +"The `JamiAccount` class is used to receives messages from the DHT, because " +"the first thing received will be the DHT request." msgstr "" #: ../../../developer/file-transfer.md:89 @@ -3467,14 +3469,14 @@ msgstr "" #: ../../../developer/file-transfer.md:90 msgid "" "The `DhtPeerConnector::Impl::answerToRequest` will try to connect to the " -"TURN server (if not connected) and initialize the ICE transport. This " -"method open 2 control connections to a TURN server (one to authorize IPv4" -" peers, another one for IPv6 peers, due to **RFC 6156**) if it's not " -"already open and permit Peer public addresses to connect. Then, if the " -"SDP received doesn't contains ICE candidates, will use the TURN and craft" -" the SDP answer to wait for the peer. If the SDP contains ICE candidates," -" the method will try to negotiate the link (or fallback on the TURN) and " -"then answer the SDP (with ICE candidates or not)." +"TURN server (if not connected) and initialize the ICE transport. This method" +" open 2 control connections to a TURN server (one to authorize IPv4 peers, " +"another one for IPv6 peers, due to **RFC 6156**) if it's not already open " +"and permit Peer public addresses to connect. Then, if the SDP received " +"doesn't contains ICE candidates, will use the TURN and craft the SDP answer " +"to wait for the peer. If the SDP contains ICE candidates, the method will " +"try to negotiate the link (or fallback on the TURN) and then answer the SDP " +"(with ICE candidates or not)." msgstr "" #: ../../../developer/file-transfer.md:91 @@ -3491,31 +3493,31 @@ msgstr "" #: ../../../developer/file-transfer.md:95 msgid "" -"As specified in {ref}`developer/swarm:Other mime types`, the data-" -"transfer interactions are now synced and stored into conversations. So, a" -" device can easily detects if a file was downloaded or not. If not, it " -"can asks all members in the conversation to transmits the file again." +"As specified in {ref}`developer/swarm:Other mime types`, the data-transfer " +"interactions are now synced and stored into conversations. So, a device can " +"easily detects if a file was downloaded or not. If not, it can asks all " +"members in the conversation to transmits the file again." msgstr "" #: ../../../developer/file-transfer.md:97 msgid "" -"To do this, the device will send a json with the mime-type: `application" -"/data-transfer-request+json` containing `conversation` (the " +"To do this, the device will send a json with the mime-type: " +"`application/data-transfer-request+json` containing `conversation` (the " "conversation's id), `interaction` (related interaction), `deviceId` the " "device receiving the file." msgstr "" #: ../../../developer/file-transfer.md:99 msgid "" -"The sender now checks if the device is a device from the announced peer " -"and that the device is a member of the conversation, and can sends the " -"file via a classic file transfer." +"The sender now checks if the device is a device from the announced peer and " +"that the device is a member of the conversation, and can sends the file via " +"a classic file transfer." msgstr "" #: ../../../developer/file-transfer.md:101 msgid "" -"The receiver can now accepts the first incoming transfer, download the " -"file and verify that the sha3sum is correct." +"The receiver can now accepts the first incoming transfer, download the file " +"and verify that the sha3sum is correct." msgstr "" #: ../../../developer/file-transfer.md:103 @@ -3538,12 +3540,11 @@ msgstr "" #: ../../../developer/file-transfer.md:123 msgid "" -"Where `0d04b932` is the ufrag and `7c33834e7cf944bf0e367b47` the password" -" of the ICE session. `2130706431` and `1694498815` are the priority of " -"the candidates. `192.168.0.126 42751 typ host tcptype passive` is a " -"passive host candidate and `1694498815 X.X.X.X 42751 typ srflx tcptype " -"passive` a passive host reflecting the public ip (mapped via UPnP for " -"example)." +"Where `0d04b932` is the ufrag and `7c33834e7cf944bf0e367b47` the password of" +" the ICE session. `2130706431` and `1694498815` are the priority of the " +"candidates. `192.168.0.126 42751 typ host tcptype passive` is a passive host" +" candidate and `1694498815 X.X.X.X 42751 typ srflx tcptype passive` a " +"passive host reflecting the public ip (mapped via UPnP for example)." msgstr "" #: ../../../developer/file-transfer.md:125 @@ -3589,10 +3590,10 @@ msgstr "" #: ../../../developer/file-transfer.md:153 msgid "" -"The first approach was to send a request through the DHT to all devices " -"and the first devices which answers get the file to transfer. This is bad" -" for your contact because they will not know which device will receives " -"will get the transfer." +"The first approach was to send a request through the DHT to all devices and " +"the first devices which answers get the file to transfer. This is bad for " +"your contact because they will not know which device will receives will get " +"the transfer." msgstr "" #: ../../../developer/file-transfer.md:158 @@ -3610,25 +3611,25 @@ msgstr "" #: ../../../developer/file-transfer.md:165 msgid "" "Now (since <https://gerrit-ring.savoirfairelinux.com/#/c/9327/>), when a " -"user send a file, it will request a *PeerConnection* with all peer " -"devices. And for all connections, we attach a new input stream to have " -"the ability to accept/refuse/cancel each transfer separately." +"user send a file, it will request a *PeerConnection* with all peer devices. " +"And for all connections, we attach a new input stream to have the ability to" +" accept/refuse/cancel each transfer separately." msgstr "" #: ../../../developer/file-transfer.md:170 msgid "" -"In *data\\_transfer.cpp* we define the *OptimisticMetaOutgoingInfo* class" -" which represent the optimistic view to show to the client. It's " -"optimistic because if a contact accept a transfer on one device and " -"refuse on others, this class will show the ongoing file transfer. And it " -"will only show an error if all devices refuse the transfer." +"In *data\\_transfer.cpp* we define the *OptimisticMetaOutgoingInfo* class " +"which represent the optimistic view to show to the client. It's optimistic " +"because if a contact accept a transfer on one device and refuse on others, " +"this class will show the ongoing file transfer. And it will only show an " +"error if all devices refuse the transfer." msgstr "" #: ../../../developer/file-transfer.md:176 msgid "" -"This class is linked to *SubOutgoingFileTransfer* which represent the " -"state of a transfer with one device. Clients will have the ability to " -"show a sub transfer instead the optimistic later (see TODO list)." +"This class is linked to *SubOutgoingFileTransfer* which represent the state " +"of a transfer with one device. Clients will have the ability to show a sub " +"transfer instead the optimistic later (see TODO list)." msgstr "" #: ../../../developer/file-transfer.md:180 @@ -3637,8 +3638,8 @@ msgstr "" #: ../../../developer/file-transfer.md:182 msgid "" -"Actually the default TURN server is *turn.ring.cx*. But you can host your" -" own TURN server. For example by running a " +"Actually the default TURN server is *turn.ring.cx*. But you can host your " +"own TURN server. For example by running a " "[coturn](https://github.com/coturn/coturn) server." msgstr "" @@ -3647,32 +3648,32 @@ msgid "`sudo turnserver -a -v -n -u user:password -r \"realm\"`" msgstr "" #: ../../../developer/file-transfer.md:188 -msgid "Then, you can configure the TURN server in the advanced settings of RING." +msgid "" +"Then, you can configure the TURN server in the advanced settings of RING." msgstr "" #: ../../../developer/file-transfer.md:191 msgid "" -"Note: this needs some technical knowledges. Moreover, the TURN server " -"should see the same ip address of your node as the destination node or " -"the peer connection will fail (because the authorization will be " -"incorrect)" +"Note: this needs some technical knowledges. Moreover, the TURN server should" +" see the same ip address of your node as the destination node or the peer " +"connection will fail (because the authorization will be incorrect)" msgstr "" #: ../../../developer/file-transfer.md:199 msgid "" -"For now, if a file transfer fails when ongoing, the sender can't resume " -"the transfer and must relaunch the whole transfer. In the future, there " -"will be a retry button for resuming the transfer." +"For now, if a file transfer fails when ongoing, the sender can't resume the " +"transfer and must relaunch the whole transfer. In the future, there will be " +"a retry button for resuming the transfer." msgstr "" #: ../../../developer/file-transfer.md:203 msgid "" "Finally, because Ring do not support text conferences (just video " -"conferences, where there is one master merging slaves SIP calls), there " -"is no real file transfer in conferences. For now, when you are in a " -"conference on the gnome client for example: A master, B and C slave. B " -"will be able to send a file to A the master (C same) A will be able to " -"send a file to B or to C (just have to select the correct conversation)." +"conferences, where there is one master merging slaves SIP calls), there is " +"no real file transfer in conferences. For now, when you are in a conference " +"on the gnome client for example: A master, B and C slave. B will be able to " +"send a file to A the master (C same) A will be able to send a file to B or " +"to C (just have to select the correct conversation)." msgstr "" #: ../../../developer/file-transfer.md:210 @@ -3697,7 +3698,7 @@ msgstr "" #: ../../../developer/important-rfcs.md:4 msgid "SIP" -msgstr "" +msgstr "SIP" #: ../../../developer/important-rfcs.md:6 msgid "Reference: <http://tools.ietf.org/html/rfc3261>" @@ -3731,8 +3732,8 @@ msgstr "" #: ../../../developer/important-rfcs.md:20 msgid "" -"How to use SDP: <http://tools.ietf.org/html/rfc3264> Valuable updates and" -" extensions:" +"How to use SDP: <http://tools.ietf.org/html/rfc3264> Valuable updates and " +"extensions:" msgstr "" #: ../../../developer/important-rfcs.md:23 @@ -3792,17 +3793,16 @@ msgid "" msgstr "" #: ../../../developer/improving-quality-of-jami.md:8 -#, python-format msgid "" -"There is about 30 unit-tests and 26% coverage. Due to Jami high demand to" -" give new functionalities to user quickly, they are not maintained by the" -" developers or by a QA dept." +"There is about 30 unit-tests and 26% coverage. Due to Jami high demand to " +"give new functionalities to user quickly, they are not maintained by the " +"developers or by a QA dept." msgstr "" #: ../../../developer/improving-quality-of-jami.md:10 msgid "" -"We use lcov for the coverage, you can find the lcov’s configuration in " -"the daemon’s Makefile.am. Also, the coverage can be found at " +"We use lcov for the coverage, you can find the lcov’s configuration in the " +"daemon’s Makefile.am. Also, the coverage can be found at " "https://docs.jami.net/coverage/" msgstr "" @@ -3814,8 +3814,8 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:14 msgid "" -"You can launch them by doing ‘make check’ in the daemon folder or " -"separately in the unit-test folder with gdb: ‘gdb ut_media_encoder’" +"You can launch them by doing ‘make check’ in the daemon folder or separately" +" in the unit-test folder with gdb: ‘gdb ut_media_encoder’" msgstr "" #: ../../../developer/improving-quality-of-jami.md:16 @@ -3830,20 +3830,21 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:20 msgid "" -"You can find framework tests in the daemon’s Makefile.am and lunch it " -"with ‘make integration’. This calls jami_test.py script in the " -"tools/dringctrl folder. It uses dringctrl.py and controller.py which let " -"you control Jami through bash." +"You can find framework tests in the daemon’s Makefile.am and lunch it with " +"‘make integration’. This calls jami_test.py script in the tools/dringctrl " +"folder. It uses dringctrl.py and controller.py which let you control Jami " +"through bash." msgstr "" #: ../../../developer/improving-quality-of-jami.md:22 -msgid "This makes a series of calls to assure jami’s opendht network is stable." +msgid "" +"This makes a series of calls to assure jami’s opendht network is stable." msgstr "" #: ../../../developer/improving-quality-of-jami.md:24 msgid "" -"Other framework tests need to be implemented in the future to tests " -"Jami’s functionalities as a whole." +"Other framework tests need to be implemented in the future to tests Jami’s " +"functionalities as a whole." msgstr "" #: ../../../developer/improving-quality-of-jami.md:26 @@ -3852,24 +3853,24 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:28 msgid "" -"Each commit goes through integration tests in dockers on the build " -"machines you can find the details at: jenkins.jami.net" +"Each commit goes through integration tests in dockers on the build machines " +"you can find the details at: jenkins.jami.net" msgstr "" #: ../../../developer/improving-quality-of-jami.md:30 msgid "" -"Code-review is made by a fellow developer, sometimes the code is reviewed" -" by the same developer, this should be avoided to emphasize Linus’ law. " -"The ‘Jenkins verified’ label is sometimes discarded and replaced by +1 " -"from a developer, this should also be avoided." +"Code-review is made by a fellow developer, sometimes the code is reviewed by" +" the same developer, this should be avoided to emphasize Linus’ law. The " +"‘Jenkins verified’ label is sometimes discarded and replaced by +1 from a " +"developer, this should also be avoided." msgstr "" #: ../../../developer/improving-quality-of-jami.md:32 msgid "" -"Sonarqube lets Jenkins build Jami and verify linting. You can find " -"filters and results at: sonar- jami.savoirfairelinux.net Sonar uses " -"clang-tidy as a preprocessor linting compilator, you can find clang’s " -"filters in .clang-tidy file in the daemon folder." +"Sonarqube lets Jenkins build Jami and verify linting. You can find filters " +"and results at: sonar- jami.savoirfairelinux.net Sonar uses clang-tidy as a " +"preprocessor linting compilator, you can find clang’s filters in .clang-tidy" +" file in the daemon folder." msgstr "" #: ../../../developer/improving-quality-of-jami.md:34 @@ -3897,10 +3898,10 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:44 msgid "" "A script is called every 30 minutes on a virtual machine jami-" -"monitorpeervm-01. You can find it on sflvault service s#7209 and is " -"calling an other client viratual jami- monitorpeer-02 (service s#7224). A" -" series of calls is being made and it returns the failure rate. You can " -"find all the details at https://wiki.savoirfairelinux.com/wiki/Jami-" +"monitorpeervm-01. You can find it on sflvault service s#7209 and is calling " +"an other client viratual jami- monitorpeer-02 (service s#7224). A series of " +"calls is being made and it returns the failure rate. You can find all the " +"details at https://wiki.savoirfairelinux.com/wiki/Jami-" "monitorpeervm-01.mtl.sfl." msgstr "" @@ -3913,8 +3914,7 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:48 msgid "" "It traces a real time point by point graph on " -"https://monitoring.savoirfairelinux.com/grafana/dashboard/script/dyndash.js?host" -"=jami-" +"https://monitoring.savoirfairelinux.com/grafana/dashboard/script/dyndash.js?host=jami-" "monitorpeervm-01.mtl.sfl&service=Check%20JamiCall&panelId=1&fullscreen&orgId=1" msgstr "" @@ -3932,15 +3932,14 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:57 msgid "" -"They are reviewed by QA dpt. before sending it to the developers if " -"needed." +"They are reviewed by QA dpt. before sending it to the developers if needed." msgstr "" #: ../../../developer/improving-quality-of-jami.md:59 msgid "" -"If a release contains a network commit that has been merged, the QA dept." -" Should be able to automate the different connectivity tests (as descibed" -" below in Calls configurations)" +"If a release contains a network commit that has been merged, the QA dept. " +"Should be able to automate the different connectivity tests (as descibed " +"below in Calls configurations)" msgstr "" #: ../../../developer/improving-quality-of-jami.md:61 @@ -3953,14 +3952,14 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:65 msgid "" -"(IPv4 | IPv6) + (TURN | !TURN) + (STUN | !STUN) + (UPnP | !UPnP) for both" -" sides." +"(IPv4 | IPv6) + (TURN | !TURN) + (STUN | !STUN) + (UPnP | !UPnP) for both " +"sides." msgstr "" #: ../../../developer/improving-quality-of-jami.md:67 msgid "" -"If both sides are IPv4 only without TURN/STUN/UPnP, the call should be " -"only local." +"If both sides are IPv4 only without TURN/STUN/UPnP, the call should be only " +"local." msgstr "" #: ../../../developer/improving-quality-of-jami.md:69 @@ -3990,14 +3989,14 @@ msgstr "" #: ../../../developer/improving-quality-of-jami.md:79 msgid "" "Each major functionality should be tested as whole by adding a framework " -"test (i.e. making sure a message was received, the call was ended well on" -" both side, etc...)" +"test (i.e. making sure a message was received, the call was ended well on " +"both side, etc...)" msgstr "" #: ../../../developer/improving-quality-of-jami.md:81 msgid "" -"Each new functionality should be tested on each platform before merging " -"it to reduce regression" +"Each new functionality should be tested on each platform before merging it " +"to reduce regression" msgstr "" #: ../../../developer/improving-quality-of-jami.md:83 @@ -4019,15 +4018,15 @@ msgstr "" #: ../../../developer/index.rst:5 msgid "" "The Jami developer manual is a reference for Jami developers and " -"contributors, documenting the various aspects of hacking on and " -"developing Jami, including in-depth explanations of how Jami is designed " -"and how its various parts work together." +"contributors, documenting the various aspects of hacking on and developing " +"Jami, including in-depth explanations of how Jami is designed and how its " +"various parts work together." msgstr "" #: ../../../developer/introduction.md:4 msgid "" -"Greetings! In the developer manual of Jami, you will learn about how " -"Jami works from the high level, to the low, with some examples." +"Greetings! In the developer manual of Jami, you will learn about how Jami " +"works from the high level, to the low, with some examples." msgstr "" #: ../../../developer/introduction.md:7 @@ -4068,7 +4067,7 @@ msgstr "" #: ../../../developer/introduction.md:18 msgid "Advanced features" -msgstr "" +msgstr "Fonctionnalités avancées" #: ../../../developer/introduction.md:19 msgid "Manage audio/videos" @@ -4076,13 +4075,13 @@ msgstr "" #: ../../../developer/introduction.md:20 msgid "Call recording" -msgstr "" +msgstr "Enregistrement d'appel" #: ../../../developer/introduction.md:21 msgid "" "[The push notifications " -"system](https://github.com/savoirfairelinux/opendht/wiki/Push-" -"notifications-support)" +"system](https://github.com/savoirfairelinux/opendht/wiki/Push-notifications-" +"support)" msgstr "" #: ../../../developer/introduction.md:22 @@ -4155,9 +4154,9 @@ msgstr "" #: ../../../developer/introduction.md:45 msgid "" -"If you are reading this, chances are you'd either like to contribute to " -"one of Jami's components/projects, or to implement your own client. There" -" are three main layers in this project:" +"If you are reading this, chances are you'd either like to contribute to one " +"of Jami's components/projects, or to implement your own client. There are " +"three main layers in this project:" msgstr "" #: ../../../developer/introduction.md:49 @@ -4170,11 +4169,11 @@ msgstr "" #: ../../../developer/introduction.md:54 msgid "" -"The daemon, which is the main part. It's the part which does all the " -"logic for Jami and interacts with OpenDHT, pjsip, FFmpeg, and the other " -"libraries, and implements the whole protocol. If you'd like to do create" -" a new Jami client, we recommend implementing it on top of this daemon, " -"using one of its many APIs (REST, DBus, libwrap, or JNI)." +"The daemon, which is the main part. It's the part which does all the logic " +"for Jami and interacts with OpenDHT, pjsip, FFmpeg, and the other libraries," +" and implements the whole protocol. If you'd like to do create a new Jami " +"client, we recommend implementing it on top of this daemon, using one of its" +" many APIs (REST, DBus, libwrap, or JNI)." msgstr "" #: ../../../developer/introduction.md:61 @@ -4183,8 +4182,8 @@ msgstr "" #: ../../../developer/introduction.md:63 msgid "" -"The developer manual of Jami will explain the different features from all" -" of these layers." +"The developer manual of Jami will explain the different features from all of" +" these layers." msgstr "" #: ../../../developer/jami-identifiers.md:1 @@ -4194,8 +4193,8 @@ msgstr "" #: ../../../developer/jami-identifiers.md:4 msgid "" "There are many identifiers in Jami. We need to unify the naming of these " -"identifiers between all implementations. This page reference various kind" -" of identifiers used in Jami with relevant examples." +"identifiers between all implementations. This page reference various kind of" +" identifiers used in Jami with relevant examples." msgstr "" #: ../../../developer/jami-identifiers.md:8 @@ -4215,17 +4214,17 @@ msgid "" "**URI** : a Jami or SIP URI such as " "`ring:3d1112ab2bb089370c0744a44bbbb0786418d40b` or `ring:jeandupont` or " "`<sip:nnnnn@host:5060>`. Must be compliant with " -"[rfc3986](https://tools.ietf.org/html/rfc3986). If it's a SIP URI, it " -"must be compliant with " +"[rfc3986](https://tools.ietf.org/html/rfc3986). If it's a SIP URI, it must " +"be compliant with " "[rfc3261#19.1](https://tools.ietf.org/html/rfc3261#section-19.1)." msgstr "" #: ../../../developer/jami-identifiers.md:15 msgid "" "**Canonical URI** : `ring:3d1112ab2bb089370c0744a44bbbb0786418d40b` or " -"`sip:nnnnn@host:5060`. The most simplified form of the URI. Registered " -"name must be resolved, doesn't include <> brackets or display name. " -"Prefixed with the scheme (`ring:` or `sip:` or `sips:`)." +"`sip:nnnnn@host:5060`. The most simplified form of the URI. Registered name " +"must be resolved, doesn't include <> brackets or display name. Prefixed with" +" the scheme (`ring:` or `sip:` or `sips:`)." msgstr "" #: ../../../developer/jami-identifiers.md:16 @@ -4236,8 +4235,8 @@ msgstr "" #: ../../../developer/jami-identifiers.md:17 msgid "" -"**Display name** or **Profile name** : an editable user-defined profile " -"name such as `Jean Dupont`." +"**Display name** or **Profile name** : an editable user-defined profile name" +" such as `Jean Dupont`." msgstr "" #: ../../../developer/jami-identifiers.md:20 @@ -4254,9 +4253,9 @@ msgstr "" #: ../../../developer/jami-identifiers.md:31 msgid "" -"If no photo is available and a registered name (ring) or display name " -"(sip) is available, the first letter of this name can be used to generate" -" a placeholder. Otherwise a generic placeholder is used." +"If no photo is available and a registered name (ring) or display name (sip) " +"is available, the first letter of this name can be used to generate a " +"placeholder. Otherwise a generic placeholder is used." msgstr "" #: ../../../developer/jami-identifiers.md:32 @@ -4267,8 +4266,7 @@ msgstr "" #: ../../../developer/jami-identifiers.md:57 msgid "" -"Color values are from the material palette: " -"https://material.io/tools/color" +"Color values are from the material palette: https://material.io/tools/color" msgstr "" #: ../../../developer/jami-identifiers.md:60 @@ -4281,8 +4279,8 @@ msgstr "" #: ../../../developer/jami-plugins.md:1 msgid "" -"**NOTE: this page describes what is a Jami Plugin and how to install and " -"use them.**" +"**NOTE: this page describes what is a Jami Plugin and how to install and use" +" them.**" msgstr "" #: ../../../developer/jami-plugins.md:3 @@ -4291,23 +4289,23 @@ msgstr "" #: ../../../developer/jami-plugins.md:4 msgid "" -"As from September of 2020, Jami team has added plugins as a call and chat" -" feature for Linux, Windows, and Android users. This meaning that now you" -" can personalize your call/chat experience by using one of our available " -"plugins. But that is not all, you can also transform your awesome ideas " -"into a brand new plugin!" +"As from September of 2020, Jami team has added plugins as a call and chat " +"feature for Linux, Windows, and Android users. This meaning that now you can" +" personalize your call/chat experience by using one of our available " +"plugins. But that is not all, you can also transform your awesome ideas into" +" a brand new plugin!" msgstr "" #: ../../../developer/jami-plugins.md:8 msgid "" -"To properly setup a plugin you must follow the steps in [#How to use it" -"?](#how-to-use-it)." +"To properly setup a plugin you must follow the steps in [#How to use " +"it?](#how-to-use-it)." msgstr "" #: ../../../developer/jami-plugins.md:9 msgid "" -"To build a available plugin, please refer to [#How to build?](#how-to-" -"build) instructions." +"To build a available plugin, please refer to [#How to build?](#how-to-build)" +" instructions." msgstr "" #: ../../../developer/jami-plugins.md:10 @@ -4323,50 +4321,48 @@ msgstr "" #: ../../../developer/jami-plugins.md:13 msgid "" "Jami can be break down to three main components that interact together: " -"Daemon, LRC and clients. Daemon is the core of Jami, and although it does" -" not interact with users, it is involved in every command. Therefore, " -"Daemon has a `JamiPluginManager` class that among other actions perfoms " -"install/uninstall, load/unload, edit preferences and control plugins' " -"usage. Despite Daemon importance, what a plugin effectivelly does to a " -"call video/audio or to a chat message is unknown to it the same way " -"Daemon does not know what is effectivelly done by LRC or the clients " -"interfaces. Plugins then can be seen as a forth interacting component in " -"Jami." +"Daemon, LRC and clients. Daemon is the core of Jami, and although it does " +"not interact with users, it is involved in every command. Therefore, Daemon " +"has a `JamiPluginManager` class that among other actions perfoms " +"install/uninstall, load/unload, edit preferences and control plugins' usage." +" Despite Daemon importance, what a plugin effectivelly does to a call " +"video/audio or to a chat message is unknown to it the same way Daemon does " +"not know what is effectivelly done by LRC or the clients interfaces. Plugins" +" then can be seen as a forth interacting component in Jami." msgstr "" #: ../../../developer/jami-plugins.md:19 msgid "" -"The plugin system inside Jami exposes different APIs that can be used by " -"the plugins. For instance, the ChatHandler and the Media Handler API. The" -" latter enables the plugins to modify audio and video streams from Jami " -"calls and is used by our GreenScreen plugin but could also be used to " -"build a YouTube streaming system, various instagram-style filters, a real" -" time translation service, etc." +"The plugin system inside Jami exposes different APIs that can be used by the" +" plugins. For instance, the ChatHandler and the Media Handler API. The " +"latter enables the plugins to modify audio and video streams from Jami calls" +" and is used by our GreenScreen plugin but could also be used to build a " +"YouTube streaming system, various instagram-style filters, a real time " +"translation service, etc." msgstr "" #: ../../../developer/jami-plugins.md:21 msgid "" -"Plugins can be composed by one or multiple media and chat handlers that " -"are responsible for attaching/detaching a data stream from Jami and a " -"data process. Each handler represents a functionality that can be totally" -" different between them or can be a modified versions of the same core " +"Plugins can be composed by one or multiple media and chat handlers that are " +"responsible for attaching/detaching a data stream from Jami and a data " +"process. Each handler represents a functionality that can be totally " +"different between them or can be a modified versions of the same core " "process. In our example, we have only one functionality, it being, the " -"GreenScreen plugin has one media handler which data process is " -"responsible for segmenting the foreground from a video frame and applying" -" another image to the background, just like it is done with the green " -"screens in movies!" +"GreenScreen plugin has one media handler which data process is responsible " +"for segmenting the foreground from a video frame and applying another image " +"to the background, just like it is done with the green screens in movies!" msgstr "" #: ../../../developer/jami-plugins.md:23 msgid "" "To use one custom functionality, it is necessary that Jami knows all " -"plugins' handlers, which one is going to be used and the data that should" -" be processed. Plugin's handlers are created once a plugin is loaded and " -"are shared with Daemon's Plugin Manager. The data is inside Jami flow " -"(for a call plugin, in the event of a new call, Jami creates and stores " -"the corresponding media stream subjects). Finally, once a user puts a " -"plugin functionality in action Jami tells this handler to attach the " -"available data. When deactivated, Jami tells the handler to dettach." +"plugins' handlers, which one is going to be used and the data that should be" +" processed. Plugin's handlers are created once a plugin is loaded and are " +"shared with Daemon's Plugin Manager. The data is inside Jami flow (for a " +"call plugin, in the event of a new call, Jami creates and stores the " +"corresponding media stream subjects). Finally, once a user puts a plugin " +"functionality in action Jami tells this handler to attach the available " +"data. When deactivated, Jami tells the handler to dettach." msgstr "" #: ../../../developer/jami-plugins.md:27 @@ -4375,26 +4371,26 @@ msgstr "" #: ../../../developer/jami-plugins.md:28 msgid "" -"A Jami plugin is a `pluginname.jpl` file, and it must be installed to " -"your Jami. Once installed, Jami will add your new plugin to the available" -" plugins list but they will not be ready for use yet. Plugins are " -"libraries and must be loaded if you want to expose them. Moreover, plugin" -" may have preferences and besides install/uninstall and load/unload " -"actions, it is possible to modify those preferences. For example, our " -"GreenScreen plugin allows the user to change the background image " -"displayed." +"A Jami plugin is a `pluginname.jpl` file, and it must be installed to your " +"Jami. Once installed, Jami will add your new plugin to the available plugins" +" list but they will not be ready for use yet. Plugins are libraries and must" +" be loaded if you want to expose them. Moreover, plugin may have preferences" +" and besides install/uninstall and load/unload actions, it is possible to " +"modify those preferences. For example, our GreenScreen plugin allows the " +"user to change the background image displayed." msgstr "" #: ../../../developer/jami-plugins.md:33 msgid "" -"To setup a plugin for Android you must go under Setting, enable plugins " -"if they are disabled, and select a plugin file from your phone. After " -"installed it is automaticaly loaded. Optionally, you can manually perform" -" load/unload using the checkbox button on the plugin list." +"To setup a plugin for Android you must go under Setting, enable plugins if " +"they are disabled, and select a plugin file from your phone. After installed" +" it is automaticaly loaded. Optionally, you can manually perform load/unload" +" using the checkbox button on the plugin list." msgstr "" #: ../../../developer/jami-plugins.md:37 -msgid "" +msgid "" +"" msgstr "" #: ../../../developer/jami-plugins.md:37 @@ -4403,10 +4399,10 @@ msgstr "" #: ../../../developer/jami-plugins.md:39 msgid "" -"For Android uninstall, you must click on the plugin and a uninstall " -"option will appear allong with the preferences and a reset preferences " -"option. In order to a preference modification can take effect the plugin " -"has to be reloaded." +"For Android uninstall, you must click on the plugin and a uninstall option " +"will appear allong with the preferences and a reset preferences option. In " +"order to a preference modification can take effect the plugin has to be " +"reloaded." msgstr "" #: ../../../developer/jami-plugins.md:42 @@ -4435,14 +4431,14 @@ msgstr "" #: ../../../developer/jami-plugins.md:49 msgid "" -"Client-gnome: a load/unload button and a uninstall button; For client-" -"gnome it is not possible to change plugin's preferences." +"Client-gnome: a load/unload button and a uninstall button; For client-gnome " +"it is not possible to change plugin's preferences." msgstr "" #: ../../../developer/jami-plugins.md:52 msgid "" -" " +" " msgstr "" #: ../../../developer/jami-plugins.md:52 @@ -4459,9 +4455,9 @@ msgstr "" #: ../../../developer/jami-plugins.md:56 msgid "" -"A media handler functionality only takes place if you turn them on during" -" a call. For either Android, Linux or Windows you can do so by clicking " -"on the plugins icon on your call screen." +"A media handler functionality only takes place if you turn them on during a " +"call. For either Android, Linux or Windows you can do so by clicking on the " +"plugins icon on your call screen." msgstr "" #: ../../../developer/jami-plugins.md:59 @@ -4480,8 +4476,8 @@ msgstr "" #: ../../../developer/jami-plugins.md:62 msgid "" -"Similarly, for chat handler functionality, you will see a plugin icon in " -"the chat window as in the images bellow." +"Similarly, for chat handler functionality, you will see a plugin icon in the" +" chat window as in the images bellow." msgstr "" #: ../../../developer/jami-plugins.md:64 @@ -4490,15 +4486,15 @@ msgstr "" #: ../../../developer/jami-plugins.md:65 msgid "" -"If you want to make something with your video call, it is possible that " -"you will do so with OpenCV and/or deep learning models (Tensorflow, " -"PyTorch, etc). So, before going to the plugin, it is necessary to build " -"plugin's dependencies." +"If you want to make something with your video call, it is possible that you " +"will do so with OpenCV and/or deep learning models (Tensorflow, PyTorch, " +"etc). So, before going to the plugin, it is necessary to build plugin's " +"dependencies." msgstr "" #: ../../../developer/jami-plugins.md:68 msgid "Dependencies" -msgstr "" +msgstr "Dépendances" #: ../../../developer/jami-plugins.md:69 msgid "" @@ -4523,7 +4519,8 @@ msgid "" "instructions." msgstr "" -#: ../../../developer/jami-plugins.md:76 ../../../developer/jami-plugins.md:215 +#: ../../../developer/jami-plugins.md:76 +#: ../../../developer/jami-plugins.md:215 #: ../../../developer/jami-plugins.md:283 #: ../../../developer/tensorflow-plugin.md:51 msgid "Windows" @@ -4553,14 +4550,14 @@ msgstr "" #: ../../../developer/jami-plugins.md:145 msgid "" -"A difficulty for a lot of people working with deep learning models is how" -" to deploy them. With that in mind we provide the user the possibility of" -" using onnxruntime. There are several development libraries to train and " -"test but, they are usually too heavy to deploy. Tensorflow with cuda " -"support, for instance, can easily surpass 400MB. In our GreenScreen " -"plugin We chose to use onnxruntime because it's lighter (library size of " -"140Mb for cuda support) and supports model convertion from several " -"development libraries (Tensorflow, PyTorch, Caffe, etc.)." +"A difficulty for a lot of people working with deep learning models is how to" +" deploy them. With that in mind we provide the user the possibility of using" +" onnxruntime. There are several development libraries to train and test but," +" they are usually too heavy to deploy. Tensorflow with cuda support, for " +"instance, can easily surpass 400MB. In our GreenScreen plugin We chose to " +"use onnxruntime because it's lighter (library size of 140Mb for cuda " +"support) and supports model convertion from several development libraries " +"(Tensorflow, PyTorch, Caffe, etc.)." msgstr "" #: ../../../developer/jami-plugins.md:149 @@ -4573,16 +4570,16 @@ msgstr "" #: ../../../developer/jami-plugins.md:151 msgid "" "To build onnxruntime based plugins for Linux and Android, we strongly " -"recommend using docker files available under `<plugins>/docker/`. We " -"don't offer Windows docker, but here we carefully guide you through the " -"proper build of this library for our three supported platforms." +"recommend using docker files available under `<plugins>/docker/`. We don't " +"offer Windows docker, but here we carefully guide you through the proper " +"build of this library for our three supported platforms." msgstr "" #: ../../../developer/jami-plugins.md:153 msgid "" -"If you want to build onnxruntime with Nvidia GPU suport, be sure to have " -"a CUDA capable GPU and that you have followed all installation steps for " -"the Nvidia drivers, CUDA Toolkit, CUDNN, and that their versions match." +"If you want to build onnxruntime with Nvidia GPU suport, be sure to have a " +"CUDA capable GPU and that you have followed all installation steps for the " +"Nvidia drivers, CUDA Toolkit, CUDNN, and that their versions match." msgstr "" #: ../../../developer/jami-plugins.md:157 @@ -4617,8 +4614,8 @@ msgstr "" msgid "" "We kindly added onnxruntime as a contrib in " "[daemon](https://git.jami.net/savoirfairelinux/jami-" -"daemon/tree/master/contrib). This way you can easily build onnxruntime " -"for Android, and Linux." +"daemon/tree/master/contrib). This way you can easily build onnxruntime for " +"Android, and Linux." msgstr "" #: ../../../developer/jami-plugins.md:167 @@ -4661,8 +4658,8 @@ msgstr "" #: ../../../developer/jami-plugins.md:254 msgid "" -"To exemplify a plugin build, we will use the GreenScreen plugin available" -" {gitlab-project}`here <jami-plugins>`." +"To exemplify a plugin build, we will use the GreenScreen plugin available " +"{gitlab-project}`here <jami-plugins>`." msgstr "" #: ../../../developer/jami-plugins.md:256 @@ -4671,8 +4668,7 @@ msgstr "" #: ../../../developer/jami-plugins.md:257 msgid "" -"First you need to go to the plugins repository in your cloned ring-" -"project:" +"First you need to go to the plugins repository in your cloned ring-project:" msgstr "" #: ../../../developer/jami-plugins.md:263 @@ -4700,8 +4696,8 @@ msgstr "" #: ../../../developer/jami-plugins.md:284 msgid "" -"Windows build of plugins are linked with the daemon repository and its " -"build scripts. So to build our example plugins you have to:" +"Windows build of plugins are linked with the daemon repository and its build" +" scripts. So to build our example plugins you have to:" msgstr "" #: ../../../developer/jami-plugins.md:296 @@ -4718,8 +4714,8 @@ msgstr "" #: ../../../developer/libjamiclient-documentation.md:8 msgid "" -"Lrc (Libringclient) is an interface between the clients and the daemon. " -"It ensures to get the same behaviour for all client using it. " +"Lrc (Libringclient) is an interface between the clients and the daemon. It " +"ensures to get the same behaviour for all client using it. " "" msgstr "" @@ -4734,8 +4730,8 @@ msgstr "" #: ../../../developer/libjamiclient-documentation.md:17 msgid "" -"this class is an interface between lrc and the sqlite database. This " -"class should not be called directly from the client." +"this class is an interface between lrc and the sqlite database. This class " +"should not be called directly from the client." msgstr "" #: ../../../developer/libjamiclient-documentation.md:20 @@ -4758,20 +4754,20 @@ msgstr "" #: ../../../developer/libjamiclient-documentation.md:28 msgid "" -"When we need information about calls, members functions from the model " -"can return NewCall::Info." +"When we need information about calls, members functions from the model can " +"return NewCall::Info." msgstr "" #: ../../../developer/libjamiclient-documentation.md:33 msgid "" -"When we need to perform some operation on a call, we pass it callId to " -"the delegate performing the operation." +"When we need to perform some operation on a call, we pass it callId to the " +"delegate performing the operation." msgstr "" #: ../../../developer/libjamiclient-documentation.md:38 msgid "" -"note about the name : we are using New as prefix to avoid conflict with " -"the current CallModel and Call objects." +"note about the name : we are using New as prefix to avoid conflict with the " +"current CallModel and Call objects." msgstr "" #: ../../../developer/libjamiclient-documentation.md:41 @@ -4794,14 +4790,14 @@ msgstr "" #: ../../../developer/libjamiclient-documentation.md:49 msgid "" -"When we need information about contact(s), members functions from the " -"model can return Contact::Info" +"When we need information about contact(s), members functions from the model " +"can return Contact::Info" msgstr "" #: ../../../developer/libjamiclient-documentation.md:54 msgid "" -"When we need to perform some operation on a contact, we pass it uri to " -"the delegate performing the operation." +"When we need to perform some operation on a contact, we pass it uri to the " +"delegate performing the operation." msgstr "" #: ../../../developer/libjamiclient-documentation.md:57 @@ -4820,27 +4816,25 @@ msgstr "" #: ../../../developer/libjamiclient-documentation.md:61 msgid "" -"ConversationModel is an interface used to manage conversations and " -"messages." +"ConversationModel is an interface used to manage conversations and messages." msgstr "" #: ../../../developer/libjamiclient-documentation.md:66 msgid "" -"When we need information about some conversation(s), members functions " -"from the model can return Conversation::Info. Conversation::Info contains" -" Messages." +"When we need information about some conversation(s), members functions from " +"the model can return Conversation::Info. Conversation::Info contains " +"Messages." msgstr "" #: ../../../developer/libjamiclient-documentation.md:72 msgid "" -"note about Message : so far, we didn't need a MessageModel, but this " -"could be come soon." +"note about Message : so far, we didn't need a MessageModel, but this could " +"be come soon." msgstr "" #: ../../../developer/libjamiclient-documentation.md:75 msgid "" -"" msgstr "" @@ -4870,8 +4864,8 @@ msgstr "" #: ../../../developer/message-displayed-status.md:4 msgid "" -"Every client generally must be able to show what peer read what message " -"and get how many unread messages there is." +"Every client generally must be able to show what peer read what message and " +"get how many unread messages there is." msgstr "" #: ../../../developer/message-displayed-status.md:6 @@ -4888,19 +4882,20 @@ msgstr "" #: ../../../developer/message-displayed-status.md:46 msgid "" -"to set a message as displayed. Should be done when the interaction is " -"shown and the conversation selected." +"to set a message as displayed. Should be done when the interaction is shown " +"and the conversation selected." msgstr "" #: ../../../developer/message-displayed-status.md:48 -msgid "This sends a SIP messages to connected peers with the following format:" +msgid "" +"This sends a SIP messages to connected peers with the following format:" msgstr "" #: ../../../developer/message-displayed-status.md:66 msgid "" -"Then the peer will know this via `onMessageDisplayed` and emit a signal " -"to the client (`DRing::ConfigurationSignal::AccountMessageStatusChanged` " -"with status 3 (`DRing::Account::MessageStates::DISPLAYED`))" +"Then the peer will know this via `onMessageDisplayed` and emit a signal to " +"the client (`DRing::ConfigurationSignal::AccountMessageStatusChanged` with " +"status 3 (`DRing::Account::MessageStates::DISPLAYED`))" msgstr "" #: ../../../developer/message-displayed-status.md:68 @@ -4910,9 +4905,9 @@ msgstr "" #: ../../../developer/message-displayed-status.md:70 msgid "" "By knowing the lastDisplayedMessage for our account, we can use this " -"informations and `ConfigrationManager::countInteractionsSince` which " -"count interaction since last message to a given message (typically last " -"displayed interaction)" +"informations and `ConfigrationManager::countInteractionsSince` which count " +"interaction since last message to a given message (typically last displayed " +"interaction)" msgstr "" #: ../../../developer/message-displayed-status.md:72 @@ -4928,9 +4923,9 @@ msgstr "" #: ../../../developer/message-displayed-status.md:76 msgid "" -"In `src/jamidht/conversation.cpp` each conversation store the last " -"displayed messages in a map<string, string> (uri, interactionId) and this" -" structure is serialized in " +"In `src/jamidht/conversation.cpp` each conversation store the last displayed" +" messages in a map<string, string> (uri, interactionId) and this structure " +"is serialized in " "`fileutils::get_data_dir()/getAccountID()/conversation_data/repository_->id()/lastDisplayed`" msgstr "" @@ -4940,253 +4935,260 @@ msgstr "" #: ../../../developer/name-server-protocol.md:4 msgid "" -"The protocol used by Jami to query and register a name is based on an " -"HTTP " -"[REST](https://en.wikipedia.org/wiki/Representational_state_transfer) API" -" answering requests with JSON documents and regular HTTP status codes." +"The protocol used by Jami to query and register a name is based on an HTTP " +"[REST](https://en.wikipedia.org/wiki/Representational_state_transfer) API " +"answering requests with JSON documents and regular HTTP status codes." msgstr "" #: ../../../developer/name-server-protocol.md:10 msgid "" -"The public nameserver is hosted at `ns.jami.net` and uses a blockchain as" -" its backend. Another implementation could use any other database or " +"The public nameserver is hosted at `ns.jami.net` and uses a blockchain as " +"its backend. Another implementation could use any other database or " "directory service making the nameserver protocol reusable." msgstr "" #: ../../../developer/name-server-protocol.md:14 +msgid "" +"If you run your own nameserver, looking up a username in the form of " +"`username@example.com` will look up the name `username` with the nameserver " +"at `example.com`. (There is no need to add `@ns.jami.net` to use the " +"default nameserver.)" +msgstr "" + +#: ../../../developer/name-server-protocol.md:19 msgid "Rules on name formatting" msgstr "" -#: ../../../developer/name-server-protocol.md:17 -msgid "Usernames are checked by a regex to ensure some rules about their format:" +#: ../../../developer/name-server-protocol.md:22 +msgid "" +"Usernames are checked by a regex to ensure some rules about their format:" msgstr "" -#: ../../../developer/name-server-protocol.md:20 +#: ../../../developer/name-server-protocol.md:25 msgid "Length must be between 3 and 32 characters" msgstr "" -#: ../../../developer/name-server-protocol.md:21 +#: ../../../developer/name-server-protocol.md:26 msgid "" "Those characters must be alphanumerical with underscore `_` being also " "accepted." msgstr "" -#: ../../../developer/name-server-protocol.md:24 +#: ../../../developer/name-server-protocol.md:29 msgid "Querying a name" msgstr "" -#: ../../../developer/name-server-protocol.md:27 +#: ../../../developer/name-server-protocol.md:32 msgid "" -"This is the main service provided by a name server. It enables getting " -"the Jami ID corresponding to a username." +"This is the main service provided by a name server. It enables getting the " +"Jami ID corresponding to a username." msgstr "" -#: ../../../developer/name-server-protocol.md:30 -#: ../../../developer/name-server-protocol.md:78 -#: ../../../developer/name-server-protocol.md:126 +#: ../../../developer/name-server-protocol.md:35 +#: ../../../developer/name-server-protocol.md:83 +#: ../../../developer/name-server-protocol.md:131 msgid "Request" msgstr "" -#: ../../../developer/name-server-protocol.md:32 +#: ../../../developer/name-server-protocol.md:37 msgid "" -"A request for the name `foobar` is a `GET` request with " -"`/name/`*`foobar`* as the URI." +"A request for the name `foobar` is a `GET` request with `/name/`*`foobar`* " +"as the URI." msgstr "" -#: ../../../developer/name-server-protocol.md:35 -#: ../../../developer/name-server-protocol.md:84 -#: ../../../developer/name-server-protocol.md:145 +#: ../../../developer/name-server-protocol.md:40 +#: ../../../developer/name-server-protocol.md:89 +#: ../../../developer/name-server-protocol.md:150 msgid "Response (Success)" msgstr "" -#: ../../../developer/name-server-protocol.md:37 +#: ../../../developer/name-server-protocol.md:42 msgid "" -"If the name is found, a response with status code `200` `OK` must be sent" -" to the client with a `Content-type` field set as `application/json`." +"If the name is found, a response with status code `200` `OK` must be sent to" +" the client with a `Content-type` field set as `application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:41 +#: ../../../developer/name-server-protocol.md:46 msgid "" -"The body is a JSON documents with 2 string attributes : `name` and " -"`addr`. `name` is equal to the one requested and `addr` is an " -"hexadecimal representation of the Jami ID prefixed with `0x`." +"The body is a JSON documents with 2 string attributes : `name` and `addr`. " +"`name` is equal to the one requested and `addr` is an hexadecimal " +"representation of the Jami ID prefixed with `0x`." msgstr "" -#: ../../../developer/name-server-protocol.md:45 -#: ../../../developer/name-server-protocol.md:93 +#: ../../../developer/name-server-protocol.md:50 +#: ../../../developer/name-server-protocol.md:98 msgid "In our example, the JSON answer would be:" msgstr "" -#: ../../../developer/name-server-protocol.md:54 -#: ../../../developer/name-server-protocol.md:101 +#: ../../../developer/name-server-protocol.md:59 +#: ../../../developer/name-server-protocol.md:106 msgid "Response (Not found)" msgstr "" -#: ../../../developer/name-server-protocol.md:56 +#: ../../../developer/name-server-protocol.md:61 msgid "" -"If the name is not found, a response with status code `404` `Not` `Found`" -" must be sent to the client with a `Content-type` field set as " +"If the name is not found, a response with status code `404` `Not` `Found` " +"must be sent to the client with a `Content-type` field set as " "`application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:60 -#: ../../../developer/name-server-protocol.md:107 +#: ../../../developer/name-server-protocol.md:65 +#: ../../../developer/name-server-protocol.md:112 msgid "" "The body is a JSON documents with 1 string attribute : `error`. This " -"attribute is filled with an error message that explains the error (and " -"could be displayed in the client in the future)." +"attribute is filled with an error message that explains the error (and could" +" be displayed in the client in the future)." msgstr "" -#: ../../../developer/name-server-protocol.md:64 -#: ../../../developer/name-server-protocol.md:111 +#: ../../../developer/name-server-protocol.md:69 +#: ../../../developer/name-server-protocol.md:116 msgid "On the reference implementation, the returned document is:" msgstr "" -#: ../../../developer/name-server-protocol.md:72 +#: ../../../developer/name-server-protocol.md:77 msgid "Querying an address" msgstr "" -#: ../../../developer/name-server-protocol.md:75 +#: ../../../developer/name-server-protocol.md:80 msgid "" -"This service is a reverse lookup. You query for an address and a " -"username is returned if one is registered on the name server." +"This service is a reverse lookup. You query for an address and a username " +"is returned if one is registered on the name server." msgstr "" -#: ../../../developer/name-server-protocol.md:80 +#: ../../../developer/name-server-protocol.md:85 msgid "" -"A request for the ID `ring:29347542eb07159f316577e1ae16243d152f6b7b` is a" -" `GET` request with `/addr/`*`29347542eb07159f316577e1ae16243d152f6b7b`* " -"as the URI." +"A request for the ID `ring:29347542eb07159f316577e1ae16243d152f6b7b` is a " +"`GET` request with `/addr/`*`29347542eb07159f316577e1ae16243d152f6b7b`* as " +"the URI." msgstr "" -#: ../../../developer/name-server-protocol.md:86 +#: ../../../developer/name-server-protocol.md:91 msgid "" -"If the address corresponds to a username, a response with status code " -"`200` `OK` must be sent to the client with a `Content-type` field set as " +"If the address corresponds to a username, a response with status code `200` " +"`OK` must be sent to the client with a `Content-type` field set as " "`application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:90 +#: ../../../developer/name-server-protocol.md:95 msgid "" -"The body is a JSON documents with 1 string attribute : `name`. The value" -" of this field is the name registered to this address" +"The body is a JSON documents with 1 string attribute : `name`. The value of" +" this field is the name registered to this address" msgstr "" -#: ../../../developer/name-server-protocol.md:103 +#: ../../../developer/name-server-protocol.md:108 msgid "" -"If the address is not found, a response with status code `404` `Not` " -"`Found` must be sent to the client with a `Content-type` field set as " +"If the address is not found, a response with status code `404` `Not` `Found`" +" must be sent to the client with a `Content-type` field set as " "`application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:119 +#: ../../../developer/name-server-protocol.md:124 msgid "Registering a name" msgstr "" -#: ../../../developer/name-server-protocol.md:122 +#: ../../../developer/name-server-protocol.md:127 msgid "" -"This part of the protocol is used to register a new name/address pair. It" -" is used on the main public registry but may be optional in a custom " +"This part of the protocol is used to register a new name/address pair. It is" +" used on the main public registry but may be optional in a custom " "implementation." msgstr "" -#: ../../../developer/name-server-protocol.md:128 +#: ../../../developer/name-server-protocol.md:133 msgid "" "A request for registering the name `foobar` is a `POST` request with " -"`/name/`*`foobar`* as the URI. The header attribute `Content-type` must " -"be set to `application/json`." +"`/name/`*`foobar`* as the URI. The header attribute `Content-type` must be " +"set to `application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:132 +#: ../../../developer/name-server-protocol.md:137 msgid "" -"The body of the request is a JSON document with 2 string attributes: " -"`addr` and `owner`. `addr` contains the Jami ID prefixed with `0x` and " -"`owner` is the name to be registered." +"The body of the request is a JSON document with 2 string attributes: `addr` " +"and `owner`. `addr` contains the Jami ID prefixed with `0x` and `owner` is " +"the name to be registered." msgstr "" -#: ../../../developer/name-server-protocol.md:136 +#: ../../../developer/name-server-protocol.md:141 msgid "An example for `foobar` could be:" msgstr "" -#: ../../../developer/name-server-protocol.md:147 +#: ../../../developer/name-server-protocol.md:152 msgid "" -"If the name/address pair is successfully registered, a response with " -"status code `200` `OK` must be sent to the client with a `Content-type` " -"field set as `application/json`." +"If the name/address pair is successfully registered, a response with status " +"code `200` `OK` must be sent to the client with a `Content-type` field set " +"as `application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:151 +#: ../../../developer/name-server-protocol.md:156 msgid "" -"The body contain a JSON document with 1 boolean attribute `success` set " -"to `true`." +"The body contain a JSON document with 1 boolean attribute `success` set to " +"`true`." msgstr "" -#: ../../../developer/name-server-protocol.md:154 +#: ../../../developer/name-server-protocol.md:159 msgid "As an example:" msgstr "" -#: ../../../developer/name-server-protocol.md:162 +#: ../../../developer/name-server-protocol.md:167 msgid "" -"Further attempts to query the name or the address should then be " -"successful." +"Further attempts to query the name or the address should then be successful." msgstr "" -#: ../../../developer/name-server-protocol.md:165 +#: ../../../developer/name-server-protocol.md:170 msgid "Response (Bad request)" msgstr "" -#: ../../../developer/name-server-protocol.md:167 +#: ../../../developer/name-server-protocol.md:172 msgid "" -"If the registration cannot be achieved because of an error in the request" -" (formatting, missing attribute, etc.), a response with status code `400`" -" `Bad` `Request` must be sent to the client with a `Content-type` field " -"set as `application/json`." +"If the registration cannot be achieved because of an error in the request " +"(formatting, missing attribute, etc.), a response with status code `400` " +"`Bad` `Request` must be sent to the client with a `Content-type` field set " +"as `application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:172 +#: ../../../developer/name-server-protocol.md:177 msgid "" -"The body is a JSON documents with 2 attributes: `success` which is a " -"boolean and `error` which is a string. `success` is set to `false` and " -"`error` is filled with an error message that explains the error (and " -"could be displayed in the client in the future)." +"The body is a JSON documents with 2 attributes: `success` which is a boolean" +" and `error` which is a string. `success` is set to `false` and `error` is " +"filled with an error message that explains the error (and could be displayed" +" in the client in the future)." msgstr "" -#: ../../../developer/name-server-protocol.md:177 +#: ../../../developer/name-server-protocol.md:182 msgid "For an invalid formatting of the username, the body could be:" msgstr "" -#: ../../../developer/name-server-protocol.md:186 +#: ../../../developer/name-server-protocol.md:191 msgid "Response (Forbidden)" msgstr "" -#: ../../../developer/name-server-protocol.md:188 +#: ../../../developer/name-server-protocol.md:193 msgid "" -"If the registration cannot be achieved because the name is already taken," -" a response with status code `403` `Forbidden` must be sent to the client" -" with a `Content-type` field set as `application/json`." +"If the registration cannot be achieved because the name is already taken, a " +"response with status code `403` `Forbidden` must be sent to the client with " +"a `Content-type` field set as `application/json`." msgstr "" -#: ../../../developer/name-server-protocol.md:192 +#: ../../../developer/name-server-protocol.md:197 msgid "" -"The body is a JSON documents with 3 attributes: `success` which is a " -"boolean set to `false`, `name` and `addr` which are both strings " -"replicated from the original request." +"The body is a JSON documents with 3 attributes: `success` which is a boolean" +" set to `false`, `name` and `addr` which are both strings replicated from " +"the original request." msgstr "" -#: ../../../developer/name-server-protocol.md:196 +#: ../../../developer/name-server-protocol.md:201 msgid "" -"Registering `foobar`, with it being already registered, would lead to the" -" following response:" +"Registering `foobar`, with it being already registered, would lead to the " +"following response:" msgstr "" -#: ../../../developer/name-server-protocol.md:207 +#: ../../../developer/name-server-protocol.md:212 msgid "Some links" msgstr "" -#: ../../../developer/name-server-protocol.md:210 +#: ../../../developer/name-server-protocol.md:215 msgid "" -"{gitlab-project}`jami-nameservice`: reference NodeJS implementation used " -"by `ns.jami.net` and querying an Ethereum node." +"{gitlab-project}`jami-nameservice`: reference NodeJS implementation used by " +"`ns.jami.net` and querying an Ethereum node." msgstr "" #: ../../../developer/protocol.md:1 ../../../developer/swarm.md:378 @@ -5199,20 +5201,20 @@ msgstr "" #: ../../../developer/protocol.md:7 msgid "" -"A **Ring account** is defined by an **RSA key pair** with a key length of" -" at least 4096 bits." +"A **Ring account** is defined by an **RSA key pair** with a key length of at" +" least 4096 bits." msgstr "" #: ../../../developer/protocol.md:10 msgid "" -"The standard x509 160-bits fingerprint of the account public key is " -"called the **RingID**." +"The standard x509 160-bits fingerprint of the account public key is called " +"the **RingID**." msgstr "" #: ../../../developer/protocol.md:13 msgid "" -"The account public key is used as the subject of an x509 certificate that" -" must be valid, have the Certificate Authority flag set, and can be self-" +"The account public key is used as the subject of an x509 certificate that " +"must be valid, have the Certificate Authority flag set, and can be self-" "signed. This certificate is called the **Ring account certificate**." msgstr "" @@ -5236,8 +5238,8 @@ msgstr "" #: ../../../developer/protocol.md:27 msgid "" "Access to a saved Ring account private key must be authenticated and " -"authorized. Authentication and authorization method to access the account" -" private key is implementation defined." +"authorized. Authentication and authorization method to access the account " +"private key is implementation defined." msgstr "" #: ../../../developer/protocol.md:31 @@ -5256,18 +5258,17 @@ msgstr "" #: ../../../developer/protocol.md:38 msgid "" -"A **device certificate** is defined as an x509 certificate whose subject " -"is a device public key, signed with an account private key. The " -"certificate MUST be valid. The issuer UID field MUST be the hexadecimal " -"form of the account public key fingerprint." +"A **device certificate** is defined as an x509 certificate whose subject is " +"a device public key, signed with an account private key. The certificate " +"MUST be valid. The issuer UID field MUST be the hexadecimal form of the " +"account public key fingerprint." msgstr "" #: ../../../developer/protocol.md:43 msgid "" -"Persisting a device private key and certificate is implementation " -"defined. Access to a saved device private key should be authenticated. " -"Authentication method to access the device private key is implementation " -"defined." +"Persisting a device private key and certificate is implementation defined. " +"Access to a saved device private key should be authenticated. Authentication" +" method to access the device private key is implementation defined." msgstr "" #: ../../../developer/protocol.md:48 @@ -5276,11 +5277,11 @@ msgstr "" #: ../../../developer/protocol.md:50 msgid "" -"A device can be \"removed\" from a Ring account through revocation of the" -" device certificate. Revoked device certificates are added to one or more" -" standard x509 Certificate Revocation List (CRL). CRLs for revoked device" -" must be valid and signed with the corresponding CA key, which is the " -"Ring account private key." +"A device can be \"removed\" from a Ring account through revocation of the " +"device certificate. Revoked device certificates are added to one or more " +"standard x509 Certificate Revocation List (CRL). CRLs for revoked device " +"must be valid and signed with the corresponding CA key, which is the Ring " +"account private key." msgstr "" #: ../../../developer/protocol.md:56 @@ -5289,9 +5290,8 @@ msgstr "" #: ../../../developer/protocol.md:58 msgid "" -"The **account archive format** defines how to serialize an account " -"private key for transmission, for instance to sign a new device " -"certificate." +"The **account archive format** defines how to serialize an account private " +"key for transmission, for instance to sign a new device certificate." msgstr "" #: ../../../developer/protocol.md:62 @@ -5313,8 +5313,8 @@ msgstr "" #: ../../../developer/protocol.md:83 msgid "" "Where PIN is a random 32bits number in hexadecimal form, \"+\" is string " -"concatenation, timestamp is the current UNIX timestamp divided by 1200 " -"(20 minutes) and password is a user-chosen password." +"concatenation, timestamp is the current UNIX timestamp divided by 1200 (20 " +"minutes) and password is a user-chosen password." msgstr "" #: ../../../developer/protocol.md:87 @@ -5337,8 +5337,8 @@ msgstr "" #: ../../../developer/protocol.md:97 msgid "" -"A device listens for incoming call by performing a listen OpenDHT " -"operation on" +"A device listens for incoming call by performing a listen OpenDHT operation " +"on" msgstr "" #: ../../../developer/protocol.md:100 @@ -5353,10 +5353,10 @@ msgstr "" #: ../../../developer/protocol.md:105 msgid "" -"Received OpenDHT values that are not encrypted or not properly signed " -"must be dropped. The value must be encrypted with the called device " -"public key and signed with the calling device private key according to " -"OpenDHT specifications." +"Received OpenDHT values that are not encrypted or not properly signed must " +"be dropped. The value must be encrypted with the called device public key " +"and signed with the calling device private key according to OpenDHT " +"specifications." msgstr "" #: ../../../developer/protocol.md:110 @@ -5369,28 +5369,27 @@ msgstr "" #: ../../../developer/protocol.md:114 msgid "" -"RFC 5245 defines ICE (Interactive Connectivity Establishment), a protocol" -" for NAT traversal." +"RFC 5245 defines ICE (Interactive Connectivity Establishment), a protocol " +"for NAT traversal." msgstr "" #: ../../../developer/protocol.md:117 msgid "" -"ICE is used in Ring to establish a peer-to-peer communication between two" -" devices." +"ICE is used in Ring to establish a peer-to-peer communication between two " +"devices." msgstr "" #: ../../../developer/protocol.md:120 msgid "" -"The calling device gathers candidates and build an Initial Offer " -"according to the ICE specifications and starts the ICE negotiation " -"process." +"The calling device gathers candidates and build an Initial Offer according " +"to the ICE specifications and starts the ICE negotiation process." msgstr "" #: ../../../developer/protocol.md:124 msgid "" -"The calling device puts the encrypted ICE offer (the Initial Offer) on " -"the DHT at h(\"callto\"+deviceID) where deviceID is the hexadecimal form " -"of the called deviceID." +"The calling device puts the encrypted ICE offer (the Initial Offer) on the " +"DHT at h(\"callto\"+deviceID) where deviceID is the hexadecimal form of the " +"called deviceID." msgstr "" #: ../../../developer/protocol.md:128 @@ -5406,14 +5405,14 @@ msgstr "" #: ../../../developer/protocol.md:134 msgid "" -"This protocol is a compound of msgpack values, successively packed in " -"this order:" +"This protocol is a compound of msgpack values, successively packed in this " +"order:" msgstr "" #: ../../../developer/protocol.md:138 msgid "" -"an integer giving the version of ICE message format protocol used for the" -" rest of the data. Current defined protocol version is **1**." +"an integer giving the version of ICE message format protocol used for the " +"rest of the data. Current defined protocol version is **1**." msgstr "" #: ../../../developer/protocol.md:139 @@ -5429,8 +5428,8 @@ msgstr "" #: ../../../developer/protocol.md:141 msgid "" "an array of string, of the previous number entries, where each string " -"describe the ICE candidate, formated as an \"a=\" line (without the " -"\"a=\" header) described in [rfc5245, section " +"describe the ICE candidate, formated as an \"a=\" line (without the \"a=\" " +"header) described in [rfc5245, section " "4.3](https://tools.ietf.org/html/rfc5245#page-26)" msgstr "" @@ -5440,27 +5439,27 @@ msgstr "" #: ../../../developer/protocol.md:145 msgid "" -"Upon reception of the encrypted and signed Initial ICE Offer (through the" -" listen operation), a called device should perform authorization checks " -"of the calling device, identified as the Initial Offer signer. " -"Authorization rules are implementation defined, but a typical " -"implementation would authorize known or trusted contacts." +"Upon reception of the encrypted and signed Initial ICE Offer (through the " +"listen operation), a called device should perform authorization checks of " +"the calling device, identified as the Initial Offer signer. Authorization " +"rules are implementation defined, but a typical implementation would " +"authorize known or trusted contacts." msgstr "" #: ../../../developer/protocol.md:151 #: ../../../developer/technical-overview.md:227 msgid "" -"If the calling device is not authorized or if for any implementation " -"defined reason the called device refuses the incoming connection request," -" the called device must ignore the Initial Offer and may log the event." +"If the calling device is not authorized or if for any implementation defined" +" reason the called device refuses the incoming connection request, the " +"called device must ignore the Initial Offer and may log the event." msgstr "" #: ../../../developer/protocol.md:156 #: ../../../developer/technical-overview.md:231 msgid "" -"If the called device authorizes the caller and wish to accept the " -"connection it must build an ICE answer, start the ICE negotiation process" -" and send the encrypted and signed ICE answer at the same DHT key." +"If the called device authorizes the caller and wish to accept the connection" +" it must build an ICE answer, start the ICE negotiation process and send the" +" encrypted and signed ICE answer at the same DHT key." msgstr "" #: ../../../developer/protocol.md:161 @@ -5470,10 +5469,10 @@ msgstr "" #: ../../../developer/protocol.md:163 msgid "" -"Once a peer-to-peer communication channel has been established, the " -"called device listens on it for incoming DTLS connections (acting as a " -"DTLS server) while the caller initiates an outgoing DTLS connection " -"(acting as a DTLS client)." +"Once a peer-to-peer communication channel has been established, the called " +"device listens on it for incoming DTLS connections (acting as a DTLS server)" +" while the caller initiates an outgoing DTLS connection (acting as a DTLS " +"client)." msgstr "" #: ../../../developer/protocol.md:168 @@ -5485,15 +5484,15 @@ msgstr "" #: ../../../developer/protocol.md:171 msgid "" "Peers must only support PFS cypher suites. The set of supported cypher " -"suites is implementation defined but should include at least ECDHE-AES-" -"GCM (TODO: specify the exact suites recommended to support)." +"suites is implementation defined but should include at least ECDHE-AES-GCM " +"(TODO: specify the exact suites recommended to support)." msgstr "" #: ../../../developer/protocol.md:175 msgid "" -"During the DTLS handshake, both peers must provide their respective " -"device certificate chain and must authenticate the other peer, checking " -"that its public key is the same used during the DHT ICE exchange." +"During the DTLS handshake, both peers must provide their respective device " +"certificate chain and must authenticate the other peer, checking that its " +"public key is the same used during the DHT ICE exchange." msgstr "" #: ../../../developer/protocol.md:179 @@ -5506,10 +5505,10 @@ msgstr "" #: ../../../developer/protocol.md:183 msgid "" -"Once an encrypted and authenticated peer-to-peer communication channel is" -" available, the SIP protocol [2](https://tools.ietf.org/html/rfc3261) " -"must be used to place a call and send messages. The caller might send a " -"SIP INVITE as soon as the DTLS channel is established." +"Once an encrypted and authenticated peer-to-peer communication channel is " +"available, the SIP protocol [2](https://tools.ietf.org/html/rfc3261) must be" +" used to place a call and send messages. The caller might send a SIP INVITE " +"as soon as the DTLS channel is established." msgstr "" #: ../../../developer/protocol.md:188 @@ -5519,16 +5518,16 @@ msgstr "" #: ../../../developer/protocol.md:190 msgid "" -"Supported codecs are implementation defined, but Ring clients should " -"support the Opus audio coded and the H264 video codec." +"Supported codecs are implementation defined, but Ring clients should support" +" the Opus audio coded and the H264 video codec." msgstr "" #: ../../../developer/protocol.md:193 #: ../../../developer/technical-overview.md:275 msgid "" -"SRTP must be used when negotiating media with SIP, using a new random key" -" for each media and each negotiation. ICE should be used when negotiating" -" media with SIP." +"SRTP must be used when negotiating media with SIP, using a new random key " +"for each media and each negotiation. ICE should be used when negotiating " +"media with SIP." msgstr "" #: ../../../developer/protocol.md:197 @@ -5547,8 +5546,8 @@ msgstr "" #: ../../../developer/protocol.md:205 msgid "" -"Passwords are stretched using argon2i using t\\_cost = 16, m\\_cost = " -"2\\^16 (64 MiB), mono-threaded, to generate a 512 bits hash." +"Passwords are stretched using argon2i using t\\_cost = 16, m\\_cost = 2\\^16" +" (64 MiB), mono-threaded, to generate a 512 bits hash." msgstr "" #: ../../../developer/protocol.md:208 @@ -5567,8 +5566,8 @@ msgstr "" #: ../../../developer/protocol.md:215 msgid "" -"Encryption uses standard AES-GCM as implemented by Nettle using a random " -"IV for each encryption." +"Encryption uses standard AES-GCM as implemented by Nettle using a random IV " +"for each encryption." msgstr "" #: ../../../developer/protocol.md:218 @@ -5577,8 +5576,8 @@ msgstr "" #: ../../../developer/protocol.md:220 msgid "" -"The password is stretched to generate a 256 bits key and a random salt of" -" 128 bits." +"The password is stretched to generate a 256 bits key and a random salt of " +"128 bits." msgstr "" #: ../../../developer/protocol.md:223 @@ -5592,11 +5591,13 @@ msgid "During a call" msgstr "" #: ../../../developer/protocol.md:228 -msgid "Audio/video data are exchanged using encrypted RTP channels between peers." +msgid "" +"Audio/video data are exchanged using encrypted RTP channels between peers." msgstr "" #: ../../../developer/protocol.md:231 -msgid "The protocol is a classic SRTP, with following supported crypto suites:" +msgid "" +"The protocol is a classic SRTP, with following supported crypto suites:" msgstr "" #: ../../../developer/protocol.md:233 @@ -5604,9 +5605,7 @@ msgid "Ring account force AES\\_CM\\_128\\_HMAC\\_SHA1\\_80" msgstr "" #: ../../../developer/protocol.md:234 -msgid "" -"SIP can use AES\\_CM\\_128\\_HMAC\\_SHA1\\_80 or " -"AES\\_CM\\_128\\_HMAC\\_SHA1\\_32" +msgid "SIP can use AES\\_CM\\_128\\_HMAC\\_SHA1\\_80 or AES\\_CM\\_128\\_HMAC\\_SHA1\\_32" msgstr "" #: ../../../developer/protocol.md:237 @@ -5617,11 +5616,11 @@ msgstr "" #: ../../../developer/protocol.md:240 msgid "" -"The keys are exchanged using SDES method: keys are written into the SIP " -"SDP messages during the SIP INVITE negotiation. When SDES is used, Ring " -"forces the underlaying transport to be secure (encrypted) to not disclose" -" these keys. Ring supports DTLS natively for SIP and Ring accounts for " -"such. The call cannot be done if this condition is not fulfilled." +"The keys are exchanged using SDES method: keys are written into the SIP SDP " +"messages during the SIP INVITE negotiation. When SDES is used, Ring forces " +"the underlaying transport to be secure (encrypted) to not disclose these " +"keys. Ring supports DTLS natively for SIP and Ring accounts for such. The " +"call cannot be done if this condition is not fulfilled." msgstr "" #: ../../../developer/qt-qml-coding-style.md:1 @@ -5638,10 +5637,10 @@ msgstr "" #: ../../../developer/qt-qml-coding-style.md:6 msgid "" -"Both signals and slots should use camelCase. A signal should use the " -"simple past tense or past participle of some verb, likely prefixed by a " -"short subject. A corresponding slot should be the signal prefixed with " -"the word \"on\" and not the word \"slot\". Here are some examples:" +"Both signals and slots should use camelCase. A signal should use the simple " +"past tense or past participle of some verb, likely prefixed by a short " +"subject. A corresponding slot should be the signal prefixed with the word " +"\"on\" and not the word \"slot\". Here are some examples:" msgstr "" #: ../../../developer/qt-qml-coding-style.md:29 @@ -5656,11 +5655,11 @@ msgstr "" #: ../../../developer/qt-qml-coding-style.md:31 msgid "" "The Qt 5.15.0 version of qmlformat has some issues dealing with comment " -"sections and currently does not discriminate against max columns, so we " -"will continue to format using these guidelines for now. The following is " -"a comprehensive sample component, adapted from https://doc.qt.io/qt-5" -"/qml-codingconventions.html, that attempts to illustrate the ideally " -"formatted component." +"sections and currently does not discriminate against max columns, so we will" +" continue to format using these guidelines for now. The following is a " +"comprehensive sample component, adapted from https://doc.qt.io/qt-5/qml-" +"codingconventions.html, that attempts to illustrate the ideally formatted " +"component." msgstr "" #: ../../../developer/qt-qml-testing-tools.md:1 @@ -5714,75 +5713,74 @@ msgstr "" #: ../../../developer/release-process.md:8 msgid "" -"Having a unique revision is not a solution in this situation. The " -"retained idea is having a global \"state\" and **various updates per " -"module**." +"Having a unique revision is not a solution in this situation. The retained " +"idea is having a global \"state\" and **various updates per module**." msgstr "" #: ../../../developer/release-process.md:12 msgid "" "For consistency, **each Ring module has to follow the same process** as " -"described in following points. But not all modules have to be modified in" -" same time." +"described in following points. But not all modules have to be modified in " +"same time." msgstr "" #: ../../../developer/release-process.md:18 msgid "**PROCESS FLOW:**" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "1" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "2" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "3" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "4" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "5" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 msgid "6" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:26 msgid "Redmine Ticket" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:33 msgid "Repository Preparation" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:38 msgid "Testing" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:54 msgid "Push tags" msgstr "" -#: ../../../developer/release-process.md +#: ../../../developer/release-process.md:0 #: ../../../developer/release-process.md:178 msgid "Advertisement" msgstr "" #: ../../../developer/release-process.md:29 msgid "" -"Create a new Task on redmine attached to the release story, for the right" -" sub-module. Set the title to \"Release Major.Minor.Micro\", with the " +"Create a new Task on redmine attached to the release story, for the right " +"sub-module. Set the title to \"Release Major.Minor.Micro\", with the " "appropriate version number." msgstr "" @@ -5796,8 +5794,8 @@ msgstr "" #: ../../../developer/release-process.md:42 msgid "" -"Start with clean git tree by running `git clean -d -f -x` from the top " -"level directory of the project." +"Start with clean git tree by running `git clean -d -f -x` from the top level" +" directory of the project." msgstr "" #: ../../../developer/release-process.md:44 @@ -5820,14 +5818,14 @@ msgstr "" #: ../../../developer/release-process.md:49 msgid "" -"Try making calls between Ring and other free softphones (Ekiga, " -"Linphone), as well as hardware VoIP phones." +"Try making calls between Ring and other free softphones (Ekiga, Linphone), " +"as well as hardware VoIP phones." msgstr "" #: ../../../developer/release-process.md:51 msgid "" -"To catch uninitialized values being used, memory leaks, invalid frees, " -"etc. run `valgrind --track-origins=yes --db-attach=yes ./bin/dring`" +"To catch uninitialized values being used, memory leaks, invalid frees, etc. " +"run `valgrind --track-origins=yes --db-attach=yes ./bin/dring`" msgstr "" #: ../../../developer/release-process.md:57 @@ -5852,8 +5850,8 @@ msgstr "" #: ../../../developer/release-process.md:100 #: ../../../developer/release-process.md:165 msgid "" -"You just have to launch release script. This script launch build, " -"download and update files and repositories..." +"You just have to launch release script. This script launch build, download " +"and update files and repositories..." msgstr "" #: ../../../developer/release-process.md:121 @@ -5876,8 +5874,8 @@ msgstr "" #: ../../../developer/release-process.md:186 msgid "" -"by email to ring@lists.savoirfairelinux.net with the subject line: \"Ring" -" Major.Minor.Patch released\"" +"by email to ring@lists.savoirfairelinux.net with the subject line: \"Ring " +"Major.Minor.Patch released\"" msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:1 @@ -5899,10 +5897,10 @@ msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:11 msgid "" -"In this guide, we will setup a [coturn](https://github.com/coturn/coturn)" -" server. There are other TURN/STUN server implementations available under" -" a free license, such as [TurnServer](http://turnserver.sourceforge.net/)" -" and [Restund](http://www.creytiv.com/restund.html)." +"In this guide, we will setup a [coturn](https://github.com/coturn/coturn) " +"server. There are other TURN/STUN server implementations available under a " +"free license, such as [TurnServer](http://turnserver.sourceforge.net/) and " +"[Restund](http://www.creytiv.com/restund.html)." msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:17 @@ -5911,8 +5909,8 @@ msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:19 msgid "" -"COTURN is available in most Linux distributions. On Debian, install it " -"with the following command:" +"COTURN is available in most Linux distributions. On Debian, install it with " +"the following command:" msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:25 @@ -5925,8 +5923,8 @@ msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:38 msgid "" -"This also will function as a STUN server. The STUN server does not " -"require a username and password (STUN uses very little bandwidth)." +"This also will function as a STUN server. The STUN server does not require a" +" username and password (STUN uses very little bandwidth)." msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:41 @@ -5935,8 +5933,8 @@ msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:43 msgid "" -"To create users on your TURN server, use the `turnadmin` binary (this " -"might require superuser permissions)." +"To create users on your TURN server, use the `turnadmin` binary (this might " +"require superuser permissions)." msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:50 @@ -5949,63 +5947,63 @@ msgstr "" #: ../../../developer/setting-up-your-own-turn-server.md:58 msgid "" -"You can configure Jami to use your TURN server from the advanced section " -"of your account settings:" +"You can configure Jami to use your TURN server from the advanced section of " +"your account settings:" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "Field" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "Value" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "**server url**" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "host and port of your server" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "0.0.0.0:10000" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "**username**" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "username" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "bob" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "**password**" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "password" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "secretpassword" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "**realm**" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "realm" msgstr "" -#: ../../../developer/setting-up-your-own-turn-server.md +#: ../../../developer/setting-up-your-own-turn-server.md:0 msgid "sfl" msgstr "" @@ -6027,8 +6025,8 @@ msgstr "" #: ../../../developer/submitting-your-first-patch.md:11 msgid "" -"{ref}`Creating a gerrit review <developer/working-with-gerrit:To Create " -"the Review>`" +"{ref}`Creating a gerrit review <developer/working-with-gerrit:To Create the " +"Review>`" msgstr "" #: ../../../developer/submitting-your-first-patch.md:13 @@ -6045,8 +6043,8 @@ msgstr "" #: ../../../developer/submitting-your-first-patch.md:22 msgid "" -"Your identification has been saved in `jami_gerrit_review_rsa`. Your " -"public key has been saved in `jami_gerrit_review_rsa.pub.`" +"Your identification has been saved in `jami_gerrit_review_rsa`. Your public " +"key has been saved in `jami_gerrit_review_rsa.pub.`" msgstr "" #: ../../../developer/submitting-your-first-patch.md:25 @@ -6080,14 +6078,15 @@ msgid "Your Repository" msgstr "" #: ../../../developer/submitting-your-first-patch.md:35 -msgid "This *assumes* you have moved any existing project clone out of the way." +msgid "" +"This *assumes* you have moved any existing project clone out of the way." msgstr "" #: ../../../developer/submitting-your-first-patch.md:37 msgid "" "Clone a (fresh) copy of the project. `git clone " -"ssh://USERNAME@review.jami.net:29420/PROJECT_NAME_GOES_HERE.git`; e.g. " -"`git clone ssh://foo@review.jami.net:29420/jami-project.git`." +"ssh://USERNAME@review.jami.net:29420/PROJECT_NAME_GOES_HERE.git`; e.g. `git " +"clone ssh://foo@review.jami.net:29420/jami-project.git`." msgstr "" #: ../../../developer/submitting-your-first-patch.md:38 @@ -6104,8 +6103,8 @@ msgstr "" #: ../../../developer/submitting-your-first-patch.md:45 msgid "" -"The script creates a unique Change_Id:hash for each commit made from your" -" repository." +"The script creates a unique Change_Id:hash for each commit made from your " +"repository." msgstr "" #: ../../../developer/submitting-your-first-patch.md:48 @@ -6116,8 +6115,8 @@ msgstr "" #: ../../../developer/submitting-your-first-patch.md:51 msgid "" -"Gerrit will also present a secure copy (scp) string. Use *that* to " -"download a copy of .git/hooks/commit-msg." +"Gerrit will also present a secure copy (scp) string. Use *that* to download " +"a copy of .git/hooks/commit-msg." msgstr "" #: ../../../developer/submitting-your-first-patch.md:55 @@ -6151,11 +6150,11 @@ msgstr "" #: ../../../developer/swarm.md:7 msgid "" "A *swarm* is a group able to discuss without any central authority in a " -"resilient way. Indeed, if two person doesn't have any connectivity with " -"the rest of the group (ie Internet outage) but they can contact each " -"other (in a LAN for example or in a subnetwork), they will be able to " -"send messages to each other and then, will be able to sync with the rest " -"of the group when it's possible." +"resilient way. Indeed, if two person doesn't have any connectivity with the " +"rest of the group (ie Internet outage) but they can contact each other (in a" +" LAN for example or in a subnetwork), they will be able to send messages to " +"each other and then, will be able to sync with the rest of the group when " +"it's possible." msgstr "" #: ../../../developer/swarm.md:9 @@ -6168,8 +6167,8 @@ msgstr "" #: ../../../developer/swarm.md:11 msgid "" -"Syncing of the history. Anyone must be able to send a message to the " -"whole group." +"Syncing of the history. Anyone must be able to send a message to the whole " +"group." msgstr "" #: ../../../developer/swarm.md:12 @@ -6178,8 +6177,8 @@ msgstr "" #: ../../../developer/swarm.md:13 msgid "" -"Non-repudiation. Devices must be able to verify old messages' validity " -"and to replay the whole history." +"Non-repudiation. Devices must be able to verify old messages' validity and " +"to replay the whole history." msgstr "" #: ../../../developer/swarm.md:14 @@ -6187,7 +6186,8 @@ msgid "PFS on the transport. Storage is managed by the device." msgstr "" #: ../../../developer/swarm.md:16 -msgid "The main idea is to get a synchronized Merkle tree with the participants." +msgid "" +"The main idea is to get a synchronized Merkle tree with the participants." msgstr "" #: ../../../developer/swarm.md:18 @@ -6252,9 +6252,9 @@ msgstr "" #: ../../../developer/swarm.md:36 msgid "" -"Bob announces to his other devices that he creates a new conversation. " -"This is done via an invite to join the swarm sent through the DHT to " -"other devices linked to that account." +"Bob announces to his other devices that he creates a new conversation. This " +"is done via an invite to join the swarm sent through the DHT to other " +"devices linked to that account." msgstr "" #: ../../../developer/swarm.md:38 @@ -6301,8 +6301,8 @@ msgstr "" #: ../../../developer/swarm.md:53 msgid "" -"Alice pull the git repo of Bob. **WARNING this means that messages need a" -" connection, not from the DHT like today**" +"Alice pull the git repo of Bob. **WARNING this means that messages need a " +"connection, not from the DHT like today**" msgstr "" #: ../../../developer/swarm.md:54 @@ -6311,16 +6311,15 @@ msgstr "" #: ../../../developer/swarm.md:55 msgid "" -"To validate that Alice is a member, she removes the invite from " -"`/invited` directory, then adds her certificate into the `/members` " -"directory" +"To validate that Alice is a member, she removes the invite from `/invited` " +"directory, then adds her certificate into the `/members` directory" msgstr "" #: ../../../developer/swarm.md:56 msgid "" -"Once all commits validated and on her device, other members of the group " -"are discovered by Alice. with these peers, she will construct the **DRT**" -" (explained below) with Bob as a bootstrap." +"Once all commits validated and on her device, other members of the group are" +" discovered by Alice. with these peers, she will construct the **DRT** " +"(explained below) with Bob as a bootstrap." msgstr "" #: ../../../developer/swarm.md:58 @@ -6345,18 +6344,18 @@ msgstr "" msgid "" "and adds her device and CRL to the repository if missing (others must be " "able to verify the commit). Merge conflicts are avoided because we are " -"mostly based on commit messages, not files (unless CRLS + certificates " -"but they are located). then she announces the new commit via the **DRT** " -"with a service message (explained later) and pings the DHT for mobile " -"devices (they must receive a push notification)." +"mostly based on commit messages, not files (unless CRLS + certificates but " +"they are located). then she announces the new commit via the **DRT** with a " +"service message (explained later) and pings the DHT for mobile devices (they" +" must receive a push notification)." msgstr "" #: ../../../developer/swarm.md:68 msgid "" -"For pinging other devices, the sender sends to other members a SIP " -"message with mimetype = \"application/im-gitmessage-id\" containing a " -"JSON with the \"deviceId\" which sends the message, the \"id\" of the " -"conversation related, and the \"commit\"" +"For pinging other devices, the sender sends to other members a SIP message " +"with mimetype = \"application/im-gitmessage-id\" containing a JSON with the " +"\"deviceId\" which sends the message, the \"id\" of the conversation " +"related, and the \"commit\"" msgstr "" #: ../../../developer/swarm.md:70 @@ -6383,8 +6382,8 @@ msgstr "" #: ../../../developer/swarm.md:77 msgid "" -"If all commits are not valid, pull is canceled. *Alice* must reestablish " -"her state to a correct state. **TODO process*" +"If all commits are not valid, pull is canceled. *Alice* must reestablish her" +" state to a correct state. **TODO process*" msgstr "" #: ../../../developer/swarm.md:79 @@ -6394,28 +6393,28 @@ msgstr "" #: ../../../developer/swarm.md:81 msgid "" "To avoid users pushing some unwanted commits (with conflicts, false " -"messages, etc), this is how each commit (from the oldest to the newest " -"one) MUST be validated before merging a remote branch:" +"messages, etc), this is how each commit (from the oldest to the newest one) " +"MUST be validated before merging a remote branch:" msgstr "" #: ../../../developer/swarm.md:83 msgid "" -"Note: if the validation fails, the fetch is ignored and we do not merge " -"the branch (and remove the data), and the user should be notified Note2: " -"If a fetch is too big, it's not done (**TODO**)" +"Note: if the validation fails, the fetch is ignored and we do not merge the " +"branch (and remove the data), and the user should be notified Note2: If a " +"fetch is too big, it's not done (**TODO**)" msgstr "" #: ../../../developer/swarm.md:86 msgid "" "For each commits, check that the device that tries to send the commit is " -"authorized at this moment and that the certificates are present (in " -"/devices for the device, and in /members or /admins for the issuer)." +"authorized at this moment and that the certificates are present (in /devices" +" for the device, and in /members or /admins for the issuer)." msgstr "" #: ../../../developer/swarm.md:87 msgid "" -"3 cases. The commit has 2 parents, so it's a merge, nothing more to " -"validate here" +"3 cases. The commit has 2 parents, so it's a merge, nothing more to validate" +" here" msgstr "" #: ../../../developer/swarm.md:88 @@ -6533,8 +6532,8 @@ msgstr "" #: ../../../developer/swarm.md:120 msgid "" -"else fail. Notify the user that they may be with an old version or that " -"peer tried to submit unwanted commits" +"else fail. Notify the user that they may be with an old version or that peer" +" tried to submit unwanted commits" msgstr "" #: ../../../developer/swarm.md:123 @@ -6547,8 +6546,8 @@ msgstr "" #: ../../../developer/swarm.md:127 msgid "" -"This is one of the most difficult scenarios in our context. Without " -"central authority we can't trust:" +"This is one of the most difficult scenarios in our context. Without central " +"authority we can't trust:" msgstr "" #: ../../../developer/swarm.md:129 @@ -6557,24 +6556,24 @@ msgstr "" #: ../../../developer/swarm.md:130 msgid "" -"Conflicts with banned devices. If multiple admin devices are present and " -"if Alice can speak with Bob but not Denys and Carla; Carla can speak with" -" Denys; Denys bans Alice, Alice bans Denys, what will be the state when " -"the 4 members will merge the conversations." +"Conflicts with banned devices. If multiple admin devices are present and if " +"Alice can speak with Bob but not Denys and Carla; Carla can speak with " +"Denys; Denys bans Alice, Alice bans Denys, what will be the state when the 4" +" members will merge the conversations." msgstr "" #: ../../../developer/swarm.md:131 msgid "" -"A device can be compromised, stolen or its certificate can expire. We " -"should be able to ban a device and avoid that it lies about its " -"expiration or send messages in the past (by changing its certificate or " -"the timestamp of its commit)." +"A device can be compromised, stolen or its certificate can expire. We should" +" be able to ban a device and avoid that it lies about its expiration or send" +" messages in the past (by changing its certificate or the timestamp of its " +"commit)." msgstr "" #: ../../../developer/swarm.md:133 msgid "" -"Similar systems (with distributed group systems) are not so much, but " -"these are some examples:" +"Similar systems (with distributed group systems) are not so much, but these " +"are some examples:" msgstr "" #: ../../../developer/swarm.md:135 @@ -6591,9 +6590,8 @@ msgstr "" #: ../../../developer/swarm.md:138 msgid "" -"This voting system needs a human action to ban someone or must be based " -"on the CRLs info from the repository (because we can't trust external " -"CRLs)" +"This voting system needs a human action to ban someone or must be based on " +"the CRLs info from the repository (because we can't trust external CRLs)" msgstr "" #: ../../../developer/swarm.md:140 @@ -6603,15 +6601,15 @@ msgstr "" #: ../../../developer/swarm.md:142 msgid "" "This is the only part that MUST have a consensus to avoid conversation's " -"split, like if two members kick each other from the conversation, what " -"will see the third one?" +"split, like if two members kick each other from the conversation, what will " +"see the third one?" msgstr "" #: ../../../developer/swarm.md:144 msgid "" -"This is needed to detect revoked devices, or simply avoid getting " -"unwanted people present in a public room. The process is pretty similar " -"between a member and a device:" +"This is needed to detect revoked devices, or simply avoid getting unwanted " +"people present in a public room. The process is pretty similar between a " +"member and a device:" msgstr "" #: ../../../developer/swarm.md:146 @@ -6625,24 +6623,23 @@ msgstr "" #: ../../../developer/swarm.md:150 msgid "" "First, she votes for banning Bob. To do that, she creates the file in " -"/votes/ban/members/uri_bob/uri_alice (members can be replaced by devices " -"for a device, or invited for invites or admins for admins) and commits" +"/votes/ban/members/uri_bob/uri_alice (members can be replaced by devices for" +" a device, or invited for invites or admins for admins) and commits" msgstr "" #: ../../../developer/swarm.md:151 ../../../developer/swarm.md:157 -#, python-format msgid "" -"Then she checks if the vote is resolved. This means that >50% of the " -"admins agree to ban Bob (if she is alone, it's sure it's more than 50%)." +"Then she checks if the vote is resolved. This means that >50% of the admins " +"agree to ban Bob (if she is alone, it's sure it's more than 50%)." msgstr "" #: ../../../developer/swarm.md:152 msgid "" -"If the vote is resolved, files into /votes/ban can be removed, all files " -"for Bob in /members, /admins, /invited, /CRLs, /devices can be removed " -"(or only in /devices if it's a device that is banned) and Bob's " -"certificate can be placed into /banned/members/bob_uri.crt (or " -"/banned/devices/uri.crt if a device is banned) and committed to the repo" +"If the vote is resolved, files into /votes/ban can be removed, all files for" +" Bob in /members, /admins, /invited, /CRLs, /devices can be removed (or only" +" in /devices if it's a device that is banned) and Bob's certificate can be " +"placed into /banned/members/bob_uri.crt (or /banned/devices/uri.crt if a " +"device is banned) and committed to the repo" msgstr "" #: ../../../developer/swarm.md:153 @@ -6656,17 +6653,15 @@ msgstr "" #: ../../../developer/swarm.md:156 msgid "" "Fir she votes for unbanning Bob. To do that, she creates the file in " -"/votes/unban/members/uri_bob/uri_alice (members can be replaced by " -"devices for a device, or invited for invites or admins for admins) and " -"commits" +"/votes/unban/members/uri_bob/uri_alice (members can be replaced by devices " +"for a device, or invited for invites or admins for admins) and commits" msgstr "" #: ../../../developer/swarm.md:158 msgid "" -"If the vote is resolved, files into /votes/unban can be removed, all " -"files for Bob in /members, /admins, /invited, /CRLs, can be re-added (or " -"only in /devices if it's a device that is unbanned) and committed to the " -"repo" +"If the vote is resolved, files into /votes/unban can be removed, all files " +"for Bob in /members, /admins, /invited, /CRLs, can be re-added (or only in " +"/devices if it's a device that is unbanned) and committed to the repo" msgstr "" #: ../../../developer/swarm.md:160 @@ -6675,9 +6670,8 @@ msgstr "" #: ../../../developer/swarm.md:162 msgid "" -"Save in convInfos removed=time::now() (like removeContact saves in " -"contacts) that the conversation is removed and sync with other user's " -"devices" +"Save in convInfos removed=time::now() (like removeContact saves in contacts)" +" that the conversation is removed and sync with other user's devices" msgstr "" #: ../../../developer/swarm.md:163 @@ -6686,29 +6680,28 @@ msgstr "" #: ../../../developer/swarm.md:164 msgid "" -"Now, if Jami startup and the repo is still present, the conversation is " -"not announced to clients" +"Now, if Jami startup and the repo is still present, the conversation is not " +"announced to clients" msgstr "" #: ../../../developer/swarm.md:165 msgid "" "Two cases: a. If no other member in the conversation we can immediately " -"remove the repository b. If still other members, commit that we leave " -"the conversation, and now wait that at least another device sync this " -"message. This avoids the fact that other members will still detect the " -"user as a valid member and still sends new message notifications." +"remove the repository b. If still other members, commit that we leave the " +"conversation, and now wait that at least another device sync this message. " +"This avoids the fact that other members will still detect the user as a " +"valid member and still sends new message notifications." msgstr "" #: ../../../developer/swarm.md:168 msgid "" -"When we are sure that someone is synched, remove erased=time::now() and " -"sync with other user's devices" +"When we are sure that someone is synched, remove erased=time::now() and sync" +" with other user's devices" msgstr "" #: ../../../developer/swarm.md:169 msgid "" -"All devices owned by the user can now erase the repository and related " -"files" +"All devices owned by the user can now erase the repository and related files" msgstr "" #: ../../../developer/swarm.md:171 @@ -6717,15 +6710,15 @@ msgstr "" #: ../../../developer/swarm.md:173 msgid "" -"Modes can't be changed through time. Or it's another conversation. So, " -"this data is stored in the initial commit message. The commit message " -"will be the following:" +"Modes can't be changed through time. Or it's another conversation. So, this " +"data is stored in the initial commit message. The commit message will be the" +" following:" msgstr "" #: ../../../developer/swarm.md:184 msgid "" -"For now, \"mode\" accepts values 0 (ONE_TO_ONE), 1 (ADMIN_INVITES_ONLY), " -"2 (INVITES_ONLY), 3 (PUBLIC)" +"For now, \"mode\" accepts values 0 (ONE_TO_ONE), 1 (ADMIN_INVITES_ONLY), 2 " +"(INVITES_ONLY), 3 (PUBLIC)" msgstr "" #: ../../../developer/swarm.md:186 @@ -6735,16 +6728,15 @@ msgstr "" #: ../../../developer/swarm.md:188 msgid "" "The goal here is to keep the old API (addContact/removeContact, " -"sendTrustRequest/acceptTrustRequest/discardTrustRequest) to generate " -"swarm with a peer and its contact. This still implies some changes that " -"we cannot ignore:" +"sendTrustRequest/acceptTrustRequest/discardTrustRequest) to generate swarm " +"with a peer and its contact. This still implies some changes that we cannot " +"ignore:" msgstr "" #: ../../../developer/swarm.md:190 msgid "" -"The process is still the same, an account can add a contact via " -"addContact, then send a TrustRequest via the DHT. But two changes are " -"necessary:" +"The process is still the same, an account can add a contact via addContact, " +"then send a TrustRequest via the DHT. But two changes are necessary:" msgstr "" #: ../../../developer/swarm.md:191 @@ -6755,11 +6747,11 @@ msgstr "" #: ../../../developer/swarm.md:192 msgid "" -"TrustRequest are retried when contact come backs online. It's not the " -"case today (as we don't want to generate a new TrustRequest if the peer " -"discard the first). So, if an account receives a trust request, it will " -"be automatically ignored if the request with a related conversation is " -"declined (as convRequests are synched)" +"TrustRequest are retried when contact come backs online. It's not the case " +"today (as we don't want to generate a new TrustRequest if the peer discard " +"the first). So, if an account receives a trust request, it will be " +"automatically ignored if the request with a related conversation is declined" +" (as convRequests are synched)" msgstr "" #: ../../../developer/swarm.md:194 @@ -6770,10 +6762,10 @@ msgstr "" #: ../../../developer/swarm.md:196 msgid "" -"removeContact() will remove the contact and related 1:1 conversations " -"(with the same process as \"Remove a conversation\"). The only note here " -"is that if we ban a contact, we don't wait for sync, we just remove all " -"related files." +"removeContact() will remove the contact and related 1:1 conversations (with " +"the same process as \"Remove a conversation\"). The only note here is that " +"if we ban a contact, we don't wait for sync, we just remove all related " +"files." msgstr "" #: ../../../developer/swarm.md:198 @@ -6811,12 +6803,12 @@ msgstr "" #: ../../../developer/swarm.md:211 msgid "" "In this case, two conversations are generated. We don't want to remove " -"messages from users or choose one conversation here. So, sometimes two " -"1:1 swarm between the same members will be shown. It will generate some " -"bugs during the transition time (as we don't want to break API, the " -"inferred conversation will be one of the two shown conversations, but for" -" now it's \"ok-ish\", will be fixed when clients will fully handle " -"conversationId for all APIs (calls, file transfer, etc))." +"messages from users or choose one conversation here. So, sometimes two 1:1 " +"swarm between the same members will be shown. It will generate some bugs " +"during the transition time (as we don't want to break API, the inferred " +"conversation will be one of the two shown conversations, but for now it's " +"\"ok-ish\", will be fixed when clients will fully handle conversationId for " +"all APIs (calls, file transfer, etc))." msgstr "" #: ../../../developer/swarm.md:213 @@ -6825,16 +6817,15 @@ msgstr "" #: ../../../developer/swarm.md:215 msgid "" -"After accepting a conversation's request, there is a time the daemon " -"needs to retrieve the distant repository. During this time, clients MUST " -"show a syncing view to give informations to the user. Note, while " -"syncing:" +"After accepting a conversation's request, there is a time the daemon needs " +"to retrieve the distant repository. During this time, clients MUST show a " +"syncing view to give informations to the user. Note, while syncing:" msgstr "" #: ../../../developer/swarm.md:218 msgid "" -"ConfigurationManager::getConversations() will return the conversation's " -"id even while syncing" +"ConfigurationManager::getConversations() will return the conversation's id " +"even while syncing" msgstr "" #: ../../../developer/swarm.md:219 @@ -6845,8 +6836,8 @@ msgstr "" #: ../../../developer/swarm.md:220 msgid "" -"ConfigurationManager::getConversationMembers() will return a map of two " -"URIs (the current account and the peer who sent the request)" +"ConfigurationManager::getConversationMembers() will return a map of two URIs" +" (the current account and the peer who sent the request)" msgstr "" #: ../../../developer/swarm.md:222 @@ -6855,8 +6846,8 @@ msgstr "" #: ../../../developer/swarm.md:224 msgid "" -"Conversations requests are represented by a **Map<String, String>** with " -"the following keys:" +"Conversations requests are represented by a **Map<String, String>** with the" +" following keys:" msgstr "" #: ../../../developer/swarm.md:226 @@ -6890,10 +6881,10 @@ msgstr "" #: ../../../developer/swarm.md:235 msgid "" "To be identifiable, a conversation generally needs some metadata, like a " -"title (eg: Jami), a description (eg: some links, what is the project, " -"etc), and an image (the logo of the project). Those metadata are optional" -" but shared across all members, so need to be synced and incorporated in " -"the requests." +"title (eg: Jami), a description (eg: some links, what is the project, etc), " +"and an image (the logo of the project). Those metadata are optional but " +"shared across all members, so need to be synced and incorporated in the " +"requests." msgstr "" #: ../../../developer/swarm.md:237 @@ -6914,10 +6905,10 @@ msgstr "" msgid "" "To update the vCard, a user with enough permissions (by default: =ADMIN) " "needs to edit `/profile.vcf`. and will commit the file with the mimetype " -"`application/update-profile`. The new message is sent via the same " -"mechanism and all peers will receive the **MessageReceived** signal from " -"the daemon. The branch is dropped if the commit contains other files or " -"too big or if done by a non-authorized member (by default: <ADMIN)." +"`application/update-profile`. The new message is sent via the same mechanism" +" and all peers will receive the **MessageReceived** signal from the daemon. " +"The branch is dropped if the commit contains other files or too big or if " +"done by a non-authorized member (by default: <ADMIN)." msgstr "" #: ../../../developer/swarm.md:253 @@ -6926,9 +6917,9 @@ msgstr "" #: ../../../developer/swarm.md:255 msgid "" -"In the synchronized data, each devices sends to other devices the state " -"of the conversations. In this state, the last displayed is sent. However," -" because each device can have its own state for each conversation, and " +"In the synchronized data, each devices sends to other devices the state of " +"the conversations. In this state, the last displayed is sent. However, " +"because each device can have its own state for each conversation, and " "probably without the same last commit at some point, there is several " "scenarios to take into account:" msgstr "" @@ -6939,26 +6930,26 @@ msgstr "" #: ../../../developer/swarm.md:258 msgid "" -"if the last displayed sent by other devices is the same as the current " -"one, there is nothing to do." +"if the last displayed sent by other devices is the same as the current one, " +"there is nothing to do." msgstr "" #: ../../../developer/swarm.md:259 msgid "" -"if there is no last displayed for the current device, the remote " -"displayed message is used." +"if there is no last displayed for the current device, the remote displayed " +"message is used." msgstr "" #: ../../../developer/swarm.md:260 msgid "" -"if the remote last displayed is not present in the repo, it means that " -"the commit will be fetched later, so cache the result" +"if the remote last displayed is not present in the repo, it means that the " +"commit will be fetched later, so cache the result" msgstr "" #: ../../../developer/swarm.md:261 msgid "" -"if the remote is already fetched, we check that the local last displayed " -"is before in the history to replace it" +"if the remote is already fetched, we check that the local last displayed is " +"before in the history to replace it" msgstr "" #: ../../../developer/swarm.md:262 @@ -7012,16 +7003,16 @@ msgstr "" #: ../../../developer/swarm.md:305 msgid "" -"The archive MUST contain conversationId to be able to retrieve " -"conversations on new commits after a re-import (because there is no " -"invite at this point). If a commit comes for a conversation not present " -"there are two possibilities:" +"The archive MUST contain conversationId to be able to retrieve conversations" +" on new commits after a re-import (because there is no invite at this " +"point). If a commit comes for a conversation not present there are two " +"possibilities:" msgstr "" #: ../../../developer/swarm.md:307 msgid "" -"The conversationId is there, in this case, the daemon is able to re-clone" -" this conversation" +"The conversationId is there, in this case, the daemon is able to re-clone " +"this conversation" msgstr "" #: ../../../developer/swarm.md:308 @@ -7033,8 +7024,8 @@ msgstr "" #: ../../../developer/swarm.md:310 msgid "" -"Note, a conversation can only be retrieved if a contact or another device" -" is there, else it will be lost. There is no magic." +"Note, a conversation can only be retrieved if a contact or another device is" +" there, else it will be lost. There is no magic." msgstr "" #: ../../../developer/swarm.md:312 @@ -7066,14 +7057,15 @@ msgid "Why this choice" msgstr "" #: ../../../developer/swarm.md:323 -msgid "Each conversation will be a git repository. This choice is motivated by:" +msgid "" +"Each conversation will be a git repository. This choice is motivated by:" msgstr "" #: ../../../developer/swarm.md:325 msgid "" -"We need to sync and order messages. The Merkle Tree is the perfect " -"structure to do that and can be linearized by merging branches. Moreover," -" because it's massively used by Git, it's easy to sync between devices." +"We need to sync and order messages. The Merkle Tree is the perfect structure" +" to do that and can be linearized by merging branches. Moreover, because " +"it's massively used by Git, it's easy to sync between devices." msgstr "" #: ../../../developer/swarm.md:326 @@ -7114,15 +7106,15 @@ msgstr "" #: ../../../developer/swarm.md:339 msgid "" -"History can't be deleted. To delete a conversation, the device has to " -"leave the conversation and create another one." +"History can't be deleted. To delete a conversation, the device has to leave " +"the conversation and create another one." msgstr "" #: ../../../developer/swarm.md:341 msgid "" "However, non-permanent messages (like messages readable only for some " -"minutes) can be sent via a special message via the DRT (like Typing or " -"Read notifications)." +"minutes) can be sent via a special message via the DRT (like Typing or Read" +" notifications)." msgstr "" #: ../../../developer/swarm.md:343 @@ -7136,19 +7128,18 @@ msgstr "" #: ../../../developer/swarm.md:376 msgid "" "Swarm massively changes file transfer. Now, all the history is syncing, " -"allowing all devices in the conversation to easily retrieve old files. " -"This changes allow us to move from a logic where the sender pushed the " -"file on other devices, via trying to connect to their devices (This was " -"bad because not really resistant to connections changes/failures and " -"needed a manual retry) to a logic where the sender allow other devices to" -" download. Moreover, any device having the file can be the host for other" -" devices, allowing to retrieve files even if the sender is not there." +"allowing all devices in the conversation to easily retrieve old files. This " +"changes allow us to move from a logic where the sender pushed the file on " +"other devices, via trying to connect to their devices (This was bad because " +"not really resistant to connections changes/failures and needed a manual " +"retry) to a logic where the sender allow other devices to download. " +"Moreover, any device having the file can be the host for other devices, " +"allowing to retrieve files even if the sender is not there." msgstr "" #: ../../../developer/swarm.md:380 msgid "" -"The sender adds a new commit in the conversation with the following " -"format:" +"The sender adds a new commit in the conversation with the following format:" msgstr "" #: ../../../developer/swarm.md:390 @@ -7162,32 +7153,32 @@ msgstr "" msgid "" "Then, the receiver can now download the files by contacting the devices " "hosting the file by opening a channel with `name=\"data-transfer://\" + " -"conversationId + \"/\" + currentDeviceId() + \"/\" + fileId` and store " -"the info that the file is waiting in " +"conversationId + \"/\" + currentDeviceId() + \"/\" + fileId` and store the " +"info that the file is waiting in " "`${data_path}/conversation_data/${conversation_id}/waiting`" msgstr "" #: ../../../developer/swarm.md:394 msgid "" -"The device receiving the connection will accepts the channel by verifying" -" if the file can be sent (if sha3sum is correct and if file exists). The " -"receiver will keep the first opened channel, close the others and write " -"into a file (with the same path as the sender: " -"`${data_path}/conversation_data/${conversation_id}/${file_id}`) all " -"incoming data." +"The device receiving the connection will accepts the channel by verifying if" +" the file can be sent (if sha3sum is correct and if file exists). The " +"receiver will keep the first opened channel, close the others and write into" +" a file (with the same path as the sender: " +"`${data_path}/conversation_data/${conversation_id}/${file_id}`) all incoming" +" data." msgstr "" #: ../../../developer/swarm.md:396 msgid "" -"When the transfer is finished or the channel closed, the sha3sum is " -"verified to validate that the file is correct (else it's deleted). If " -"valid, the file will be removed from the waiting." +"When the transfer is finished or the channel closed, the sha3sum is verified" +" to validate that the file is correct (else it's deleted). If valid, the " +"file will be removed from the waiting." msgstr "" #: ../../../developer/swarm.md:398 msgid "" -"In case of failure, when a device of the conversation will be back " -"online, we will ask for all waiting files by the same way." +"In case of failure, when a device of the conversation will be back online, " +"we will ask for all waiting files by the same way." msgstr "" #: ../../../developer/swarm.md:400 @@ -7204,8 +7195,8 @@ msgstr "" #: ../../../developer/swarm.md:406 msgid "" -"A swarm conversation can have multiple rendez-vous. A rendez-vous is " -"defined by the following uri:" +"A swarm conversation can have multiple rendez-vous. A rendez-vous is defined" +" by the following uri:" msgstr "" #: ../../../developer/swarm.md:408 @@ -7220,8 +7211,8 @@ msgstr "" #: ../../../developer/swarm.md:412 msgid "" -"In the swarm metadatas. Where it's stored like the title/desc/avatar of " -"the room" +"In the swarm metadatas. Where it's stored like the title/desc/avatar of the " +"room" msgstr "" #: ../../../developer/swarm.md:413 @@ -7230,10 +7221,9 @@ msgstr "" #: ../../../developer/swarm.md:415 msgid "" -"When starting a call, the host will add a new commit to the swarm, with " -"the URI to join (accountUri/deviceId/conversationId/confId). This will be" -" valid till the end of the call (announced by a commit with the duration " -"to show)" +"When starting a call, the host will add a new commit to the swarm, with the " +"URI to join (accountUri/deviceId/conversationId/confId). This will be valid " +"till the end of the call (announced by a commit with the duration to show)" msgstr "" #: ../../../developer/swarm.md:418 @@ -7266,9 +7256,9 @@ msgstr "" #: ../../../developer/swarm.md:430 msgid "" -"Git operations, control messages, files, and other things will use a p2p " -"TLS v1.3 link with only ciphers which guaranty PFS. So each key is " -"renegotiated for each new connexion." +"Git operations, control messages, files, and other things will use a p2p TLS" +" v1.3 link with only ciphers which guaranty PFS. So each key is renegotiated" +" for each new connexion." msgstr "" #: ../../../developer/swarm.md:432 @@ -7287,9 +7277,9 @@ msgstr "" #: ../../../developer/swarm.md:438 msgid "" -"The DRT is a new concept used in swarm to maintain p2p connections. " -"Indeed, group members define a graph of nodes (identified by a hash) en " -"must be connected." +"The DRT is a new concept used in swarm to maintain p2p connections. Indeed, " +"group members define a graph of nodes (identified by a hash) en must be " +"connected." msgstr "" #: ../../../developer/swarm.md:440 @@ -7325,16 +7315,16 @@ msgstr "" #: ../../../developer/swarm.md:450 msgid "" -"Each node is connected to all other nodes $N\\timesN$ connections. " -"Effective to transmit, but need more resources **WILL BE CHOSEN FOR THE " -"FIRST VERSION**" +"Each node is connected to all other nodes $N\\timesN$ connections. Effective" +" to transmit, but need more resources **WILL BE CHOSEN FOR THE FIRST " +"VERSION**" msgstr "" #: ../../../developer/swarm.md:451 msgid "" "[*Maximizing the Coverage of Roadmap Graph for Optimal Motion " -"Planning*](https://www.hindawi.com/journals/complexity/2018/9104720/). " -"But need calculations" +"Planning*](https://www.hindawi.com/journals/complexity/2018/9104720/). But " +"need calculations" msgstr "" #: ../../../developer/swarm.md:452 @@ -7347,8 +7337,8 @@ msgstr "" msgid "" "Note: to optimize the socket numbers, a socket will be given by a " "**ConnectionManager** to get multiplexed sockets with a given hash. This " -"means that if we need to transmit several files and chat with someone, " -"only one socket will be used." +"means that if we need to transmit several files and chat with someone, only " +"one socket will be used." msgstr "" #: ../../../developer/swarm.md:456 @@ -7375,16 +7365,16 @@ msgstr "" #: ../../../developer/swarm.md:467 msgid "" -"Two possibilities for sending the message a. If not connected, via the " -"DHT b. Else, Alice sends on the SIP channel" +"Two possibilities for sending the message a. If not connected, via the DHT" +" b. Else, Alice sends on the SIP channel" msgstr "" #: ../../../developer/swarm.md:470 msgid "" -"Two possibilities for Bob a. Receives the invite, a signal is emitted " -"for the client b. Not connected, so will never receive the request cause" -" Alice must not know if Bob just ignored or blocked Alice. The only way " -"is to regenerate a new invite via a new message (cf next scenario)" +"Two possibilities for Bob a. Receives the invite, a signal is emitted for " +"the client b. Not connected, so will never receive the request cause Alice " +"must not know if Bob just ignored or blocked Alice. The only way is to " +"regenerate a new invite via a new message (cf next scenario)" msgstr "" #: ../../../developer/swarm.md:474 @@ -7415,12 +7405,12 @@ msgstr "" #: ../../../developer/swarm.md:483 msgid "" "Four possibilities for Bob: a. Bob is not connected to Alice, so if he " -"trusts Alice, ask for a new connection and go to b. b. If connected, " -"fetch from Alice and announce new messages c. Bob doesn't know that " -"conversation. Ask through the DHT to get an invite first to be able to " -"accept that conversation ({\"application/invite\", conversationId}) d. " -"Bob is disconnected (no network, or just closed). He will not receive the" -" new message but will try to sync when the next connection will occur" +"trusts Alice, ask for a new connection and go to b. b. If connected, fetch " +"from Alice and announce new messages c. Bob doesn't know that conversation." +" Ask through the DHT to get an invite first to be able to accept that " +"conversation ({\"application/invite\", conversationId}) d. Bob is " +"disconnected (no network, or just closed). He will not receive the new " +"message but will try to sync when the next connection will occur" msgstr "" #: ../../../developer/swarm.md:492 @@ -7436,7 +7426,8 @@ msgid "**!! OLD DRAFT !!**" msgstr "" #: ../../../developer/swarm.md:497 -msgid "Note: Following notes are not organized yet. Just some line of thoughts." +msgid "" +"Note: Following notes are not organized yet. Just some line of thoughts." msgstr "" #: ../../../developer/swarm.md:499 @@ -7446,15 +7437,14 @@ msgstr "" #: ../../../developer/swarm.md:501 msgid "" "For a serious group chat feature, we also need serious crypto. With the " -"current design, if a certificate is stolen as the previous DHT values of " -"a conversation, the conversation can be decrypted. Maybe we need to go to" -" something like **Double ratchet**." +"current design, if a certificate is stolen as the previous DHT values of a " +"conversation, the conversation can be decrypted. Maybe we need to go to " +"something like **Double ratchet**." msgstr "" #: ../../../developer/swarm.md:503 msgid "" -"Note: a lib might exist to implement group conversations. TODO, " -"investigate." +"Note: a lib might exist to implement group conversations. TODO, investigate." msgstr "" #: ../../../developer/swarm.md:505 @@ -7471,8 +7461,8 @@ msgstr "" #: ../../../developer/swarm.md:513 msgid "" -"Something like a Mattermost in a company, with private channels, and some" -" roles (admin/spectator/bot/etc) or for educations (where only a few are " +"Something like a Mattermost in a company, with private channels, and some " +"roles (admin/spectator/bot/etc) or for educations (where only a few are " "active)." msgstr "" @@ -7490,8 +7480,8 @@ msgstr "" #: ../../../developer/swarm.md:520 msgid "" -"A certificate for a group that sign user with a flag for a role. Adding " -"or revoking can also be done." +"A certificate for a group that sign user with a flag for a role. Adding or " +"revoking can also be done." msgstr "" #: ../../../developer/swarm.md:522 @@ -7522,8 +7512,8 @@ msgstr "" #: ../../../developer/swarm.md:531 msgid "" -"Forward secrecy: if any key from the group is compromised, previous " -"messages should remain confidential (as much as possible)" +"Forward secrecy: if any key from the group is compromised, previous messages" +" should remain confidential (as much as possible)" msgstr "" #: ../../../developer/swarm.md:533 @@ -7538,14 +7528,13 @@ msgstr "" #: ../../../developer/swarm.md:535 msgid "" -"Persistence: Actually, a message on the DHT lives only 10 minutes. " -"Because it's the best timing calculated for this kind of DHT. To persist " -"data, the node must re-put the value on the DHT every 10 minutes. Another" -" way to do when the node is offline is to let nodes re-put the data. But," -" if after 10 minutes, 8 nodes are still here, they will do 64 requests " -"(and it's exponential). The current way to avoid spamming for that is " -"queried. This will still do 64 requests but limit the max redundancy to 8" -" nodes." +"Persistence: Actually, a message on the DHT lives only 10 minutes. Because " +"it's the best timing calculated for this kind of DHT. To persist data, the " +"node must re-put the value on the DHT every 10 minutes. Another way to do " +"when the node is offline is to let nodes re-put the data. But, if after 10 " +"minutes, 8 nodes are still here, they will do 64 requests (and it's " +"exponential). The current way to avoid spamming for that is queried. This " +"will still do 64 requests but limit the max redundancy to 8 nodes." msgstr "" #: ../../../developer/swarm.md:537 @@ -7570,8 +7559,8 @@ msgstr "" #: ../../../developer/swarm.md:545 msgid "" -"Group chat can be based on the same work we already have for multi-" -"devices (but here, with a group certificate). Problems to solve:" +"Group chat can be based on the same work we already have for multi-devices " +"(but here, with a group certificate). Problems to solve:" msgstr "" #: ../../../developer/swarm.md:547 @@ -7582,8 +7571,8 @@ msgstr "" #: ../../../developer/swarm.md:548 msgid "" -"If nobody is connected, the synchronization can't be done, and the person" -" will never see the conversation" +"If nobody is connected, the synchronization can't be done, and the person " +"will never see the conversation" msgstr "" #: ../../../developer/swarm.md:550 @@ -7596,16 +7585,16 @@ msgstr "" #: ../../../developer/swarm.md:556 msgid "" -"Currently, the file transfer algorithm is based on a TURN connection (See" -" {doc}`file-transfer`). In the case of a big group, this will be bad. We " -"first need a p2p implement for the file transfer. Implement the RFC for " -"p2p transfer." +"Currently, the file transfer algorithm is based on a TURN connection (See " +"{doc}`file-transfer`). In the case of a big group, this will be bad. We " +"first need a p2p implement for the file transfer. Implement the RFC for p2p " +"transfer." msgstr "" #: ../../../developer/swarm.md:558 msgid "" -"Other problem: currently there is no implementation for TCP support for " -"ICE in PJSIP. This is mandatory for this point (in pjsip or homemade)" +"Other problem: currently there is no implementation for TCP support for ICE " +"in PJSIP. This is mandatory for this point (in pjsip or homemade)" msgstr "" #: ../../../developer/swarm.md:560 @@ -7629,15 +7618,15 @@ msgstr "" #: ../../../developer/synchronization-protocol.md:4 msgid "" "The swarm chat provides new possibilities for every device. Now, it's " -"possible to sync history between devices by sharing the related " -"repository. Devices sync needs to be redefined to follow those changes." +"possible to sync history between devices by sharing the related repository. " +"Devices sync needs to be redefined to follow those changes." msgstr "" #: ../../../developer/synchronization-protocol.md:6 msgid "" -"A lot of scenarios are defined in the {doc}`Swarm design document " -"<swarm>`, however, this doesn't imply for syncing conversations between " -"devices for the same user. Some new scenarios must be written." +"A lot of scenarios are defined in the {doc}`Swarm design document <swarm>`, " +"however, this doesn't imply for syncing conversations between devices for " +"the same user. Some new scenarios must be written." msgstr "" #: ../../../developer/synchronization-protocol.md:8 @@ -7646,9 +7635,9 @@ msgstr "" #: ../../../developer/synchronization-protocol.md:10 msgid "" -"Device sync were done via the DHT. Because every value MUST NOT exceed " -"64k, conversations were not sent in device sync, nor member profiles, " -"because it's too heavy. This is a problem and MUST be improved." +"Device sync were done via the DHT. Because every value MUST NOT exceed 64k, " +"conversations were not sent in device sync, nor member profiles, because " +"it's too heavy. This is a problem and MUST be improved." msgstr "" #: ../../../developer/synchronization-protocol.md:12 @@ -7670,9 +7659,9 @@ msgstr "" #: ../../../developer/synchronization-protocol.md:18 msgid "" -"Since Jami has the {doc}`ConnectionManager <connection-manager>`, using " -"p2p socket is possible to perform sync quickly with big values (cause the" -" socket is not limited in data)" +"Since Jami has the {doc}`ConnectionManager <connection-manager>`, using p2p " +"socket is possible to perform sync quickly with big values (cause the socket" +" is not limited in data)" msgstr "" #: ../../../developer/synchronization-protocol.md:20 @@ -7689,15 +7678,15 @@ msgstr "" msgid "" "Other devices (*!A*) will detect that announce and will ask this device " "through the **ConnectionManager** to open a new channel named " -"\"sync://DEVICE_ID_A\". (Note: A will get announcement from other " -"devices, so it will asks for sync channels too)." +"\"sync://DEVICE_ID_A\". (Note: A will get announcement from other devices, " +"so it will asks for sync channels too)." msgstr "" #: ../../../developer/synchronization-protocol.md:24 msgid "" -"As soon as this channel is opened, the device which is asking this " -"channel will send a **DeviceSync** (cf next part) value containing its " -"known conversations and contacts." +"As soon as this channel is opened, the device which is asking this channel " +"will send a **DeviceSync** (cf next part) value containing its known " +"conversations and contacts." msgstr "" #: ../../../developer/synchronization-protocol.md:25 @@ -7733,8 +7722,8 @@ msgstr "" #: ../../../developer/synchronization-protocol.md:33 msgid "" "Note: If *A* detects new conversations, it will asks the device which " -"announced that conversation to clone the repository through a git channel" -" (so like described in {doc}`Swarm chat design <swarm>`)" +"announced that conversation to clone the repository through a git channel " +"(so like described in {doc}`Swarm chat design <swarm>`)" msgstr "" #: ../../../developer/synchronization-protocol.md:35 @@ -7793,8 +7782,8 @@ msgstr "" #: ../../../developer/synchronization-protocol.md:74 msgid "" -"The other device should receives and sync the conversation created on one" -" of the devices" +"The other device should receives and sync the conversation created on one of" +" the devices" msgstr "" #: ../../../developer/synchronization-protocol.md:76 @@ -7857,11 +7846,10 @@ msgstr "" #: ../../../developer/synchronizing-profiles.md:3 msgid "" "There is two types of profiles. The one for the current account, and the " -"ones from contacts. As this vcard contains infos, such as the avatar and " -"the display name, it should be synced as soon as possible. But, it must " -"be sent only when needed, to avoid un-necessary data transmissions. The " -"format used to store the profiles is a " -"[vCard](https://en.wikipedia.org/wiki/VCard) " +"ones from contacts. As this vcard contains infos, such as the avatar and the" +" display name, it should be synced as soon as possible. But, it must be sent" +" only when needed, to avoid un-necessary data transmissions. The format used" +" to store the profiles is a [vCard](https://en.wikipedia.org/wiki/VCard) " "(https://datatracker.ietf.org/doc/html/rfc6350)" msgstr "" @@ -7885,8 +7873,8 @@ msgstr "" #: ../../../developer/synchronizing-profiles.md:13 msgid "" -"Because this logic is still managed per client, it depends on the client." -" However, on Desktop, this is unified and stored into: " +"Because this logic is still managed per client, it depends on the client. " +"However, on Desktop, this is unified and stored into: " "`${idPath_}/profiles/${base64(uri)}.vcf`" msgstr "" @@ -7896,9 +7884,8 @@ msgstr "" #: ../../../developer/synchronizing-profiles.md:21 msgid "" -"At the beginning of a call, generally client sends the vCard. However, " -"this method should be removed in favor of the other located in the " -"daemon." +"At the beginning of a call, generally client sends the vCard. However, this " +"method should be removed in favor of the other located in the daemon." msgstr "" #: ../../../developer/synchronizing-profiles.md:23 @@ -7907,15 +7894,14 @@ msgstr "" #: ../../../developer/synchronizing-profiles.md:25 msgid "" -"When connecting to a new devices, a SIP or a sync channel is done. When " -"this channel is ready, we check if we need to send the profile. To do " -"this, the hash of the profile is compared to the one in the cache " -"(`${cacheDir}/${accId}/vcard/sha3` like " -"`~/.cache/jami/xxxxx/vcard/sha3`on GNU/Linux), and the file " -"`${cacheDir}/${accId}/vcard/deviceId` is checked). cf " -"`JamiAccount::needToSendProfile()`. If not present, the profile of the " -"account is sent. Typically, the name of the channel will be " -"\"vcard://xxx\" where the issuer is the one sending the profile." +"When connecting to a new devices, a SIP or a sync channel is done. When this" +" channel is ready, we check if we need to send the profile. To do this, the " +"hash of the profile is compared to the one in the cache " +"(`${cacheDir}/${accId}/vcard/sha3` like `~/.cache/jami/xxxxx/vcard/sha3`on " +"GNU/Linux), and the file `${cacheDir}/${accId}/vcard/deviceId` is checked). " +"cf `JamiAccount::needToSendProfile()`. If not present, the profile of the " +"account is sent. Typically, the name of the channel will be \"vcard://xxx\" " +"where the issuer is the one sending the profile." msgstr "" #: ../../../developer/synchronizing-profiles.md:27 @@ -7925,9 +7911,9 @@ msgstr "" #: ../../../developer/synchronizing-profiles.md:29 msgid "" "If the profile is sent and the device is from the same account, " -"conversations are checked and we send profiles of all members. The " -"channel name will be \"${conversationId}/profile/${memberUri}.vcf\". " -"Behavior tested in `daemon/test/unitTest/syncHistory/syncHistory.cpp`" +"conversations are checked and we send profiles of all members. The channel " +"name will be \"${conversationId}/profile/${memberUri}.vcf\". Behavior tested" +" in `daemon/test/unitTest/syncHistory/syncHistory.cpp`" msgstr "" #: ../../../developer/technical-overview.md:1 @@ -7987,8 +7973,8 @@ msgstr "" #: ../../../developer/technical-overview.md:25 msgid "" -"The issuer UID field must be the hexadecimal form of the issuer public " -"key fingerprint (CA)." +"The issuer UID field must be the hexadecimal form of the issuer public key " +"fingerprint (CA)." msgstr "" #: ../../../developer/technical-overview.md:27 @@ -8025,8 +8011,8 @@ msgstr "" #: ../../../developer/technical-overview.md:37 msgid "" -"The issuer UID field must be the hexadecimal form of the issuer public " -"key fingerprint (JamiId)." +"The issuer UID field must be the hexadecimal form of the issuer public key " +"fingerprint (JamiId)." msgstr "" #: ../../../developer/technical-overview.md:40 @@ -8039,9 +8025,9 @@ msgstr "" #: ../../../developer/technical-overview.md:43 msgid "" -"It's the DHT key where the list of account devices are published and " -"where all devices listen to synchronize on account changes (i.e. adding " -"or revoke a device)." +"It's the DHT key where the list of account devices are published and where " +"all devices listen to synchronize on account changes (i.e. adding or revoke " +"a device)." msgstr "" #: ../../../developer/technical-overview.md:46 @@ -8058,14 +8044,14 @@ msgstr "" #: ../../../developer/technical-overview.md:50 msgid "" -"public key to encrypt messages (this is done by the message issuer using " -"the receiver public key)." +"public key to encrypt messages (this is done by the message issuer using the" +" receiver public key)." msgstr "" #: ../../../developer/technical-overview.md:52 msgid "" -"A device can be \"removed\" from a Jami account through revocation of the" -" device certificate:" +"A device can be \"removed\" from a Jami account through revocation of the " +"device certificate:" msgstr "" #: ../../../developer/technical-overview.md:54 @@ -8076,8 +8062,8 @@ msgstr "" #: ../../../developer/technical-overview.md:56 msgid "" -"CRLs for revoked device must be valid and signed with the corresponding " -"CA key, which is the Jami account private key." +"CRLs for revoked device must be valid and signed with the corresponding CA " +"key, which is the Jami account private key." msgstr "" #: ../../../developer/technical-overview.md:59 @@ -8090,21 +8076,21 @@ msgstr "" #: ../../../developer/technical-overview.md:65 msgid "" -"Jami needs to load certificates and key-pairs each time the application " -"is started." +"Jami needs to load certificates and key-pairs each time the application is " +"started." msgstr "" #: ../../../developer/technical-overview.md:67 msgid "" -"When Jami creates a new device, these information are also needed, shared" -" from another trusted device in a secure way." +"When Jami creates a new device, these information are also needed, shared " +"from another trusted device in a secure way." msgstr "" #: ../../../developer/technical-overview.md:69 msgid "" -"All platforms doesn't provide secure way to store data, Jami supports " -"this fact by encrypting data stored outside the memory (i.e. on a file-" -"system) using a user defined password during the account creation." +"All platforms doesn't provide secure way to store data, Jami supports this " +"fact by encrypting data stored outside the memory (i.e. on a file-system) " +"using a user defined password during the account creation." msgstr "" #: ../../../developer/technical-overview.md:76 @@ -8151,15 +8137,15 @@ msgstr "" #: ../../../developer/technical-overview.md:107 msgid "" -"Then the gzip-stream is encrypted using AES-GCM-256 symmetric cipher with" -" a 256-bits key." +"Then the gzip-stream is encrypted using AES-GCM-256 symmetric cipher with a " +"256-bits key." msgstr "" #: ../../../developer/technical-overview.md:109 msgid "" -"This key is derived from the user provided password, a PIN and a " -"timestamp, using [Argon2](https://github.com/P-H-C/phc-winner-argon2) (a " -"password stretching and normalizer) as follow:" +"This key is derived from the user provided password, a PIN and a timestamp, " +"using [Argon2](https://github.com/P-H-C/phc-winner-argon2) (a password " +"stretching and normalizer) as follow:" msgstr "" #: ../../../developer/technical-overview.md:124 @@ -8171,10 +8157,10 @@ msgstr "" #: ../../../developer/technical-overview.md:127 msgid "" -"NOTE: when exporting a file on the DHT or anywhere else, the daemon " -"update the archive first, to write latest contacts. This is the reason " -"why the password is needed when exporting (it's not just a copy of the " -"archive somewhere else)" +"NOTE: when exporting a file on the DHT or anywhere else, the daemon update " +"the archive first, to write latest contacts. This is the reason why the " +"password is needed when exporting (it's not just a copy of the archive " +"somewhere else)" msgstr "" #: ../../../developer/technical-overview.md:129 @@ -8217,8 +8203,8 @@ msgstr "" #: ../../../developer/technical-overview.md:146 msgid "" -"Dedicated [ Jami distributed network](Ring_distributed_network " -"\"wikilink\") page." +"Dedicated [ Jami distributed network](Ring_distributed_network \"wikilink\")" +" page." msgstr "" #: ../../../developer/technical-overview.md:149 @@ -8255,14 +8241,14 @@ msgstr "" #: ../../../developer/technical-overview.md:165 msgid "" -"*[RFC 5245](https://tools.ietf.org/html/rfc5245)* defines ICE " -"(Interactive Connectivity Establishment), a protocol for NAT traversal." +"*[RFC 5245](https://tools.ietf.org/html/rfc5245)* defines ICE (Interactive " +"Connectivity Establishment), a protocol for NAT traversal." msgstr "" #: ../../../developer/technical-overview.md:168 msgid "" -"ICE is used in Jami to establish a peer-to-peer communication between two" -" devices." +"ICE is used in Jami to establish a peer-to-peer communication between two " +"devices." msgstr "" #: ../../../developer/technical-overview.md:171 @@ -8277,10 +8263,9 @@ msgstr "" #: ../../../developer/technical-overview.md:175 msgid "" -"The calling device puts the encrypted ICE offer (the *Initial Offer*) on " -"the DHT at: `h(\"`[`callto:\"+DeviceID`](callto:%22+DeviceID)`)` where " -"*h* is SHA1, *+* is the string concatenation, *DeviceID* is in " -"hexadecimal form." +"The calling device puts the encrypted ICE offer (the *Initial Offer*) on the" +" DHT at: `h(\"`[`callto:\"+DeviceID`](callto:%22+DeviceID)`)` where *h* is " +"SHA1, *+* is the string concatenation, *DeviceID* is in hexadecimal form." msgstr "" #: ../../../developer/technical-overview.md:180 @@ -8290,7 +8275,8 @@ msgid "" msgstr "" #: ../../../developer/technical-overview.md:182 -msgid "At peer answer reception, the calling device starts the ICE negotiation." +msgid "" +"At peer answer reception, the calling device starts the ICE negotiation." msgstr "" #: ../../../developer/technical-overview.md:184 @@ -8305,16 +8291,15 @@ msgstr "" #: ../../../developer/technical-overview.md:189 msgid "" -"A device listens for incoming calls by performing a listen OpenDHT " -"operation on `h(\"`[`callto:\"+DeviceID`](callto:%22+DeviceID)`)` where " -"*h* is SHA1, *+* is the string concatenation and *DeviceID* is in " -"hexadecimal form." +"A device listens for incoming calls by performing a listen OpenDHT operation" +" on `h(\"`[`callto:\"+DeviceID`](callto:%22+DeviceID)`)` where *h* is SHA1, " +"*+* is the string concatenation and *DeviceID* is in hexadecimal form." msgstr "" #: ../../../developer/technical-overview.md:193 msgid "" -"At ICE *Initial Offer* reception, the called device **must** do a " -"security validation of the peer (see below)." +"At ICE *Initial Offer* reception, the called device **must** do a security " +"validation of the peer (see below)." msgstr "" #: ../../../developer/technical-overview.md:195 @@ -8331,8 +8316,8 @@ msgstr "" #: ../../../developer/technical-overview.md:200 msgid "" -"*Note: OpenDHT drops values that are not properly encrypted or signed, as" -" specified by OpenDHT protocol.*" +"*Note: OpenDHT drops values that are not properly encrypted or signed, as " +"specified by OpenDHT protocol.*" msgstr "" #: ../../../developer/technical-overview.md:203 @@ -8361,23 +8346,23 @@ msgstr "" #: ../../../developer/technical-overview.md:221 msgid "" -"Upon reception of the encrypted and signed Initial ICE Offer (through the" -" listen operation), a called device should perform authorization checks " -"of the calling device, identified as the Initial Offer signer." +"Upon reception of the encrypted and signed Initial ICE Offer (through the " +"listen operation), a called device should perform authorization checks of " +"the calling device, identified as the Initial Offer signer." msgstr "" #: ../../../developer/technical-overview.md:225 msgid "" -"Authorization rules are implementation defined, but a typical " -"implementation would authorize known or trusted contacts." +"Authorization rules are implementation defined, but a typical implementation" +" would authorize known or trusted contacts." msgstr "" #: ../../../developer/technical-overview.md:238 msgid "" "Once a peer-to-peer communication channel has been established by ICE " "protocol, the called device starts a server-side DTLS session on the ICE " -"socket, while the caller starts a client-side DTLS session on the other " -"side of the ICE socket." +"socket, while the caller starts a client-side DTLS session on the other side" +" of the ICE socket." msgstr "" #: ../../../developer/technical-overview.md:242 @@ -8400,8 +8385,8 @@ msgstr "" #: ../../../developer/technical-overview.md:250 msgid "" -"A second handshake in **certificate mode**, over the first one, to prove " -"the identity of peers." +"A second handshake in **certificate mode**, over the first one, to prove the" +" identity of peers." msgstr "" #: ../../../developer/technical-overview.md:253 @@ -8420,8 +8405,8 @@ msgstr "" #: ../../../developer/technical-overview.md:257 msgid "" -"anonymous step: `SECURE192:-KX-ALL:+ANON-ECDH:+ANON-DH:+SECURE192:-VERS-" -"TLS-ALL:+VERS-DTLS-ALL:-RSA:%SERVER_PRECEDENCE:%SAFE_RENEGOTIATION`" +"anonymous step: `SECURE192:-KX-ALL:+ANON-ECDH:+ANON-DH:+SECURE192:-VERS-TLS-" +"ALL:+VERS-DTLS-ALL:-RSA:%SERVER_PRECEDENCE:%SAFE_RENEGOTIATION`" msgstr "" #: ../../../developer/technical-overview.md:259 @@ -8436,15 +8421,15 @@ msgstr "" #: ../../../developer/technical-overview.md:264 msgid "" -"Used over the DTLS session to signaling the call (vcard, media " -"negotiation, hangup, instant messaging, ...)" +"Used over the DTLS session to signaling the call (vcard, media negotiation, " +"hangup, instant messaging, ...)" msgstr "" #: ../../../developer/technical-overview.md:266 msgid "" -"Once an encrypted and authenticated peer-to-peer communication channel is" -" available, the [SIP protocol](https://tools.ietf.org/html/rfc3261) must " -"be used to place a call and send messages." +"Once an encrypted and authenticated peer-to-peer communication channel is " +"available, the [SIP protocol](https://tools.ietf.org/html/rfc3261) must be " +"used to place a call and send messages." msgstr "" #: ../../../developer/technical-overview.md:270 @@ -8455,8 +8440,8 @@ msgstr "" #: ../../../developer/technical-overview.md:273 msgid "" -"Supported codecs are implementation defined, but Jami clients should " -"support the Opus audio coded and the H264 video codec." +"Supported codecs are implementation defined, but Jami clients should support" +" the Opus audio coded and the H264 video codec." msgstr "" #: ../../../developer/technical-overview.md:279 @@ -8469,10 +8454,10 @@ msgstr "" #: ../../../developer/technical-overview.md:286 msgid "" -"Jami provides perfect forward secrecy for calls and in call text messages" -" with different Eliptic Curve Diffie-Hellman key negociation at every " -"call. For out of call messaging single RSA-4096 is used. The cryptography" -" library used is GNUTLS" +"Jami provides perfect forward secrecy for calls and in call text messages " +"with different Eliptic Curve Diffie-Hellman key negociation at every call. " +"For out of call messaging single RSA-4096 is used. The cryptography library " +"used is GNUTLS" msgstr "" #: ../../../developer/technical-overview.md:291 @@ -8481,8 +8466,8 @@ msgstr "" #: ../../../developer/technical-overview.md:293 msgid "" -"[Technical overview](technical/Technical-overview) of concepts and " -"protocols inside Jami" +"[Technical overview](technical/Technical-overview) of concepts and protocols" +" inside Jami" msgstr "" #: ../../../developer/tensorflow-plugin.md:1 @@ -8491,8 +8476,8 @@ msgstr "" #: ../../../developer/tensorflow-plugin.md:4 msgid "" -"**NOTE: this page describes to build Tensorflow and TensorflowLite C++ " -"API for Linux Android and Windows.**" +"**NOTE: this page describes to build Tensorflow and TensorflowLite C++ API " +"for Linux Android and Windows.**" msgstr "" #: ../../../developer/tensorflow-plugin.md:6 @@ -8501,16 +8486,16 @@ msgstr "" #: ../../../developer/tensorflow-plugin.md:7 msgid "" -"A difficulty for a lot of people working with tensorflow is how to " -"properly build it. With that in mind we created docker images with cuda " -"and tensorflow libraries available for GNU/Linux builds " -"[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflow-" -"cuda) and for Android builds " +"A difficulty for a lot of people working with tensorflow is how to properly " +"build it. With that in mind we created docker images with cuda and " +"tensorflow libraries available for GNU/Linux builds " +"[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflow-cuda)" +" and for Android builds " "[here](https://hub.docker.com/repository/docker/sflagsantos/tensorflowlite)." -" These docker can be used to build plugins for Linux and Android, however" -" they cannot handle Windows. Here we carefully guide you through the " -"proper build of tensorflow LITE Native and Tensorflow C++ API for our " -"three supported platforms." +" These docker can be used to build plugins for Linux and Android, however " +"they cannot handle Windows. Here we carefully guide you through the proper " +"build of tensorflow LITE Native and Tensorflow C++ API for our three " +"supported platforms." msgstr "" #: ../../../developer/tensorflow-plugin.md:11 @@ -8531,8 +8516,8 @@ msgstr "" #: ../../../developer/tensorflow-plugin.md:22 msgid "" -"We assembled Tensorflow headers needed to build plugins, to access them " -"you only have to extract `libs.tar.gz` file found under `jami-" +"We assembled Tensorflow headers needed to build plugins, to access them you " +"only have to extract `libs.tar.gz` file found under `jami-" "project/plugins/contrib`. However, if you are using another tensorflow " "version or you want to do it by yourself, you can follow the assemble " "instructions for Tensorflow LITE Native and C++ API are available under " @@ -8549,11 +8534,10 @@ msgstr "" #: ../../../developer/tensorflow-plugin.md:27 #: ../../../developer/tensorflow-plugin.md:54 msgid "" -"If you want to build Tensorflow C++ API with GPU suport, be sure to have " -"a CUDA capable GPU and that you have followed all installation steps for" -" the Nvidia drivers, CUDA Toolkit, CUDNN, Tensor RT, that their versions" -" matches and that they are correct for the Tensorflow version you want " -"to build." +"If you want to build Tensorflow C++ API with GPU suport, be sure to have a " +"CUDA capable GPU and that you have followed all installation steps for the " +"Nvidia drivers, CUDA Toolkit, CUDNN, Tensor RT, that their versions matches" +" and that they are correct for the Tensorflow version you want to build." msgstr "" #: ../../../developer/tensorflow-plugin.md:33 @@ -8582,9 +8566,9 @@ msgstr "" #: ../../../developer/tensorflow-plugin.md:77 msgid "" "There may be some missign references while compilling a plugin with " -"Tensorflow C++ API. If that happens you have to rebuild you tensorflow " -"and explicitly export the missing symbols. Fortunatelly Tensorflow now " -"has a easy workaround to do so, you only have to feed " +"Tensorflow C++ API. If that happens you have to rebuild you tensorflow and " +"explicitly export the missing symbols. Fortunatelly Tensorflow now has a " +"easy workaround to do so, you only have to feed " "[this](\"https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/tools/def_file_filter/def_file_filter.py.tpl\")" " file with the desired symbols." msgstr "" @@ -8633,8 +8617,7 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:7 msgid "" -"User documentation: <https://review.jami.net/Documentation/intro-" -"user.html>" +"User documentation: <https://review.jami.net/Documentation/intro-user.html>" msgstr "" #: ../../../developer/working-with-gerrit.md:8 @@ -8648,8 +8631,8 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:11 msgid "" "You'll also need to [upload an SSH " -"key](https://review.jami.net/settings/#SSHKeys) to be able to commit " -"changes for review." +"key](https://review.jami.net/settings/#SSHKeys) to be able to commit changes" +" for review." msgstr "" #: ../../../developer/working-with-gerrit.md:12 @@ -8658,8 +8641,8 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:13 msgid "" -"Finally, the email address specified in your git config must match one " -"the email address registered with your Gerrit account." +"Finally, the email address specified in your git config must match one the " +"email address registered with your Gerrit account." msgstr "" #: ../../../developer/working-with-gerrit.md:15 @@ -8682,8 +8665,7 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:23 msgid "" -"To check that your SSH access is properly setup, run the following " -"command:" +"To check that your SSH access is properly setup, run the following command:" msgstr "" #: ../../../developer/working-with-gerrit.md:25 @@ -8710,8 +8692,8 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:50 msgid "" -"You must update your remote information to use now the Gerrit repository." -" To do that, update your origin url:" +"You must update your remote information to use now the Gerrit repository. To" +" do that, update your origin url:" msgstr "" #: ../../../developer/working-with-gerrit.md:52 @@ -8748,8 +8730,8 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:66 msgid "" -"When pushing to this magic branch, a review will automatically be created" -" on Gerrit." +"When pushing to this magic branch, a review will automatically be created on" +" Gerrit." msgstr "" #: ../../../developer/working-with-gerrit.md:68 @@ -8758,8 +8740,7 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:70 msgid "" -"If you configured the default to refs/for/master as described above, " -"simply" +"If you configured the default to refs/for/master as described above, simply" msgstr "" #: ../../../developer/working-with-gerrit.md:72 @@ -8768,9 +8749,9 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:74 msgid "" -"If HEAD currently points to the branch with the commits you'd like to " -"push. Ideally, you should work in a feature/bug branch for the issue at " -"hand. Then you can do:" +"If HEAD currently points to the branch with the commits you'd like to push. " +"Ideally, you should work in a feature/bug branch for the issue at hand. Then" +" you can do:" msgstr "" #: ../../../developer/working-with-gerrit.md:76 @@ -8779,11 +8760,11 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:78 msgid "" -"If this is the first time you've pushed, you will be prompted to install " -"a post-commit Hook to insert a Change-ID in your commit message. Gerrit " -"needs this to track patchsets and will reject pushes until you install " -"it. Simply copy paste the command to install the hook as instructed by " -"Gerrit, and amend your commits." +"If this is the first time you've pushed, you will be prompted to install a " +"post-commit Hook to insert a Change-ID in your commit message. Gerrit needs " +"this to track patchsets and will reject pushes until you install it. Simply " +"copy paste the command to install the hook as instructed by Gerrit, and " +"amend your commits." msgstr "" #: ../../../developer/working-with-gerrit.md:80 @@ -8813,7 +8794,6 @@ msgstr "" #: ../../../developer/working-with-gerrit.md:97 msgid "" "Private work the same way as patchsets, except they are not visible to " -"others by default and don't trigger any Jenkins builds. A draft can then " -"be shared or published." +"others by default and don't trigger any Jenkins builds. A draft can then be " +"shared or published." msgstr "" - diff --git a/locales/fr/LC_MESSAGES/index.po b/locales/fr/LC_MESSAGES/index.po index 0986d745e3a595739d7ad468467ab3ed01b54f31..b0e742f4decfe33e5f62f4a4b8a0229ac12c9573 100644 --- a/locales/fr/LC_MESSAGES/index.po +++ b/locales/fr/LC_MESSAGES/index.po @@ -1,30 +1,34 @@ -# LANGUAGE translation of FILENAME.pot +# SOME DESCRIPTIVE TITLE. # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors -# This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# This file is distributed under the same license as the Jami package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Translators: +# savoirfairelinux <support@savoirfairelinux.com>, 2022 +# Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022 +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-10-19 12:03+0000\n" +"PO-Revision-Date: 2022-09-14 17:41+0000\n" +"Last-Translator: Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022\n" +"Language-Team: French (https://www.transifex.com/savoirfairelinux/teams/49466/fr/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Language: fr\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" #: ../../../index.rst:2 msgid "Home" -msgstr "" +msgstr "Accueil" -#: ../../../index.rst:-1 +#: ../../../index.rst-1 msgid "Jami logo" -msgstr "" +msgstr "Logo Jami" #: ../../../index.rst:7 msgid "" @@ -34,82 +38,116 @@ msgid "" "operating systems and platforms including GNU/Linux, macOS, Windows, " "Android/Replicant, and iOS." msgstr "" +"Ceci est la documentation de `Jami <https://jami.net>`_, un logiciel " +"libre/libre pour :doc:`la communication universelle <user/introduction>` qui" +" respecte la liberté et la vie privée de ses utilisateurs. Jami est " +"disponible sur tous les systèmes d'exploitation et toutes les plateformes, " +"notamment GNU/Linux, macOS, Windows, Android/Replicant et iOS." #: ../../../index.rst:13 msgid "Translations" -msgstr "" +msgstr "Traductions" #: ../../../index.rst:15 msgid "" "This documentation is available in `English </>`_, `French </fr/>`_, and " "`Persian (Farsi) </fa/>`_." msgstr "" +"La documentation est disponible en `Anglais </>`_, `Français </fr/>`_, et " +"`Perse (Farsi) </fa/>`_." #: ../../../index.rst:18 msgid "" -"Jami is an official GNU package and you can redistribute it and/or modify" -" it under the terms of the `GNU General Public License " -"<https://www.gnu.org/licenses/gpl.html>`_ as published by the Free " -"Software Foundation, either version 3 of the License, or (at your option)" -" any later version. The Jami team :doc:`uses Gerrit for development " -"<developer/working-with-gerrit>` and code reviews, and issues and feature" -" requests are :doc:`tracked on the Jami GitLab <user/bug-report-guide>`." -" The development of Jami is led by `Savoir-faire Linux " +"Jami is an official GNU package and you can redistribute it and/or modify it" +" under the terms of the `GNU General Public License " +"<https://www.gnu.org/licenses/gpl.html>`_ as published by the Free Software " +"Foundation, either version 3 of the License, or (at your option) any later " +"version. The Jami team :doc:`uses Gerrit for development " +"<developer/working-with-gerrit>` and code reviews, and issues and feature " +"requests are :doc:`tracked on the Jami GitLab <user/bug-report-guide>`. The" +" development of Jami is led by `Savoir-faire Linux " "<https://savoirfairelinux.com/en>`_ --- a Canadian GNU/Linux consulting " -"company based in Montréal --- and is supported by a growing global " -"community of users and contributors." -msgstr "" +"company based in Montréal --- and is supported by a growing global community" +" of users and contributors." +msgstr "" +"Jami est un paquet officiel GNU et vous pouvez le redistribuer et/ou le " +"modifier selon les termes de la `GNU General Public License " +"<https://www.gnu.org/licenses/gpl.html>`_ telle que publiée par la Free " +"Software Foundation, soit la version 3 de la licence, soit (à votre choix) " +"toute version ultérieure. L'équipe de Jami :doc:` utilise Gerrit pour le " +"développement <developer/working-with-gerrit>` et les revues de code, et les" +" problèmes et les demandes de fonctionnalités sont :doc:` suivis sur le " +"GitLab de Jami <user/bug-report-guide>`. Le développement de Jami est dirigé" +" par `Savoir-faire Linux <https://savoirfairelinux.com/en>`_ --- une " +"compagnie canadienne de conseil en logiciel libre basée à Montréal --- et " +"est soutenu par une communauté mondiale croissante d'utilisateurs et de " +"contributeurs." #: ../../../index.rst:30 msgid "" "This documentation is community-driven and :ref:`anyone can contribute " "<contribute:Contributing to this documentation>`!" msgstr "" +"Cette documentation est gérée par la communauté et :ref:`toute personne peut" +" y contribuer.<contribute:Contributing to this documentation> `!" #: ../../../index.rst:33 msgid "" "You may also be interested in the Jami `daemon " "<https://docs.jami.net/doxygen/daemon/>`_ or `libclient " "<https://docs.jami.net/doxygen/lrc/>`_'s technical documentation, the " -"daemon's `code coverage <https://docs.jami.net/coverage/>`_, or the " -"`OpenDHT wiki <https://github.com/savoirfairelinux/opendht/wiki>`_." +"daemon's `code coverage <https://docs.jami.net/coverage/>`_, or the `OpenDHT" +" wiki <https://github.com/savoirfairelinux/opendht/wiki>`_." msgstr "" +"Vous pouvez également être intéressé par la documentation technique du " +"`daemon <https://docs.jami.net/doxygen/daemon/>`_ ou du `libclient " +"<https://docs.jami.net/doxygen/lrc/>`_ de Jami, la `couverture de code " +"<https://docs.jami.net/coverage/>`_ du daemon, ou le wiki `OpenDHT " +"<https://github.com/savoirfairelinux/opendht/wiki>`_." #: ../../../index.rst:42 msgid "Documentation manuals" -msgstr "" +msgstr "Manuels de documentation" #: ../../../index.rst:44 msgid "" -"Here are the documentation manuals of Jami and details on how to " -"contribute to Jami:" +"Here are the documentation manuals of Jami and details on how to contribute " +"to Jami:" msgstr "" +"Voici les manuels de documentation de Jami et les détails sur la façon de " +"contribuer à Jami :" #: ../../../index.rst:56 msgid "Community and support" -msgstr "" +msgstr "Communauté et support" #: ../../../index.rst:58 msgid "" -"You can reach the Jami developers and community of users at the following" -" public places:" +"You can reach the Jami developers and community of users at the following " +"public places:" msgstr "" +"Vous pouvez joindre les développeurs et la communauté d'utilisateurs de Jami" +" dans les lieux publics suivants :" #: ../../../index.rst:61 msgid "Jami's forum: https://forum.jami.net" -msgstr "" +msgstr "Forum de Jami : https://forum.jami.net" #: ../../../index.rst:62 msgid "" "Jami's GNU mailing list: `jami@gnu.org " "<https://lists.gnu.org/mailman/listinfo/jami>`_" msgstr "" +"La liste de diffusion GNU de Jami : `jami@gnu.org " +"<https://lists.gnu.org/mailman/listinfo/jami>`_" #: ../../../index.rst:64 msgid "" "Jami's IRC channel on the Libera.Chat network: `#jami " "<https://web.libera.chat/#jami>`_" msgstr "" +"Le canal IRC de Jami sur le réseau Libera.Chat : `#jami " +"<https://web.libera.chat/#jami>`_" #: ../../../index.rst:66 msgid "" @@ -117,21 +155,28 @@ msgid "" "<https://matrix.to/#/#jami:matrix.org>`_ (bridged with the above IRC " "channel)" msgstr "" +"La salle Matrix de Jami : `#jami:matrix.org " +"<https://matrix.to/#/#jami:matrix.org>`_ (ponté avec le canal IRC ci-dessus)" #: ../../../index.rst:69 msgid "" "Jami's social media: `@jami_social <https://nitter.net/jami_social>`_ " "(Twitter) and `@Jami@mstdn.io <https://mstdn.io/@Jami>`_ (Fediverse)" msgstr "" +"Les médias sociaux de Jami : `@jami_social " +"<https://nitter.net/jami_social>`_ (Twitter) et `@Jami@mstdn.io " +"<https://mstdn.io/@Jami>`_ (Fediverse)" #: ../../../index.rst:72 msgid "Jami's subreddit: `/r/jami <https://old.reddit.com/r/jami>`_" -msgstr "" +msgstr "Le subreddit de Jami : `/r/jami <https://old.reddit.com/r/jami>`_" #: ../../../index.rst:74 msgid "" -"You can also contact the Jami team at Savoir-faire Linux directly via " -"email, at contact@jami.net. Additionally, Savoir-faire Linux offers " -"commercial support for Jami via https://jami.biz." +"You can also contact the Jami team at Savoir-faire Linux directly via email," +" at contact@jami.net. Additionally, Savoir-faire Linux offers commercial " +"support for Jami via https://jami.biz." msgstr "" - +"Vous pouvez également contacter l'équipe Jami de Savoir-faire Linux " +"directement par courriel, à contact@jami.net. De plus, Savoir-faire Linux " +"offre un support commercial pour Jami via https://jami.biz." diff --git a/locales/fr/LC_MESSAGES/sphinx.po b/locales/fr/LC_MESSAGES/sphinx.po index 1cfe5f09b865efe76a139bd7d696d01d321be905..54acd4b0a220080396eb87c371bb8c11dfa04001 100644 --- a/locales/fr/LC_MESSAGES/sphinx.po +++ b/locales/fr/LC_MESSAGES/sphinx.po @@ -1,30 +1,27 @@ -# LANGUAGE translation of FILENAME.pot +# SOME DESCRIPTIVE TITLE. # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors -# This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# This file is distributed under the same license as the Jami package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-10-19 12:03+0000\n" +"PO-Revision-Date: 2022-09-14 17:53+0000\n" +"Language-Team: French (https://www.transifex.com/savoirfairelinux/teams/49466/fr/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Language: fr\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" #: ../../../_templates/footer.html:41 -#, python-format msgid "<p><a href=\"%(path)s\">Copyright</a> © %(copyright)s</p>" msgstr "" #: ../../../_templates/footer.html:43 -#, python-format msgid "<p>Copyright © %(copyright)s</p>" msgstr "" @@ -37,7 +34,5 @@ msgid "Revision" msgstr "" #: ../../../_templates/footer.html:64 -#, python-format msgid "Last updated on %(last_updated)s." msgstr "" - diff --git a/locales/fr/LC_MESSAGES/user.po b/locales/fr/LC_MESSAGES/user.po index ca6e66bba463c2e8724385ef31335ed98e155e7a..c825cf5fa8f39a6bc910bf0e2f20dee834249a41 100644 --- a/locales/fr/LC_MESSAGES/user.po +++ b/locales/fr/LC_MESSAGES/user.po @@ -1,42 +1,55 @@ # LANGUAGE translation of FILENAME.pot # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors # This file is distributed under the same license as the Jami documentation. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. -# +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Translators: +# savoirfairelinux <support@savoirfairelinux.com>, 2022 +# Ecko <edric.milaret@gmail.com>, 2022 +# Alexandre Lision, 2022 +# Laura Galita <laura.galita@savoirfairelinux.com>, 2022 +# Cindy Marchi <cindy.marchi-prat@savoirfairelinux.com>, 2022 +# Emeric Robert <emericrobert@gmail.com>, 2022 +# 17373e25dc4e21ad6338b9498621c066, 2022 +# Adrien Béraud <adrien.beraud@savoirfairelinux.com>, 2022 +# Zertrin, 2022 +# Antoine Gorenflot, 2022 +# Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022 +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Jami\n" -"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-" -"docs/-/issues\n" -"POT-Creation-Date: 2022-10-13 10:43-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"Project-Id-Version: Jami\n" +"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n" +"POT-Creation-Date: 2022-10-26 17:49+0000\n" +"PO-Revision-Date: 2022-09-14 17:45+0000\n" +"Last-Translator: Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022\n" +"Language-Team: French (https://www.transifex.com/savoirfairelinux/teams/49466/fr/)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Language: fr\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" #: ../../../user/all-features-by-client.md:1 msgid "All features by client" -msgstr "" +msgstr "Fonctionnalités par plateforme" #: ../../../user/all-features-by-client.md:4 msgid "Legend:" -msgstr "" +msgstr "Légende :" #: ../../../user/all-features-by-client.md:6 msgid "✓ : available" -msgstr "" +msgstr "✓ : disponible" #: ../../../user/all-features-by-client.md:7 msgid "E : experimental" -msgstr "" +msgstr "E : Expérimentale" #: ../../../user/all-features-by-client.md:8 msgid "X : not available yet" -msgstr "" +msgstr "X : non disponible pour le moment " #: ../../../user/all-features-by-client.md:9 msgid "N/A : not applicable for this client" @@ -44,297 +57,297 @@ msgstr "" #: ../../../user/all-features-by-client.md:11 msgid "Text messaging" -msgstr "" +msgstr "Messagerie texte" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "**Client**" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Linux" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Windows" -msgstr "" +msgstr "Les fenêtres" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Android" -msgstr "" +msgstr "Android" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Android TV" -msgstr "" +msgstr "Android TV" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "iOS" -msgstr "" +msgstr "iOS" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "macOS" -msgstr "" +msgstr "macOS" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Text Messaging" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "✓" -msgstr "" +msgstr "✓" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Group chat" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "E" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "X" -msgstr "" +msgstr "X" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Clear History" -msgstr "" +msgstr "Effacer l'historique" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Chat history shared across devices" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Send Files" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Auto accept images" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Custom download location" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Typing indicator" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Read status" msgstr "" #: ../../../user/all-features-by-client.md:25 msgid "Calling" -msgstr "" +msgstr "Appel en cours" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Audio Calling" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Video Calling" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Host call conference" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Auto bitrate" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Change video quality" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Custom ringtones" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Select camera" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Video call recording" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Leave audio message" -msgstr "" +msgstr "Envoyer un message vocal" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Leave video message" -msgstr "" +msgstr "Envoyer un message vidéo" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Screen sharing" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "✓(1)" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Window sharing" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Media sharing" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Hardware encoding *" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Hardware decoding *" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Mute sound" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Texting while on call" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Remote recording notif" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Rendez-vous mode" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Conference Layout" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Multistream" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Videosplit" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Audio Processor \\*\\*" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "✓(2)" msgstr "" #: ../../../user/all-features-by-client.md:54 msgid "" -"\\* This enables 4k video calling support \\*\\* cf {ref}`user/faq:How " -"can I configure the audio processor?` in the FAQ" +"\\* This enables 4k video calling support \\*\\* cf {ref}`user/faq:How can" +" I configure the audio processor?` in the FAQ" msgstr "" #: ../../../user/all-features-by-client.md:58 msgid "" -"(1) only on X (not Wayland) (2) Some features enabled by default and " -"not configurable" +"(1) only on X (not Wayland) (2) Some features enabled by default and not " +"configurable" msgstr "" #: ../../../user/all-features-by-client.md:61 msgid "Account settings" -msgstr "" +msgstr "Paramètres du compte" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Profile avatar" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Disable account" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Delete account" -msgstr "" +msgstr "Supprimer le compte" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Contact availability" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Register username" -msgstr "" +msgstr "Enregistrer le nom d'utilisateur" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Delete Contacts" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Block Contacts" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Link new device via DHT" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Link new device via archive" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Auto answer" -msgstr "" +msgstr "Décrocher automatiquement" #: ../../../user/all-features-by-client.md:77 msgid "Other features" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Scan QR Code" -msgstr "" +msgstr "Scanner un code QR" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Display QR Code" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Ban contact" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "System notifications" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Supported languages *" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "98" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Contacts shared across devices" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Multi account" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "SIP account" -msgstr "" +msgstr "Compte SIP" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "SIP transferring" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Dark theme support" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "JAMS support" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Plugin support" msgstr "" @@ -344,34 +357,34 @@ msgstr "" #: ../../../user/all-features-by-client.md:96 msgid "Advanced settings" -msgstr "" +msgstr "Réglages avancés" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "DHT Proxy support" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "Push notification" msgstr "" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "N/A" -msgstr "" +msgstr "Pas de réponse" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "UPnP" -msgstr "" +msgstr "UPnP" -#: ../../../user/all-features-by-client.md +#: ../../../user/all-features-by-client.md:0 msgid "TURN configuration" msgstr "" #: ../../../user/bug-report-guide.md:1 msgid "" -"**Note: We are currently a small number of developers active on the " -"project. As such, we cannot answer and tag all of the opened issues " -"immediately, but we do notice and read them. Good bug reports provide us" -" important feedback, which we thank you for and always appreciate.**" +"**Note: We are currently a small number of developers active on the project." +" As such, we cannot answer and tag all of the opened issues immediately, " +"but we do notice and read them. Good bug reports provide us important " +"feedback, which we thank you for and always appreciate.**" msgstr "" #: ../../../user/bug-report-guide.md:6 @@ -380,8 +393,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:9 msgid "" -"This guide includes step-by-step instructions for reporting bugs and " -"issues you encounter in Jami." +"This guide includes step-by-step instructions for reporting bugs and issues " +"you encounter in Jami." msgstr "" #: ../../../user/bug-report-guide.md:12 @@ -390,15 +403,15 @@ msgstr "" #: ../../../user/bug-report-guide.md:15 msgid "" -"Be ready for data loss. Back up your account and link your account to as" -" many devices as possible." +"Be ready for data loss. Back up your account and link your account to as " +"many devices as possible." msgstr "" #: ../../../user/bug-report-guide.md:17 msgid "" "Install the latest version (or even a beta version) of Jami. Reporting " -"bugs/issues against older versions is less useful, and there is a " -"likelihood of it already having been fixed in newer versions." +"bugs/issues against older versions is less useful, and there is a likelihood" +" of it already having been fixed in newer versions." msgstr "" #: ../../../user/bug-report-guide.md:22 @@ -407,9 +420,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:25 msgid "" -"Create an account on the [Jami " -"GitLab](https://git.jami.net/users/sign_up) if you don't have one " -"already." +"Create an account on the [Jami GitLab](https://git.jami.net/users/sign_up) " +"if you don't have one already." msgstr "" #: ../../../user/bug-report-guide.md:29 @@ -426,8 +438,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:33 msgid "" -"{gitlab-project}`The GNOME/GTK client <jami-client-gnome>` (deprecated by" -" {gitlab-project}`the Qt client <jami-client-qt>`)" +"{gitlab-project}`The GNOME/GTK client <jami-client-gnome>` (deprecated by " +"{gitlab-project}`the Qt client <jami-client-qt>`)" msgstr "" #: ../../../user/bug-report-guide.md:35 @@ -442,8 +454,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:38 msgid "" -"{gitlab-project}`The Jami project in general (or if you are not sure) " -"<jami-project>`" +"{gitlab-project}`The Jami project in general (or if you are not sure) <jami-" +"project>`" msgstr "" #: ../../../user/bug-report-guide.md:40 @@ -454,14 +466,14 @@ msgstr "" #: ../../../user/bug-report-guide.md:43 msgid "" -"If you have multiple issues, please file separate bug reports. It will be" -" much easier to keep track of them that way." +"If you have multiple issues, please file separate bug reports. It will be " +"much easier to keep track of them that way." msgstr "" #: ../../../user/bug-report-guide.md:46 msgid "" -"The title is an explicit summary of the bug (e.g.: header bar is too big " -"due to icon size)" +"The title is an explicit summary of the bug (e.g.: header bar is too big due" +" to icon size)" msgstr "" #: ../../../user/bug-report-guide.md:49 @@ -476,16 +488,16 @@ msgstr "" #: ../../../user/bug-report-guide.md:53 msgid "" -"If you can reproduce occasionally, but not after following specific " -"steps, please provide additional information about the issue to help " -"others understand and try to reproduce it." +"If you can reproduce occasionally, but not after following specific steps, " +"please provide additional information about the issue to help others " +"understand and try to reproduce it." msgstr "" #: ../../../user/bug-report-guide.md:56 msgid "" -"If you can't reproduce the problem, there may be little chance of it " -"being reasonably fixable. If you do report it, please try your best to " -"provide as much information/clues about its occurrence as possible." +"If you can't reproduce the problem, there may be little chance of it being " +"reasonably fixable. If you do report it, please try your best to provide as" +" much information/clues about its occurrence as possible." msgstr "" #: ../../../user/bug-report-guide.md:61 @@ -519,16 +531,16 @@ msgstr "" #: ../../../user/bug-report-guide.md:72 msgid "" "what build you are using (F-Droid, Play Store, App Store, from " -"`dl.jami.net`, your own build, etc.). If you have built your own version" -" of Jami, please specify the exact Jami Daemon version and client version" -" (you can obtain it using `jamid -v` and `jami-gnome -v` or `jami-qt -v`;" -" but note that our packages are updated quite often) and the Git commit." +"`dl.jami.net`, your own build, etc.). If you have built your own version of" +" Jami, please specify the exact Jami Daemon version and client version (you " +"can obtain it using `jamid -v` and `jami-gnome -v` or `jami-qt -v`; but note" +" that our packages are updated quite often) and the Git commit." msgstr "" #: ../../../user/bug-report-guide.md:78 msgid "" -"network conditions: are both devices on the same local network? Different" -" networks? Is one or both behind NAT? Are you using LTE? Are you using " +"network conditions: are both devices on the same local network? Different " +"networks? Is one or both behind NAT? Are you using LTE? Are you using " "WiFi?" msgstr "" @@ -548,8 +560,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:89 msgid "" -"A good summary should quickly and uniquely identify a bug report. It " -"should explain the problem, not your suggested solution." +"A good summary should quickly and uniquely identify a bug report. It should " +"explain the problem, not your suggested solution." msgstr "" #: ../../../user/bug-report-guide.md:102 @@ -563,11 +575,11 @@ msgstr "" #: ../../../user/bug-report-guide.md:107 msgid "" "Steps to reproduce are the most important part of any bug report. If a " -"developer is able to reproduce the bug, the bug is very likely to be " -"fixed. If the steps are unclear, it might not even be possible to know " -"whether the bug has been fixed. We are totally aware that some bugs may " -"look obvious to you, but they are probably related to your environment. " -"The more precise you are, the quicker the bug can be fixed." +"developer is able to reproduce the bug, the bug is very likely to be fixed." +" If the steps are unclear, it might not even be possible to know whether " +"the bug has been fixed. We are totally aware that some bugs may look " +"obvious to you, but they are probably related to your environment. The more" +" precise you are, the quicker the bug can be fixed." msgstr "" #: ../../../user/bug-report-guide.md:115 @@ -576,9 +588,9 @@ msgstr "" #: ../../../user/bug-report-guide.md:117 msgid "" -"Indicate whether you can reproduce the bug at will, occasionally, or not " -"at all. Describe your method of interacting with Jami in addition to the" -" intent of each step. After your steps, precisely describe the observed " +"Indicate whether you can reproduce the bug at will, occasionally, or not at " +"all. Describe your method of interacting with Jami in addition to the " +"intent of each step. After your steps, precisely describe the observed " "(actual) result and the expected result. Clearly separate facts " "(observations) from speculations." msgstr "" @@ -625,8 +637,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:160 msgid "" -"The following information is requested for most bug reports. You can " -"save time by providing this information below the Expected results." +"The following information is requested for most bug reports. You can save " +"time by providing this information below the Expected results." msgstr "" #: ../../../user/bug-report-guide.md:163 @@ -639,10 +651,10 @@ msgstr "" #: ../../../user/bug-report-guide.md:167 msgid "" -"Go to the General settings. In the Troubleshoot section, you can click " -"on \"Open logs\", where you will be able to get statistics (\"Show " -"stats\") or start recording information via \"Receive logs\". Then you " -"can just copy the result and explain your scenario." +"Go to the General settings. In the Troubleshoot section, you can click on " +"\"Open logs\", where you will be able to get statistics (\"Show stats\") or " +"start recording information via \"Receive logs\". Then you can just copy the" +" result and explain your scenario." msgstr "" #: ../../../user/bug-report-guide.md:172 @@ -655,15 +667,15 @@ msgstr "" #: ../../../user/bug-report-guide.md:180 msgid "" -"Full log: Since the Jami client (GUI) and daemon are separated processes," -" the easiest way to get logs from both is to start them one at a time, " +"Full log: Since the Jami client (GUI) and daemon are separated processes, " +"the easiest way to get logs from both is to start them one at a time, " "manually." msgstr "" #: ../../../user/bug-report-guide.md:185 msgid "" -"Ensure that no Jami client or daemon instances are running: check by " -"running `ps aux | grep jami` in a terminal." +"Ensure that no Jami client or daemon instances are running: check by running" +" `ps aux | grep jami` in a terminal." msgstr "" #: ../../../user/bug-report-guide.md:187 @@ -673,7 +685,8 @@ msgid "" msgstr "" #: ../../../user/bug-report-guide.md:189 -msgid "If either client or daemon are running, terminate them using `kill PID`." +msgid "" +"If either client or daemon are running, terminate them using `kill PID`." msgstr "" #: ../../../user/bug-report-guide.md:191 @@ -689,8 +702,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:196 msgid "" -"In another terminal, start the client, using e.g. `jami-gnome -d` or " -"`jami-qt -d`." +"In another terminal, start the client, using e.g. `jami-gnome -d` or `jami-" +"qt -d`." msgstr "" #: ../../../user/bug-report-guide.md:199 @@ -699,16 +712,14 @@ msgstr "" #: ../../../user/bug-report-guide.md:201 msgid "" -"`gdb -ex run jami-qt`, or `gdb -ex run jami-gnome`, or `gdb -ex run " -"--args /usr/libexec/jamid -cd`, depending on the component you need to " -"debug." +"`gdb -ex run jami-qt`, or `gdb -ex run jami-gnome`, or `gdb -ex run --args " +"/usr/libexec/jamid -cd`, depending on the component you need to debug." msgstr "" #: ../../../user/bug-report-guide.md:205 msgid "" -"When it crashes, you can type `bt` (or even better, `thread apply all " -"bt`) then press *Enter*. Then copy the backtrace and paste it in the " -"issue." +"When it crashes, you can type `bt` (or even better, `thread apply all bt`) " +"then press *Enter*. Then copy the backtrace and paste it in the issue." msgstr "" #: ../../../user/bug-report-guide.md:209 @@ -720,7 +731,8 @@ msgid "Navigate to `/Applications/Jami.app/Contents/MacOS/`." msgstr "" #: ../../../user/bug-report-guide.md:212 -msgid "Double click Jami. It will launch Jami and print the log to the terminal." +msgid "" +"Double click Jami. It will launch Jami and print the log to the terminal." msgstr "" #: ../../../user/bug-report-guide.md:214 @@ -729,8 +741,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:216 msgid "" -"Alternatively, you could run `/<path to " -"Jami>/Jami.app/Contents/MacOS/Jami -d` from the terminal." +"Alternatively, you could run `/<path to Jami>/Jami.app/Contents/MacOS/Jami " +"-d` from the terminal." msgstr "" #: ../../../user/bug-report-guide.md:219 @@ -771,8 +783,8 @@ msgstr "" #: ../../../user/bug-report-guide.md:232 msgid "" -"```adb logcat *:D | grep `adb shell ps | egrep 'cx.ring' | cut -c10-15` >" -" logring.txt```" +"```adb logcat *:D | grep `adb shell ps | egrep 'cx.ring' | cut -c10-15` > " +"logring.txt```" msgstr "" #: ../../../user/bug-report-guide.md:233 @@ -784,7 +796,8 @@ msgid "For Windows" msgstr "" #: ../../../user/bug-report-guide.md:237 -msgid "Open a terminal (cmd.exe) and launch Jami.exe with the following options:" +msgid "" +"Open a terminal (cmd.exe) and launch Jami.exe with the following options:" msgstr "" #: ../../../user/bug-report-guide.md:240 @@ -792,13 +805,12 @@ msgid "`-d` to open a separate console window to receive logs" msgstr "" #: ../../../user/bug-report-guide.md:241 -#, python-format msgid "`-f` to write logs to `%localappdata%\\jami\\jami.log`" msgstr "" #: ../../../user/create-jami-account.md:1 msgid "Create Jami account" -msgstr "" +msgstr "Créer un compte Jami" #: ../../../user/create-jami-account.md:4 msgid "CREATE A JAMI ACCOUNT ON:" @@ -812,8 +824,8 @@ msgstr "" #: ../../../user/create-jami-account.md:8 msgid "" -"Android (FR) [creer-compte-jami-android-fr.pdf](creer-compte-jami-" -"android-fr.pdf)" +"Android (FR) [creer-compte-jami-android-fr.pdf](creer-compte-jami-android-" +"fr.pdf)" msgstr "" #: ../../../user/create-jami-account.md:10 @@ -824,12 +836,12 @@ msgstr "" #: ../../../user/create-jami-account.md:12 msgid "" -"macOS (FR) [creer-compte-jami-macos-fr.pdf](creer-compte-jami-macos-" -"fr.pdf)" +"macOS (FR) [creer-compte-jami-macos-fr.pdf](creer-compte-jami-macos-fr.pdf)" msgstr "" #: ../../../user/create-jami-account.md:14 -msgid "iOS (EN) [create-jami-account-ios-en.pdf](create-jami-account-ios-en.pdf)" +msgid "" +"iOS (EN) [create-jami-account-ios-en.pdf](create-jami-account-ios-en.pdf)" msgstr "" #: ../../../user/create-jami-account.md:16 @@ -838,8 +850,8 @@ msgstr "" #: ../../../user/create-jami-account.md:18 msgid "" -"Windows (FR) [creer-compte-jami-windows-fr.pdf](creer-compte-jami-" -"windows-fr.pdf)" +"Windows (FR) [creer-compte-jami-windows-fr.pdf](creer-compte-jami-windows-" +"fr.pdf)" msgstr "" #: ../../../user/faq.rst:2 @@ -866,15 +878,15 @@ msgstr "" #: ../../../user/faq.rst:21 msgid "What does Jami mean?" -msgstr "" +msgstr "Que veut dire Jami ?" #: ../../../user/faq.rst:23 msgid "" -"The choice of the name Jami was inspired by the Swahili word `jamii` " -"which means `community` as a noun and `together` as an adverb. It was " -"chosen as it reflects the vision for the project: a free/libre program " -"available to all that helps bring communities together, is community " -"supported, and respects the freedom and privacy of the users." +"The choice of the name Jami was inspired by the Swahili word `jamii` which " +"means `community` as a noun and `together` as an adverb. It was chosen as " +"it reflects the vision for the project: a free/libre program available to " +"all that helps bring communities together, is community supported, and " +"respects the freedom and privacy of the users." msgstr "" #: ../../../user/faq.rst:30 @@ -895,16 +907,16 @@ msgid "" "*distributed*:" msgstr "" -#: ../../../user/faq.rst:-1 +#: ../../../user/faq.rst-1 msgid "Centralized, Decentralized, and Distributed network topology" msgstr "" #: ../../../user/faq.rst:43 msgid "" -"Some of the consequences may seem surprising. For instance, since " -"accounts are stored on your device, passwords are optional. However, the" -" most significant practical differences are that you have more *freedom* " -"and *privacy*." +"Some of the consequences may seem surprising. For instance, since accounts " +"are stored on your device, passwords are optional. However, the most " +"significant practical differences are that you have more *freedom* and " +"*privacy*." msgstr "" #: ../../../user/faq.rst:52 @@ -919,18 +931,16 @@ msgstr "" #: ../../../user/faq.rst:57 msgid "" -"On other contacts, a red circle means that they are not online, and a " -"green circle means they are online and you should be able to message " -"them." +"On other contacts, a red circle means that they are not online, and a green " +"circle means they are online and you should be able to message them." msgstr "" #: ../../../user/faq.rst:61 msgid "" "Note that a green circle only means that the contact has announced their " "presence on the DHT. It does not indicate a direct connection to their " -"device. In some cases, a contact may be able to send and receive " -"messages but cannot make calls or file transfers because of their " -"firewall." +"device. In some cases, a contact may be able to send and receive messages " +"but cannot make calls or file transfers because of their firewall." msgstr "" #: ../../../user/faq.rst:68 @@ -954,8 +964,8 @@ msgstr "" #: ../../../user/faq.rst:79 msgid "" "You can enable or disable read receipts on Android. Other platforms may " -"still be working on this feature. Please see :doc:`All Features by " -"Client <all-features-by-client>` for the current status." +"still be working on this feature. Please see :doc:`All Features by Client " +"<all-features-by-client>` for the current status." msgstr "" #: ../../../user/faq.rst:84 @@ -964,8 +974,8 @@ msgstr "" #: ../../../user/faq.rst:86 msgid "" -"Most of the client support sending and receiving typing notifications. " -"You can enable/disable them in the general settings." +"Most of the client support sending and receiving typing notifications. You " +"can enable/disable them in the general settings." msgstr "" #: ../../../user/faq.rst:90 @@ -990,12 +1000,12 @@ msgstr "" #: ../../../user/faq.rst:103 msgid "Does Jami have group chats?" -msgstr "" +msgstr "Est-ce que Jami a des discussions de groupe ?" #: ../../../user/faq.rst:105 msgid "" -"Yes, Jami now has :doc:`../developer/swarm` group chats. However, they " -"are currently experimental and must be manually enabled from application " +"Yes, Jami now has :doc:`../developer/swarm` group chats. However, they are " +"currently experimental and must be manually enabled from application " "settings. Also, group chats are currently limited to 8 participants (so " "that bugs and issues could be more easily found and fixed in smaller " "scenarios, and hopefully lift this limit in the future)." @@ -1009,26 +1019,26 @@ msgstr "" msgid "" "Before :doc:`../developer/swarm`, an account's devices would receive the " "same messages from contacts if the device was online at the time of the " -"message being sent, but *sent* messages would not show up on devices " -"other than the one sending the message." +"message being sent, but *sent* messages would not show up on devices other " +"than the one sending the message." msgstr "" #: ../../../user/faq.rst:120 msgid "" "With the introduction of Swarm, conversation histories of new Swarm " -"conversations (including one-on-one conversations) are fully synchronized" -" between all of an account's linked devices. If you are using an older " -"version of Jami, please upgrade to the latest version with Swarm support." -" The latest version of Jami is always available from the Download page " -"of the Jami website, at https://jami.net/download/." +"conversations (including one-on-one conversations) are fully synchronized " +"between all of an account's linked devices. If you are using an older " +"version of Jami, please upgrade to the latest version with Swarm support. " +"The latest version of Jami is always available from the Download page of the" +" Jami website, at https://jami.net/download/." msgstr "" #: ../../../user/faq.rst:128 msgid "" "To learn more about Swarm, you can read our blog post `Synchronizing " "conversation history with Swarm <https://jami.net/synchronizing-" -"conversation-history-with-swarm/>`_ and see the :doc:`../developer/swarm`" -" page of the Jami developer manual." +"conversation-history-with-swarm/>`_ and see the :doc:`../developer/swarm` " +"page of the Jami developer manual." msgstr "" #: ../../../user/faq.rst:135 @@ -1037,30 +1047,30 @@ msgstr "" #: ../../../user/faq.rst:137 msgid "" -"With :doc:`../developer/swarm` conversations, every device stores all a " -"copy of all of the messages in that conversation. If a device (whether " -"your own, or another participant's) is not available/online when a " -"message is sent, when it comes back online again it will try to fetch any" -" new messages from other online devices/peers and synchronize message " -"history. This can be done whenever at least one other device that has a " -"copy of the new messages is also online." +"With :doc:`../developer/swarm` conversations, every device stores all a copy" +" of all of the messages in that conversation. If a device (whether your " +"own, or another participant's) is not available/online when a message is " +"sent, when it comes back online again it will try to fetch any new messages " +"from other online devices/peers and synchronize message history. This can " +"be done whenever at least one other device that has a copy of the new " +"messages is also online." msgstr "" #: ../../../user/faq.rst:145 msgid "" -"You can read more about how Swarm conversations are synchronized in our " -"blog post `Synchronizing conversation history with Swarm " +"You can read more about how Swarm conversations are synchronized in our blog" +" post `Synchronizing conversation history with Swarm " "<https://jami.net/synchronizing-conversation-history-with-swarm/>`_." msgstr "" #: ../../../user/faq.rst:150 msgid "" -"If the participants in a conversation are often not online at the same " -"time (for instance, due to timezone differences), one of them might " -"choose to set up Jami on an often-online device that would receive the " -"messages from each participant and relay it to the other(s) whenever they" -" come online. Thus, acting similarly to a \"server\", all the while Jami" -" remains distributed by nature." +"If the participants in a conversation are often not online at the same time " +"(for instance, due to timezone differences), one of them might choose to set" +" up Jami on an often-online device that would receive the messages from each" +" participant and relay it to the other(s) whenever they come online. Thus, " +"acting similarly to a \"server\", all the while Jami remains distributed by " +"nature." msgstr "" #: ../../../user/faq.rst:160 @@ -1069,31 +1079,30 @@ msgstr "" #: ../../../user/faq.rst:162 msgid "" -"Jami saves its configuration (account, certificates, history) at " -"different locations depending on the platform." +"Jami saves its configuration (account, certificates, history) at different " +"locations depending on the platform." msgstr "" #: ../../../user/faq.rst:165 msgid "" -"**GNU/Linux**: global configuration is under " -"``~/.config/jami/dring.yml``, and account-specific files are under " -"``~/.local/share/jami/``. Finally, there is a cache directory at " -"``~/.cache/jami/``." +"**GNU/Linux**: global configuration is under ``~/.config/jami/dring.yml``, " +"and account-specific files are under ``~/.local/share/jami/``. Finally, " +"there is a cache directory at ``~/.cache/jami/``." msgstr "" #: ../../../user/faq.rst:170 msgid "" "**macOS**: the full configuration is under ``~/Library/Application " -"Support/Jami/`` if installed via https://jami.net. The app store version" -" uses " +"Support/Jami/`` if installed via https://jami.net. The app store version " +"uses " "``~/Library/Containers/com.savoirfairelinux.ring.macos/Data/Library/Application" " Support/jami/``." msgstr "" #: ../../../user/faq.rst:175 msgid "" -"**Android**: the full configuration is under ``/data/data/cx.ring/`` (may" -" require root privileges to view or change from outside Jami)." +"**Android**: the full configuration is under ``/data/data/cx.ring/`` (may " +"require root privileges to view or change from outside Jami)." msgstr "" #: ../../../user/faq.rst:178 @@ -1106,15 +1115,14 @@ msgstr "" #: ../../../user/faq.rst:183 msgid "" -"Note: audio and video messages are recorded in the local-data in the " -"folder: ``sent_data``" +"Note: audio and video messages are recorded in the local-data in the folder:" +" ``sent_data``" msgstr "" #: ../../../user/faq.rst:186 msgid "" -"For files, if a file is saved (right click on the file, then Save) it " -"will be added to the directory you configured in the application " -"settings." +"For files, if a file is saved (right click on the file, then Save) it will " +"be added to the directory you configured in the application settings." msgstr "" #: ../../../user/faq.rst:191 @@ -1123,68 +1131,68 @@ msgstr "" #: ../../../user/faq.rst:193 msgid "" -"For audio calls, Jami uses about 100 Kbps. For a video call, you need " -"about 2 Mbit/s for medium quality. If your connection is slower, the " -"bitrate will be automatically reduced." +"For audio calls, Jami uses about 100 Kbps. For a video call, you need about" +" 2 Mbit/s for medium quality. If your connection is slower, the bitrate " +"will be automatically reduced." msgstr "" #: ../../../user/faq.rst:197 msgid "" "If you are hosting a video conference, you will approximately need an " -"additional 2 Mbps per participant. So, for example for a conference with" -" 10 participants, each participant will need 2 Mbps up & down and the " -"host will need 20 Mbps up and down." +"additional 2 Mbps per participant. So, for example for a conference with 10" +" participants, each participant will need 2 Mbps up & down and the host will" +" need 20 Mbps up and down." msgstr "" #: ../../../user/faq.rst:202 msgid "" "Jami also uses an algorithm to change the consumption depending of the " -"quality of the link. So, the bitrate can have a minimum of 200 Kbit/s and" -" maximum of 6 Mbit/s." +"quality of the link. So, the bitrate can have a minimum of 200 Kbit/s and " +"maximum of 6 Mbit/s." msgstr "" #: ../../../user/faq.rst:207 msgid "" -"How can SFL afford to give Jami away for free? How does/will SFL make " -"money off Jami?" +"How can SFL afford to give Jami away for free? How does/will SFL make money" +" off Jami?" msgstr "" #: ../../../user/faq.rst:209 msgid "" "Summary: ethical company, they will make money supporting managed Jami " -"solutions for organizations; their main source of income is elsewhere; " -"all Jami code is GPLv3+; etc. etc." +"solutions for organizations; their main source of income is elsewhere; all " +"Jami code is GPLv3+; etc. etc." msgstr "" #: ../../../user/faq.rst:215 msgid "Account management" -msgstr "" +msgstr "Gestion du compte" #: ../../../user/faq.rst:218 msgid "What is a Jami account?" -msgstr "" +msgstr "Qu'est-ce qu'un compte Jami ?" #: ../../../user/faq.rst:220 msgid "" "A Jami account is an `asymmetric encryption key " -"<https://en.wikipedia.org/wiki/Public-key_cryptography>`_. Your account " -"is identified by a Jami ID, which is a `fingerprint " -"<https://en.wikipedia.org/wiki/Public_key_fingerprint>`_ of your public " -"key." +"<https://en.wikipedia.org/wiki/Public-key_cryptography>`_. Your account is " +"identified by a Jami ID, which is a `fingerprint " +"<https://en.wikipedia.org/wiki/Public_key_fingerprint>`_ of your public key." msgstr "" #: ../../../user/faq.rst:227 msgid "What information do I need to provide to create a Jami account?" -msgstr "" +msgstr "Quelles informations dois-je fournir pour créer un compte Jami ?" #: ../../../user/faq.rst:229 msgid "" -"When you create a new Jami account, you don't have to provide any private" -" information like an email, address, or phone number." +"When you create a new Jami account, you don't have to provide any private " +"information like an email, address, or phone number." msgstr "" #: ../../../user/faq.rst:232 -msgid "This is the information you can provide if you choose (it's all optional):" +msgid "" +"This is the information you can provide if you choose (it's all optional):" msgstr "" #: ../../../user/faq.rst:235 @@ -1200,14 +1208,14 @@ msgstr "" #: ../../../user/faq.rst:238 msgid "" "An optional username, which is a unique identifier that is directly " -"associated with your Jami ID. This username->Jami ID mapping is stored " -"on a server (``ns.jami.net`` by default, but you can host your own)." +"associated with your Jami ID. This username->Jami ID mapping is stored on a" +" server (``ns.jami.net`` by default, but you can host your own)." msgstr "" #: ../../../user/faq.rst:242 msgid "" -"A password. This password is used to protect the account archive in your" -" device." +"A password. This password is used to protect the account archive in your " +"device." msgstr "" #: ../../../user/faq.rst:245 @@ -1222,769 +1230,762 @@ msgstr "" #: ../../../user/faq.rst:251 msgid "" -"Your Jami ID should be displayed prominently in whichever app you're " -"using. It looks like a long string of letters and numbers; for example: " +"Your Jami ID should be displayed prominently in whichever app you're using." +" It looks like a long string of letters and numbers; for example: " "``f2c815f5554bcc22689ce84d45aefdda1bce9146``." msgstr "" #: ../../../user/faq.rst:256 msgid "Why don't I have to use a password?" -msgstr "" +msgstr "Pourquoi n'ai-je pas besoin d'utiliser un mot de passe ?" #: ../../../user/faq.rst:258 msgid "" "You are not forced to have a password on your account. On a centralized " "system you would use your password to authenticate with a public server " -"where your account is stored. Someone who knows your password could " -"steal your identity." +"where your account is stored. Someone who knows your password could steal " +"your identity." msgstr "" #: ../../../user/faq.rst:263 msgid "" -"With Jami, your account is stored in a :ref:`folder <user/faq:Where are " -"the configuration files located?>` on your device. **The password is " -"only used to encrypt your account in order to protect you from someone " -"who has physical access to your device.**" +"With Jami, your account is stored in a :ref:`folder <user/faq:Where are the " +"configuration files located?>` on your device. **The password is only used " +"to encrypt your account in order to protect you from someone who has " +"physical access to your device.**" msgstr "" #: ../../../user/faq.rst:268 msgid "" -"If your device is encrypted, you may not want or need to use a password, " -"and indeed recent versions of Jami don't ask for an account encryption " -"password by default when creating new accounts." +"If your device is encrypted, you may not want or need to use a password, and" +" indeed recent versions of Jami don't ask for an account encryption password" +" by default when creating new accounts." msgstr "" #: ../../../user/faq.rst:273 msgid "Why don't I have to register a username?" -msgstr "" +msgstr "Pourquoi je n'ai pas besoin d'enregistrer un nom d'utilisateur ?" #: ../../../user/faq.rst:275 msgid "" -"The most permanent, secure identifier is your :ref:`Jami ID " -"<user/faq:Where is my Jami ID?>`, but since these are difficult to use " -"for some people, you also have the option of registering a username. " -"Username registration requires a name server, such as Jami's default one " -"at ``ns.jami.net``." +"The most permanent, secure identifier is your :ref:`Jami ID <user/faq:Where " +"is my Jami ID?>`, but since these are difficult to use for some people, you " +"also have the option of registering a username. Username registration " +"requires a name server, such as Jami's default one at ``ns.jami.net``." msgstr "" #: ../../../user/faq.rst:281 msgid "" -"If you don't register a username, you can still choose to register one " -"later at any time." +"If you don't register a username, you can still choose to register one later" +" at any time." +msgstr "" + +#: ../../../user/faq.rst:284 +msgid "" +"If you host your own nameserver at ``example.com``, usernames registered " +"there can be looked up by searching for ``username@example.com``." msgstr "" -#: ../../../user/faq.rst:285 +#: ../../../user/faq.rst:288 msgid "Can I change my username?" msgstr "" -#: ../../../user/faq.rst:287 +#: ../../../user/faq.rst:290 msgid "" "With the default nameserver (``ns.jami.net``) you cannot change your " "username." msgstr "" -#: ../../../user/faq.rst:291 +#: ../../../user/faq.rst:294 msgid "What is the difference between a username and a display name?" msgstr "" -#: ../../../user/faq.rst:293 +#: ../../../user/faq.rst:296 msgid "" "You can use your username as an identifier. The username points to your " ":ref:`Jami ID <user/faq:Where is my Jami ID?>`, which is your permanent, " "secure identifier. Two people cannot have the same username." msgstr "" -#: ../../../user/faq.rst:298 +#: ../../../user/faq.rst:301 msgid "" -"A display name allows you to choose another name that identifies you to " -"your contacts. Display names can be edited or changed at any time and " -"only your contacts can see them." +"A display name allows you to choose another name that identifies you to your" +" contacts. Display names can be edited or changed at any time and only your" +" contacts can see them." msgstr "" -#: ../../../user/faq.rst:303 +#: ../../../user/faq.rst:306 msgid "How can I back up my account?" -msgstr "" +msgstr "Comment faire pour sauvegarder mon compte ?" -#: ../../../user/faq.rst:305 +#: ../../../user/faq.rst:308 msgid "There are two ways to back up your account:" msgstr "" -#: ../../../user/faq.rst:307 +#: ../../../user/faq.rst:310 msgid "" -"Link another device to your account so your account will be on two " -"devices. You can find this option in the account settings page." +"Link another device to your account so your account will be on two devices." +" You can find this option in the account settings page." msgstr "" -#: ../../../user/faq.rst:309 +#: ../../../user/faq.rst:312 msgid "" -"Back up the :ref:`account archive <developer/technical-overview:Jami " -"archive (export.gz)>`. This file can be found in the account files " -":ref:`folder <user/faq:Where are the configuration files located?>`. In " -"some clients, you can export this archive from the account settings." +"Back up the :ref:`account archive <developer/technical-overview:Jami archive" +" (export.gz)>`. This file can be found in the account files :ref:`folder " +"<user/faq:Where are the configuration files located?>`. In some clients, " +"you can export this archive from the account settings." msgstr "" -#: ../../../user/faq.rst:316 +#: ../../../user/faq.rst:319 msgid "Can I retrieve my username without my keys?" msgstr "" -#: ../../../user/faq.rst:318 +#: ../../../user/faq.rst:321 msgid "" -"If you used the default name server at ``ns.jami.net``, **you can't**. " -"There is no way to prove it's your username without your key." +"If you used the default name server at ``ns.jami.net``, **you can't**. There" +" is no way to prove it's your username without your key." msgstr "" -#: ../../../user/faq.rst:321 +#: ../../../user/faq.rst:324 msgid "" -"If you use a different name server, there may be a way to move a username" -" to a new Jami ID at the discretion of the administrator of that name " -"server." +"If you use a different name server, there may be a way to move a username to" +" a new Jami ID at the discretion of the administrator of that name server." msgstr "" -#: ../../../user/faq.rst:325 +#: ../../../user/faq.rst:328 msgid "" -"For more information about name servers, see :doc:`../developer/name-" -"server-protocol`." +"For more information about name servers, see :doc:`../developer/name-server-" +"protocol`." msgstr "" -#: ../../../user/faq.rst:329 +#: ../../../user/faq.rst:332 msgid "Can I recover my account if I forget my password?" msgstr "" -#: ../../../user/faq.rst:331 +#: ../../../user/faq.rst:334 msgid "" -"No. There can't be a traditional account recovery process; you are the " -"only person with access to your data. If you are worried about " -"forgetting your password, please use a password manager." +"No. There can't be a traditional account recovery process; you are the only" +" person with access to your data. If you are worried about forgetting your " +"password, please use a password manager." msgstr "" -#: ../../../user/faq.rst:336 +#: ../../../user/faq.rst:339 msgid "What happens when I delete my account?" -msgstr "" +msgstr "Que se passe-t-il si je supprime mon compte ?" -#: ../../../user/faq.rst:338 +#: ../../../user/faq.rst:341 msgid "" -"Your account is only stored on your own devices. If you delete your " -"account from each device, the account is gone and you cannot get it back " -"(unless you already made a backup of it earlier). Nobody else can use " -"your account after that." +"Your account is only stored on your own devices. If you delete your account" +" from each device, the account is gone and you cannot get it back (unless " +"you already made a backup of it earlier). Nobody else can use your account " +"after that." msgstr "" -#: ../../../user/faq.rst:343 +#: ../../../user/faq.rst:346 msgid "" "Your contacts will still have the messages you sent them, but all public " -"record of your account on the DHT will eventually disappear due to " -"absence and lack of activity." +"record of your account on the DHT will eventually disappear due to absence " +"and lack of activity." msgstr "" -#: ../../../user/faq.rst:347 +#: ../../../user/faq.rst:350 msgid "" -"The default ``ns.jami.net`` name server **does not** delete any " -"registered usernames -- other name servers might (not recommended), at " -"their administrator's discretion. So, if you have an account with a " -"username registered on the default name server and you delete or lose " -"your account, and did not back up your account earlier, nobody (including" -" you) will be able to register a new account with that username again, " -"thus nobody can reach you at that username anymore." +"The default ``ns.jami.net`` name server **does not** delete any registered " +"usernames -- other name servers might (not recommended), at their " +"administrator's discretion. So, if you have an account with a username " +"registered on the default name server and you delete or lose your account, " +"and did not back up your account earlier, nobody (including you) will be " +"able to register a new account with that username again, thus nobody can " +"reach you at that username anymore." msgstr "" -#: ../../../user/faq.rst:356 +#: ../../../user/faq.rst:359 msgid "" -"To avoid losing your account **please** :ref:`back it up <user/faq:How " -"can I back up my account?>`!" +"To avoid losing your account **please** :ref:`back it up <user/faq:How can I" +" back up my account?>`!" msgstr "" -#: ../../../user/faq.rst:360 +#: ../../../user/faq.rst:363 msgid "What happens when I link a new device?" msgstr "" -#: ../../../user/faq.rst:362 +#: ../../../user/faq.rst:365 msgid "" "When you link a device to your account, your :ref:`account archive " -"<developer/technical-overview:Jami archive (export.gz)>` is put on the " -"Jami network for a few minutes. It is protected by a password Jami gives" -" you." +"<developer/technical-overview:Jami archive (export.gz)>` is put on the Jami " +"network for a few minutes. It is protected by a password Jami gives you." msgstr "" -#: ../../../user/faq.rst:367 +#: ../../../user/faq.rst:370 msgid "" -"The new device receives your full account certificate with the master RSA" -" keys, but it generates a new device key for signing/encrypting messages." +"The new device receives your full account certificate with the master RSA " +"keys, but it generates a new device key for signing/encrypting messages." msgstr "" -#: ../../../user/faq.rst:373 +#: ../../../user/faq.rst:376 msgid "Advanced" -msgstr "" +msgstr "Avancé" -#: ../../../user/faq.rst:376 +#: ../../../user/faq.rst:379 msgid "What protocol does Jami use for the end-to-end encryption?" msgstr "" -#: ../../../user/faq.rst:378 +#: ../../../user/faq.rst:381 msgid "" -"We use TLS 1.3 with a perfect forward secrecy requirement for the " -"negotiated ciphers for calls and file transfers. Messages are encrypted " -"with an RSA key." +"We use TLS 1.3 with a perfect forward secrecy requirement for the negotiated" +" ciphers for calls and file transfers. Messages are encrypted with an RSA " +"key." msgstr "" -#: ../../../user/faq.rst:384 +#: ../../../user/faq.rst:387 msgid "" -"What data passes through my machine when I participate in the Jami " -"network?" +"What data passes through my machine when I participate in the Jami network?" msgstr "" -#: ../../../user/faq.rst:386 +#: ../../../user/faq.rst:389 msgid "**All these data are encrypted**. There is:" msgstr "" -#: ../../../user/faq.rst:388 +#: ../../../user/faq.rst:391 msgid "" "ICE descriptors of other Jami users (ICE is a protocol that helps " "establishing communication between two computers);" msgstr "" -#: ../../../user/faq.rst:390 +#: ../../../user/faq.rst:393 msgid "certain text messages; and" msgstr "" -#: ../../../user/faq.rst:391 +#: ../../../user/faq.rst:394 msgid "accounts currently being linked to a new device, as explained above." msgstr "" -#: ../../../user/faq.rst:393 +#: ../../../user/faq.rst:396 msgid "" -"Audio/video streams and some text messages pass through the VOIP " -"protocol. Text messages can be sent either via VOIP or DHT (the " -"distributed network) depending on whether a VOIP communication channel is" -" already open or not." +"Audio/video streams and some text messages pass through the VOIP protocol. " +"Text messages can be sent either via VOIP or DHT (the distributed network) " +"depending on whether a VOIP communication channel is already open or not." msgstr "" -#: ../../../user/faq.rst:399 +#: ../../../user/faq.rst:402 msgid "Why am I able to communicate with myself?" msgstr "" -#: ../../../user/faq.rst:401 +#: ../../../user/faq.rst:404 msgid "Many users use Jami to transfer data from one machine to another." msgstr "" -#: ../../../user/faq.rst:404 +#: ../../../user/faq.rst:407 msgid "Should I enable push notifications?" msgstr "" -#: ../../../user/faq.rst:406 +#: ../../../user/faq.rst:409 msgid "" "Push notifications allow Jami to operate in a way more adapted to the " "context of mobility (energy consumption, data, ...). However, for the " -"moment, notifications go through Google's servers, via the Firebase " -"service. Only one identifier is transferred and it is unusable for " -"anyone who does not have access to your account." +"moment, notifications go through Google's servers, via the Firebase service." +" Only one identifier is transferred and it is unusable for anyone who does " +"not have access to your account." msgstr "" -#: ../../../user/faq.rst:413 +#: ../../../user/faq.rst:416 msgid "What is a bootstrap server?" msgstr "" -#: ../../../user/faq.rst:415 +#: ../../../user/faq.rst:418 msgid "" -"A bootstrap server is the entry point of the distributed network. To " -"enter in a network, Jami must know one other node. This is the role of " -"the bootstrap. It can be any node in the network, but, bootstrap nodes " -"are generally always up and available. The default one in Jami is " +"A bootstrap server is the entry point of the distributed network. To enter " +"in a network, Jami must know one other node. This is the role of the " +"bootstrap. It can be any node in the network, but, bootstrap nodes are " +"generally always up and available. The default one in Jami is " "``bootstrap.jami.net``." msgstr "" -#: ../../../user/faq.rst:422 +#: ../../../user/faq.rst:425 msgid "What is a TURN server? What is STUN?" msgstr "" -#: ../../../user/faq.rst:424 +#: ../../../user/faq.rst:427 msgid "" -"A TURN server is a relay, and is generally used when two peers can't " -"contact to each other due to some firewall restriction, have NAT without " -"any opened port, and no IPv6." +"A TURN server is a relay, and is generally used when two peers can't contact" +" to each other due to some firewall restriction, have NAT without any opened" +" port, and no IPv6." msgstr "" -#: ../../../user/faq.rst:428 +#: ../../../user/faq.rst:431 msgid "" -"A STUN server is only used for SIP accounts, and is generally used to get" -" your public IP. For Jami accounts, the DHT already gives this " -"information." +"A STUN server is only used for SIP accounts, and is generally used to get " +"your public IP. For Jami accounts, the DHT already gives this information." msgstr "" -#: ../../../user/faq.rst:433 +#: ../../../user/faq.rst:436 msgid "What is DHT proxy?" msgstr "" -#: ../../../user/faq.rst:435 +#: ../../../user/faq.rst:438 msgid "" -"The DHT proxy is a server that registers on the DHT for you and relays " -"your information to you. Thus, it is the server that will be active on " -"the DHT and will participate in the network, and no longer the target " -"device. Multiple devices can register on the same DHT proxy." +"The DHT proxy is a server that registers on the DHT for you and relays your " +"information to you. Thus, it is the server that will be active on the DHT " +"and will participate in the network, and no longer the target device. " +"Multiple devices can register on the same DHT proxy." msgstr "" -#: ../../../user/faq.rst:441 +#: ../../../user/faq.rst:444 msgid "How does the username registration service work?" msgstr "" -#: ../../../user/faq.rst:443 +#: ../../../user/faq.rst:446 msgid "" -"With the default name server (``ns.jami.net``), the usernames are " -"registered on an Ethereum blockchain. If you are a developer, you can " -"build your own name server with the underlying data storage technology of" -" your choice (e.g. you could use a SQL database rather than using a " -"blockchain)." +"With the default name server (``ns.jami.net``), the usernames are registered" +" on an Ethereum blockchain. If you are a developer, you can build your own " +"name server with the underlying data storage technology of your choice (e.g." +" you could use a SQL database rather than using a blockchain)." msgstr "" -#: ../../../user/faq.rst:449 +#: ../../../user/faq.rst:452 msgid "" "With the default name server, you can look up usernames at " -"``https://ns.jami.net/name/test``, where ``test`` is a username for which" -" we are looking for a matching :doc:`Infohash <../developer/jami-" -"identifiers>`. Once registered, this name server **does not** provide " -"any way to remove the mapping." +"``https://ns.jami.net/name/test``, where ``test`` is a username for which we" +" are looking for a matching :doc:`Infohash <../developer/jami-identifiers>`." +" Once registered, this name server **does not** provide any way to remove " +"the mapping." msgstr "" -#: ../../../user/faq.rst:455 +#: ../../../user/faq.rst:458 msgid "Read more about the Jami :doc:`../developer/name-server-protocol`." msgstr "" -#: ../../../user/faq.rst:458 +#: ../../../user/faq.rst:461 msgid "How can I change the timeout for a call?" msgstr "" -#: ../../../user/faq.rst:460 +#: ../../../user/faq.rst:463 msgid "" -"In the ``dring.yml`` file (see :ref:`user/faq:Where are the configuration" -" files located?`), you can change the ``ringingTimeout`` (in seconds)." +"In the ``dring.yml`` file (see :ref:`user/faq:Where are the configuration " +"files located?`), you can change the ``ringingTimeout`` (in seconds)." msgstr "" -#: ../../../user/faq.rst:465 +#: ../../../user/faq.rst:468 msgid "How to back up and reimport conversations and accounts" msgstr "" -#: ../../../user/faq.rst:467 +#: ../../../user/faq.rst:470 msgid "This is only for clients based on LRC (desktop ones)." msgstr "" -#: ../../../user/faq.rst:469 +#: ../../../user/faq.rst:472 msgid "" -"First you will need to export all your accounts (For GNU/Linux: " -"``Settings`` => ``Account`` => ``Export account``). Then you will need " -"to copy the database (in ``~/.local/share/jami/`` for example)." +"First you will need to export all your accounts (For GNU/Linux: ``Settings``" +" => ``Account`` => ``Export account``). Then you will need to copy the " +"database (in ``~/.local/share/jami/`` for example)." msgstr "" -#: ../../../user/faq.rst:473 +#: ../../../user/faq.rst:476 msgid "" -"Then on the new device, when you will open Jami for the first time, you " -"have to re-import your accounts via the archive previously saved. This " -"will re-import your settings and contacts (with empty conversations). " -"Then close the client and replace the database with the one previously " -"saved. That's all!" +"Then on the new device, when you will open Jami for the first time, you have" +" to re-import your accounts via the archive previously saved. This will re-" +"import your settings and contacts (with empty conversations). Then close the" +" client and replace the database with the one previously saved. That's all!" msgstr "" -#: ../../../user/faq.rst:480 +#: ../../../user/faq.rst:483 msgid "How secure are you?" msgstr "" -#: ../../../user/faq.rst:482 +#: ../../../user/faq.rst:485 msgid "" "**We use TLS/SRTP to secure connection and communications over the " "network.**" msgstr "" -#: ../../../user/faq.rst:485 +#: ../../../user/faq.rst:488 msgid "" -"We implement SRTP over SIP using recommendations described in the " -"following two RFCs:" +"We implement SRTP over SIP using recommendations described in the following " +"two RFCs:" msgstr "" -#: ../../../user/faq.rst:488 +#: ../../../user/faq.rst:491 msgid "`RFC 3711 <https://tools.ietf.org/html/rfc3711>`_" msgstr "" -#: ../../../user/faq.rst:489 +#: ../../../user/faq.rst:492 msgid "`RFC 4568 <https://tools.ietf.org/html/rfc4568>`_" msgstr "" -#: ../../../user/faq.rst:491 +#: ../../../user/faq.rst:494 msgid "" -"Typically 2 kinds of sockets are negotiated. One for the control socket," -" the other for the media sockets." +"Typically 2 kinds of sockets are negotiated. One for the control socket, " +"the other for the media sockets." msgstr "" -#: ../../../user/faq.rst:494 +#: ../../../user/faq.rst:497 msgid "Typical control session will use the following cipher suite::" msgstr "" -#: ../../../user/faq.rst:499 +#: ../../../user/faq.rst:502 msgid "DTLS (fallback) supported::" msgstr "" -#: ../../../user/faq.rst:503 +#: ../../../user/faq.rst:506 msgid "TLS::" msgstr "" -#: ../../../user/faq.rst:507 +#: ../../../user/faq.rst:510 msgid "Supported crypto suite for the media session are:" msgstr "" -#: ../../../user/faq.rst:509 +#: ../../../user/faq.rst:512 msgid "``AES_CM_128_HMAC_SHA1_80 / SRTP_AES128_CM_HMAC_SHA1_80``" msgstr "" -#: ../../../user/faq.rst:510 +#: ../../../user/faq.rst:513 msgid "``AES_CM_128_HMAC_SHA1_32 / SRTP_AES128_CM_HMAC_SHA1_32``" msgstr "" -#: ../../../user/faq.rst:513 +#: ../../../user/faq.rst:516 msgid "When do public IPs get exposed?" msgstr "" -#: ../../../user/faq.rst:515 +#: ../../../user/faq.rst:518 msgid "" "We can consider three main connectivity scenarios: (1) a classic " -"configuration, (2) behind a VPN, (3) via Tor. As Jami is a p2p " -"application, the reader would probably know that (2) or (3) is a bit " -"mandatory to avoid IP leaking." +"configuration, (2) behind a VPN, (3) via Tor. As Jami is a p2p application," +" the reader would probably know that (2) or (3) is a bit mandatory to avoid " +"IP leaking." msgstr "" -#: ../../../user/faq.rst:520 +#: ../../../user/faq.rst:523 msgid "" -"Moreover, even if it's my answer, you can choose to not trust my answer " -"and check the code, or use wireshark or other tools. Generally, I (and as" -" far as I know most other Jami developers) use the first scenario " -"(sometimes the second one), and we surely can't test all the possible " -"networks configurations we would like to, so if you discover a bug, " -"please :doc:`open an issue <bug-report-guide>`." +"Moreover, even if it's my answer, you can choose to not trust my answer and " +"check the code, or use wireshark or other tools. Generally, I (and as far as" +" I know most other Jami developers) use the first scenario (sometimes the " +"second one), and we surely can't test all the possible networks " +"configurations we would like to, so if you discover a bug, please :doc:`open" +" an issue <bug-report-guide>`." msgstr "" -#: ../../../user/faq.rst:527 +#: ../../../user/faq.rst:530 msgid "Anyway, in these 3 scenarios, there are 3 main actions:" msgstr "" -#: ../../../user/faq.rst:529 +#: ../../../user/faq.rst:532 msgid "sending a message (this will use the DHT);" msgstr "" -#: ../../../user/faq.rst:530 +#: ../../../user/faq.rst:533 msgid "" -"sending a file (TCP ICE connection as described here: :doc:`../developer" -"/file-transfer`; and" +"sending a file (TCP ICE connection as described here: " +":doc:`../developer/file-transfer`; and" msgstr "" -#: ../../../user/faq.rst:532 +#: ../../../user/faq.rst:535 msgid "" "placing a call (TCP + UDP ICE connection as described here: " ":doc:`../developer/calls`)." msgstr "" -#: ../../../user/faq.rst:536 +#: ../../../user/faq.rst:539 msgid "Classic config" msgstr "" -#: ../../../user/faq.rst:538 ../../../user/faq.rst:564 -#: ../../../user/faq.rst:598 +#: ../../../user/faq.rst:541 ../../../user/faq.rst:567 +#: ../../../user/faq.rst:601 msgid "Send a message" -msgstr "" +msgstr "Envoyer un message" -#: ../../../user/faq.rst:540 +#: ../../../user/faq.rst:543 msgid "" "The Jami application is running a DHT (https://opendht.net) node on your " -"device. So every operations on the DHT will use your ips. This is why " -"Jami has the option to use a dhtproxy (eg dhtproxy.jami.net), this will " -"avoid to use your node, but will use another node on the network (which " -"will see your ip). Note that your message is not sent directly to the " -"other device. In fact your message is sent on some nodes of the DHT and " -"your contact will retrieve the message on this node. So, your contact " -"don't see your IP at this step, but the node who get the message will (or" -" they will see the IP of the proxy)." -msgstr "" - -#: ../../../user/faq.rst:550 ../../../user/faq.rst:584 -#: ../../../user/faq.rst:604 +"device. So every operations on the DHT will use your ips. This is why Jami " +"has the option to use a dhtproxy (eg dhtproxy.jami.net), this will avoid to " +"use your node, but will use another node on the network (which will see your" +" ip). Note that your message is not sent directly to the other device. In " +"fact your message is sent on some nodes of the DHT and your contact will " +"retrieve the message on this node. So, your contact don't see your IP at " +"this step, but the node who get the message will (or they will see the IP of" +" the proxy)." +msgstr "" + +#: ../../../user/faq.rst:553 ../../../user/faq.rst:587 +#: ../../../user/faq.rst:607 msgid "Send a file" -msgstr "" +msgstr "Envoyez un fichier" -#: ../../../user/faq.rst:552 +#: ../../../user/faq.rst:555 msgid "" -"As described in the docs, you will send a message with all the IP you " -"know that your peer can contact in an encrypted packet. So, if your peer " -"send you a file or you send a file, your addresses will appear in the ICE" -" message." +"As described in the docs, you will send a message with all the IP you know " +"that your peer can contact in an encrypted packet. So, if your peer send you" +" a file or you send a file, your addresses will appear in the ICE message." msgstr "" -#: ../../../user/faq.rst:557 +#: ../../../user/faq.rst:560 msgid "Calls" -msgstr "" +msgstr "Appels" -#: ../../../user/faq.rst:559 +#: ../../../user/faq.rst:562 msgid "Same as above, the IP is present in the ICE." msgstr "" -#: ../../../user/faq.rst:562 +#: ../../../user/faq.rst:565 msgid "Behind a VPN" msgstr "" -#: ../../../user/faq.rst:566 +#: ../../../user/faq.rst:569 msgid "" -"The IP of your VPN will be used by the DHT node. If you want a proof, you" -" can compile dhtnode and run the ``la`` command to get your public " -"detected address. This is what I got:" +"The IP of your VPN will be used by the DHT node. If you want a proof, you " +"can compile dhtnode and run the ``la`` command to get your public detected " +"address. This is what I got:" msgstr "" -#: ../../../user/faq.rst:581 +#: ../../../user/faq.rst:584 msgid "" -"So, if you don't use a proxy, your VPN addresses will be used for using " -"the DHT. If you use a dhtproxy, the dhtproxy will see your VPN addresses" +"So, if you don't use a proxy, your VPN addresses will be used for using the " +"DHT. If you use a dhtproxy, the dhtproxy will see your VPN addresses" msgstr "" -#: ../../../user/faq.rst:586 +#: ../../../user/faq.rst:589 msgid "" "Same as above, the ICE will contains: + addresses from your LAN + public " "address of your VPN + TURN address if TURN is enabled" msgstr "" -#: ../../../user/faq.rst:589 ../../../user/faq.rst:627 +#: ../../../user/faq.rst:592 ../../../user/faq.rst:630 msgid "Do a call" msgstr "" -#: ../../../user/faq.rst:591 +#: ../../../user/faq.rst:594 msgid "" -"Same as above, your public address is replaced by your VPN address. You " -"can see it in the logs from daemon. See :ref:`user/bug-report-" -"guide:logs`." +"Same as above, your public address is replaced by your VPN address. You can " +"see it in the logs from daemon. See :ref:`user/bug-report-guide:logs`." msgstr "" -#: ../../../user/faq.rst:596 +#: ../../../user/faq.rst:599 msgid "Tor" msgstr "" -#: ../../../user/faq.rst:600 +#: ../../../user/faq.rst:603 msgid "" -"Tor basically doesn't supports UDP. This means that you can't use your " -"DHT node locally, you MUST use a DHTProxy. That proxy will see the Exit " -"node." +"Tor basically doesn't supports UDP. This means that you can't use your DHT " +"node locally, you MUST use a DHTProxy. That proxy will see the Exit node." msgstr "" -#: ../../../user/faq.rst:606 +#: ../../../user/faq.rst:609 msgid "" -"I prefer a proof that any description. So, I did a file transfer with " -"Jami + TOR. This is what I see in the logs for the remote:" +"I prefer a proof that any description. So, I did a file transfer with Jami +" +" TOR. This is what I see in the logs for the remote:" msgstr "" -#: ../../../user/faq.rst:618 +#: ../../../user/faq.rst:621 msgid "" -"The first ones are some 192.168.x.x so we don't care. 51.254.39.157 is " -"the TURN address in France (my device is in the Canada). 185.220.101.24 " -"is the Tor exit node:" +"The first ones are some 192.168.x.x so we don't care. 51.254.39.157 is the " +"TURN address in France (my device is in the Canada). 185.220.101.24 is the " +"Tor exit node:" msgstr "" -#: ../../../user/faq.rst:629 +#: ../../../user/faq.rst:632 msgid "" "This will not work (actually, you can create the SIP control connection " -"because it's a TCP connection), but medias are negotiated in UDP, so this" -" will fail." +"because it's a TCP connection), but medias are negotiated in UDP, so this " +"will fail." msgstr "" -#: ../../../user/faq.rst:634 +#: ../../../user/faq.rst:637 msgid "What ports does Jami use?" msgstr "" -#: ../../../user/faq.rst:636 +#: ../../../user/faq.rst:639 msgid "" "Jami works as a server and gets new ports for each connections (randomly " "bound). These are the ranges that can be used for each component:" msgstr "" -#: ../../../user/faq.rst:639 +#: ../../../user/faq.rst:642 msgid "dht: UDP [4000, 8888]" msgstr "" -#: ../../../user/faq.rst:640 +#: ../../../user/faq.rst:643 msgid "audio: UDP [16384-32766]" msgstr "" -#: ../../../user/faq.rst:641 +#: ../../../user/faq.rst:644 msgid "video: UDP [49152-65534]" msgstr "" -#: ../../../user/faq.rst:642 +#: ../../../user/faq.rst:645 msgid "SIP Control: UDP/TCP randomly bound" msgstr "" -#: ../../../user/faq.rst:644 +#: ../../../user/faq.rst:647 msgid "" "Note: if UDP is blocked, a dhtproxy can be used to use TCP instead. Note " "that medias will not work cause it only supports UDP." msgstr "" -#: ../../../user/faq.rst:647 +#: ../../../user/faq.rst:650 msgid "So for ufw, we recommend running ``sudo ufw default allow outgoing``." msgstr "" -#: ../../../user/faq.rst:649 +#: ../../../user/faq.rst:652 msgid "" -"For now, you can't specify a specific range to configure ports used by " -"Jami. The inbound traffic can be controlled without issue, Jami should " -"work and can use a TURN server if needed." +"For now, you can't specify a specific range to configure ports used by Jami." +" The inbound traffic can be controlled without issue, Jami should work and " +"can use a TURN server if needed." msgstr "" -#: ../../../user/faq.rst:653 +#: ../../../user/faq.rst:656 msgid "If you run your own proxy or nameserver:" msgstr "" -#: ../../../user/faq.rst:655 +#: ../../../user/faq.rst:658 msgid "dhtproxy, nameserver: TCP [80-100], 443" msgstr "" -#: ../../../user/faq.rst:657 +#: ../../../user/faq.rst:660 msgid "If you run your own TURN server:" msgstr "" -#: ../../../user/faq.rst:659 +#: ../../../user/faq.rst:662 msgid "TURN/STUN: TCP+UDP 3478, 5349" msgstr "" -#: ../../../user/faq.rst:662 +#: ../../../user/faq.rst:665 msgid "Can I use Jami in a local network (LAN) without internet access?" msgstr "" -#: ../../../user/faq.rst:664 +#: ../../../user/faq.rst:667 msgid "" -"Yes! Thanks to Jami's architecture, Jami users on a local/private " -"network can communicate among themselves using Jami, without requiring " -"any outside connectivity such as the internet." +"Yes! Thanks to Jami's architecture, Jami users on a local/private network " +"can communicate among themselves using Jami, without requiring any outside " +"connectivity such as the internet." msgstr "" -#: ../../../user/faq.rst:668 +#: ../../../user/faq.rst:671 msgid "" "To do so, from Jami's ``Account`` settings open ``Advanced account " "settings``. There, enable the ``Enable local peer discovery`` setting. " -"Additionally, you may want to manually set the ``bootstrap`` node's " -"address (default: ``bootstrap.jami.net``) to the IP address of another " -"device on your network that also runs Jami and/or an OpenDHT node." +"Additionally, you may want to manually set the ``bootstrap`` node's address " +"(default: ``bootstrap.jami.net``) to the IP address of another device on " +"your network that also runs Jami and/or an OpenDHT node." msgstr "" -#: ../../../user/faq.rst:675 +#: ../../../user/faq.rst:678 msgid "" "If you will use this Jami account for communicating only with only with " -"other devices on the same local/private network, you can disable TURN if " -"you wish. If you do so, and later you decide to use this account also " -"for communicating with other Jami devices outside your network, don't " -"forget to enable TURN again, as it helps Jami work around issues with " -"some overly restrictive firewalls." +"other devices on the same local/private network, you can disable TURN if you" +" wish. If you do so, and later you decide to use this account also for " +"communicating with other Jami devices outside your network, don't forget to " +"enable TURN again, as it helps Jami work around issues with some overly " +"restrictive firewalls." msgstr "" -#: ../../../user/faq.rst:684 +#: ../../../user/faq.rst:687 msgid "How can I configure the codecs even more?" msgstr "" -#: ../../../user/faq.rst:686 +#: ../../../user/faq.rst:689 msgid "" -"Codecs can be configured via a file. In the configurations files, you can" -" create a file called ``encoder.json`` like this:" +"Codecs can be configured via a file. In the configurations files, you can " +"create a file called ``encoder.json`` like this:" msgstr "" -#: ../../../user/faq.rst:706 +#: ../../../user/faq.rst:709 msgid "or:" msgstr "" -#: ../../../user/faq.rst:716 +#: ../../../user/faq.rst:719 msgid "" "This file is :ref:`located in the same directory <user/faq:Where are the " "configuration files located?>` as ``dring.yml``." msgstr "" -#: ../../../user/faq.rst:719 +#: ../../../user/faq.rst:722 msgid "" "To check which options are supported, use the command ``ffmpeg -h " -"encoder=[encoder_name]``, where ``encoder_name`` can be any of " -"``libx264``, ``libvpx``, ``mpeg4``, ``h263``, ``libopus``, ``libspeex``, " -"``g722``, ``pcm_alaw``, or ``pcm_mulaw`` (the FFmpeg names for all of " -"Jami's supported encoders)." +"encoder=[encoder_name]``, where ``encoder_name`` can be any of ``libx264``, " +"``libvpx``, ``mpeg4``, ``h263``, ``libopus``, ``libspeex``, ``g722``, " +"``pcm_alaw``, or ``pcm_mulaw`` (the FFmpeg names for all of Jami's supported" +" encoders)." msgstr "" -#: ../../../user/faq.rst:726 +#: ../../../user/faq.rst:729 msgid "How can I configure the audio processor?" msgstr "" -#: ../../../user/faq.rst:728 +#: ../../../user/faq.rst:731 msgid "" "An audio processor allows Jami to clean up and process your microphone's " "audio. It can remove echo, reduce noise, and equalize your microphone's " "volume. Additionally, it can detect when you're speaking and send this " -"information to participants in your call. The audio processor settings " -"can be set in your ``dring.yml`` file. See :ref:`this section to find " -"where this file is located <config-file-location>`." +"information to participants in your call. The audio processor settings can " +"be set in your ``dring.yml`` file. See :ref:`this section to find where this" +" file is located <config-file-location>`." msgstr "" -#: ../../../user/faq.rst:734 +#: ../../../user/faq.rst:737 msgid "The relevant preference keys are:" msgstr "" -#: ../../../user/faq.rst:736 +#: ../../../user/faq.rst:739 msgid "" -"``audioProcessor``, which configures which audio processor to use. The " -"valid options are:" +"``audioProcessor``, which configures which audio processor to use. The valid" +" options are:" msgstr "" -#: ../../../user/faq.rst:738 +#: ../../../user/faq.rst:741 msgid "" "``webrtc``: the `WebRTC Audio Processing library " -"<https://www.freedesktop.org/software/pulseaudio/webrtc-audio-" -"processing/>`_" +"<https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/>`_" msgstr "" -#: ../../../user/faq.rst:739 +#: ../../../user/faq.rst:742 msgid "" -"``speex``: the `Speex DSP library " -"<https://gitlab.xiph.org/xiph/speexdsp>`_" +"``speex``: the `Speex DSP library <https://gitlab.xiph.org/xiph/speexdsp>`_" msgstr "" -#: ../../../user/faq.rst:740 +#: ../../../user/faq.rst:743 msgid "" -"``null``: disables audio processing (though your system echo canceller " -"may still be used, see below)" +"``null``: disables audio processing (though your system echo canceller may " +"still be used, see below)" msgstr "" -#: ../../../user/faq.rst:742 +#: ../../../user/faq.rst:745 msgid "" "``echoCancel``, which configures how echo cancelling should be done. The " "valid options are:" msgstr "" -#: ../../../user/faq.rst:744 +#: ../../../user/faq.rst:747 msgid "" -"``auto``: try to use your operating system's echo canceller (if it " -"exists), otherwise fall back to the chosen audio processor's echo " -"canceller" +"``auto``: try to use your operating system's echo canceller (if it exists), " +"otherwise fall back to the chosen audio processor's echo canceller" msgstr "" -#: ../../../user/faq.rst:745 -msgid "``audioProcessor``: only use the chosen audio processor's echo canceller" +#: ../../../user/faq.rst:748 +msgid "" +"``audioProcessor``: only use the chosen audio processor's echo canceller" msgstr "" -#: ../../../user/faq.rst:746 +#: ../../../user/faq.rst:749 msgid "``system``: only use your operating system's echo canceller" msgstr "" -#: ../../../user/faq.rst:747 +#: ../../../user/faq.rst:750 msgid "``null``: don't do any echo cancelling" msgstr "" -#: ../../../user/faq.rst:749 +#: ../../../user/faq.rst:752 msgid "" "``noiseReduce``, ``true``/``false`` to set noise reduction on the audio " "processor" msgstr "" -#: ../../../user/faq.rst:750 +#: ../../../user/faq.rst:753 msgid "" -"``automaticGainControl``, ``true``/``false`` to set automatic gain " -"control on the audio processor" +"``automaticGainControl``, ``true``/``false`` to set automatic gain control " +"on the audio processor" msgstr "" -#: ../../../user/faq.rst:751 +#: ../../../user/faq.rst:754 msgid "" "``voiceActivityDetection``, ``true``/``false`` to set voice activity " "detection on the audio processor" @@ -1996,21 +1997,20 @@ msgstr "" #: ../../../user/index.rst:5 msgid "" -"The Jami user manual introduces Jami and its features, provides " -"additional information on methods of installing Jami, answers users' most" -" common questions in the FAQ (frequently asked questions), and includes " -"various user guides and tutorials for users, such as the :doc:`bug-" -"report-guide` with step-by-step instructions for reporting bugs and " -"issues." +"The Jami user manual introduces Jami and its features, provides additional " +"information on methods of installing Jami, answers users' most common " +"questions in the FAQ (frequently asked questions), and includes various user" +" guides and tutorials for users, such as the :doc:`bug-report-guide` with " +"step-by-step instructions for reporting bugs and issues." msgstr "" #: ../../../user/introduction.rst:2 msgid "Introduction" msgstr "" -#: ../../../user/introduction.rst:-1 +#: ../../../user/introduction.rst-1 msgid "Jami logo" -msgstr "" +msgstr "Logo Jami" #: ../../../user/introduction.rst:7 msgid "" @@ -2020,16 +2020,16 @@ msgstr "" #: ../../../user/introduction.rst:10 msgid "" -"Jami's features include: text chats, voice and video calls, screen " -"sharing, file sharing, conference calls, and :doc:`group chats " -"<../developer/swarm>`. Jami can also function as a regular SIP client." +"Jami's features include: text chats, voice and video calls, screen sharing, " +"file sharing, conference calls, and :doc:`group chats <../developer/swarm>`." +" Jami can also function as a regular SIP client." msgstr "" #: ../../../user/introduction.rst:15 msgid "" -"Jami works on GNU/Linux, Windows, macOS, iOS, and Android. Multiple " -"devices can be linked to a Jami account, and no personal information is " -"required to create an account." +"Jami works on GNU/Linux, Windows, macOS, iOS, and Android. Multiple devices" +" can be linked to a Jami account, and no personal information is required to" +" create an account." msgstr "" #: ../../../user/introduction.rst:20 @@ -2039,25 +2039,24 @@ msgstr "" #: ../../../user/introduction.rst:22 msgid "" "Jami uses a `distributed hash table " -"<https://en.wikipedia.org/wiki/Distributed_hash_table>`_ (DHT) to connect" -" peers. Jami accounts are asymmetric `X.509 certificates " -"<https://en.wikipedia.org/wiki/X.509>`_ generated by the GnuTLS library." -" Calls are made over the `Session Initiation Protocol " -"<https://en.wikipedia.org/wiki/Session_Initiation_Protocol>`_ (SIP) after" -" negotiating a `TLS " -"<https://en.wikipedia.org/wiki/Transport_Layer_Security>`_-encrypted " -"secure connection, performing `Secure Real-time Transport Protocol " -"<https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol>`_ " -"(SRTP) communication which carries the media streams." +"<https://en.wikipedia.org/wiki/Distributed_hash_table>`_ (DHT) to connect " +"peers. Jami accounts are asymmetric `X.509 certificates " +"<https://en.wikipedia.org/wiki/X.509>`_ generated by the GnuTLS library. " +"Calls are made over the `Session Initiation Protocol " +"<https://en.wikipedia.org/wiki/Session_Initiation_Protocol>`_ (SIP) after " +"negotiating a `TLS " +"<https://en.wikipedia.org/wiki/Transport_Layer_Security>`_-encrypted secure " +"connection, performing `Secure Real-time Transport Protocol " +"<https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol>`_ (SRTP)" +" communication which carries the media streams." msgstr "" #: ../../../user/introduction.rst:34 msgid "" "For more on how Jami works, see the `Jami and how it empowers users " -"<https://kelar.org/~bandali/talks/jami-empowers-users.html>`_ talk by " -"`Amin Bandali <https://kelar.org/~bandali/>`_, as well as the " -":doc:`Technical Overview <../developer/technical-overview>` for more in-" -"depth information." +"<https://kelar.org/~bandali/talks/jami-empowers-users.html>`_ talk by `Amin " +"Bandali <https://kelar.org/~bandali/>`_, as well as the :doc:`Technical " +"Overview <../developer/technical-overview>` for more in-depth information." msgstr "" #: ../../../user/introduction.rst:41 @@ -2067,16 +2066,16 @@ msgstr "" #: ../../../user/introduction.rst:43 msgid "" "The Jami project is led by `Savoir-faire Linux " -"<https://www.savoirfairelinux.com/en/>`_ -- a Canadian/Québécois " -"GNU/Linux consulting company -- and is supported by a global community of" -" free software enthusiasts, users, and contributors." +"<https://www.savoirfairelinux.com/en/>`_ -- a Canadian/Québécois GNU/Linux " +"consulting company -- and is supported by a global community of free " +"software enthusiasts, users, and contributors." msgstr "" #: ../../../user/introduction.rst:48 msgid "" -"Jami is `free software <https://www.gnu.org/philosophy/free-sw.html>`_ " -"and an official GNU package, developed and distributed under the `GNU " -"GPLv3+ <https://www.gnu.org/licenses/gpl-3.0.html>`_ license." +"Jami is `free software <https://www.gnu.org/philosophy/free-sw.html>`_ and " +"an official GNU package, developed and distributed under the `GNU GPLv3+ " +"<https://www.gnu.org/licenses/gpl-3.0.html>`_ license." msgstr "" #: ../../../user/jami-distributed-network.md:1 @@ -2085,13 +2084,12 @@ msgstr "" #: ../../../user/jami-distributed-network.md:4 msgid "Connectivity" -msgstr "" +msgstr "Connectivité" #: ../../../user/jami-distributed-network.md:6 msgid "" -"Jami relies on a [distributed network](tutorials/Jami-distributed-" -"network), that brings multiple advantages when compared to federated " -"networks:" +"Jami relies on a [distributed network](tutorials/Jami-distributed-network), " +"that brings multiple advantages when compared to federated networks:" msgstr "" #: ../../../user/jami-distributed-network.md:10 @@ -2126,8 +2124,8 @@ msgstr "" #: ../../../user/jami-distributed-network.md:19 msgid "" -"The core problem of distributed communication systems is peer " -"connectivity, Jami achieves it through two elements:" +"The core problem of distributed communication systems is peer connectivity, " +"Jami achieves it through two elements:" msgstr "" #: ../../../user/jami-distributed-network.md:22 @@ -2160,30 +2158,30 @@ msgstr "" msgid "" "See " "[<https://github.com/savoirfairelinux/opendht>](https://github.com/savoirfairelinux/opendht)" -" for more information about OpenDHT, which provides a distributed key-" -"value datastore for connectivity establishment (with ICE) and message " -"distribution in Jami." +" for more information about OpenDHT, which provides a distributed key-value " +"datastore for connectivity establishment (with ICE) and message distribution" +" in Jami." msgstr "" #: ../../../user/jami-distributed-network.md:40 msgid "" -"An OpenDHT network can be joined by knowing about any node already " -"connected to the network. This node will then share its knowledge about " -"other nodes on the network." +"An OpenDHT network can be joined by knowing about any node already connected" +" to the network. This node will then share its knowledge about other nodes " +"on the network." msgstr "" #: ../../../user/jami-distributed-network.md:44 msgid "" -"Jami clients use a persistent node cache to reconnect to the network " -"after a first session. A configurable, known, stable \"bootstrap\" node " -"is used for the first connection or if cached nodes don't answer." +"Jami clients use a persistent node cache to reconnect to the network after a" +" first session. A configurable, known, stable \"bootstrap\" node is used for" +" the first connection or if cached nodes don't answer." msgstr "" #: ../../../user/jami-distributed-network.md:48 msgid "" "Jami clients currently use bootstrap.jami.net:4222 as the default " -"(configurable) bootstrap node and network ID 0 (the default, public " -"OpenDHT network)." +"(configurable) bootstrap node and network ID 0 (the default, public OpenDHT " +"network)." msgstr "" #: ../../../user/jami-distributed-network.md:52 @@ -2198,24 +2196,24 @@ msgstr "" #: ../../../user/jami-distributed-network.md:57 msgid "" -"Jami users can have full independence by running their own stable OpenDHT" -" node and configure it as a bootstrap node in Jami, while helping to " -"improve stability, robustness and resilience for every user of the public" -" OpenDHT network." +"Jami users can have full independence by running their own stable OpenDHT " +"node and configure it as a bootstrap node in Jami, while helping to improve " +"stability, robustness and resilience for every user of the public OpenDHT " +"network." msgstr "" #: ../../../user/jami-distributed-network.md:62 msgid "" "A standalone node can be run using the [dhtnode " "utility](https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-" -"with-dhtnode) included with OpenDHT. dhtnode doesn't persist any data and" -" has a default in-memory storage limit of 8 MiB." +"with-dhtnode) included with OpenDHT. dhtnode doesn't persist any data and " +"has a default in-memory storage limit of 8 MiB." msgstr "" #: ../../../user/jami-distributed-network.md:67 msgid "" -"Stable community-run DHT nodes will be added to the default bootstrap " -"list at the request of their owner, as more bootstrap nodes means a more " +"Stable community-run DHT nodes will be added to the default bootstrap list " +"at the request of their owner, as more bootstrap nodes means a more " "resilient, independent network." msgstr "" @@ -2225,16 +2223,16 @@ msgstr "" #: ../../../user/jami-distributed-network.md:74 msgid "" -"The JamiNS blockchain is experimental and its architecture is expected to" -" evolve." +"The JamiNS blockchain is experimental and its architecture is expected to " +"evolve." msgstr "" #: ../../../user/jami-distributed-network.md:77 msgid "" -"Jami clients don't run blockchain nodes themselves but rather communicate" -" with a JamiNS server using HTTP for name registration and query, with a " -"REST API. This is because the resources needed to run a blockchain node " -"are too high for most end-users." +"Jami clients don't run blockchain nodes themselves but rather communicate " +"with a JamiNS server using HTTP for name registration and query, with a REST" +" API. This is because the resources needed to run a blockchain node are too " +"high for most end-users." msgstr "" #: ../../../user/jami-distributed-network.md:82 @@ -2251,15 +2249,15 @@ msgstr "" msgid "" "The default Jami name service is ns.jami.net, provided by Savoir-faire " "Linux, connected to an Ethereum blockchain node; the goal being to give " -"everyone the possibility (if they which so) to run their own blockchain " -"node and HTTP service, mine some Ether, and use it to pay the transaction" -" fee needed to register their username in Jami." +"everyone the possibility (if they which so) to run their own blockchain node" +" and HTTP service, mine some Ether, and use it to pay the transaction fee " +"needed to register their username in Jami." msgstr "" #: ../../../user/jami-distributed-network.md:93 msgid "" -"Code of the Ethereum contract, the blockchain genesis file, and the " -"NodeJS module (HTTP server) can be found here : " +"Code of the Ethereum contract, the blockchain genesis file, and the NodeJS " +"module (HTTP server) can be found here : " "[1](https://github.com/savoirfairelinux/ring-nameservice)" msgstr "" @@ -2272,7 +2270,8 @@ msgid "Pre-requisites:" msgstr "" #: ../../../user/jami-distributed-network.md:100 -msgid "Geth 1.8.23+ (download from [HERE](https://geth.ethereum.org/downloads/))" +msgid "" +"Geth 1.8.23+ (download from [HERE](https://geth.ethereum.org/downloads/))" msgstr "" #: ../../../user/jami-distributed-network.md:101 @@ -2288,9 +2287,9 @@ msgstr "" #: ../../../user/jami-distributed-network.md:106 msgid "" -"The process of joining the Jami network is similar to the process of " -"joining a regular ethereum network with the difference that the genesis " -"file is used to initialize the data directory." +"The process of joining the Jami network is similar to the process of joining" +" a regular ethereum network with the difference that the genesis file is " +"used to initialize the data directory." msgstr "" #: ../../../user/jami-distributed-network.md:108 @@ -2317,19 +2316,18 @@ msgstr "" #: ../../../user/jami-distributed-network.md:113 msgid "" -"Use geth to initialize the directory you created in (2) by running " -"```./geth --datadir /home/username/jamichain init genes is.json ```" +"Use geth to initialize the directory you created in (2) by running ```./geth" +" --datadir /home/username/jamichain init genes is.json ```" msgstr "" #: ../../../user/jami-distributed-network.md:114 msgid "" -"You can now start geth with the command-line options you need and " -"specifying one of Jami's bootnodes as follows:" +"You can now start geth with the command-line options you need and specifying" +" one of Jami's bootnodes as follows:" msgstr "" #: ../../../user/jami-distributed-network.md:119 msgid "" -"This will start a geth daemon with an attached console which is now " -"syncing with Jami's network." +"This will start a geth daemon with an attached console which is now syncing " +"with Jami's network." msgstr "" -