feature internalization i18n WIP

This commit is contained in:
Reena-cell 2022-05-30 17:48:35 +02:00
parent 4efa717cfa
commit 78d11a8303
36 changed files with 2774 additions and 575 deletions

View File

@ -153,8 +153,7 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization
# https://docs.djangoproject.com/en/1.10/topics/i18n/
#LANGUAGE_CODE = 'en-gb'
LANGUAGE_CODE = 'fr'
LANGUAGE_CODE = 'en-gb'
TIME_ZONE = 'Europe/Berlin'

View File

@ -55,7 +55,7 @@ class CreateAtmForm(forms.Form):
label='Latitude',
widget=forms.TextInput(
attrs={
'placeholder': 37.0,
'placeholder': " ",
'class': 'form-control',
}
),
@ -66,7 +66,7 @@ class CreateAtmForm(forms.Form):
label='Longitude',
widget=forms.TextInput(
attrs={
'placeholder': 110.0,
'placeholder': " ",
'class': 'form-control',
}
),

View File

@ -28,7 +28,7 @@
{% if form.name.errors %}
<div class="alert alert-danger">{{ form.name.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "name" %}</strong> {{ form.name }}
<strong>{% trans "Name" %}</strong> {{ form.name }}
</div>
</div>
</div>
@ -37,7 +37,7 @@
{% if form.services.errors %}
<div class="alert alert-danger">{{ form.services.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "services" %}</strong> {{ form.services }}
<strong>{% trans "Services" %}</strong> {{ form.services }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
@ -45,7 +45,7 @@
<div class="alert alert-danger">{{ form.location_latitude.errors }}
</div>{% endif %}
<div class="form-group">
<strong>{% trans "location_latitude" %}</strong> {{ form.location_latitude }}
<strong>{% trans "Location Latitude" %}</strong> {{ form.location_latitude }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
@ -53,7 +53,7 @@
<div class="alert alert-danger">{{ form.location_longitude.errors }}
</div>{% endif %}
<div class="form-group">
<strong>{% trans "location_longitude" %}</strong> {{ form.location_longitude }}
<strong>{% trans "Location Longitude" %}</strong> {{ form.location_longitude }}
</div>
</div>
</div>
@ -63,21 +63,21 @@
<div class="alert alert-danger">{{ form.meta_license_name.errors }}
</div>{% endif %}
<div class="form-group">
<strong>{% trans "meta_license_name" %}</strong> {{ form.meta_license_name }}
<strong>{% trans "Meta License Name" %}</strong> {{ form.meta_license_name }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.located_at.errors %}
<div class="alert alert-danger">{{ form.located_at.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "located_at" %}</strong> {{ form.located_at }}
<strong>{% trans "Located At" %}</strong> {{ form.located_at }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.has_deposit_capability.errors %}
<div class="alert alert-danger">{{ form.has_deposit_capability.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "has_deposit_capability" %}</strong> {{ form.has_deposit_capability }}
<strong>{% trans "Has Deposit Capability" %}</strong> {{ form.has_deposit_capability }}
</div>
</div>
</div>
@ -87,7 +87,7 @@
<div class="alert alert-danger">{{ form.is_accessible.errors }}</div>
{% endif %}
<div class="form-group">
<strong>{% trans "is_accessible" %}</strong> {{ form.is_accessible }}
<strong>{% trans "Is Accessible" %}</strong> {{ form.is_accessible }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
@ -95,14 +95,14 @@
<div class="alert alert-danger">{{ form.accessibility_features.errors }}
</div>{% endif %}
<div class="form-group">
<strong>{% trans "accessibility_features" %}</strong> {{ form.accessibility_features }}
<strong>{% trans "Accessibility Features" %}</strong> {{ form.accessibility_features }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.more_info.errors %}
<div class="alert alert-danger">{{ form.more_info.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "more_info" %}</strong> {{ form.more_info }}
<strong>{% trans "More Info" %}</strong> {{ form.more_info }}
</div>
</div>
</div>
@ -111,21 +111,21 @@
{% if form.notes.errors %}
<div class="alert alert-danger">{{ form.notes.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "notes" %}</strong> {{ form.notes }}
<strong>{% trans "Notes" %}</strong> {{ form.notes }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.supported_languages.errors %}
<div class="alert alert-danger">{{ form.supported_languages.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "supported_languages" %}</strong> {{ form.supported_languages }}
<strong>{% trans "Supported Languages" %}</strong> {{ form.supported_languages }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.supported_currencies.errors %}
<div class="alert alert-danger">{{ form.supported_currencies.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "supported_currencies" %}</strong> {{ form.supported_currencies }}
<strong>{% trans "Supported Currencies" %}</strong> {{ form.supported_currencies }}
</div>
</div>
</div>
@ -134,7 +134,7 @@
{% if form.location_categories.errors %}
<div class="alert alert-danger">{{ form.location_categories.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "location_categories" %}</strong> {{ form.location_categories }}
<strong>{% trans "Location Categories" %}</strong> {{ form.location_categories }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
@ -142,14 +142,14 @@
<div class="alert alert-danger">{{ form.minimum_withdrawal.errors }}
</div>{% endif %}
<div class="form-group">
<strong>{% trans "minimum_withdrawal" %}</strong> {{ form.minimum_withdrawal }}
<strong>{% trans "Minimum Withdrawal" %}</strong> {{ form.minimum_withdrawal }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.site_name.errors %}
<div class="alert alert-danger">{{ form.site_name.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "site_name" %}</strong> {{ form.site_name }}
<strong>{% trans "Site Name" %}</strong> {{ form.site_name }}
</div>
</div>
</div>
@ -158,19 +158,19 @@
{% if form.branch_identification.errors %}
<div class="alert alert-danger">{{ form.branch_identification.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "branch_identification" %}</strong> {{ form.branch_identification }}
<strong>{% trans "Branch Identification" %}</strong> {{ form.branch_identification }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.site_identification.errors %}
<div class="alert alert-danger">{{ form.site_identification.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "site_identification" %}</strong> {{ form.site_identification }}
<strong>{% trans "Site Identification" %}</strong> {{ form.site_identification }}
</div>
</div>
<div class="col-xs-12 col-sm-4"> {% if form.cash_withdrawal_national_fee.errors %}
<div class="alert alert-danger">{{ form.cash_withdrawal_national_fee.errors }}</div>{% endif %}
<div class="form-group"><strong>{% trans "cash_withdrawal_national_fee" %}</strong> {{ form.cash_withdrawal_national_fee }}
<div class="form-group"><strong>{% trans "Cash Withdrawal National Fee" %}</strong> {{ form.cash_withdrawal_national_fee }}
</div>
</div>
@ -180,14 +180,14 @@
{% if form.balance_inquiry_fee.errors %}
<div class="alert alert-danger">{{ form.balance_inquiry_fee.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "balance_inquiry_fee" %}</strong> {{ form.balance_inquiry_fee }}
<strong>{% trans "Balance Inquiry Fee" %}</strong> {{ form.balance_inquiry_fee }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.cash_withdrawal_international_fee.errors %}
<div class="alert alert-danger">{{ form.cash_withdrawal_international_fee.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "cash_withdrawal_international_fee" %}</strong> {{ form.cash_withdrawal_international_fee }}
<strong>{% trans "Cash Withdrawal International Fee" %}</strong> {{ form.cash_withdrawal_international_fee }}
</div>
</div>
</div>
@ -196,14 +196,14 @@
{% if form.address.errors %}
<div class="alert alert-danger">{{ form.address.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "address" %}</strong> {{ form.address }}
<strong>{% trans "Address" %}</strong> {{ form.address }}
</div>
</div>
<div class="col-xs-12 col-sm-6">
{% if form.lobby.errors %}
<div class="alert alert-danger">{{ form.lobby.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "lobby" %}</strong> {{ form.lobby }}
<strong>{% trans "Lobby" %}</strong> {{ form.lobby }}
</div>
</div>
</div>
@ -223,7 +223,7 @@
<th scope="col">{% trans "Bank Id" %}</th>
<th scope="col">{% trans "ATM Name" %}</th>
<th scope="col">{% trans "More info" %}</th>
<th scope="col">{% trans "Update Button" %}</th>
<!--<th scope="col">{% trans "Update Button" %}</th>-->
</thead>
<tbody>
{% for atm in atms_list %}
@ -272,7 +272,7 @@
</ul>
</div>
</td>
<td><a href="{{ url_atm_update }}" class="btn btn-primary">Update</a></td>
<td><a href="{{ url_atm_update }}" class="btn btn-primary">View</a></td>
</tr>
{% endfor %}
</tbody>

View File

@ -1,6 +1,6 @@
{% extends 'base.html' %} {% load static %} {% block page_title %}{{ block.super }} / Atms{% endblock page_title %} {% block content %}
<div id="atms">
<h1>Update Atm</h1>
<h1>ATM Detail</h1>
<h2>{{ bank_id }} : {{ atm_id }}</h2>
<form method="post">
{% csrf_token %} {% if form.non_field_errors %}

View File

@ -42,44 +42,44 @@ class IndexAtmsView(LoginRequiredMixin, FormView):
fields['lobby'].initial = json.dumps({
"monday": [
{
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
}
],
"tuesday": [
{
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
}
],
"wednesday": [
{
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
}
],
"thursday": [
{
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
}
],
"friday": [
{
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
}
],
"saturday": [
{
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
}
],
"sunday": [
{
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
}
]
}, indent=4)
@ -111,8 +111,8 @@ class IndexAtmsView(LoginRequiredMixin, FormView):
"name": data["name"],
"address": json.loads(data['address']),
"location": {
"latitude": float(data["location_latitude"]) if data["location_latitude"] is not None else 37.0,
"longitude": float(data["location_longitude"]) if data["location_longitude"] is not None else 110.0
"latitude": float(data["location_latitude"]) if data["location_latitude"] is not None else "",
"longitude": float(data["location_longitude"]) if data["location_longitude"] is not None else ""
},
"meta": {
"license": {
@ -121,32 +121,32 @@ class IndexAtmsView(LoginRequiredMixin, FormView):
}
},
"monday": {
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
},
"tuesday": {
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
},
"wednesday": {
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
},
"thursday": {
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
},
"friday": {
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
},
"saturday": {
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
},
"sunday": {
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
},
"is_accessible": data["is_accessible"] if data["is_accessible"]!="" else "false",
"located_at": data["located_at"] if data["located_at"]!="no-example-provided" else " ",
@ -202,7 +202,6 @@ class IndexAtmsView(LoginRequiredMixin, FormView):
for bank_id in self.bankids:
urlpath = '/banks/{}/atms'.format(bank_id)
result = api.get(urlpath)
#print(result)
if 'atms' in result:
atms_list.extend(result['atms'])
except APIError as err:
@ -234,7 +233,6 @@ class UpdateAtmsView(LoginRequiredMixin, FormView):
def get_form(self, *args, **kwargs):
form = super(UpdateAtmsView, self).get_form(*args, **kwargs)
print("Hello World")
# Cannot add api in constructor: super complains about unknown kwarg
form.api = self.api
fields = form.fields
@ -275,7 +273,6 @@ class UpdateAtmsView(LoginRequiredMixin, FormView):
fields['located_at'].initial = result['located_at']
fields['more_info'].initial = result['more_info']
fields['located_at'].initial = result['located_at']
#lofields['lobby'].initial = json.dumps(result['lobby'], indent=4)
if result['supported_languages'][0].lower()=='en':
fields['supported_languages'].choices = [("en", "en"), ("fr", "fr"), ("de", "de")]
elif result['supported_languages'][0].lower()=='fr':
@ -314,8 +311,8 @@ class UpdateAtmsView(LoginRequiredMixin, FormView):
"name": data["name"],
"address": json.loads(data['address']),
"location": {
"latitude": float(data["location_latitude"]) if data["location_latitude"] is not None else 37.0,
"longitude": float(data["location_longitude"]) if data["location_longitude"] is not None else 110.0
"latitude": float(data["location_latitude"]) if data["location_latitude"] is not None else "",
"longitude": float(data["location_longitude"]) if data["location_longitude"] is not None else ""
},
"meta": {
"license": {
@ -324,8 +321,8 @@ class UpdateAtmsView(LoginRequiredMixin, FormView):
}
},
"monday": {
"opening_time": "10:00",
"closing_time": "18:00"
"opening_time": "",
"closing_time": ""
},
"tuesday": {
"opening_time": "10:00",

View File

@ -128,8 +128,6 @@
<a id="uk" href="/en" >EN</a>
<span> | </span>
<a id="es" href="/es" >ES</a>
<span> | </span>
<a id="fr" href="/fr" >FR</a>
</div>
</div>

View File

@ -7,7 +7,7 @@
<!--<h1>Welcome to API Manager</h1>-->
<div class="well" id="intro">
<p>
{% trans "This app gives you access to management functionality for the sandbox at" %} <a href="{{ API_HOST }}">{{ API_HOST }}</a>. {% trans "You have to" %}<a href="{{ API_HOST }}/user_mgt/sign_up" title="Register at {{ API_HOST }}">{% trans "register" %}</a> {% trans "an account before being able to proceed. The logged-in user needs to have specific roles granted to use the functionality." %}
{% trans "This app gives you access to management functionality for the OBP instance at" %} <a href="{{ API_HOST }}">{{ API_HOST }}</a>. {% trans "You have to" %}<a href="{{ API_HOST }}/user_mgt/sign_up" title="Register at {{ API_HOST }}">{% trans "register" %}</a> {% trans "an account before being able to proceed. The logged-in user needs to have specific roles granted to use the functionality." %}
</p>
</div>

View File

@ -1,12 +1,13 @@
{% extends 'base.html' %}
{% load static %}
{% load i18n %}
{% block page_title %}{{ block.super }} / Customers{% endblock page_title %}
{% block content %}
<div id="customers">
<h1>Create Customer</h1>
<h1>{% trans "Create Customer" %}</h1>
<form action="{% url 'customers-create' %}" method="post">
{% csrf_token %}
@ -20,21 +21,21 @@
<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">
{{ form.bank_id.label_tag }}
<strong>{% trans "bank_id" %}</strong>
{{ form.bank_id }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.username.errors %}<div class="alert alert-danger">{{ form.username.errors }}</div>{% endif %}
<div class="form-group">
{{ form.username.label_tag }}
<strong>{% trans "username" %}</strong>
{{ form.username }}
</div>
</div>
<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">
{{ form.customer_number.label_tag }}
<strong>{% trans "customer_number" %}</strong>
{{ form.customer_number }}
</div>
</div>
@ -44,21 +45,21 @@
<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">
{{ form.legal_name.label_tag }}
<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">
{{ form.mobile_phone_number.label_tag }}
<strong>{% trans "mobile_phone_number" %}</strong>
{{ form.mobile_phone_number }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.email.errors %}<div class="alert alert-danger">{{ form.email.errors }}</div>{% endif %}
<div class="form-group">
{{ form.email.label_tag }}
<strong>{% trans "email" %}</strong>
{{ form.email }}
</div>
</div>
@ -68,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">
{{ form.face_image_url.label_tag }}
<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">
{{ form.face_image_date.label_tag }}
<strong>{% trans "face_image_date" %}</strong>
{{ form.face_image_date }}
</div>
</div>
@ -85,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">
{{ form.date_of_birth.label_tag }}
<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">
{{ form.relationship_status.label_tag }}
<strong>{% trans "relationship_status" %}</strong>
{{ form.relationship_status }}
</div>
</div>
@ -102,14 +103,14 @@
<div class="col-xs-12 col-sm-6">
{% if form.dependants.errors %}<div class="alert alert-danger">{{ form.dependants.errors }}</div>{% endif %}
<div class="form-group">
{{ form.dependants.label_tag }}
<strong>{% trans "dependants" %}</strong>
{{ form.dependants }}
</div>
</div>
<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">
{{ form.dob_of_dependants.label_tag }}
<strong>{% trans "dob_of_dependants" %}</strong>
{{ form.dob_of_dependants }}
</div>
</div>
@ -119,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">
{{ form.credit_rating_rating.label_tag }}
<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">
{{ form.credit_rating_source.label_tag }}
<strong>{% trans "credit_rating_source" %}</strong>
{{ form.credit_rating_source }}
</div>
</div>
@ -134,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">
{{ form.credit_limit_currency.label_tag }}
<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">
{{ form.credit_limit_amount.label_tag }}
<strong>{% trans "credit_limit_amount" %}</strong>
{{ form.credit_limit_amount }}
</div>
</div>
@ -151,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">
{{ form.highest_education_attained.label_tag }}
<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">
{{ form.employment_status.label_tag }}
<strong>{% trans "employment_status" %}</strong>
{{ form.employment_status }}
</div>
</div>
@ -168,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">
{{ form.kyc_status.label_tag }}
<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">
{{ form.last_ok_date.label_tag }}
<strong>{% trans "last_ok_date" %}</strong>
{{ form.last_ok_date }}
</div>
</div>

Binary file not shown.

View File

@ -0,0 +1,115 @@
# 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.

View File

@ -0,0 +1,231 @@
# 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.

View File

@ -0,0 +1,115 @@
# 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 "उपभोक्ताओं की कुल संख्या"

View File

@ -0,0 +1,64 @@
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)

File diff suppressed because it is too large Load Diff

View File

@ -190,7 +190,7 @@ msgstr "Bienvenue dans API Manager"
#: consumers/templates/consumers/includes/filter_time.html:2
msgid "Last Hour"
msgstr ""
msgstr "Dernière heure"
#: consumers/templates/consumers/index.html:47
msgid "Statistics"
@ -202,7 +202,7 @@ msgstr "Nombre total de consommateurs"
#: consumers/templates/consumers/index.html:50
msgid "Total number of unique developer email addresses"
msgstr ""
msgstr "Nombre total d'adresses e-mail uniques des développeurs"
#: consumers/templates/consumers/index.html:51
#, fuzzy

View File

@ -1,64 +1,64 @@
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:
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)

View File

@ -21,28 +21,28 @@
<div class="col-xs-6 col-sm-3">
{% if form.from_date.errors %}<div class="alert alert-danger">{{ form.from_date.errors }}</div>{% endif %}
<div class="form-group">
{{ form.from_date.label_tag }}
<strong>{% trans "from_date" %} </strong>
{{ form.from_date }}
</div>
</div>
<div class="col-xs-6 col-sm-3">
{% if form.to_date.errors %}<div class="alert alert-danger">{{ form.to_date.errors }}</div>{% endif %}
<div class="form-group">
{{ form.to_date.label_tag }}
<strong>{% trans "to_date" %} </strong>
{{ form.to_date }}
</div>
</div>
<div class="col-xs-6 col-sm-3">
{% if form.limit.errors %}<div class="alert alert-danger">{{ form.limit.errors }}</div>{% endif %}
<div class="form-group">
{{ form.limit.label_tag }}
<strong>{% trans "limit" %} </strong>
{{ form.limit }}
</div>
</div>
<div class="col-xs-6 col-sm-3">
{% if form.offset.errors %}<div class="alert alert-danger">{{ form.offset.errors }}</div>{% endif %}
<div class="form-group">
{{ form.offset.label_tag }}
<strong>{% trans "offset" %} </strong>
{{ form.offset }}
</div>
</div>
@ -52,7 +52,7 @@
<div class="col-xs-6 col-sm-3">
{% if form.consumer_id.errors %}<div class="alert alert-danger">{{ form.consumer_id.errors }}</div>{% endif %}
<div class="form-group">
{{ form.consumer_id.label_tag }}
<strong>{% trans "consumer_id" %} </strong>
{{ form.consumer_id }}
</div>
</div>
@ -60,7 +60,7 @@
<div class="col-xs-6 col-sm-3">
{% if form.user_id.errors %}<div class="alert alert-danger">{{ form.user_id.errors }}</div>{% endif %}
<div class="form-group">
{{ form.user_id.label_tag }}
<strong>{% trans "user_id" %} </strong>
{{ form.user_id }}
</div>
</div>
@ -68,7 +68,7 @@
<div class="col-xs-6 col-sm-3">
{% if form.anon.errors %}<div class="alert alert-danger">{{ form.anon.errors }}</div>{% endif %}
<div class="form-group">
{{ form.anon.label_tag }}
<strong>{% trans "anon" %} </strong>
{{ form.anon }}
</div>
</div>
@ -76,7 +76,7 @@
<div class="col-xs-6 col-sm-3">
{% if form.app_name.errors %}<div class="alert alert-danger">{{ form.app_name.errors }}</div>{% endif %}
<div class="form-group">
{{ form.app_name.label_tag }}
<strong>{% trans "app_name" %} </strong>
{{ form.app_name }}
</div>
</div>
@ -87,7 +87,7 @@
<div class="col-xs-2">
{% if form.verb.errors %}<div class="alert alert-danger">{{ form.verb.errors }}</div>{% endif %}
<div class="form-group">
{{ form.verb.label_tag }}
<strong>{% trans "verb" %} </strong>
{{ form.verb }}
</div>
</div>
@ -95,7 +95,7 @@
<div class="col-xs-10">
{% if form.url.errors %}<div class="alert alert-danger">{{ form.url.errors }}</div>{% endif %}
<div class="form-group">
{{ form.url.label_tag }}
<strong>{% trans "url" %} </strong>
{{ form.url }}
</div>
</div>
@ -105,7 +105,7 @@
<div class="col-xs-7">
{% if form.implemented_by_partial_function.errors %}<div class="alert alert-danger">{{ form.implemented_by_partial_function.errors }}</div>{% endif %}
<div class="form-group">
{{ form.implemented_by_partial_function.label_tag }}
<strong>{% trans "implemented_by_partial_function" %} </strong>
{{ form.implemented_by_partial_function }}
</div>
</div>
@ -113,7 +113,7 @@
<div class="col-xs-5">
{% if form.implemented_in_version.errors %}<div class="alert alert-danger">{{ form.implemented_in_version.errors }}</div>{% endif %}
<div class="form-group">
{{ form.implemented_in_version.label_tag }}
<strong>{% trans "implemented_in_version" %} </strong>
{{ form.implemented_in_version }}
</div>
</div>

View File

@ -9,7 +9,7 @@
<h1>{% trans "Connector Metrics" %}</h1>
<div id="metrics-filter">
<h2>Filter</h2>
<h2>{% trans "Filter" %}</h2>
<form action="{% url 'connector-metrics' %}" method="get">
{% if form.non_field_errors %}
<div class="alert alert-danger">
@ -21,28 +21,28 @@
<div class="col-xs-6 col-sm-3">
{% if form.from_date.errors %}<div class="alert alert-danger">{{ form.from_date.errors }}</div>{% endif %}
<div class="form-group">
{{ form.from_date.label_tag }}
<strong>{% trans "from_date" %} </strong>
{{ form.from_date }}
</div>
</div>
<div class="col-xs-6 col-sm-3">
{% if form.to_date.errors %}<div class="alert alert-danger">{{ form.to_date.errors }}</div>{% endif %}
<div class="form-group">
{{ form.to_date.label_tag }}
<strong>{% trans "to_date" %} </strong>
{{ form.to_date }}
</div>
</div>
<div class="col-xs-6 col-sm-3">
{% if form.limit.errors %}<div class="alert alert-danger">{{ form.limit.errors }}</div>{% endif %}
<div class="form-group">
{{ form.limit.label_tag }}
<strong>{% trans "limit" %} </strong>
{{ form.limit }}
</div>
</div>
<div class="col-xs-6 col-sm-3">
{% if form.offset.errors %}<div class="alert alert-danger">{{ form.offset.errors }}</div>{% endif %}
<div class="form-group">
{{ form.offset.label_tag }}
<strong>{% trans "offset" %} </strong>
{{ form.offset }}
</div>
</div>
@ -52,21 +52,21 @@
<div class="col-xs-12 col-sm-4">
{% if form.connector_name.errors %}<div class="alert alert-danger">{{ form.connector_name.errors }}</div>{% endif %}
<div class="form-group">
{{ form.connector_name.label_tag }}
<strong>{% trans "connector_name" %} </strong>
{{ form.connector_name }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.function_name.errors %}<div class="alert alert-danger">{{ form.function_name.errors }}</div>{% endif %}
<div class="form-group">
{{ form.function_name.label_tag }}
<strong>{% trans "function_name" %} </strong>
{{ form.function_name }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.correlation_id.errors %}<div class="alert alert-danger">{{ form.correlation_id.errors }}</div>{% endif %}
<div class="form-group">
{{ form.correlation_id.label_tag }}
<strong>{% trans "correlation_id" %} </strong>
{{ form.correlation_id }}
</div>
</div>

View File

@ -47,14 +47,14 @@
<div class="col-xs-6 col-sm-3">
{% if form.from_date_custom.errors %}<div class="alert alert-danger">{{ form.from_date_custom.errors }}</div>{% endif %}
<div class="form-group">
{{ form.from_date_custom.label_tag }}
<strong>{% trans "from_date_custom" %} </strong>
{{ form.from_date_custom }}
</div>
</div>
<div class="col-xs-6 col-sm-3">
{% if form.to_date.errors %}<div class="alert alert-danger">{{ form.to_date.errors }}</div>{% endif %}
<div class="form-group">
{{ form.to_date.label_tag }}
<strong>{% trans "to_date" %} </strong>
{{ form.to_date }}
</div>
</div>

View File

@ -47,7 +47,7 @@
<div class="col-xs-6 col-sm-3">
{% if form.to_date.errors %}<div class="alert alert-danger">{{ form.to_date.errors }}</div>{% endif %}
<div class="form-group">
{{ form.to_date.label_tag }}
<strong>{% trans "to_date" %} </strong>
{{ form.to_date }}
</div>
</div>
@ -67,7 +67,7 @@
<div class="tab-content">
{% block tab_content %}
<div class="tab-pane active">
<h2>Period : From {{ from_date }} to {{ to_date }}</h2>
<h2>{% trans "Period" %} : {% trans "From" %} {{ from_date }} {% trans "to" %} {{ to_date }}</h2>
<table border="1">
<tr>

View File

@ -45,7 +45,7 @@
<div class="col-xs-6 col-sm-3">
{% if form.to_date.errors %}<div class="alert alert-danger">{{ form.to_date.errors }}</div>{% endif %}
<div class="form-group">
{{ form.to_date.label_tag }}
<strong>{% trans "to_date" %} </strong>
{{ form.to_date }}
</div>
</div>

View File

@ -48,7 +48,7 @@
<div class="col-xs-6 col-sm-3">
{% if form.to_date.errors %}<div class="alert alert-danger">{{ form.to_date.errors }}</div>{% endif %}
<div class="form-group">
{{ form.to_date.label_tag }}
<strong>{% trans "to_date" %} </strong>
{{ form.to_date }}
</div>
</div>

View File

@ -1,5 +1,6 @@
{% extends 'base.html' %}
{% load static %}
{% load i18n %}
{% block page_title %}{{ block.super }} / API Usage Report{% endblock page_title %}

View File

@ -1,26 +1,27 @@
{% extends 'base.html' %}
{% load static %}
{% load i18n %}
{% block page_title %}{{ block.super }} / API Usage Report{% endblock page_title %}
{% block content %}
<div id="metrics">
<h1>API Usage Report</h1>
<h2>API instance : {{ api_host_name }}</h2>
<h1>{% trans "API Usage Report" %}</h1>
<h2>{% trans "API instance" %}: {{ api_host_name }}</h2>
<div id="metrics-data">
<ul class="nav nav-tabs">
{% block nav_tabs %}
<li class="active"><a href="{% url 'yearly-summary' %}?{{ request.GET.urlencode }}">Year</a></li>
<li><a href="{% url 'quarterly-summary' %}?{{ request.GET.urlencode }}">Quarter</a></li>
<li><a href="{% url 'metrics-summary' %}?{{ request.GET.urlencode }}">Month</a></li>
<li><a href="{% url 'weekly-summary' %}?{{ request.GET.urlencode }}">Week</a></li>
<li><a href="{% url 'daily-summary' %}?{{ request.GET.urlencode }}">Day</a></li>
<li class="active"><a href="{% url 'yearly-summary' %}?{{ request.GET.urlencode }}">{% trans "Year" %}</a></li>
<li><a href="{% url 'quarterly-summary' %}?{{ request.GET.urlencode }}">{% trans "Quarter" %}</a></li>
<li><a href="{% url 'metrics-summary' %}?{{ request.GET.urlencode }}">{% trans "Month" %}</a></li>
<li><a href="{% url 'weekly-summary' %}?{{ request.GET.urlencode }}">{% trans "Week" %}</a></li>
<li><a href="{% url 'daily-summary' %}?{{ request.GET.urlencode }}">{% trans "Day" %}</a></li>
<!--<li><a href="{% url 'hourly-summary' %}?{{ request.GET.urlencode }}">Hour</a></li>-->
<li><a href="{% url 'custom-summary' %}?{{ request.GET.urlencode }}">Custom</a></li>
<li><a href="{% url 'custom-summary' %}?{{ request.GET.urlencode }}">{% trans "Custom" %}</a></li>
{% endblock nav_tabs %}
</ul>
@ -34,7 +35,7 @@
{{ form.media }} {# Form required JS and CSS #}
{% endblock %}
<h2>Filter</h2>
<h2>{% trans "Filter" %}</h2>
<form action="{% url 'yearly-summary' %}" method="get">
{% if form.non_field_errors %}
<div class="alert alert-danger">
@ -54,12 +55,12 @@
<div class="col-xs-6 col-sm-3">
<div class="form-group">
{{ form.include_obp_apps }} Include System Calls
{{ form.include_obp_apps }} {% trans "Include System Calls" %}
</div>
</div>
</div>
<button type="submit" class="btn btn-primary">Update filter</button>
<button type="submit" class="btn btn-primary">{% trans "Update filter" %}</button>
</form>
</div>
@ -67,7 +68,7 @@
<div class="tab-content">
{% block tab_content %}
<div class="tab-pane active">
<h2>Period : From {{ from_date }} to {{ to_date }}</h2>
<h2>{% trans "Period" %} : {% trans "From" %} {{ from_date }} {% trans "to" %} {{ to_date }}</h2>
<table border="1">
<tr>
@ -75,68 +76,68 @@
<th></th>
</tr>
<tr>
<td>Total API calls:</td>
<td>{% trans "Total API calls" %}:</td>
<td>{{ api_calls }}</td>
</tr>
<tr>
<td>API calls made using API Explorer:</td>
<td>{% trans "API calls made using API Explorer" %}:</td>
<td>{{ calls_by_api_explorer }} ({% widthratio calls_by_api_explorer api_calls 100 %} %)</td>
</tr>
<tr>
<td>Calls per month:</td>
<td>{% trans "Calls per month" %}:</td>
<td><img src="data:image/png;base64, {{ per_month_chart }}" alt="somealt" /></td>
</tr>
<tr>
<td>Average number of calls per day: </td>
<td>{% trans "Average number of calls per day" %}: </td>
<td>{{ average_calls_per_day }}</td>
</tr>
<tr>
<td>Average response time (ms):</td>
<td>{% trans "Average response time (ms)" %}:</td>
<td>{{ average_response_time }}</td>
</tr>
<tr>
<td>Median time from consumer registration to first API call:</td>
<td>{% trans "Median time from consumer registration to first API call" %}:</td>
<td>{{ median_time_to_first_api_call }}</td>
</tr>
<tr>
<td>Apps with distinct names:</td>
<td>{% trans "Apps with distinct names" %}:</td>
<td>{{ number_of_apps_with_unique_app_name }}</td>
</tr>
<tr>
<td>Apps with distinct developer email addresses:</td>
<td>{% trans "Apps with distinct developer email addresses:</td>
<td>{{ number_of_apps_with_unique_developer_email }}</td>
</tr>
<tr>
<td>Active Apps (at least one API call in the period):</td>
<td>{% trans "Active Apps (at least one API call in the period)" %}:</td>
<td>{%for item in active_apps_list%} <p>{{item.app_name}} ({{ item.developer_email }})</p> {% endfor %}</td>
</tr>
<tr>
<td>Top 10 APIs:</td>
<td>{% trans "Top 10 APIs" %}:</td>
<td><img src="data:image/png;base64, {{ top_apis_bar_chart }}" alt="somealt" /></td>
</tr>
<tr>
<td>Top 10 Consumers:</td>
<td>{% trans "Top 10 Consumers" %}:</td>
<td><img src="data:image/png;base64, {{ top_consumers_bar_chart }}" alt="somealt" /></td>
</tr>
<tr>
<td>Top Warehouse APIs:</td>
<td>{% trans "Top Warehouse APIs" %}:</td>
<td>{% if top_warehouse_apis %}{%for element in top_warehouse_apis%} <p>{{ element.Implemented_by_partial_function }} : {{ element.count }}</p> {% endfor %}{% else %} <p>N/A</p>{% endif %}</td>
</tr>
<tr>
<td>Top Apps using data warehouse:</td>
<td>{% trans "Top Apps using data warehouse" %}:</td>
<td>{% if top_apps_using_warehouse %}{%for element in top_apps_using_warehouse%} <p>{{ element.app_name }} ({{ element.developer_email }}) : {{ element.count }}</p> {% endfor %}{% else %} <p>N/A</p>{% endif %}</td>
</tr>
<tr>
<td>Total number of CanSearchWarehouse users:</td>
<td>{% trans "Total number of CanSearchWarehouse users" %}:</td>
<td>{{number_of_users_with_cansearchwarehouse}}</td>
</tr>
<tr>
<td>Users with role CanSearchWarehouse:</td>
<td>{% trans "Users with role CanSearchWarehouse" %}:</td>
<td>{% if user_email_cansearchwarehouse %}{% for key, value in user_email_cansearchwarehouse.items %} {{key}}, {% endfor %}{% else %} <p>N/A</p>{% endif %}</td>
</tr>

View File

@ -66,13 +66,13 @@
<div class="row">
<div class="col-xs-12 col-md-4">
<div class="form-group">
{{ form.role_name.label_tag}}
<strong>{% trans "Role name" %}</strong>
{{ form.role_name }}
</div>
</div>
<div class="col-xs-12 col-md-8">
<div class="form-group">
{{ form.bank_id.label_tag }}
<strong>{% trans "bank_id" %}</strong>
{{ form.bank_id }}
</div>
</div>

View File

@ -1,3 +1,4 @@
<a href="?locked_status=active&role_name={{ request.GET.role_name }}" class="btn btn-default{% if locked_status == "active" %} active{% endif %}">Active</a>
<a href="?locked_status=locked&role_name={{ request.GET.role_name }}" class="btn btn-default{% if locked_status == "locked" %} active{% endif %}">Locked</a>
<a href="?locked_status=all&role_name={{ request.GET.role_name }}" class="btn btn-default{% if locked_status == "all" %} active{% endif %}">All</a>
{% load i18n %}
<a href="?locked_status=active&role_name={{ request.GET.role_name }}" class="btn btn-default{% if locked_status == "active" %} active{% endif %}">{% trans "Active" %}</a>
<a href="?locked_status=locked&role_name={{ request.GET.role_name }}" class="btn btn-default{% if locked_status == "locked" %} active{% endif %}">{% trans "Locked" %}</a>
<a href="?locked_status=all&role_name={{ request.GET.role_name }}" class="btn btn-default{% if locked_status == "all" %} active{% endif %}">{% trans "All" %}</a>

View File

@ -1,10 +1,11 @@
{% load i18n %}
<form class="form-inline" method="get">
<div class="form-group">
<label for="offset">Offset:</label>
<label for="offset">{% trans "Offset" %}:</label>
<input type="number" class="form-control" name="offset" id="offset" placeholder="0" value="{{ offset }}">
</div>
<div class="form-group">
<label for="limit">Limit:</label>
<label for="limit">{% trans "Limit" %}:</label>
<input type="number" class="form-control" name="limit" id="limit" placeholder="50" value="{{ limit }}">
</div>
<input type="submit" class="btn btn-default" value ="Refresh" onclick="javascript: form.action='';"></input>

View File

@ -1,10 +1,11 @@
{% load i18n %}
<div id="filter-role" class="filter">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{% if active_role_name_all %}All Roles{% else %}{{ active_role_name }}{% endif %} <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="?email={{ active_email }}&amp;username={{ active_username }}&amp;locked_status={{ active_locked_status }}&amp;role_name=All">All Roles</a></li>
<li><a href="?email={{ active_email }}&amp;username={{ active_username }}&amp;locked_status={{ active_locked_status }}&amp;role_name=All">{% trans "All Roles" %}</a></li>
<li role="separator" class="divider"></li>
{% for role_name in role_names %}
<li><a href="?email={{ active_email }}&amp;username={{ active_username }}&amp;role_name={{ role_name }}&amp;locked_status={{ active_locked_status }}">{{ role_name }}</a></li>

View File

@ -66,7 +66,7 @@
<td><a href="{{ url_users_detail }}">{{ user.user_id }}</td>
<td>{{ user.username }}</td>
<td>{{ user.email }}</td>
<td><a href="{{ url_users_detail }}" class="btn btn-primary">View</a></td>
<td><a href="{{ url_users_detail }}" class="btn btn-primary">{% trans "View" %}</a></td>
</tr>
{% endfor %}
</tbody>

View File

@ -19,21 +19,21 @@
<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">
{{ form.bank_id.label_tag }}
<strong>{% trans "bank_id" %} </strong>
{{ form.bank_id }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.first_name.errors %}<div class="alert alert-danger">{{ form.first_name.errors }}</div>{% endif %}
<div class="form-group">
{{ form.first_name.label_tag }}
<strong>{% trans "first_name" %} </strong>
{{ form.first_name }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.last_name.errors %}<div class="alert alert-danger">{{ form.last_name.errors }}</div>{% endif %}
<div class="form-group">
{{ form.last_name.label_tag }}
<strong>{% trans "last_name" %} </strong>
{{ form.last_name }}
</div>
</div>
@ -42,21 +42,21 @@
<div class="col-xs-12 col-sm-4">
{% if form.email.errors %}<div class="alert alert-danger">{{ form.email.errors }}</div>{% endif %}
<div class="form-group">
{{ form.email.label_tag }}
<strong>{% trans "email" %} </strong>
{{ form.email }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.company.errors %}<div class="alert alert-danger">{{ form.company.errors }}</div>{% endif %}
<div class="form-group">
{{ form.company.label_tag }}
<strong>{% trans "company" %} </strong>
{{ form.company }}
</div>
</div>
<div class="col-xs-12 col-sm-4">
{% if form.country.errors %}<div class="alert alert-danger">{{ form.country.errors }}</div>{% endif %}
<div class="form-group">
{{ form.country.label_tag }}
<strong>{% trans "country" %} </strong>
{{ form.country }}
</div>
</div>