mirror of
https://github.com/OpenBankProject/API-Manager.git
synced 2026-02-06 13:06:45 +00:00
feature internalization i18n WIP
This commit is contained in:
parent
3ae195a7a5
commit
25f4c4194a
@ -1,13 +1,14 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block page_title %}{{ block.super }} / Users{% endblock page_title %}
|
||||
|
||||
{% block content %}
|
||||
<div id="config">
|
||||
<h1>Config</h1>
|
||||
<h1>{% trans "Config" %}</h1>
|
||||
|
||||
<p>The configuration of the API</p>
|
||||
<p>{% trans "The configuration of the API" %}</p>
|
||||
|
||||
<pre id="config-json">
|
||||
</pre>
|
||||
|
||||
@ -1,17 +1,18 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load humanize static %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block page_title %}{{ block.super }} / Consumer {{ consumer.app_name }}{% endblock page_title %}
|
||||
|
||||
{% block content %}
|
||||
<div id="consumers-detail">
|
||||
<h1>Consumer {{ consumer.app_name }}</h1>
|
||||
<h1>{% trans "Consumer" %} {{ consumer.app_name }}</h1>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
|
||||
<h2>Params</h2>
|
||||
<h2>{% trans "Params" %}</h2>
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
{{ form.consumer_id }}
|
||||
@ -60,7 +61,7 @@
|
||||
</div>
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-primary">Update Consumer</button>
|
||||
<button type="submit" class="btn btn-primary">{% trans "Update Consumer" %}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -76,14 +77,14 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<div id="consumers-detail-app_name">
|
||||
<strong>App Name</strong><br />
|
||||
<strong>{% trans "App Name" %}</strong><br />
|
||||
<span>{{ consumer.app_name }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<div id="consumers-detail-app_type">
|
||||
<strong>App Type</strong><br />
|
||||
<strong>{% trans "App Type" %}</strong><br />
|
||||
<span>{{ consumer.app_type }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -92,14 +93,14 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<div id="consumers-detail-developer_email">
|
||||
<strong>Developer Email</strong><br />
|
||||
<strong>{% trans "Developer Email" %}</strong><br />
|
||||
<span>{{ consumer.developer_email }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<div id="consumers-detail-user_email">
|
||||
<strong>User Email</strong><br />
|
||||
<strong>{% trans "User Email" %}</strong><br />
|
||||
<span>{% if consumer.created_by_user.user_id %}<a href="{% url 'users-detail' consumer.created_by_user.user_id %}">{{ consumer.created_by_user.email }}</a>{% else %}{{ consumer.created_by_user.email }}{% endif %}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -108,14 +109,14 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<div id="consumers-detail-created">
|
||||
<strong>Created</strong><br />
|
||||
<strong>{% trans "Created" %}</strong><br />
|
||||
<span>{{ consumer.created|naturaltime }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<div id="consumers-detail-created_by_user_id">
|
||||
<strong>Created By User ID</strong><br />
|
||||
<strong>{% trans "Created By User ID" %}</strong><br />
|
||||
<span>{{ consumer.created_by_user_id }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -124,13 +125,13 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-6">
|
||||
<div id="consumers-detail-redirect_url">
|
||||
<strong>Redirect URL</strong><br />
|
||||
<strong>{% trans "Redirect URL" %}</strong><br />
|
||||
<span>{{ consumer.redirect_url }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6">
|
||||
<div id="consumers-per_minute_call_limit ">
|
||||
<strong>Per minute call limit </strong><br />
|
||||
<strong>{% trans "Per minute call limit" %}</strong><br />
|
||||
<span>{{ consumer.per_minute_call_limit }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -139,13 +140,13 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-6">
|
||||
<div id="consumers-per_hour_call_limit ">
|
||||
<strong>Per hour call limit </strong><br />
|
||||
<strong>{% trans "Per hour call limit" %} </strong><br />
|
||||
<span>{{ consumer.per_hour_call_limit }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6">
|
||||
<div id="consumers-per_day_call_limit">
|
||||
<strong>Per day call limit</strong><br />
|
||||
<strong>{% trans "Per day call limit" %}</strong><br />
|
||||
<span>{{ consumer.per_day_call_limit }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -155,13 +156,13 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-6">
|
||||
<div id="consumers-per_week_call_limit">
|
||||
<strong>Per week call limit</strong><br />
|
||||
<strong>{% trans "Per week call limit" %}</strong><br />
|
||||
<span>{{ consumer.per_week_call_limit }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6">
|
||||
<div id="consumers-per_month_call_limit">
|
||||
<strong>Per month call limit</strong><br />
|
||||
<strong>{% trans "Per month call limit" %}</strong><br />
|
||||
<span>{{ consumer.per_month_call_limit }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -171,7 +172,7 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div id="consumers-detail-description">
|
||||
<strong>Description</strong><br />
|
||||
<strong>{% trans "Description" %}</strong><br />
|
||||
<div class="well">{{ consumer.description }}</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -190,9 +191,9 @@
|
||||
<input type="hidden" name="next" value="{{ request.path }}" />
|
||||
<div class="form-group">
|
||||
{% if consumer.enabled %}
|
||||
<button type="submit" class="btn btn-primary btn-red">Disable</a>
|
||||
<button type="submit" class="btn btn-primary btn-red">{% trans "Disable" %}</a>
|
||||
{% else %}
|
||||
<button type="submit" class="btn btn-primary btn-green">Enable</a>
|
||||
<button type="submit" class="btn btn-primary btn-green">{% trans "Enable" %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
{% if form.bank_id.errors %}<div class="alert alert-danger">{{ form.bank_id.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "bank_id" %}</strong>
|
||||
<strong>{% trans "Bank Id" %}</strong>
|
||||
{{ form.bank_id }}
|
||||
</div>
|
||||
</div>
|
||||
@ -35,7 +35,7 @@
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
{% if form.customer_number.errors %}<div class="alert alert-danger">{{ form.customer_number.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "customer_number" %}</strong>
|
||||
<strong>{% trans "customer number" %}</strong>
|
||||
{{ form.customer_number }}
|
||||
</div>
|
||||
</div>
|
||||
@ -45,14 +45,14 @@
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
{% if form.legal_name.errors %}<div class="alert alert-danger">{{ form.legal_name.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "legal_name" %}</strong>
|
||||
<strong>{% trans "legal name" %}</strong>
|
||||
{{ form.legal_name }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
{% if form.mobile_phone_number.errors %}<div class="alert alert-danger">{{ form.mobile_phone_number.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "mobile_phone_number" %}</strong>
|
||||
<strong>{% trans "mobile phone number" %}</strong>
|
||||
{{ form.mobile_phone_number }}
|
||||
</div>
|
||||
</div>
|
||||
@ -69,14 +69,14 @@
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
{% if form.face_image_url.errors %}<div class="alert alert-danger">{{ form.face_image_url.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "face_image_url" %}</strong>
|
||||
<strong>{% trans "face image url" %}</strong>
|
||||
{{ form.face_image_url }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
{% if form.face_image_date.errors %}<div class="alert alert-danger">{{ form.face_image_date.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "face_image_date" %}</strong>
|
||||
<strong>{% trans "face image date" %}</strong>
|
||||
{{ form.face_image_date }}
|
||||
</div>
|
||||
</div>
|
||||
@ -86,14 +86,14 @@
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
{% if form.date_of_birth.errors %}<div class="alert alert-danger">{{ form.date_of_birth.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "date_of_birth" %}</strong>
|
||||
<strong>{% trans "date of birth" %}</strong>
|
||||
{{ form.date_of_birth }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
{% if form.relationship_status.errors %}<div class="alert alert-danger">{{ form.relationship_status.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "relationship_status" %}</strong>
|
||||
<strong>{% trans "relationship status" %}</strong>
|
||||
{{ form.relationship_status }}
|
||||
</div>
|
||||
</div>
|
||||
@ -110,7 +110,7 @@
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
{% if form.dob_of_dependants.errors %}<div class="alert alert-danger">{{ form.dob_of_dependants.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "dob_of_dependants" %}</strong>
|
||||
<strong>{% trans "dob of dependants" %}</strong>
|
||||
{{ form.dob_of_dependants }}
|
||||
</div>
|
||||
</div>
|
||||
@ -120,14 +120,14 @@
|
||||
<div class="col-xs-12 col-sm-6 col-md-3">
|
||||
{% if form.credit_rating_rating.errors %}<div class="alert alert-danger">{{ form.credit_rating_rating.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "credit_rating_rating" %}</strong>
|
||||
<strong>{% trans "credit rating rating" %}</strong>
|
||||
{{ form.credit_rating_rating }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6 col-md-3">
|
||||
{% if form.credit_rating_source.errors %}<div class="alert alert-danger">{{ form.credit_rating_source.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "credit_rating_source" %}</strong>
|
||||
<strong>{% trans "credit rating source" %}</strong>
|
||||
{{ form.credit_rating_source }}
|
||||
</div>
|
||||
</div>
|
||||
@ -135,14 +135,14 @@
|
||||
<div class="col-xs-12 col-sm-6 col-md-3">
|
||||
{% if form.credit_limit_currency.errors %}<div class="alert alert-danger">{{ form.credit_limit_currency.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "credit_limit_currency" %}</strong>
|
||||
<strong>{% trans "credit limit currency" %}</strong>
|
||||
{{ form.credit_limit_currency }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6 col-md-3">
|
||||
{% if form.credit_limit_amount.errors %}<div class="alert alert-danger">{{ form.credit_limit_amount.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "credit_limit_amount" %}</strong>
|
||||
<strong>{% trans "credit limit amount" %}</strong>
|
||||
{{ form.credit_limit_amount }}
|
||||
</div>
|
||||
</div>
|
||||
@ -152,14 +152,14 @@
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
{% if form.highest_education_attained.errors %}<div class="alert alert-danger">{{ form.highest_education_attained.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "highest_education_attained" %}</strong>
|
||||
<strong>{% trans "highest education attained" %}</strong>
|
||||
{{ form.highest_education_attained }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
{% if form.employment_status.errors %}<div class="alert alert-danger">{{ form.employment_status.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "employment_status" %}</strong>
|
||||
<strong>{% trans "employment status" %}</strong>
|
||||
{{ form.employment_status }}
|
||||
</div>
|
||||
</div>
|
||||
@ -169,14 +169,14 @@
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
{% if form.kyc_status.errors %}<div class="alert alert-danger">{{ form.kyc_status.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "kyc_status" %}</strong>
|
||||
<strong>{% trans "kyc status" %}</strong>
|
||||
{{ form.kyc_status }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
{% if form.last_ok_date.errors %}<div class="alert alert-danger">{{ form.last_ok_date.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "last_ok_date" %}</strong>
|
||||
<strong>{% trans "last ok date" %}</strong>
|
||||
{{ form.last_ok_date }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,15 +1,16 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% block page_title %}{{ block.super }} / Dynamic Endpoints{% endblock page_title %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Dynamic Endpoints</h1>
|
||||
<h1>{% trans "Dynamic Endpoints" %}</h1>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-2">
|
||||
<label class="form-group">ENDPOINT ID:</label> <br>
|
||||
<label class="form-group">{% trans "ENDPOINT ID" %}:</label> <br>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-10">
|
||||
<label class="form-group">SWAGGER STRING:</label> <br>
|
||||
<label class="form-group">{% trans "SWAGGER STRING" %}:</label> <br>
|
||||
</div>
|
||||
</div>
|
||||
<form method="post">
|
||||
@ -29,14 +30,14 @@
|
||||
{% if forloop.counter0 == 0 %}
|
||||
<div class="col-sm-12 col-sm-2">
|
||||
<div class="form-group">
|
||||
<button class="btn btn-primary btn-green forSave">Create </button><span style="display: none;margin-left: 5px;background-color:#00cc00">saved.</span>
|
||||
<button class="btn btn-primary btn-green forSave">{% trans "Create" %} </button><span style="display: none;margin-left: 5px;background-color:#00cc00">{% trans "saved." %}</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if forloop.counter0 > 0 %}
|
||||
<div class="col-sm-12 col-sm-2">
|
||||
<div class="form-group">
|
||||
<button class="btn btn-primary btn-red forDelete">Delete</button>
|
||||
<button class="btn btn-primary btn-red forDelete">{% trans "Delete" %}</button>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
Binary file not shown.
@ -1,115 +0,0 @@
|
||||
# Open Bank Project API Manager i18n files.
|
||||
# Copyright (C) 2022 TESOBE GmbH
|
||||
# This file is distributed under the AGPL. Commercial licences are available from TESOBE.
|
||||
# FIRST AUTHOR <reena AT tesobe DOT com>, 2022.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-12 04:46+0200\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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: base/templates/base.html:48
|
||||
msgid "Home"
|
||||
msgstr "Startseite"
|
||||
|
||||
#: base/templates/base.html:50 consumers/templates/consumers/index.html:10
|
||||
msgid "Consumers"
|
||||
msgstr "Verbraucher"
|
||||
|
||||
#: base/templates/base.html:52
|
||||
msgid "Entitlement Requests"
|
||||
msgstr "Berechtigungsanfragen"
|
||||
|
||||
#: base/templates/base.html:57
|
||||
msgid "Users"
|
||||
msgstr "Verbindung zu WP-Benutzern"
|
||||
|
||||
#: base/templates/base.html:59
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: base/templates/base.html:60
|
||||
msgid "My User"
|
||||
msgstr "Mein Benutzer"
|
||||
|
||||
#: base/templates/base.html:61
|
||||
msgid "Invite Developer"
|
||||
msgstr "Entwickler einladen"
|
||||
|
||||
#: base/templates/base.html:68
|
||||
msgid "Metrics"
|
||||
msgstr "Metriken"
|
||||
|
||||
#: base/templates/base.html:70
|
||||
msgid "API Metrics"
|
||||
msgstr "API-Metriken"
|
||||
|
||||
#: base/templates/base.html:71
|
||||
msgid "Connector Metrics"
|
||||
msgstr "Konnektor-Metriken"
|
||||
|
||||
#: base/templates/base.html:72
|
||||
msgid "KPI Dashboard"
|
||||
msgstr "KPI Dashboard"
|
||||
|
||||
#: base/templates/base.html:79
|
||||
msgid "Resources"
|
||||
msgstr "Ressourcen"
|
||||
|
||||
#: base/templates/base.html:81
|
||||
msgid "Customers"
|
||||
msgstr "Kunden"
|
||||
|
||||
#: base/templates/base.html:82
|
||||
msgid "Branches"
|
||||
msgstr "Niederlassungen"
|
||||
|
||||
#: base/templates/base.html:83
|
||||
msgid "ATMs"
|
||||
msgstr "ATMs"
|
||||
|
||||
#: base/templates/base.html:92
|
||||
msgid "Configurations"
|
||||
msgstr "Konfigurationen"
|
||||
|
||||
#: base/templates/base.html:94
|
||||
msgid "Config"
|
||||
msgstr "Konfig."
|
||||
|
||||
#: base/templates/base.html:95
|
||||
msgid "Webui Props"
|
||||
msgstr "Webui Requisiten"
|
||||
|
||||
#: base/templates/base.html:96
|
||||
msgid "Method Routings"
|
||||
msgstr "Methoden-Routings"
|
||||
|
||||
#: base/templates/base.html:97
|
||||
msgid "Dynamic Endpoints"
|
||||
msgstr "Dynamische Endpunkte"
|
||||
|
||||
#: base/templates/base.html:98
|
||||
msgid "My API Collections"
|
||||
msgstr "Meine API-Sammlungen"
|
||||
|
||||
#: base/templates/home.html:5
|
||||
msgid "Welcome to API Manager"
|
||||
msgstr "Willkommen bei API Manager"
|
||||
|
||||
#: consumers/templates/consumers/index.html:47
|
||||
msgid "Statistics"
|
||||
msgstr "Statistiken"
|
||||
|
||||
#: consumers/templates/consumers/index.html:49
|
||||
msgid "Total number of consumers"
|
||||
msgstr "Gesamtzahl der Verbraucher"
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,231 +0,0 @@
|
||||
# Open Bank Project API Manager i18n files.
|
||||
# Copyright (C) 2022 TESOBE GmbH
|
||||
# This file is distributed under the AGPL. Commercial licences are available from TESOBE.
|
||||
# FIRST AUTHOR <reena AT tesobe DOT com>, 2022.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-20 11:46+0200\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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: atms/templates/atms/index.html:4 base/templates/base.html:83
|
||||
msgid "ATMs"
|
||||
msgstr "GAB"
|
||||
|
||||
#: atms/templates/atms/index.html:17 atms/templates/atms/index.html:24
|
||||
msgid "ATM Id"
|
||||
msgstr "N ° GAB"
|
||||
|
||||
#: atms/templates/atms/index.html:31
|
||||
msgid "name"
|
||||
msgstr "nom"
|
||||
|
||||
#: atms/templates/atms/index.html:40
|
||||
msgid "services"
|
||||
msgstr "services"
|
||||
|
||||
#: atms/templates/atms/index.html:48
|
||||
msgid "location_latitude"
|
||||
msgstr "location_latitude"
|
||||
|
||||
#: atms/templates/atms/index.html:56
|
||||
msgid "location_longitude"
|
||||
msgstr "location_longitude"
|
||||
|
||||
#: atms/templates/atms/index.html:66
|
||||
msgid "meta_license_name"
|
||||
msgstr "meta_license_name"
|
||||
|
||||
#: atms/templates/atms/index.html:73
|
||||
msgid "located_at"
|
||||
msgstr "situé à"
|
||||
|
||||
#: atms/templates/atms/index.html:80
|
||||
msgid "has_deposit_capability"
|
||||
msgstr "has_deposit_capability"
|
||||
|
||||
#: atms/templates/atms/index.html:90
|
||||
msgid "is_accessible"
|
||||
msgstr "est accessible."
|
||||
|
||||
#: atms/templates/atms/index.html:98
|
||||
msgid "accessibility_features"
|
||||
msgstr "accessibilité_caractéristiques"
|
||||
|
||||
#: atms/templates/atms/index.html:105
|
||||
msgid "more_info"
|
||||
msgstr "plus_informations"
|
||||
|
||||
#: atms/templates/atms/index.html:114
|
||||
msgid "notes"
|
||||
msgstr "notes"
|
||||
|
||||
#: atms/templates/atms/index.html:121
|
||||
msgid "supported_languages"
|
||||
msgstr "langues_prises en charge"
|
||||
|
||||
#: atms/templates/atms/index.html:128
|
||||
msgid "supported_currencies"
|
||||
msgstr "devises_prises en charge"
|
||||
|
||||
#: atms/templates/atms/index.html:137
|
||||
msgid "location_categories"
|
||||
msgstr "location_categories"
|
||||
|
||||
#: atms/templates/atms/index.html:145
|
||||
msgid "minimum_withdrawal"
|
||||
msgstr "retrait_minimum"
|
||||
|
||||
#: atms/templates/atms/index.html:152
|
||||
msgid "site_name"
|
||||
msgstr "{$site_name}"
|
||||
|
||||
#: atms/templates/atms/index.html:161
|
||||
msgid "branch_identification"
|
||||
msgstr "identification_de_branche"
|
||||
|
||||
#: atms/templates/atms/index.html:168
|
||||
msgid "site_identification"
|
||||
msgstr "identification_du_site"
|
||||
|
||||
#: base/templates/base.html:11
|
||||
#, fuzzy
|
||||
#| msgid "Welcome to API Manager"
|
||||
msgid "API Manager"
|
||||
msgstr "Bienvenue dans API Manager"
|
||||
|
||||
#: base/templates/base.html:48
|
||||
msgid "Home"
|
||||
msgstr "Page d'accueil"
|
||||
|
||||
#: base/templates/base.html:50 consumers/templates/consumers/index.html:10
|
||||
msgid "Consumers"
|
||||
msgstr "Consommateurs"
|
||||
|
||||
#: base/templates/base.html:52
|
||||
msgid "Entitlement Requests"
|
||||
msgstr "Demandes de droits"
|
||||
|
||||
#: base/templates/base.html:57
|
||||
msgid "Users"
|
||||
msgstr "Comptes"
|
||||
|
||||
#: base/templates/base.html:59
|
||||
msgid "All"
|
||||
msgstr "Tous"
|
||||
|
||||
#: base/templates/base.html:60
|
||||
msgid "My User"
|
||||
msgstr "Mon utilisateur"
|
||||
|
||||
#: base/templates/base.html:61
|
||||
msgid "Invite Developer"
|
||||
msgstr "Inviter un développeur"
|
||||
|
||||
#: base/templates/base.html:68
|
||||
msgid "Metrics"
|
||||
msgstr "Indicateurs"
|
||||
|
||||
#: base/templates/base.html:70
|
||||
msgid "API Metrics"
|
||||
msgstr "Métriques API"
|
||||
|
||||
#: base/templates/base.html:71
|
||||
msgid "Connector Metrics"
|
||||
msgstr "Indicateurs du connecteur"
|
||||
|
||||
#: base/templates/base.html:72
|
||||
msgid "KPI Dashboard"
|
||||
msgstr "KPI Tableau de bord"
|
||||
|
||||
#: base/templates/base.html:79
|
||||
msgid "Resources"
|
||||
msgstr "Ressources"
|
||||
|
||||
#: base/templates/base.html:81
|
||||
msgid "Customers"
|
||||
msgstr "Clients"
|
||||
|
||||
#: base/templates/base.html:82
|
||||
msgid "Branches"
|
||||
msgstr "Agences"
|
||||
|
||||
#: base/templates/base.html:92
|
||||
msgid "Configurations"
|
||||
msgstr "Configurations"
|
||||
|
||||
#: base/templates/base.html:94
|
||||
msgid "Config"
|
||||
msgstr "Config"
|
||||
|
||||
#: base/templates/base.html:95
|
||||
msgid "Webui Props"
|
||||
msgstr "Accessoires Webui"
|
||||
|
||||
#: base/templates/base.html:96
|
||||
msgid "Method Routings"
|
||||
msgstr "Acheminement des méthodes"
|
||||
|
||||
#: base/templates/base.html:97
|
||||
msgid "Dynamic Endpoints"
|
||||
msgstr "Points de terminaison dynamiques"
|
||||
|
||||
#: base/templates/base.html:98
|
||||
msgid "My API Collections"
|
||||
msgstr "Mes collections d'API"
|
||||
|
||||
#: base/templates/home.html:5
|
||||
msgid "Welcome to API Manager"
|
||||
msgstr "Bienvenue dans API Manager"
|
||||
|
||||
#: consumers/templates/consumers/includes/filter_time.html:2
|
||||
msgid "Last Hour"
|
||||
msgstr ""
|
||||
|
||||
#: consumers/templates/consumers/index.html:47
|
||||
msgid "Statistics"
|
||||
msgstr "Statistiques"
|
||||
|
||||
#: consumers/templates/consumers/index.html:49
|
||||
msgid "Total number of consumers"
|
||||
msgstr "Nombre total de consommateurs"
|
||||
|
||||
#: consumers/templates/consumers/index.html:50
|
||||
msgid "Total number of unique developer email addresses"
|
||||
msgstr ""
|
||||
|
||||
#: consumers/templates/consumers/index.html:51
|
||||
#, fuzzy
|
||||
#| msgid "Total number of consumers"
|
||||
msgid "Total number of unique consumer names"
|
||||
msgstr "Nombre total de consommateurs"
|
||||
|
||||
#: consumers/templates/consumers/index.html:57
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#: consumers/templates/consumers/index.html:58
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: consumers/templates/consumers/index.html:59
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#: consumers/templates/consumers/index.html:60
|
||||
msgid "Created"
|
||||
msgstr "Créé"
|
||||
|
||||
#: consumers/templates/consumers/index.html:61
|
||||
msgid "Action"
|
||||
msgstr "Action"
|
||||
Binary file not shown.
@ -1,115 +0,0 @@
|
||||
# Open Bank Project API Manager i18n files.
|
||||
# Copyright (C) 2022 TESOBE GmbH
|
||||
# This file is distributed under the AGPL. Commercial licences are available from TESOBE.
|
||||
# FIRST AUTHOR <reena AT tesobe DOT com>, 2022.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-12 04:46+0200\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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: base/templates/base.html:48
|
||||
msgid "Home"
|
||||
msgstr "होमपेज"
|
||||
|
||||
#: base/templates/base.html:50 consumers/templates/consumers/index.html:10
|
||||
msgid "Consumers"
|
||||
msgstr "उपभोक्ता"
|
||||
|
||||
#: base/templates/base.html:52
|
||||
msgid "Entitlement Requests"
|
||||
msgstr "एंटाइटेलमेंट अनुरोध"
|
||||
|
||||
#: base/templates/base.html:57
|
||||
msgid "Users"
|
||||
msgstr "उपयोगकर्ता"
|
||||
|
||||
#: base/templates/base.html:59
|
||||
msgid "All"
|
||||
msgstr "सभी"
|
||||
|
||||
#: base/templates/base.html:60
|
||||
msgid "My User"
|
||||
msgstr "मेरा उपयोगकर्ता"
|
||||
|
||||
#: base/templates/base.html:61
|
||||
msgid "Invite Developer"
|
||||
msgstr "डेवलपर को आमंत्रित करें"
|
||||
|
||||
#: base/templates/base.html:68
|
||||
msgid "Metrics"
|
||||
msgstr "मेट्रिक्स"
|
||||
|
||||
#: base/templates/base.html:70
|
||||
msgid "API Metrics"
|
||||
msgstr "एपीआई मेट्रिक्स"
|
||||
|
||||
#: base/templates/base.html:71
|
||||
msgid "Connector Metrics"
|
||||
msgstr "कनेक्टर मेट्रिक्स"
|
||||
|
||||
#: base/templates/base.html:72
|
||||
msgid "KPI Dashboard"
|
||||
msgstr "केपीआई डैशबोर्ड"
|
||||
|
||||
#: base/templates/base.html:79
|
||||
msgid "Resources"
|
||||
msgstr "संसाधन"
|
||||
|
||||
#: base/templates/base.html:81
|
||||
msgid "Customers"
|
||||
msgstr "ग्राहक"
|
||||
|
||||
#: base/templates/base.html:82
|
||||
msgid "Branches"
|
||||
msgstr "कार्यालयों की शाखाए"
|
||||
|
||||
#: base/templates/base.html:83
|
||||
msgid "ATMs"
|
||||
msgstr "एटीएम"
|
||||
|
||||
#: base/templates/base.html:92
|
||||
msgid "Configurations"
|
||||
msgstr "कॉन्फ़िगरेशंस"
|
||||
|
||||
#: base/templates/base.html:94
|
||||
msgid "Config"
|
||||
msgstr "कॉन्फ़िग"
|
||||
|
||||
#: base/templates/base.html:95
|
||||
msgid "Webui Props"
|
||||
msgstr "Webui प्रॉप्स"
|
||||
|
||||
#: base/templates/base.html:96
|
||||
msgid "Method Routings"
|
||||
msgstr "विधि रूटिंग"
|
||||
|
||||
#: base/templates/base.html:97
|
||||
msgid "Dynamic Endpoints"
|
||||
msgstr "डायनामिक एंडपॉइंट्स"
|
||||
|
||||
#: base/templates/base.html:98
|
||||
msgid "My API Collections"
|
||||
msgstr "मेरे एपीआई संग्रह"
|
||||
|
||||
#: base/templates/home.html:5
|
||||
msgid "Welcome to API Manager"
|
||||
msgstr "एपीआई प्रबंधक में आपका स्वागत है"
|
||||
|
||||
#: consumers/templates/consumers/index.html:47
|
||||
msgid "Statistics"
|
||||
msgstr "आँकड़े"
|
||||
|
||||
#: consumers/templates/consumers/index.html:49
|
||||
msgid "Total number of consumers"
|
||||
msgstr "उपभोक्ताओं की कुल संख्या"
|
||||
@ -1,64 +0,0 @@
|
||||
from translate import Translator # Convert one language to another
|
||||
from concurrent.futures import ThreadPoolExecutor as tpe # Multithreading
|
||||
from threading import Lock # Locking Purpose
|
||||
|
||||
lock=Lock() # Intializing Lock
|
||||
languages=['de','es','fr','hi'] # Defining languages
|
||||
|
||||
|
||||
# This class is used for converting languages
|
||||
class clsTranslate():
|
||||
def translateText(self, strString, strTolang):
|
||||
"""
|
||||
This function translates one language into another language. It takes two
|
||||
parameters
|
||||
1. strString :=> String that you want to convert
|
||||
2. strTolang :=> Languages(fr,hi,es etc)
|
||||
"""
|
||||
self.strString = strString
|
||||
self.strTolang = strTolang
|
||||
translator = Translator(to_lang=self.strTolang)
|
||||
translation = translator.translate(self.strString)
|
||||
return (str(translation))
|
||||
|
||||
|
||||
# This is method for writing file
|
||||
|
||||
def writeFile(language):
|
||||
print(language,"Started")
|
||||
fileName=f'locale/{language}/LC_MESSAGES/django.po' # Openning a file
|
||||
try:
|
||||
with open(fileName,encoding='utf-8') as f: # Reading from the file
|
||||
a=[i.replace("\n","") for i in f.readlines()] # Reading everyline from a file and store it into a
|
||||
except Exception as e:
|
||||
print(fileName, e)
|
||||
b=0
|
||||
for i in range(len(a)):
|
||||
if 'msgid' in a[i] and a[i]!='msgid ""':
|
||||
b=i
|
||||
break
|
||||
|
||||
if b!=0:
|
||||
trans=clsTranslate() # Creating object for translation class
|
||||
for i in range(b-1,len(a),4):
|
||||
|
||||
comment,msgid,msgstr=a[i],a[i+1],a[i+2]
|
||||
if msgstr == 'msgstr ""':
|
||||
ms=msgid[7:len(msgid)-1]
|
||||
val=trans.translateText(ms,language)
|
||||
a[i+2]=f'msgstr "{val}"'
|
||||
try:
|
||||
lock.acquire()
|
||||
with open(fileName,'w',encoding='utf-8') as f:
|
||||
for i in a:
|
||||
f.write(f"{i}\n")
|
||||
print(language,"is completed")
|
||||
lock.release()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
lock.release()
|
||||
else:
|
||||
print(language,"is completed")
|
||||
|
||||
with tpe() as e:
|
||||
e.map(writeFile,languages)
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,64 +0,0 @@
|
||||
from translate import Translator # Convert one language to another
|
||||
from concurrent.futures import ThreadPoolExecutor as tpe # Multithreading
|
||||
from threading import Lock # Locking Purpose
|
||||
|
||||
lock=Lock() # Intializing Lock
|
||||
languages=['de','es','fr','hi'] # Defining languages
|
||||
|
||||
|
||||
# This class is used for converting languages
|
||||
class clsTranslate():
|
||||
def translateText(self, strString, strTolang):
|
||||
"""
|
||||
This function translates one language into another language. It takes two
|
||||
parameters
|
||||
1. strString :=> String that you want to convert
|
||||
2. strTolang :=> Languages(fr,hi,es etc)
|
||||
"""
|
||||
self.strString = strString
|
||||
self.strTolang = strTolang
|
||||
translator = Translator(to_lang=self.strTolang)
|
||||
translation = translator.translate(self.strString)
|
||||
return (str(translation))
|
||||
|
||||
|
||||
# This is method for writing file
|
||||
|
||||
def writeFile(language):
|
||||
print(language,"Started")
|
||||
fileName=f'locale/{language}/LC_MESSAGES/django.po' # Openning a file
|
||||
try:
|
||||
with open(fileName,encoding='utf-8') as f: # Reading from the file
|
||||
a=[i.replace("\n","") for i in f.readlines()] # Reading everyline from a file and store it into a
|
||||
except Exception as e:
|
||||
print(fileName, e)
|
||||
b=0
|
||||
for i in range(len(a)):
|
||||
if 'msgid' in a[i] and a[i]!='msgid ""':
|
||||
b=i
|
||||
break
|
||||
|
||||
if b!=0:
|
||||
trans=clsTranslate() # Creating object for translation class
|
||||
for i in range(b-1,len(a),4):
|
||||
|
||||
comment,msgid,msgstr=a[i],a[i+1],a[i+2]
|
||||
if msgstr == 'msgstr ""':
|
||||
ms=msgid[7:len(msgid)-1]
|
||||
val=trans.translateText(ms,language)
|
||||
a[i+2]=f'msgstr "{val}"'
|
||||
try:
|
||||
lock.acquire()
|
||||
with open(fileName,'w',encoding='utf-8') as f:
|
||||
for i in a:
|
||||
f.write(f"{i}\n")
|
||||
print(language,"is completed")
|
||||
lock.release()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
lock.release()
|
||||
else:
|
||||
print(language,"is completed")
|
||||
|
||||
with tpe() as e:
|
||||
e.map(writeFile,languages)
|
||||
@ -1,27 +1,28 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% block page_title %}{{ block.super }} / Method Routings{% endblock page_title %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Method Routing</h1>
|
||||
<h1>{% trans "Method Routing" %}</h1>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-2">
|
||||
<label class="form-group">Method Name:</label> <br>
|
||||
<label class="form-group">{% trans "Method Name" %}:</label> <br>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-2">
|
||||
<label class="form-group">Connector Name:</label> <br>
|
||||
<label class="form-group">{% trans "Connector Name" %}:</label> <br>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-1">
|
||||
<label class="form-group">Pattern:</label> <br>
|
||||
<label class="form-group">{% trans "Pattern" %}:</label> <br>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-1">
|
||||
<label class="form-group">Is Match:</label> <br>
|
||||
<label class="form-group">{% trans "Is Match" %}:</label> <br>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-2">
|
||||
<label class="form-group">Parameters:</label> <br>
|
||||
<label class="form-group">{% trans "Parameters" %}:</label> <br>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-2">
|
||||
<label class="form-group">Method ID:</label> <br>
|
||||
<label class="form-group">{% trans "Method ID" %}:</label> <br>
|
||||
</div>
|
||||
</div>
|
||||
<form method="post">
|
||||
@ -37,29 +38,29 @@
|
||||
<div class="col-xs-12 col-sm-2">
|
||||
<select class="connector_name form-control " }>
|
||||
{% if method_routing.connector_name == "mapped" %}
|
||||
<option value="mapped">mapped</option> # This will be selected
|
||||
<option value="internal">internal</option>
|
||||
<option value="kafka_vSept2018">kafka_vSept2018</option>
|
||||
<option value="akka_vDec2018">akka_vDec2018</option>
|
||||
<option value="rest_vMar2019">rest_vMar2019</option>
|
||||
<option value="kafka_vMay2019">kafka_vMay2019</option>
|
||||
<option value="stored_procedure_vDec2019">stored_procedure_vDec2019</option>
|
||||
<option value="mapped">{% trans "mapped" %}</option> # This will be selected
|
||||
<option value="internal">{% trans "internal" %}</option>
|
||||
<option value="kafka_vSept2018">{% trans "kafka_vSept2018" %}</option>
|
||||
<option value="akka_vDec2018">{% trans "akka_vDec2018" %}</option>
|
||||
<option value="rest_vMar2019">{% trans "rest_vMar2019" %}</option>
|
||||
<option value="kafka_vMay2019">{% trans "kafka_vMay2019" %}</option>
|
||||
<option value="stored_procedure_vDec2019">{% trans "stored_procedure_vDec2019" %}</option>
|
||||
{% elif method_routing.connector_name == "internal" %}
|
||||
<option value="internal">internal</option>
|
||||
<option value="mapped">mapped</option>
|
||||
<option value="stored_procedure_vDec2019">stored_procedure_vDec2019</option>
|
||||
<option value="kafka_vMay2019">kafka_vMay2019</option>
|
||||
<option value="rest_vMar2019">rest_vMar2019</option>
|
||||
<option value="kafka_vSept2018">kafka_vSept2018</option>
|
||||
<option value="mapped">mapped</option>
|
||||
<option value="akka_vDec2018">akka_vDec2018</option>
|
||||
<option value="internal">{% trans "internal" %}</option>
|
||||
<option value="mapped">{% trans "mapped" %}</option>
|
||||
<option value="stored_procedure_vDec2019">{% trans "stored_procedure_vDec2019" %}</option>
|
||||
<option value="kafka_vMay2019">{% trans "kafka_vMay2019" %}</option>
|
||||
<option value="rest_vMar2019">{% trans "rest_vMar2019" %}</option>
|
||||
<option value="kafka_vSept2018">{% trans "kafka_vSept2018" %}</option>
|
||||
<option value="mapped">{% trans "mapped" %}</option>
|
||||
<option value="akka_vDec2018">{% trans "akka_vDec2018" %}</option>
|
||||
{% elif method_routing.connector_name == "kafka_vSept2018" %}
|
||||
<option value="kafka_vSept2018">kafka_vSept2018</option> # This will be selected
|
||||
<option value="mapped">mapped</option>
|
||||
<option value="internal">internal</option>
|
||||
<option value="akka_vDec2018">akka_vDec2018</option>
|
||||
<option value="rest_vMar2019">rest_vMar2019</option>
|
||||
<option value="kafka_vMay2019">kafka_vMay2019</option>
|
||||
<option value="kafka_vSept2018">{% trans "kafka_vSept2018" %}</option> # This will be selected
|
||||
<option value="mapped">{% trans "mapped" %}</option>
|
||||
<option value="internal">{% trans "internal" %}</option>
|
||||
<option value="akka_vDec2018">{% trans "akka_vDec2018" %}</option>
|
||||
<option value="rest_vMar2019">{% trans "rest_vMar2019" %}</option>
|
||||
<option value="kafka_vMay2019">{% trans "kafka_vMay2019" %}</option>
|
||||
<option value="stored_procedure_vDec2019">stored_procedure_vDec2019</option>
|
||||
{% elif method_routing.connector_name == "akka_vDec2018" %}
|
||||
<option value="akka_vDec2018">akka_vDec2018</option> # This will be selected
|
||||
|
||||
@ -1,24 +1,25 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block page_title %}{{ block.super }} / Users{% endblock page_title %}
|
||||
|
||||
{% block content %}
|
||||
<div id="webui">
|
||||
<div id="webui_list">
|
||||
<h1>WEBUI</h1>
|
||||
<h1>{% trans "WEBUI" %}</h1>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<label class="form-group">Web UI Props Name:</label> <br>
|
||||
<label class="form-group">{% trans "Web UI Props Name" %}:</label> <br>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<label class="form-group">Web UI Props Value:</label> <br>
|
||||
<label class="form-group">{% trans "Web UI Props Value" %}:</label> <br>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<label class="form-group">Web UI Props Id:</label> <br>
|
||||
<label class="form-group">{% trans "Web UI Props Id" %}:</label> <br>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-3">
|
||||
<label class="form-group">Save Value:</label> <br>
|
||||
<label class="form-group">{% trans "Save Value" %}:</label> <br>
|
||||
</div>
|
||||
</div>
|
||||
<form method="post">
|
||||
@ -44,8 +45,8 @@
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-3">
|
||||
<div class="form-group">
|
||||
<button class="btn btn-primary btn-green forSave">Save</button>
|
||||
<button class="btn btn-primary btn-red forDelete">Delete</button>
|
||||
<button class="btn btn-primary btn-green forSave">{% trans "Save" %}</button>
|
||||
<button class="btn btn-primary btn-red forDelete">{% trans "Delete" %}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user