From 3fae7f1d08be2debb5aff7d14e0976b6197323b8 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Wed, 16 Mar 2016 23:56:42 +0100 Subject: [PATCH] Add missing developer page --- .../Controller/DeveloperController.php | 4 +- .../CoreBundle/Form/Type/ClientType.php | 4 +- .../Resources/translations/messages.en.yml | 51 +++++++++++++++++++ .../Resources/translations/messages.fr.yml | 51 +++++++++++++++++++ .../themes/baggy/Developer/client.html.twig | 6 +-- .../Developer/client_parameters.html.twig | 12 ++--- .../baggy/Developer/howto_app.html.twig | 20 ++++---- .../themes/baggy/Developer/index.html.twig | 32 ++++++------ .../material/Developer/client.html.twig | 6 +-- .../Developer/client_parameters.html.twig | 12 ++--- .../material/Developer/howto_app.html.twig | 20 ++++---- .../themes/material/Developer/index.html.twig | 32 ++++++------ 12 files changed, 176 insertions(+), 74 deletions(-) diff --git a/src/Wallabag/CoreBundle/Controller/DeveloperController.php b/src/Wallabag/CoreBundle/Controller/DeveloperController.php index e5cfd83c..7cb0ead2 100644 --- a/src/Wallabag/CoreBundle/Controller/DeveloperController.php +++ b/src/Wallabag/CoreBundle/Controller/DeveloperController.php @@ -49,7 +49,7 @@ class DeveloperController extends Controller $this->get('session')->getFlashBag()->add( 'notice', - 'New client created.' + 'flashes.developer.notice.client_created' ); return $this->render('WallabagCoreBundle:Developer:client_parameters.html.twig', array( @@ -80,7 +80,7 @@ class DeveloperController extends Controller $this->get('session')->getFlashBag()->add( 'notice', - 'Client deleted' + 'flashes.developer.notice.client_deleted' ); return $this->redirect($this->generateUrl('developer')); diff --git a/src/Wallabag/CoreBundle/Form/Type/ClientType.php b/src/Wallabag/CoreBundle/Form/Type/ClientType.php index dd934715..9f620414 100644 --- a/src/Wallabag/CoreBundle/Form/Type/ClientType.php +++ b/src/Wallabag/CoreBundle/Form/Type/ClientType.php @@ -14,8 +14,8 @@ class ClientType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('redirect_uris', UrlType::class, array('required' => true, 'label' => 'Redirect URIs')) - ->add('save', SubmitType::class, array('label' => 'Create a new client')) + ->add('redirect_uris', UrlType::class, array('required' => true, 'label' => 'developer.client.form.redirect_uris_label')) + ->add('save', SubmitType::class, array('label' => 'developer.client.form.save_label')) ; $builder->get('redirect_uris') diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml index 4f4ed215..1cd8b26e 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml @@ -325,6 +325,53 @@ import: page_title: 'Import > Wallabag v2' description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.' +developer: + page_title: 'Developer' + welcome_message: 'Welcome to the wallabag API' + documentation: 'Documentation' + how_to_first_app: 'How to create my first application' + full_documentation: 'View full API documentation' + clients: + title: 'Clients' + create_new: 'Create a new client' + existing_clients: + title: 'Existing clients' + field_id: 'Client ID' + field_secret: 'Client secret' + field_uris: 'Redirect URIs' + field_grant_types: 'Grant type allowed' + no_client: 'No client yet.' + remove: + warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !' + warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." + action: 'Remove this client' + client: + page_title: 'Developer > New client' + page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' + form: + redirect_uris_label: 'Redirect URIs' + save_label: 'Create a new client' + action_back: 'Back' + client_parameter: + page_title: 'Developer > Client parameters' + page_description: 'Here are your client parameters.' + field_id: 'Client ID' + field_secret: 'Client secret' + back: 'Back' + read_howto: 'Read the howto "Create my first application"' + howto: + page_title: 'Developer > How to create my first application' + description: + paragraph_1: 'The following commands make use of the HTTPie library. Make sure it is installed on your system before using it.' + paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.' + paragraph_3: 'To create this token, you need to create a new client.' + paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):' + paragraph_5: 'The API will return a response like this:' + paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:' + paragraph_7: 'This call will return all the entries for your user.' + paragraph_8: 'If you want to see all the API endpoints, you can have a look to our API documentation.' + back: 'Back' + validator: password_must_match: 'The password fields must match.' password_too_short: 'Password should by at least 8 chars long' @@ -364,3 +411,7 @@ flashes: failed: 'Import failed, please try again.' failed_on_file: 'Error while processing import. Please verify your import file.' summary: 'Import summary: %imported% imported, %skipped% already saved.' + developer: + notice: + client_created: 'New client created.' + client_deleted: 'Client deleted' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml index 959bd11c..b689f7cc 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml @@ -323,6 +323,53 @@ import: page_title: 'Importer > Wallabag v2' description: "Cet outil va importer tous vos articles d'une autre instance de wallabag v2. Allez dans tous vos articles, puis, sur la barre latérale, cliquez sur \"JSON\". Vous allez récupérer un fichier \"All articles.json\"" +developer: + page_title: 'Développeur' + welcome_message: "Bienvenue sur l'API de wallabag" + documentation: 'Documentation' + how_to_first_app: 'Comment créer votre première application' + full_documentation: "Voir la documentation complète de l'API" + clients: + title: 'Clients' + create_new: 'Créer une nouveau client' + existing_clients: + title: 'Les clients existants' + field_id: 'ID Client' + field_secret: 'Clé secrète' + field_uris: 'URLs de redirection' + field_grant_types: 'Type de privilège accordé' + no_client: 'Aucun client pour le moment' + remove: + warn_message_1: 'Vous avez la possibilité de supprimer un client. Cette action est IRREVERSIBLE !' + warn_message_2: "Si vous supprimez un client, toutes les applications qui l'utilisaient ne fonctionneront plus avec votre compte wallabag." + action: 'Supprimer ce client' + client: + page_title: 'Développeur > Nouveau client' + page_description: "Vous allez créer un nouveau client. Merci de remplir l'url de redirection vers votre application." + form: + redirect_uris_label: 'URLs de redirection' + save_label: 'Créer un nouveau client' + action_back: 'Retour' + client_parameter: + page_title: 'Développeur > Les paramètres de votre client' + page_description: 'Voilà les paramètres de votre client' + field_id: 'ID Client' + field_secret: 'Clé secrète' + back: 'Retour' + read_howto: 'Lire "comment créer ma première application"' + howto: + page_title: 'Développeur > Comment créer votre première application' + description: + paragraph_1: "Les commandes suivantes utilisent la librarie HTTPie. Assurez-vous qu'elle soit installée avant de l'utiliser." + paragraph_2: "Vous avez besoin d'un token pour échanger entre votre application et l'API de wallabag." + paragraph_3: 'Pour créer un token, vous devez créer un nouveau client.' + paragraph_4: 'Maintenant créez votre token (remplacer client_id, client_secret, username et password avec les bonnes valeurs):' + paragraph_5: "L'API vous retournera une réponse comme ça :" + paragraph_6: "L'access_token doit être utilisé pour faire un appel à l'API. Par exemple :" + paragraph_7: "Cet appel va retourner tous les articles de l'utilisateur." + paragraph_8: "Si vous voulez toutes les méthodes de l'API, jetez un oeil à la documentation de l'API." + back: 'Retour' + validator: password_must_match: 'Les mots de passe doivent être identique' password_too_short: 'Le mot de passe doit avoir au moins 8 caractères' @@ -362,3 +409,7 @@ flashes: failed: "L'import a échoué, veuillez ré-essayer" failed_on_file: "Erreur lors du traitement de l'import. Vérifier votre fichier." summary: "Rapport d'import: %imported% importés, %skipped% déjà présent." + developer: + notice: + client_created: 'Nouveau client créé' + client_deleted: 'Client supprimé' diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client.html.twig index c9ce6d08..78a9dc04 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client.html.twig @@ -1,6 +1,6 @@ {% extends "WallabagCoreBundle::layout.html.twig" %} -{% block title %}{% trans %}New client{% endtrans %}{% endblock %} +{% block title %}{{ 'developer.client.page_title'|trans }}{% endblock %} {% block content %}
@@ -8,7 +8,7 @@
-

{% trans %}You are about to create a new client. Please fill the field below for the redirect URI of your application.{% endtrans %}

+

{{ 'developer.client.page_description'|trans }}

{{ form_start(form) }} {{ form_errors(form) }} @@ -18,7 +18,7 @@ {{ form_widget(form.redirect_uris) }}
- {% trans %}Back{% endtrans %} + {{ 'developer.client.action_back'|trans }} {{ form_widget(form.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }} {{ form_rest(form) }} diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client_parameters.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client_parameters.html.twig index a214dfd0..b615fa3b 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client_parameters.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client_parameters.html.twig @@ -1,20 +1,20 @@ {% extends "WallabagCoreBundle::layout.html.twig" %} -{% block title %}{% trans %}Client parameters{% endtrans %}{% endblock %} +{% block title %}{{ 'developer.client_parameter.page_title'|trans }}{% endblock %} {% block content %}
-

{% trans %}Here are your client parameters.{% endtrans %}

+

{{ 'developer.client_parameter.page_description'|trans }}

    -
  • {% trans %}Client ID{% endtrans %}:
    {{ client_id }}
  • -
  • {% trans %}Client secret{% endtrans %}:
    {{ client_secret }}
  • +
  • {{ 'developer.client_parameter.field_id'|trans }}:
    {{ client_id }}
  • +
  • {{ 'developer.client_parameter.field_secret'|trans }}:
    {{ client_secret }}
- {% trans %}Back{% endtrans %} - {% trans %}Read the howto "Create my first application"{% endtrans %} + {{ 'developer.client_parameter.back'|trans }} + {{ 'developer.client_parameter.read_howto'|trans }}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/howto_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/howto_app.html.twig index 382e6311..acbc2c88 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/howto_app.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/howto_app.html.twig @@ -1,6 +1,6 @@ {% extends "WallabagCoreBundle::layout.html.twig" %} -{% block title %}{% trans %}How to create my first application{% endtrans %}{% endblock %} +{% block title %}{{ 'developer.howto.page_title'|trans }}{% endblock %} {% block css %} {{ parent() }} @@ -13,10 +13,10 @@
-

{% trans %}The following commands make use of the HTTPie library. Make sure it is installed on your system before using it.{% endtrans %}

-

{% trans %}You need a token to communicate between your 3rd application and wallabag API.{% endtrans %}

-

{% trans with {'%link%': path('developer_create_client')} %}To create this token, you need to create a new client.{% endtrans %}

-

{% trans %}Now, create your token (replace client_id, client_secret, username and password with the good values):{% endtrans %}

+

{{ 'developer.howto.description.paragraph_1'|trans|raw }}

+

{{ 'developer.howto.description.paragraph_2'|trans }}

+

{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}

+

{{ 'developer.howto.description.paragraph_4'|trans }}

http POST http://v2.wallabag.org/oauth/v2/token \
     grant_type=password \
@@ -25,7 +25,7 @@
     username=yourUsername \
     password=yourPassw0rd

-

{% trans %}The API will return a response like this:{% endtrans %}

+

{{ 'developer.howto.description.paragraph_5'|trans }}

HTTP/1.1 200 OK
 Cache-Control: no-store, private
@@ -45,14 +45,14 @@ X-Powered-By: PHP/5.5.9-1ubuntu4.13
     "token_type": "bearer"
 }

-

{% trans %}The access_token is useful to do a call to the API endpoint. For example:{% endtrans %}

+

{{ 'developer.howto.description.paragraph_6'|trans }}

http GET http://v2.wallabag.org/api/entries.json \
     "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"

-

{% trans %}This call will return all the entries for your user.{% endtrans %}

-

{% trans with {'%link%': path('nelmio_api_doc_index')} %}If you want to see all the API endpoints, you can have a look to our API documentation.{% endtrans %}

-

{% trans %}Back{% endtrans %}

+

{{ 'developer.howto.description.paragraph_7'|trans }}

+

{{ 'developer.howto.description.paragraph_8'|trans({'%link%': path('nelmio_api_doc_index')})|raw }}

+

{{ 'developer.howto.back'|trans }}

diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig index 2e7dbcab..e12779b7 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig @@ -1,6 +1,6 @@ {% extends "WallabagCoreBundle::layout.html.twig" %} -{% block title %}{% trans %}Developer{% endtrans %}{% endblock %} +{% block title %}{{ 'developer.page_title'|trans }}{% endblock %} {% block content %}
@@ -8,21 +8,21 @@
-

{% trans %}Welcome to the wallabag API{% endtrans %}

+

{{ 'developer.welcome_message'|trans }}

-

{% trans %}Documentation{% endtrans %}

+

{{ 'developer.documentation'|trans }}

-

{% trans %}Clients{% endtrans %}

+

{{ 'developer.clients.title'|trans }}

-

{% trans %}Existing clients{% endtrans %}

+

{{ 'developer.existing_clients.title'|trans }}

{% if clients %}
    {% for client in clients %} @@ -31,33 +31,33 @@
    - + - + - + - +
    {% trans %}Client ID{% endtrans %}{{ 'developer.existing_clients.field_id'|trans }} {{ client.id }}_{{ client.randomId }}
    {% trans %}Client secret{% endtrans %}{{ 'developer.existing_clients.field_secret'|trans }} {{ client.secret }}
    {% trans %}Redirect URIs{% endtrans %}{{ 'developer.existing_clients.field_uris'|trans }} {{ client.redirectUris|json_encode() }}
    {% trans %}Grant type allowed{% endtrans %}{{ 'developer.existing_clients.field_grant_types'|trans }} {{ client.allowedGrantTypes|json_encode() }}

    - {% trans %}You have the ability to remove this client. This action is IRREVERSIBLE !{% endtrans %}
    - {% trans %}If you remove it, every app configured with that client won't be able to auth on your wallabag.{% endtrans %}
    - {% trans %}Remove this client{% endtrans %} + {{ 'developer.remove.warn_message_1'|trans }}
    + {{ 'developer.remove.warn_message_2'|trans }}
    + {{ 'developer.remove.action'|trans }}

    {% endfor %}
{% else %} - {% trans %}No client yet.{% endtrans %} + {{ 'developer.existing_clients.no_client'|trans }} {% endif %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/client.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/client.html.twig index c9ce6d08..78a9dc04 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/client.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/client.html.twig @@ -1,6 +1,6 @@ {% extends "WallabagCoreBundle::layout.html.twig" %} -{% block title %}{% trans %}New client{% endtrans %}{% endblock %} +{% block title %}{{ 'developer.client.page_title'|trans }}{% endblock %} {% block content %}
@@ -8,7 +8,7 @@
-

{% trans %}You are about to create a new client. Please fill the field below for the redirect URI of your application.{% endtrans %}

+

{{ 'developer.client.page_description'|trans }}

{{ form_start(form) }} {{ form_errors(form) }} @@ -18,7 +18,7 @@ {{ form_widget(form.redirect_uris) }}
- {% trans %}Back{% endtrans %} + {{ 'developer.client.action_back'|trans }} {{ form_widget(form.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }} {{ form_rest(form) }} diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/client_parameters.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/client_parameters.html.twig index a214dfd0..b615fa3b 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/client_parameters.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/client_parameters.html.twig @@ -1,20 +1,20 @@ {% extends "WallabagCoreBundle::layout.html.twig" %} -{% block title %}{% trans %}Client parameters{% endtrans %}{% endblock %} +{% block title %}{{ 'developer.client_parameter.page_title'|trans }}{% endblock %} {% block content %}
-

{% trans %}Here are your client parameters.{% endtrans %}

+

{{ 'developer.client_parameter.page_description'|trans }}

    -
  • {% trans %}Client ID{% endtrans %}:
    {{ client_id }}
  • -
  • {% trans %}Client secret{% endtrans %}:
    {{ client_secret }}
  • +
  • {{ 'developer.client_parameter.field_id'|trans }}:
    {{ client_id }}
  • +
  • {{ 'developer.client_parameter.field_secret'|trans }}:
    {{ client_secret }}
- {% trans %}Back{% endtrans %} - {% trans %}Read the howto "Create my first application"{% endtrans %} + {{ 'developer.client_parameter.back'|trans }} + {{ 'developer.client_parameter.read_howto'|trans }}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/howto_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/howto_app.html.twig index 382e6311..acbc2c88 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/howto_app.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/howto_app.html.twig @@ -1,6 +1,6 @@ {% extends "WallabagCoreBundle::layout.html.twig" %} -{% block title %}{% trans %}How to create my first application{% endtrans %}{% endblock %} +{% block title %}{{ 'developer.howto.page_title'|trans }}{% endblock %} {% block css %} {{ parent() }} @@ -13,10 +13,10 @@
-

{% trans %}The following commands make use of the HTTPie library. Make sure it is installed on your system before using it.{% endtrans %}

-

{% trans %}You need a token to communicate between your 3rd application and wallabag API.{% endtrans %}

-

{% trans with {'%link%': path('developer_create_client')} %}To create this token, you need to create a new client.{% endtrans %}

-

{% trans %}Now, create your token (replace client_id, client_secret, username and password with the good values):{% endtrans %}

+

{{ 'developer.howto.description.paragraph_1'|trans|raw }}

+

{{ 'developer.howto.description.paragraph_2'|trans }}

+

{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}

+

{{ 'developer.howto.description.paragraph_4'|trans }}

http POST http://v2.wallabag.org/oauth/v2/token \
     grant_type=password \
@@ -25,7 +25,7 @@
     username=yourUsername \
     password=yourPassw0rd

-

{% trans %}The API will return a response like this:{% endtrans %}

+

{{ 'developer.howto.description.paragraph_5'|trans }}

HTTP/1.1 200 OK
 Cache-Control: no-store, private
@@ -45,14 +45,14 @@ X-Powered-By: PHP/5.5.9-1ubuntu4.13
     "token_type": "bearer"
 }

-

{% trans %}The access_token is useful to do a call to the API endpoint. For example:{% endtrans %}

+

{{ 'developer.howto.description.paragraph_6'|trans }}

http GET http://v2.wallabag.org/api/entries.json \
     "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"

-

{% trans %}This call will return all the entries for your user.{% endtrans %}

-

{% trans with {'%link%': path('nelmio_api_doc_index')} %}If you want to see all the API endpoints, you can have a look to our API documentation.{% endtrans %}

-

{% trans %}Back{% endtrans %}

+

{{ 'developer.howto.description.paragraph_7'|trans }}

+

{{ 'developer.howto.description.paragraph_8'|trans({'%link%': path('nelmio_api_doc_index')})|raw }}

+

{{ 'developer.howto.back'|trans }}

diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig index 2e7dbcab..e12779b7 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig @@ -1,6 +1,6 @@ {% extends "WallabagCoreBundle::layout.html.twig" %} -{% block title %}{% trans %}Developer{% endtrans %}{% endblock %} +{% block title %}{{ 'developer.page_title'|trans }}{% endblock %} {% block content %}
@@ -8,21 +8,21 @@
-

{% trans %}Welcome to the wallabag API{% endtrans %}

+

{{ 'developer.welcome_message'|trans }}

-

{% trans %}Documentation{% endtrans %}

+

{{ 'developer.documentation'|trans }}

-

{% trans %}Clients{% endtrans %}

+

{{ 'developer.clients.title'|trans }}

-

{% trans %}Existing clients{% endtrans %}

+

{{ 'developer.existing_clients.title'|trans }}

{% if clients %}
    {% for client in clients %} @@ -31,33 +31,33 @@
    - + - + - + - +
    {% trans %}Client ID{% endtrans %}{{ 'developer.existing_clients.field_id'|trans }} {{ client.id }}_{{ client.randomId }}
    {% trans %}Client secret{% endtrans %}{{ 'developer.existing_clients.field_secret'|trans }} {{ client.secret }}
    {% trans %}Redirect URIs{% endtrans %}{{ 'developer.existing_clients.field_uris'|trans }} {{ client.redirectUris|json_encode() }}
    {% trans %}Grant type allowed{% endtrans %}{{ 'developer.existing_clients.field_grant_types'|trans }} {{ client.allowedGrantTypes|json_encode() }}

    - {% trans %}You have the ability to remove this client. This action is IRREVERSIBLE !{% endtrans %}
    - {% trans %}If you remove it, every app configured with that client won't be able to auth on your wallabag.{% endtrans %}
    - {% trans %}Remove this client{% endtrans %} + {{ 'developer.remove.warn_message_1'|trans }}
    + {{ 'developer.remove.warn_message_2'|trans }}
    + {{ 'developer.remove.action'|trans }}

    {% endfor %}
{% else %} - {% trans %}No client yet.{% endtrans %} + {{ 'developer.existing_clients.no_client'|trans }} {% endif %}
-- 2.41.0