diff --git a/apimanager/apimanager/settings.py b/apimanager/apimanager/settings.py index 14fd4c7..eedbec2 100644 --- a/apimanager/apimanager/settings.py +++ b/apimanager/apimanager/settings.py @@ -51,22 +51,47 @@ INSTALLED_APPS = [ 'obp', 'consumers', 'users', + 'branches', + 'atms', 'entitlementrequests', 'customers', 'metrics', 'config', + 'webui', + 'methodrouting', + 'dynamicendpoints', + 'apicollections' ] MIDDLEWARE = [ + # 'django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + # 'django.middleware.cache.FetchFromCacheMiddleware', ] +#cache the view page, we set 60s = 1m, +# CACHE_MIDDLEWARE_SECONDS = 60 + +# TIMEOUT is 31104000 seconds = 60*60*24*30*12 (1 year) +# MAX_ENTRIES is 1000000 entities +CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', + 'LOCATION': 'unique-snowflake', + 'TIMEOUT': 31104000, + 'OPTIONS': { + 'MAX_ENTRIES': 10000000 + } + } +} + ROOT_URLCONF = 'apimanager.urls' TEMPLATES = [ @@ -84,6 +109,9 @@ TEMPLATES = [ 'base.context_processors.api_username', 'base.context_processors.api_user_id', 'base.context_processors.api_tester_url', + 'base.context_processors.portal_page', + 'base.context_processors.logo_url', + 'base.context_processors.override_css_url' ], }, }, @@ -141,6 +169,17 @@ USE_TZ = True STATIC_URL = '/static/' +from django.utils.translation import gettext_lazy as _ + +#LANGUAGES = ( +# ("en", _("English")), +# ("fr", _("French")), +#) + +LOCALE_PATHS = ( + os.path.join(BASE_DIR, "locale/"), +) + # Set this to your local directory for static files STATIC_ROOT = os.path.join(BASE_DIR, '..', '..', 'static-collected') @@ -192,15 +231,20 @@ LOGGING = { LOGIN_URL = reverse_lazy('home') - +#Map Java: yyyy-MM-dd'T'HH:mm'Z' API_DATETIMEFORMAT = '%Y-%m-%dT%H:%M:%SZ' -#API_DATEFORMAT = '%Y-%m-%d' -API_DATEFORMAT = '%Y-%m-%dT%H:%M:%S' +#Map Java: yyyy-MM-dd'T'HH:mm:ss.SSS'Z' +API_DATEFORMAT = '%Y-%m-%dT%H:%M:%S.%fZ' + +# the API_Manager the web form date format, eg: 2020-10-11 +API_MANAGER_DATE_FORMAT= '%Y-%m-%d' API_HOST = 'http://127.0.0.1:8080' +# Only override this if you have a separate portal instance +API_PORTAL = API_HOST API_BASE_PATH = '/obp/v' -API_VERSION = '3.1.0' +API_VERSION = '4.0.0' # URL to API Tester if it is running on API_HOST API_TESTER_URL = '' @@ -223,30 +267,40 @@ DIRECTLOGIN_PATH = '/my/logins/direct' # Set to true if the API is connected to a core banking system GATEWAYLOGIN_HAS_CBS = False + +# Use BOOTSTRAP3 if you are using Bootstrap 3 +BOOTSTRAP4 = { + 'include_jquery': True, +} + +# Apps to exclude when request to OBP-API's api +EXCLUDE_APPS = [] +# Functions to exclude when request to OBP-API's api +EXCLUDE_FUNCTIONS = [] +# Url Patterns to exclude when reqeust to OBP-API's api +EXCLUDE_URL_PATTERN = [] +# App Name to aggregate metrics +API_EXPLORER_APP_NAME = 'API Explorer' + +LOGO_URL = 'https://static.openbankproject.com/images/OBP/favicon.png' +OVERRIDE_CSS_URL = None + +VERIFY = True + # Local settings can override anything in here try: - from apimanager.local_settings import * # noqa + from apimanager.local_settings import * # noqa except ImportError: pass - -if not OAUTH_CONSUMER_KEY: - raise ImproperlyConfigured('Missing settings for OAUTH_CONSUMER_KEY') -if not OAUTH_CONSUMER_SECRET: - raise ImproperlyConfigured('Missing settings for OAUTH_CONSUMER_SECRET') +# EVERYTHING BELOW HERE WILL NOT BE OVERWRITTEN BY LOCALSETTINGS! +# DO NOT TRY TO DO SO YOU WILL BE IGNORED! # Settings here might use parts overwritten in local settings API_ROOT = API_HOST + API_BASE_PATH + API_VERSION # For some reason, swagger is not available at the latest API version API_URL_SWAGGER = API_HOST + '/obp/v1.4.0/resource-docs/v' + API_VERSION + '/swagger' # noqa -CACHES = { - 'default': { - 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', - 'LOCATION': 'unix:/tmp/memcached.sock', - } -} - -# Use BOOTSTRAP3 if you are using Bootstrap 3 -BOOTSTRAP4 = { - 'include_jquery': True, -} +if not OAUTH_CONSUMER_KEY: + raise ImproperlyConfigured('Missing settings for OAUTH_CONSUMER_KEY') +if not OAUTH_CONSUMER_SECRET: + raise ImproperlyConfigured('Missing settings for OAUTH_CONSUMER_SECRET') diff --git a/apimanager/apimanager/urls.py b/apimanager/apimanager/urls.py index 353914e..245b936 100644 --- a/apimanager/apimanager/urls.py +++ b/apimanager/apimanager/urls.py @@ -14,10 +14,7 @@ from obp.views import ( LogoutView, ) - urlpatterns = [ - - # Defining authentication URLs here and not including oauth.urls for # backward compatibility ] diff --git a/apimanager/atms/forms.py b/apimanager/atms/forms.py index 23cdc87..c082421 100644 --- a/apimanager/atms/forms.py +++ b/apimanager/atms/forms.py @@ -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', } ), diff --git a/apimanager/atms/templates/atms/index.html b/apimanager/atms/templates/atms/index.html index d6229b8..22589fe 100644 --- a/apimanager/atms/templates/atms/index.html +++ b/apimanager/atms/templates/atms/index.html @@ -1,6 +1,7 @@ -{% extends 'base.html' %} {% load static %} {% block page_title %}{{ block.super }} / atms{% endblock page_title %} {% block content %} +{% extends 'base.html' %} {% load static i18n %} +{% block page_title %}{{ block.super }} / atms{% endblock page_title %} {% block content %}
-

ATMs

+

{% trans "ATMs" %}

{% csrf_token %} {% if form.non_field_errors %} @@ -13,21 +14,21 @@ {% if form.atm_id.errors %}
{{ form.atm_id.errors }}
{% endif %}
- {{ form.atm_id.label_tag }} {{ form.atm_id }} + {% trans "ATM Id" %} {{ form.atm_id }}
{% if form.bank_id.errors %}
{{ form.bank_id.errors }}
{% endif %}
- {{ form.bank_id.label_tag }} {{ form.bank_id }} + {% trans "Bank Id" %} {{ form.bank_id }}
{% if form.name.errors %}
{{ form.name.errors }}
{% endif %}
- {{ form.name.label_tag }} {{ form.name }} + {% trans "Name" %} {{ form.name }}
@@ -36,7 +37,7 @@ {% if form.services.errors %}
{{ form.services.errors }}
{% endif %}
- {{ form.services.label_tag }} {{ form.services }} + {% trans "Services" %} {{ form.services }}
@@ -44,7 +45,7 @@
{{ form.location_latitude.errors }}
{% endif %}
- {{ form.location_latitude.label_tag }} {{ form.location_latitude }} + {% trans "Location Latitude" %} {{ form.location_latitude }}
@@ -52,7 +53,7 @@
{{ form.location_longitude.errors }}
{% endif %}
- {{ form.location_longitude.label_tag }} {{ form.location_longitude }} + {% trans "Location Longitude" %} {{ form.location_longitude }}
@@ -62,21 +63,21 @@
{{ form.meta_license_name.errors }}
{% endif %}
- {{ form.meta_license_name.label_tag }} {{ form.meta_license_name }} + {% trans "Meta License Name" %} {{ form.meta_license_name }}
{% if form.located_at.errors %}
{{ form.located_at.errors }}
{% endif %}
- {{ form.located_at.label_tag }} {{ form.located_at }} + {% trans "Located At" %} {{ form.located_at }}
{% if form.has_deposit_capability.errors %}
{{ form.has_deposit_capability.errors }}
{% endif %}
- {{ form.has_deposit_capability.label_tag }} {{ form.has_deposit_capability }} + {% trans "Has Deposit Capability" %} {{ form.has_deposit_capability }}
@@ -86,7 +87,7 @@
{{ form.is_accessible.errors }}
{% endif %}
- {{ form.is_accessible.label_tag }} {{ form.is_accessible }} + {% trans "Is Accessible" %} {{ form.is_accessible }}
@@ -94,14 +95,14 @@
{{ form.accessibility_features.errors }}
{% endif %}
- {{ form.accessibility_features.label_tag }} {{ form.accessibility_features }} + {% trans "Accessibility Features" %} {{ form.accessibility_features }}
{% if form.more_info.errors %}
{{ form.more_info.errors }}
{% endif %}
- {{ form.more_info.label_tag }} {{ form.more_info }} + {% trans "More Info" %} {{ form.more_info }}
@@ -110,21 +111,21 @@ {% if form.notes.errors %}
{{ form.notes.errors }}
{% endif %}
- {{ form.notes.label_tag }} {{ form.notes }} + {% trans "Notes" %} {{ form.notes }}
{% if form.supported_languages.errors %}
{{ form.supported_languages.errors }}
{% endif %}
- {{ form.supported_languages.label_tag }} {{ form.supported_languages }} + {% trans "Supported Languages" %} {{ form.supported_languages }}
{% if form.supported_currencies.errors %}
{{ form.supported_currencies.errors }}
{% endif %}
- {{ form.supported_currencies.label_tag }} {{ form.supported_currencies }} + {% trans "Supported Currencies" %} {{ form.supported_currencies }}
@@ -133,7 +134,7 @@ {% if form.location_categories.errors %}
{{ form.location_categories.errors }}
{% endif %}
- {{ form.location_categories.label_tag }} {{ form.location_categories }} + {% trans "Location Categories" %} {{ form.location_categories }}
@@ -141,14 +142,14 @@
{{ form.minimum_withdrawal.errors }}
{% endif %}
- {{ form.minimum_withdrawal.label_tag }} {{ form.minimum_withdrawal }} + {% trans "Minimum Withdrawal" %} {{ form.minimum_withdrawal }}
{% if form.site_name.errors %}
{{ form.site_name.errors }}
{% endif %}
- {{ form.site_name.label_tag }} {{ form.site_name }} + {% trans "Site Name" %} {{ form.site_name }}
@@ -157,19 +158,19 @@ {% if form.branch_identification.errors %}
{{ form.branch_identification.errors }}
{% endif %}
- {{ form.branch_identification.label_tag }} {{ form.branch_identification }} + {% trans "Branch Identification" %} {{ form.branch_identification }}
{% if form.site_identification.errors %}
{{ form.site_identification.errors }}
{% endif %}
- {{ form.site_identification.label_tag }} {{ form.site_identification }} + {% trans "Site Identification" %} {{ form.site_identification }}
{% if form.cash_withdrawal_national_fee.errors %}
{{ form.cash_withdrawal_national_fee.errors }}
{% endif %} -
{{ form.cash_withdrawal_national_fee.label_tag }} {{ form.cash_withdrawal_national_fee }} +
{% trans "Cash Withdrawal National Fee" %} {{ form.cash_withdrawal_national_fee }}
@@ -179,14 +180,14 @@ {% if form.balance_inquiry_fee.errors %}
{{ form.balance_inquiry_fee.errors }}
{% endif %}
- {{ form.balance_inquiry_fee.label_tag }} {{ form.balance_inquiry_fee }} + {% trans "Balance Inquiry Fee" %} {{ form.balance_inquiry_fee }}
{% if form.cash_withdrawal_international_fee.errors %}
{{ form.cash_withdrawal_international_fee.errors }}
{% endif %}
- {{ form.cash_withdrawal_international_fee.label_tag }} {{ form.cash_withdrawal_international_fee }} + {% trans "Cash Withdrawal International Fee" %} {{ form.cash_withdrawal_international_fee }}
@@ -195,14 +196,14 @@ {% if form.address.errors %}
{{ form.address.errors }}
{% endif %}
- {{ form.address.label_tag }} {{ form.address }} + {% trans "Address" %} {{ form.address }}
{% if form.lobby.errors %}
{{ form.lobby.errors }}
{% endif %}
- {{ form.lobby.label_tag }} {{ form.lobby }} + {% trans "Lobby" %} {{ form.lobby }}
@@ -218,15 +219,17 @@
- - - - - + + + + + - {% for atm in atms_list %} {% url 'atms_update' atm.id atm.bank_id as url_atm_update %} - + {% for atm in atms_list %} + + {% url 'atms_update' atm.id atm.bank_id as url_atm_update %} + @@ -269,12 +272,13 @@ - + {% endfor %}
ATM IdBank IdATM NameMore_infoUpdate Button{% trans "ATM Id" %}{% trans "Bank Id" %}{% trans "ATM Name" %}{% trans "More info" %}
{{ atm.id }} {{ atm.bank_id }} {{ atm.name }} UpdateView
+ {% endblock %} {% block extrajs %} {% endblock extrajs %} {% block extracss %} {% endblock extracss %} \ No newline at end of file diff --git a/apimanager/atms/templates/atms/update.html b/apimanager/atms/templates/atms/update.html index 9fac196..8fda4b8 100644 --- a/apimanager/atms/templates/atms/update.html +++ b/apimanager/atms/templates/atms/update.html @@ -1,6 +1,6 @@ {% extends 'base.html' %} {% load static %} {% block page_title %}{{ block.super }} / Atms{% endblock page_title %} {% block content %}
-

Update Atm

+

ATM Detail

{{ bank_id }} : {{ atm_id }}

{% csrf_token %} {% if form.non_field_errors %} diff --git a/apimanager/atms/urls.py b/apimanager/atms/urls.py index 51cc219..5667f83 100644 --- a/apimanager/atms/urls.py +++ b/apimanager/atms/urls.py @@ -11,7 +11,7 @@ urlpatterns = [ url(r'^$', IndexAtmsView.as_view(), name='atms_list'), - url(r'^update/(?P[0-9\w\@\.\+-]+)/bank/(?P[0-9\w\@\.\+-]+)/$', + url(r'^update/(?P[ 0-9\w|\W\@\.\+-]+)/bank/(?P[0-9\w\@\.\+-]+)/$', UpdateAtmsView.as_view(), name='atms_update') ] diff --git a/apimanager/atms/views.py b/apimanager/atms/views.py index f51c82e..554ee33 100644 --- a/apimanager/atms/views.py +++ b/apimanager/atms/views.py @@ -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) @@ -106,13 +106,13 @@ class IndexAtmsView(LoginRequiredMixin, FormView): data = form.cleaned_data urlpath = '/banks/{}/atms'.format(data['bank_id']) payload ={ - "id": data["atm_id"], + "id": data["atm_id"], "bank_id": data["bank_id"], "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 " ", @@ -275,27 +275,26 @@ 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'] - fields['lobby'].initial = json.dumps(result['lobby'], indent=4) - if result['supported_languages'].lower()=='en': + if result['supported_languages'][0].lower()=='en': fields['supported_languages'].choices = [("en", "en"), ("fr", "fr"), ("de", "de")] - elif result['supported_languages'].lower()=='fr': + elif result['supported_languages'][0].lower()=='fr': fields['supported_languages'].choices = [("fr", "fr"), ("en", "en"), ("de", "de")] else: fields['supported_languages'].choices = [("de", "de"),("fr", "fr"), ("en", "en")] fields['supported_languages'].initial = result['supported_languages'] - if result['supported_currencies'].lower()=='eur': + if result['supported_currencies'][0].lower()=='eur': fields['supported_currencies'].choices = [("EUR", "EUR"), ("MXN", "MXN"), ("USD", "USD")] - elif result['supported_currencies'].lower()=='mxn': + elif result['supported_currencies'][0].lower()=='mxn': fields['supported_currencies'].choices = [("MXN", "MXN"), ("EUR", "EUR"), ("USD", "USD")] else: fields['supported_currencies'].choices = [("USD", "USD"),("MXN", "MXN"), ("EUR", "EUR")] fields['supported_currencies'].initial = result['supported_currencies'] - if result['notes'].lower()=='string1': + if result['notes'][0].lower()=='string1': fields['notes'].choices = [("String1", "String1"),("String2", "String2")] else: fields['notes'].choices = [("String2", "String2"),("String1", "String1")] fields['notes'].initial = result['notes'] - if result['location_categories'].lower()=='atbi': + if result['location_categories'][0].lower()=='atbi': fields['location_categories'].choices = [("ATBI", "ATBI"),("ATBE", "ATBE")] else: fields['location_categories'].choices = [("ATBE", "ATBE"),("ATBI", "ATBI")] @@ -309,48 +308,76 @@ class UpdateAtmsView(LoginRequiredMixin, FormView): data = form.cleaned_data urlpath = '/banks/{}/atms/{}'.format(data["bank_id"],data["atm_id"]) payload = { - #"id": data["atm_id"], + "id": data["atm_id"], "bank_id": data["bank_id"], "name": data["name"], "address": json.loads(data['address']), "location": { - "latitude": float(data["location_latitude"]), - "longitude": float(data["location_longitude"]) + "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": { - "id": data["meta_license_id"], - "name": data["meta_license_name"] + "id": "ODbL-1.0", + "name": data["meta_license_name"] if data["meta_license_name"]!="" else "license name" } }, - "has_deposit_capability": data["has_deposit_capability"], - "accessibility_features": data["accessibility_features"], - "minimum_withdrawal": data["minimum_withdrawal"], - "branch_identification": data["branch_identification"], - "site_identification": data["site_identification"], - "site_name": data["site_name"], - "cash_withdrawal_national_fee": data["cash_withdrawal_national_fee"], - "cash_withdrawal_international_fee": data["cash_withdrawal_international_fee"], - "balance_inquiry_fee": data["balance_inquiry_fee"], - "services": data["services"], - "more_info": data["more_info"], - "located_at": data["located_at"], - "phone_number": data["phone_number"], - "supported_languages": data["supported_languages"], - "supported_currencies": data["supported_currencies"], - "notes": data["notes"], - "location_categories": data["location_categories"] + "monday": { + "opening_time": "", + "closing_time": "" + }, + "tuesday": { + "opening_time": "10:00", + "closing_time": "18:00" + }, + "wednesday": { + "opening_time": "10:00", + "closing_time": "18:00" + }, + "thursday": { + "opening_time": "10:00", + "closing_time": "18:00" + }, + "friday": { + "opening_time": "10:00", + "closing_time": "18:00" + }, + "saturday": { + "opening_time": "10:00", + "closing_time": "18:00" + }, + "sunday": { + "opening_time": "10:00", + "closing_time": "18:00" + }, + "is_accessible": data["is_accessible"] if data["is_accessible"]!="" else "false", + "located_at": data["located_at"] if data["located_at"]!="no-example-provided" else " ", + "more_info": data["more_info"] if data["more_info"]!="" else "false", + "has_deposit_capability": data["has_deposit_capability"] if data["has_deposit_capability"]!="" else "false", + "supported_languages":[data["supported_languages"]], + "services":[data["services"]], + "accessibility_features":[data["accessibility_features"]], + "supported_currencies":[data["supported_currencies"]], + "notes":[data["notes"]], + "location_categories":[data["location_categories"]], + "minimum_withdrawal": data["minimum_withdrawal"] if data["minimum_withdrawal"]!="" else "false", + "branch_identification": data["branch_identification"] if data["branch_identification"]!="" else "false", + "site_identification": data["site_identification"] if data["site_identification"]!="" else "false", + "site_name": data["site_name"] if data["site_name"]!="" else "false", + "cash_withdrawal_national_fee": data["cash_withdrawal_national_fee"] if data["cash_withdrawal_national_fee"]!="" else "false", + "cash_withdrawal_international_fee": data["cash_withdrawal_international_fee"] if data["cash_withdrawal_international_fee"]!="" else "false", + "balance_inquiry_fee": data["balance_inquiry_fee"] if data["balance_inquiry_fee"]!="" else "false", } try: result = self.api.put(urlpath, payload=payload) if 'code' in result and result['code']>=400: - error_once_only(self.request, result['message']) + messages.error(self.request, result['message']) return super(UpdateAtmsView, self).form_invalid(form) except APIError as err: messages.error(self.request, err) return super(UpdateAtmsView, self).form_invalid(form) - except: - messages.error(self.request, "Unknown Error") + except Exception as e: + messages.error(self.request, e) return super(UpdateAtmsView, self).form_invalid(form) msg = 'Atm {} for Bank {} has been created successfully!'.format( # noqa data["atm_id"], data["bank_id"]) diff --git a/apimanager/base/templates/base.html b/apimanager/base/templates/base.html index 4f3fcea..68861ca 100644 --- a/apimanager/base/templates/base.html +++ b/apimanager/base/templates/base.html @@ -2,144 +2,151 @@ - - - - - - - {% block page_title %}API Manager{% endblock page_title %} - - - - - - - {% block extracss %}{% endblock extracss %} - + + + + + + + {% block page_title %} {% trans "API Manager" %}{% endblock page_title %} + + + + + + + {% block extracss %}{% endblock extracss %} + -
- -
- {% if messages %} -
+
{% for message in messages %} - {% endfor %} -
+ + {{ message }} +
+{% endfor %} +
{% endif %} -
-{% block content %}{% endblock content %} +
+ {% block content %}{% endblock content %} + +
- + - - - - - + + + + + {% block extrajs %}{% endblock extrajs %} diff --git a/apimanager/base/templates/home.html b/apimanager/base/templates/home.html index 1dfce03..8e16065 100644 --- a/apimanager/base/templates/home.html +++ b/apimanager/base/templates/home.html @@ -1,70 +1,70 @@ {% extends 'base.html' %} {% load i18n %} {% block content %} -
-

{% trans "Welcome to API Manager" %}

+
+

{% trans "Welcome to API Manager" %}

- -
-

- This app gives you access to management functionality for the sandbox at {{ API_HOST }}. You have to register 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" %} {{ API_HOST }}. {% trans "You have to" %} {% trans "register" %} {% trans "an account before being able to proceed" %}.{% trans "The logged-in user needs to have specific roles granted to use the functionality." %} +

+
{% if not user.is_authenticated %} -
- -
-
- +
+ +
+
+ +
+ +
+ +
+ + {% csrf_token %} +
+ + {{ directlogin_form.username }} +
+
+ + {{ directlogin_form.password }} +
+ + + +
+
+
+ {% csrf_token %} +
+ + {{ gatewaylogin_form.username }} +
+
+ + {{ gatewaylogin_form.secret }} +
+ +
-
- -
-
- {% csrf_token %} -
- - {{ directlogin_form.username }} -
-
- - {{ directlogin_form.password }} -
- - -
-
-
-
- {% csrf_token %} -
- - {{ gatewaylogin_form.username }} -
-
- - {{ gatewaylogin_form.secret }} -
- -
- -
+
{% endif %} -
- {% endblock %} +
+{% endblock %} diff --git a/apimanager/branches/templates/branches/index.html b/apimanager/branches/templates/branches/index.html index a00c239..175bb52 100644 --- a/apimanager/branches/templates/branches/index.html +++ b/apimanager/branches/templates/branches/index.html @@ -1,11 +1,12 @@ {% extends 'base.html' %} {% load static %} +{% load i18n %} {% block page_title %}{{ block.super }} / Branches{% endblock page_title %} {% block content %}
-

Branches

+

{% trans "Branches" %}

{% csrf_token %} @@ -14,26 +15,25 @@ {{ form.non_field_errors }}
{% endif %} -
{% if form.branch_id.errors %}
{{ form.branch_id.errors }}
{% endif %}
- {{ form.branch_id.label_tag }} + {% trans "Branch_Id" %} {{ form.branch_id }}
{% if form.bank_id.errors %}
{{ form.bank_id.errors }}
{% endif %}
- {{ form.bank_id.label_tag }} + {% trans "bank_id" %} {{ form.bank_id }}
{% if form.name.errors %}
{{ form.name.errors }}
{% endif %}
- {{ form.name.label_tag }} + {% trans "name" %} {{ form.name }}
@@ -43,21 +43,21 @@
{% if form.branch_type.errors %}
{{ form.branch_type.errors }}
{% endif %}
- {{ form.branch_type.label_tag }} + {% trans "branch_type" %} {{ form.branch_type }}
{% if form.location_latitude.errors %}
{{ form.location_latitude.errors }}
{% endif %}
- {{ form.location_latitude.label_tag }} + {% trans "location_latitude" %} {{ form.location_latitude }}
{% if form.location_longitude.errors %}
{{ form.location_longitude.errors }}
{% endif %}
- {{ form.location_longitude.label_tag }} + {% trans "location_longitude" %} {{ form.location_longitude }}
@@ -67,21 +67,21 @@
{% if form.meta_license_name.errors %}
{{ form.meta_license_name.errors }}
{% endif %}
- {{ form.meta_license_name.label_tag }} + {% trans "meta_license_name" %} {{ form.meta_license_name }}
{% if form.branch_routing_scheme.errors %}
{{ form.branch_routing_scheme.errors }}
{% endif %}
- {{ form.branch_routing_scheme.label_tag }} + {% trans "branch_routing_scheme" %} {{ form.branch_routing_scheme }}
{% if form.branch_routing_address.errors %}
{{ form.branch_routing_address.errors }}
{% endif %}
- {{ form.branch_routing_address.label_tag }} + {% trans "branch_routing_address" %} {{ form.branch_routing_address }}
@@ -91,21 +91,21 @@
{% if form.is_accessible.errors %}
{{ form.is_accessible.errors }}
{% endif %}
- {{ form.is_accessible.label_tag }} + {% trans "is_accessible" %} {{ form.is_accessible }}
{% if form.accessibleFeatures.errors %}
{{ form.accessibleFeatures.errors }}
{% endif %}
- {{ form.accessibleFeatures.label_tag }} + {% trans "accessibleFeatures" %} {{ form.accessibleFeatures }}
{% if form.more_info.errors %}
{{ form.more_info.errors }}
{% endif %}
- {{ form.more_info.label_tag }} + {% trans "more_info" %} {{ form.more_info }}
@@ -115,7 +115,7 @@
{% if form.phone_number.errors %}
{{ form.phone_number.errors }}
{% endif %}
- {{ form.phone_number.label_tag }} + {% trans "phone_number" %} {{ form.phone_number }}
@@ -125,21 +125,21 @@
{% if form.address.errors %}
{{ form.address.errors }}
{% endif %}
- {{ form.address.label_tag }} + {% trans "address" %} {{ form.address }}
{% if form.lobby.errors %}
{{ form.lobby.errors }}
{% endif %}
- {{ form.lobby.label_tag }} + {% trans "lobby" %} {{ form.lobby }}
{% if form.drive_up.errors %}
{{ form.drive_up.errors }}
{% endif %}
- {{ form.drive_up.label_tag }} + {% trans "drive_up" %} {{ form.drive_up }}
@@ -148,7 +148,7 @@
@@ -157,11 +157,11 @@
- - - - - + + + + + {% for branch in branches_list %} @@ -173,40 +173,40 @@ diff --git a/apimanager/branches/views.py b/apimanager/branches/views.py index 8013e8f..f3d5cc2 100644 --- a/apimanager/branches/views.py +++ b/apimanager/branches/views.py @@ -234,7 +234,6 @@ class UpdateBranchesView(LoginRequiredMixin, FormView): urlpath = "/banks/{}/branches/{}".format(self.kwargs['bank_id'], self.kwargs['branch_id']) try: fields['bank_id'].choices = self.api.get_bank_id_choices() - except APIError as err: messages.error(self.request, err) except: @@ -265,9 +264,7 @@ class UpdateBranchesView(LoginRequiredMixin, FormView): messages.error(self.request, err) except Exception as err: messages.error(self.request, "Unknown Error {}".format(err)) - return form - def form_valid(self, form): data = form.cleaned_data urlpath = '/banks/{}/branches/{}'.format(data["bank_id"], data["branch_id"]) diff --git a/apimanager/consumers/templates/consumers/includes/filter_apptype.html b/apimanager/consumers/templates/consumers/includes/filter_apptype.html index cd9adc1..49aed8c 100644 --- a/apimanager/consumers/templates/consumers/includes/filter_apptype.html +++ b/apimanager/consumers/templates/consumers/includes/filter_apptype.html @@ -1,3 +1,4 @@ -Web -Mobile -All +{% load i18n %} +{% trans "Web" %} +{% trans "Mobile" %} +{% trans "All" %} diff --git a/apimanager/consumers/templates/consumers/includes/filter_enabled.html b/apimanager/consumers/templates/consumers/includes/filter_enabled.html index c00f4fe..673afa8 100644 --- a/apimanager/consumers/templates/consumers/includes/filter_enabled.html +++ b/apimanager/consumers/templates/consumers/includes/filter_enabled.html @@ -1,3 +1,4 @@ -Enabled -Disabled -All +{% load i18n %} +{% trans "Enabled" %} +{% trans "Disabled" %} +{% trans "All" %} diff --git a/apimanager/consumers/templates/consumers/includes/filter_time.html b/apimanager/consumers/templates/consumers/includes/filter_time.html index 3ffddb2..426a9ef 100644 --- a/apimanager/consumers/templates/consumers/includes/filter_time.html +++ b/apimanager/consumers/templates/consumers/includes/filter_time.html @@ -1,6 +1,7 @@ -Last Hour -Last Day -Last Week -Last Month -Last Year -All +{% load i18n %} +{% trans "Last Hour" %} +{% trans "Last Day" %} +{% trans "Last Week" %} +{% trans "Last Month" %} +{% trans "Last Year" %} +{% trans "All" %} diff --git a/apimanager/consumers/templates/consumers/index.html b/apimanager/consumers/templates/consumers/index.html index bcaad52..b5a8c23 100644 --- a/apimanager/consumers/templates/consumers/index.html +++ b/apimanager/consumers/templates/consumers/index.html @@ -1,11 +1,13 @@ {% extends 'base.html' %} +{% load i18n %} + {% load humanize static %} {% block page_title %}{{ block.super }} / Consumers{% endblock page_title %} {% block content %}
-

Consumers

+

{% trans "Consumers" %}

@@ -42,21 +44,21 @@
-

Statistics

+

{% trans "Statistics" %}

    -
  • Total number of consumers: {{ statistics.consumers_num }}
  • -
  • Total number of unique developer email addresses: {{ statistics.unique_developer_email_num }}
  • -
  • Total number of unique consumer names: {{ statistics.unique_name_num }}
  • +
  • {% trans "Total number of consumers" %}: {{ statistics.consumers_num }}
  • +
  • {% trans "Total number of unique developer email addresses" %}: {{ statistics.unique_developer_email_num }}
  • +
  • {% trans "Total number of unique consumer names" %}: {{ statistics.unique_name_num }}
Branch IdBank IdBranch NameMore_infoUpdate Button{% trans "Branch Id" %}{% trans "Bank Id" %}{% trans "Branch Name" %}{% trans "More_info" %}{% trans "Update Button" %}
    -
  • Address: +
  • {% trans "Address" %}:
      -
    • line1: {{branch.address.line_1}}
    • -
    • line2: {{branch.address.line_2}}
    • -
    • line3: {{branch.address.line_3}}
    • -
    • city: {{branch.address.city}}
    • -
    • county: {{branch.address.county}}
    • -
    • state: {{branch.address.state}}
    • -
    • postcode: {{branch.address.postcode}}
    • -
    • country_code: {{branch.address.country_code}}
    • +
    • {% trans "line1" %}: {{branch.address.line_1}}
    • +
    • {% trans "line2" %}: {{branch.address.line_2}}
    • +
    • {% trans "line3" %}: {{branch.address.line_3}}
    • +
    • {% trans "city" %}: {{branch.address.city}}
    • +
    • {% trans "county" %}: {{branch.address.county}}
    • +
    • {% trans "state" %}: {{branch.address.state}}
    • +
    • {% trans "postcode" %}: {{branch.address.postcode}}
    • +
    • {% trans "country_code" %}: {{branch.address.country_code}}
  • -
  • Location: +
  • {% trans "Location" %}:
      -
    • latitude: {{branch.location.latitude}}
    • -
    • longitude: {{branch.location.longitude}}
    • +
    • {% trans "latitude" %}: {{branch.location.latitude}}
    • +
    • {% trans "longitude" %}: {{branch.location.longitude}}
  • -
  • Meta License: +
  • {% trans "Meta License" %}:
      -
    • id: {{branch.meta.license.id}}
    • -
    • name: {{branch.meta.license.name}}
    • +
    • {% trans "id" %}: {{branch.meta.license.id}}
    • +
    • {% trans "name" %}: {{branch.meta.license.name}}
  • -
  • Branch Routing +
  • {% trans "Branch Routing" %}
      -
    • Scheme: {{branch.branch_routing.scheme}}
    • -
    • Address: {{branch.branch_routing.address}}
    • +
    • {% trans "Scheme" %}: {{branch.branch_routing.scheme}}
    • +
    • {% trans "Address" %}: {{branch.branch_routing.address}}
  • -
  • Branch Type: {{branch.branch_type}}
  • -
  • More Info: {{branch.more_info}}
  • -
  • Phone Number: {{branch.phone_number}}
  • -
  • Accessible Features: {{branch.accessibleFeatures}}
  • +
  • {% trans "Branch Type" %}: {{branch.branch_type}}
  • +
  • {% trans "More Info" %}: {{branch.more_info}}
  • +
  • {% trans "Phone Number" %}: {{branch.phone_number}}
  • +
  • {% trans "Accessible Features" %}: {{branch.accessibleFeatures}}
- - - - - + + + + + diff --git a/apimanager/customers/templates/customers/create.html b/apimanager/customers/templates/customers/create.html index 991c31d..1eaf1a3 100644 --- a/apimanager/customers/templates/customers/create.html +++ b/apimanager/customers/templates/customers/create.html @@ -1,12 +1,13 @@ {% extends 'base.html' %} {% load static %} +{% load i18n %} {% block page_title %}{{ block.super }} / Customers{% endblock page_title %} {% block content %}
-

Create Customer

+

{% trans "Create Customer" %}

{% csrf_token %} @@ -20,21 +21,21 @@
{% if form.bank_id.errors %}
{{ form.bank_id.errors }}
{% endif %}
- {{ form.bank_id.label_tag }} + {% trans "bank_id" %} {{ form.bank_id }}
{% if form.username.errors %}
{{ form.username.errors }}
{% endif %}
- {{ form.username.label_tag }} + {% trans "username" %} {{ form.username }}
{% if form.customer_number.errors %}
{{ form.customer_number.errors }}
{% endif %}
- {{ form.customer_number.label_tag }} + {% trans "customer_number" %} {{ form.customer_number }}
@@ -44,21 +45,21 @@
{% if form.legal_name.errors %}
{{ form.legal_name.errors }}
{% endif %}
- {{ form.legal_name.label_tag }} + {% trans "legal_name" %} {{ form.legal_name }}
{% if form.mobile_phone_number.errors %}
{{ form.mobile_phone_number.errors }}
{% endif %}
- {{ form.mobile_phone_number.label_tag }} + {% trans "mobile_phone_number" %} {{ form.mobile_phone_number }}
{% if form.email.errors %}
{{ form.email.errors }}
{% endif %}
- {{ form.email.label_tag }} + {% trans "email" %} {{ form.email }}
@@ -68,14 +69,14 @@
{% if form.face_image_url.errors %}
{{ form.face_image_url.errors }}
{% endif %}
- {{ form.face_image_url.label_tag }} + {% trans "face_image_url" %} {{ form.face_image_url }}
{% if form.face_image_date.errors %}
{{ form.face_image_date.errors }}
{% endif %}
- {{ form.face_image_date.label_tag }} + {% trans "face_image_date" %} {{ form.face_image_date }}
@@ -85,14 +86,14 @@
{% if form.date_of_birth.errors %}
{{ form.date_of_birth.errors }}
{% endif %}
- {{ form.date_of_birth.label_tag }} + {% trans "date_of_birth" %} {{ form.date_of_birth }}
{% if form.relationship_status.errors %}
{{ form.relationship_status.errors }}
{% endif %}
- {{ form.relationship_status.label_tag }} + {% trans "relationship_status" %} {{ form.relationship_status }}
@@ -102,14 +103,14 @@
{% if form.dependants.errors %}
{{ form.dependants.errors }}
{% endif %}
- {{ form.dependants.label_tag }} + {% trans "dependants" %} {{ form.dependants }}
{% if form.dob_of_dependants.errors %}
{{ form.dob_of_dependants.errors }}
{% endif %}
- {{ form.dob_of_dependants.label_tag }} + {% trans "dob_of_dependants" %} {{ form.dob_of_dependants }}
@@ -119,14 +120,14 @@
{% if form.credit_rating_rating.errors %}
{{ form.credit_rating_rating.errors }}
{% endif %}
- {{ form.credit_rating_rating.label_tag }} + {% trans "credit_rating_rating" %} {{ form.credit_rating_rating }}
{% if form.credit_rating_source.errors %}
{{ form.credit_rating_source.errors }}
{% endif %}
- {{ form.credit_rating_source.label_tag }} + {% trans "credit_rating_source" %} {{ form.credit_rating_source }}
@@ -134,14 +135,14 @@
{% if form.credit_limit_currency.errors %}
{{ form.credit_limit_currency.errors }}
{% endif %}
- {{ form.credit_limit_currency.label_tag }} + {% trans "credit_limit_currency" %} {{ form.credit_limit_currency }}
{% if form.credit_limit_amount.errors %}
{{ form.credit_limit_amount.errors }}
{% endif %}
- {{ form.credit_limit_amount.label_tag }} + {% trans "credit_limit_amount" %} {{ form.credit_limit_amount }}
@@ -151,14 +152,14 @@
{% if form.highest_education_attained.errors %}
{{ form.highest_education_attained.errors }}
{% endif %}
- {{ form.highest_education_attained.label_tag }} + {% trans "highest_education_attained" %} {{ form.highest_education_attained }}
{% if form.employment_status.errors %}
{{ form.employment_status.errors }}
{% endif %}
- {{ form.employment_status.label_tag }} + {% trans "employment_status" %} {{ form.employment_status }}
@@ -168,14 +169,14 @@
{% if form.kyc_status.errors %}
{{ form.kyc_status.errors }}
{% endif %}
- {{ form.kyc_status.label_tag }} + {% trans "kyc_status" %} {{ form.kyc_status }}
{% if form.last_ok_date.errors %}
{{ form.last_ok_date.errors }}
{% endif %}
- {{ form.last_ok_date.label_tag }} + {% trans "last_ok_date" %} {{ form.last_ok_date }}
diff --git a/apimanager/entitlementrequests/templates/entitlementrequests/includes/filter_time.html b/apimanager/entitlementrequests/templates/entitlementrequests/includes/filter_time.html index 4b83aaa..fa039ee 100644 --- a/apimanager/entitlementrequests/templates/entitlementrequests/includes/filter_time.html +++ b/apimanager/entitlementrequests/templates/entitlementrequests/includes/filter_time.html @@ -1,6 +1,7 @@ -Last Hour -Last Day -Last Week -Last Month -Last Year -All +{% load i18n %} +{% trans "Last Hour" %} +{% trans "Last Day" %} +{% trans "Last Week" %} +{% trans "Last Month" %} +{% trans "Last Year" %} +{% trans "All" %} diff --git a/apimanager/entitlementrequests/templates/entitlementrequests/index.html b/apimanager/entitlementrequests/templates/entitlementrequests/index.html index 9671b95..a71dd7c 100644 --- a/apimanager/entitlementrequests/templates/entitlementrequests/index.html +++ b/apimanager/entitlementrequests/templates/entitlementrequests/index.html @@ -1,11 +1,11 @@ {% extends 'base.html' %} {% load humanize static %} - +{% load i18n %} {% block page_title %}{{ block.super }} / Entitlement Requests {% endblock page_title %} {% block content %}
-

Entitlement Requests

+

{% trans "Entitlement Requests" %}

@@ -24,12 +24,12 @@
IDNameDescriptionCreatedAction{% trans "ID" %}{% trans "Name" %}{% trans "Description" %}{% trans "Created" %}{% trans "Action" %}
- - - - - - + + + + + + diff --git a/apimanager/locale/any/de/LC_MESSAGES/django.mo b/apimanager/locale/any/de/LC_MESSAGES/django.mo new file mode 100644 index 0000000..b614195 Binary files /dev/null and b/apimanager/locale/any/de/LC_MESSAGES/django.mo differ diff --git a/apimanager/locale/any/de/LC_MESSAGES/django.po b/apimanager/locale/any/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..08705b0 --- /dev/null +++ b/apimanager/locale/any/de/LC_MESSAGES/django.po @@ -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 , 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 \n" +"Language-Team: LANGUAGE \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" diff --git a/apimanager/locale/any/es/LC_MESSAGES/django.mo b/apimanager/locale/any/es/LC_MESSAGES/django.mo new file mode 100644 index 0000000..e8ada8f Binary files /dev/null and b/apimanager/locale/any/es/LC_MESSAGES/django.mo differ diff --git a/apimanager/locale/any/es/LC_MESSAGES/django.po b/apimanager/locale/any/es/LC_MESSAGES/django.po new file mode 100644 index 0000000..f53f730 --- /dev/null +++ b/apimanager/locale/any/es/LC_MESSAGES/django.po @@ -0,0 +1,1185 @@ +# 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 , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-27 10:03+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \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 "Cajeros automáticos" + +#: atms/templates/atms/index.html:17 atms/templates/atms/index.html:222 +msgid "ATM Id" +msgstr "Identificación del cajero automático" + +#: atms/templates/atms/index.html:24 atms/templates/atms/index.html:223 +#: branches/templates/branches/index.html:161 +#: users/templates/users/detail.html:99 +msgid "Bank Id" +msgstr "identificación del banco" + +#: atms/templates/atms/index.html:31 branches/templates/branches/index.html:36 +#: branches/templates/branches/index.html:197 +msgid "name" +msgstr "nombre" + +#: atms/templates/atms/index.html:40 +msgid "services" +msgstr "servicios" + +#: atms/templates/atms/index.html:48 branches/templates/branches/index.html:53 +msgid "location_latitude" +msgstr "ubicación_latitud" + +#: atms/templates/atms/index.html:56 branches/templates/branches/index.html:60 +msgid "location_longitude" +msgstr "ubicación longitud" + +#: atms/templates/atms/index.html:66 branches/templates/branches/index.html:70 +msgid "meta_license_name" +msgstr "nombre de la metalicencia" + +#: atms/templates/atms/index.html:73 +msgid "located_at" +msgstr "situado en" + +#: atms/templates/atms/index.html:80 +msgid "has_deposit_capability" +msgstr "tiene_capacidad_depósito" + +#: atms/templates/atms/index.html:90 branches/templates/branches/index.html:94 +msgid "is_accessible" +msgstr "es_accesible" + +#: atms/templates/atms/index.html:98 +msgid "accessibility_features" +msgstr "funciones de accesibilidad" + +#: atms/templates/atms/index.html:105 +#: branches/templates/branches/index.html:108 +msgid "more_info" +msgstr "más información" + +#: atms/templates/atms/index.html:114 +msgid "notes" +msgstr "notas" + +#: atms/templates/atms/index.html:121 +msgid "supported_languages" +msgstr "idiomas soportados" + +#: atms/templates/atms/index.html:128 +msgid "supported_currencies" +msgstr "monedas admitidas" + +#: atms/templates/atms/index.html:137 +msgid "location_categories" +msgstr "categorías_de_ubicación" + +#: atms/templates/atms/index.html:145 +msgid "minimum_withdrawal" +msgstr "retiro mínimo" + +#: atms/templates/atms/index.html:152 +msgid "site_name" +msgstr "nombre del sitio" + +#: atms/templates/atms/index.html:161 +msgid "branch_identification" +msgstr "sucursal_identificación" + +#: atms/templates/atms/index.html:168 +msgid "site_identification" +msgstr "identificación_del_sitio" + +#: atms/templates/atms/index.html:173 +msgid "cash_withdrawal_national_fee" +msgstr "tasa nacional retirada de efectivo" + +#: atms/templates/atms/index.html:183 +msgid "balance_inquiry_fee" +msgstr "tarifa de consulta de saldo" + +#: atms/templates/atms/index.html:190 +msgid "cash_withdrawal_international_fee" +msgstr "retiro de efectivo tarifa_internacional" + +#: atms/templates/atms/index.html:199 +#: branches/templates/branches/index.html:128 +msgid "address" +msgstr "dirección" + +#: atms/templates/atms/index.html:206 +#: branches/templates/branches/index.html:135 +msgid "lobby" +msgstr "vestíbulo" + +#: atms/templates/atms/index.html:224 +msgid "ATM Name" +msgstr "Nombre del cajero automático" + +#: atms/templates/atms/index.html:225 +msgid "More info" +msgstr "Más información" + +#: atms/templates/atms/index.html:226 +#: branches/templates/branches/index.html:164 +msgid "Update Button" +msgstr "Botón Actualizar" + +#: base/templates/base.html:11 +msgid "API Manager" +msgstr "Administrador de API" + +#: base/templates/base.html:48 +msgid "Home" +msgstr "Casa" + +#: base/templates/base.html:50 consumers/templates/consumers/index.html:10 +msgid "Consumers" +msgstr "Consumidoras" + +#: base/templates/base.html:52 +#: entitlementrequests/templates/entitlementrequests/index.html:8 +msgid "Entitlement Requests" +msgstr "Solicitudes de derechos" + +#: base/templates/base.html:57 users/templates/users/index.html:8 +msgid "Users" +msgstr "Usuarias" + +#: base/templates/base.html:59 +#: consumers/templates/consumers/includes/filter_apptype.html:4 +#: consumers/templates/consumers/includes/filter_enabled.html:4 +#: consumers/templates/consumers/includes/filter_time.html:7 +#: entitlementrequests/templates/entitlementrequests/includes/filter_time.html:7 +msgid "All" +msgstr "Todos" + +#: base/templates/base.html:60 +msgid "My User" +msgstr "Mi usuaria" + +#: base/templates/base.html:61 users/templates/users/invitation.html:8 +msgid "Invite Developer" +msgstr "Invitar a desarrollador" + +#: base/templates/base.html:68 +msgid "Metrics" +msgstr "Métrica" + +#: base/templates/base.html:70 metrics/templates/metrics/api.html:9 +msgid "API Metrics" +msgstr "Métricas de la API" + +#: base/templates/base.html:71 metrics/templates/metrics/connector.html:9 +msgid "Connector Metrics" +msgstr "Métricas del conector" + +#: base/templates/base.html:72 +msgid "KPI Dashboard" +msgstr "Panel de KPI" + +#: base/templates/base.html:79 +msgid "Resources" +msgstr "Recursos" + +#: base/templates/base.html:81 +msgid "Customers" +msgstr "Clientes" + +#: base/templates/base.html:82 branches/templates/branches/index.html:9 +msgid "Branches" +msgstr "Sucursales" + +#: base/templates/base.html:92 +msgid "Configurations" +msgstr "Configuraciones" + +#: base/templates/base.html:94 +msgid "Config" +msgstr "Configuración" + +#: base/templates/base.html:95 +msgid "Webui Props" +msgstr "Accesorios webui" + +#: base/templates/base.html:96 +msgid "Method Routings" +msgstr "Enrutamiento de métodos" + +#: base/templates/base.html:97 +msgid "Dynamic Endpoints" +msgstr "Puntos finales dinámicos" + +#: base/templates/base.html:98 +msgid "My API Collections" +msgstr "Mis colecciones de API" + +#: base/templates/home.html:5 +msgid "Welcome to API Manager" +msgstr "Bienvenido al Administrador de API" + +#: base/templates/home.html:10 +msgid "" +"This app gives you access to management functionality for the sandbox at" +msgstr "" +"Esta aplicación le brinda acceso a la funcionalidad de administración para " +"el sandbox en" + +#: base/templates/home.html:10 +msgid "You have to" +msgstr "Tienes que" + +#: base/templates/home.html:10 +msgid "register" +msgstr "Registrarse" + +#: base/templates/home.html:10 +msgid "" +"an account before being able to proceed. The logged-in user needs to have " +"specific roles granted to use the functionality." +msgstr "" +"una cuenta antes de poder continuar. El usuario registrado debe tener. roles " +"específicos otorgados para usar la funcionalidad" + +#: branches/templates/branches/index.html:22 +#, fuzzy +#| msgid "Branches" +msgid "Branch_Id" +msgstr "Sucursales" + +#: branches/templates/branches/index.html:29 +#: users/templates/users/detail.html:75 +#: users/templates/users/invitation.html:22 +msgid "bank_id" +msgstr "id_banco" + +#: branches/templates/branches/index.html:46 +#, fuzzy +#| msgid "Branches" +msgid "branch_type" +msgstr "Sucursales" + +#: branches/templates/branches/index.html:77 +msgid "branch_routing_scheme" +msgstr "esquema de enrutamiento de sucursales" + +#: branches/templates/branches/index.html:84 +msgid "branch_routing_address" +msgstr "dirección_enrutamiento_sucursal" + +#: branches/templates/branches/index.html:101 +#, fuzzy +#| msgid "accessibility_features" +msgid "accessibleFeatures" +msgstr "funciones de accesibilidad" + +#: branches/templates/branches/index.html:118 +msgid "phone_number" +msgstr "número de teléfono" + +#: branches/templates/branches/index.html:142 +msgid "drive_up" +msgstr "subir" + +#: branches/templates/branches/index.html:151 +#: users/templates/users/detail.html:83 users/templates/users/detail.html:88 +msgid "Add" +msgstr "Agregar" + +#: branches/templates/branches/index.html:160 +#, fuzzy +#| msgid "Branches" +msgid "Branch Id" +msgstr "Sucursales" + +#: branches/templates/branches/index.html:162 +#, fuzzy +#| msgid "Branches" +msgid "Branch Name" +msgstr "Sucursales" + +#: branches/templates/branches/index.html:163 +#, fuzzy +#| msgid "more_info" +msgid "More_info" +msgstr "más información" + +#: branches/templates/branches/index.html:176 +#: branches/templates/branches/index.html:203 +#, fuzzy +#| msgid "address" +msgid "Address" +msgstr "dirección" + +#: branches/templates/branches/index.html:178 +msgid "line1" +msgstr "línea 1" + +#: branches/templates/branches/index.html:179 +msgid "line2" +msgstr "línea 2" + +#: branches/templates/branches/index.html:180 +msgid "line3" +msgstr "línea 3" + +#: branches/templates/branches/index.html:181 +msgid "city" +msgstr "ciudad" + +#: branches/templates/branches/index.html:182 +#, fuzzy +#| msgid "country" +msgid "county" +msgstr "países" + +#: branches/templates/branches/index.html:183 +#, fuzzy +#| msgid "status" +msgid "state" +msgstr "estado" + +#: branches/templates/branches/index.html:184 +msgid "postcode" +msgstr "código postal" + +#: branches/templates/branches/index.html:185 +#, fuzzy +#| msgid "country" +msgid "country_code" +msgstr "países" + +#: branches/templates/branches/index.html:188 +#, fuzzy +#| msgid "Action" +msgid "Location" +msgstr "Acción" + +#: branches/templates/branches/index.html:190 +#, fuzzy +#| msgid "location_latitude" +msgid "latitude" +msgstr "ubicación_latitud" + +#: branches/templates/branches/index.html:191 +#, fuzzy +#| msgid "location_longitude" +msgid "longitude" +msgstr "ubicación longitud" + +#: branches/templates/branches/index.html:194 +#, fuzzy +#| msgid "meta_license_name" +msgid "Meta License" +msgstr "nombre de la metalicencia" + +#: branches/templates/branches/index.html:196 +msgid "id" +msgstr "identificación" + +#: branches/templates/branches/index.html:200 +#, fuzzy +#| msgid "Method Routings" +msgid "Branch Routing" +msgstr "Enrutamiento de métodos" + +#: branches/templates/branches/index.html:202 +msgid "Scheme" +msgstr "Esquema" + +#: branches/templates/branches/index.html:206 +#, fuzzy +#| msgid "Branches" +msgid "Branch Type" +msgstr "Sucursales" + +#: branches/templates/branches/index.html:207 +#, fuzzy +#| msgid "More info" +msgid "More Info" +msgstr "Más información" + +#: branches/templates/branches/index.html:208 +msgid "Phone Number" +msgstr "Número de teléfono" + +#: branches/templates/branches/index.html:209 +#, fuzzy +#| msgid "accessibility_features" +msgid "Accessible Features" +msgstr "funciones de accesibilidad" + +#: consumers/templates/consumers/includes/filter_apptype.html:2 +msgid "Web" +msgstr "Web" + +#: consumers/templates/consumers/includes/filter_apptype.html:3 +msgid "Mobile" +msgstr "Móvil" + +#: consumers/templates/consumers/includes/filter_enabled.html:2 +msgid "Enabled" +msgstr "Activada" + +#: consumers/templates/consumers/includes/filter_enabled.html:3 +msgid "Disabled" +msgstr "Desactivada" + +#: consumers/templates/consumers/includes/filter_time.html:2 +#: entitlementrequests/templates/entitlementrequests/includes/filter_time.html:2 +msgid "Last Hour" +msgstr "Ultima hora" + +#: consumers/templates/consumers/includes/filter_time.html:3 +#: entitlementrequests/templates/entitlementrequests/includes/filter_time.html:3 +msgid "Last Day" +msgstr "Último día" + +#: consumers/templates/consumers/includes/filter_time.html:4 +#: entitlementrequests/templates/entitlementrequests/includes/filter_time.html:4 +msgid "Last Week" +msgstr "Semana Pasada" + +#: consumers/templates/consumers/includes/filter_time.html:5 +#: entitlementrequests/templates/entitlementrequests/includes/filter_time.html:5 +msgid "Last Month" +msgstr "El mes pasado" + +#: consumers/templates/consumers/includes/filter_time.html:6 +#: entitlementrequests/templates/entitlementrequests/includes/filter_time.html:6 +msgid "Last Year" +msgstr "El año pasado" + +#: consumers/templates/consumers/index.html:47 +#: users/templates/users/index.html:49 +msgid "Statistics" +msgstr "Estadísticas" + +#: consumers/templates/consumers/index.html:49 +msgid "Total number of consumers" +msgstr "Número total de consumidoras" + +#: consumers/templates/consumers/index.html:50 +msgid "Total number of unique developer email addresses" +msgstr "" +"Número total de direcciones de correo electrónico de desarrolladores únicas" + +#: consumers/templates/consumers/index.html:51 +msgid "Total number of unique consumer names" +msgstr "Número total de nombres de consumidores únicos" + +#: consumers/templates/consumers/index.html:57 +msgid "ID" +msgstr "IDENTIFICACIÓN" + +#: consumers/templates/consumers/index.html:58 +msgid "Name" +msgstr "Nombre" + +#: consumers/templates/consumers/index.html:59 +msgid "Description" +msgstr "Descripción" + +#: consumers/templates/consumers/index.html:60 +#: entitlementrequests/templates/entitlementrequests/index.html:30 +msgid "Created" +msgstr "Creado" + +#: consumers/templates/consumers/index.html:61 +#: entitlementrequests/templates/entitlementrequests/index.html:31 +#: entitlementrequests/templates/entitlementrequests/index.html:32 +#: users/templates/users/detail.html:100 users/templates/users/index.html:60 +msgid "Action" +msgstr "Acción" + +#: entitlementrequests/templates/entitlementrequests/index.html:27 +msgid "Role Name" +msgstr "Nombre de rol" + +#: entitlementrequests/templates/entitlementrequests/index.html:28 +msgid "User name" +msgstr "Nombre de usuario" + +#: entitlementrequests/templates/entitlementrequests/index.html:29 +msgid "Bank ID" +msgstr "identificación del banco" + +#: metrics/templates/metrics/api.html:12 +#: metrics/templates/metrics/connector.html:12 +#: metrics/templates/metrics/custom_summary.html:38 +#: metrics/templates/metrics/daily_summary.html:37 +#: metrics/templates/metrics/hourly_summary.html:35 +#: metrics/templates/metrics/monthly_summary.html:38 +#: metrics/templates/metrics/quarterly_summary.html:36 +#: metrics/templates/metrics/yearly_summary.html:38 +#, fuzzy +#| msgid "Filters" +msgid "Filter" +msgstr "Filtros" + +#: metrics/templates/metrics/api.html:24 +#: metrics/templates/metrics/connector.html:24 +msgid "from_date" +msgstr "partir de la fecha" + +#: metrics/templates/metrics/api.html:31 +#: metrics/templates/metrics/connector.html:31 +#: metrics/templates/metrics/custom_summary.html:57 +#: metrics/templates/metrics/daily_summary.html:50 +#: metrics/templates/metrics/hourly_summary.html:48 +msgid "to_date" +msgstr "hasta la fecha" + +#: metrics/templates/metrics/api.html:38 +#: metrics/templates/metrics/connector.html:38 +msgid "limit" +msgstr "límite" + +#: metrics/templates/metrics/api.html:45 +#: metrics/templates/metrics/connector.html:45 +msgid "offset" +msgstr "compensar" + +#: metrics/templates/metrics/api.html:55 +#, fuzzy +#| msgid "Consumers" +msgid "consumer_id" +msgstr "Consumidoras" + +#: metrics/templates/metrics/api.html:63 +msgid "user_id" +msgstr "id_usuario" + +#: metrics/templates/metrics/api.html:71 +msgid "anon" +msgstr "luego" + +#: metrics/templates/metrics/api.html:79 +#, fuzzy +#| msgid "site_name" +msgid "app_name" +msgstr "nombre del sitio" + +#: metrics/templates/metrics/api.html:90 +msgid "verb" +msgstr "verbo" + +#: metrics/templates/metrics/api.html:98 +msgid "url" +msgstr "URL" + +#: metrics/templates/metrics/api.html:108 +#, fuzzy +#| msgid "Implemented by Partial Function" +msgid "implemented_by_partial_function" +msgstr "Implementado por función parcial" + +#: metrics/templates/metrics/api.html:116 +#, fuzzy +#| msgid "Implemented In Version" +msgid "implemented in version" +msgstr "Implementado en la versión" + +#: metrics/templates/metrics/api.html:123 +#: metrics/templates/metrics/connector.html:75 +#: metrics/templates/metrics/custom_summary.html:69 +#: metrics/templates/metrics/daily_summary.html:62 +#: metrics/templates/metrics/hourly_summary.html:60 +#: metrics/templates/metrics/monthly_summary.html:72 +#: metrics/templates/metrics/quarterly_summary.html:61 +#: metrics/templates/metrics/weekly_summary.html:62 +#: metrics/templates/metrics/yearly_summary.html:63 +#, fuzzy +#| msgid "Update Button" +msgid "Update filter" +msgstr "Botón Actualizar" + +#: metrics/templates/metrics/api.html:130 +#: metrics/templates/metrics/api_summary_partial_function.html:6 +msgid "List" +msgstr "Lista" + +#: metrics/templates/metrics/api.html:131 +#: metrics/templates/metrics/api_summary_partial_function.html:7 +msgid "Summary by Partial Function" +msgstr "Resumen por función parcial" + +#: metrics/templates/metrics/api.html:143 +msgid "Verb" +msgstr "Verbo" + +#: metrics/templates/metrics/api.html:144 +msgid "URL" +msgstr "URL" + +#: metrics/templates/metrics/api.html:145 +#: metrics/templates/metrics/connector.html:86 +msgid "Date" +msgstr "Fecha" + +#: metrics/templates/metrics/api.html:146 +#, fuzzy +#| msgid "Configurations" +msgid "Duration(ms)" +msgstr "Configuraciones" + +#: metrics/templates/metrics/api.html:147 +msgid "Details" +msgstr "Detalles" + +#: metrics/templates/metrics/api.html:162 +#, fuzzy +#| msgid "User name" +msgid "User Name" +msgstr "Nombre de usuario" + +#: metrics/templates/metrics/api.html:163 users/templates/users/detail.html:11 +msgid "User ID" +msgstr "Identificación de usuario" + +#: metrics/templates/metrics/api.html:164 +msgid "Developer Email" +msgstr "Correo electrónico del desarrollador" + +#: metrics/templates/metrics/api.html:165 +#, fuzzy +#| msgid "ATM Name" +msgid "App Name" +msgstr "Nombre del cajero automático" + +#: metrics/templates/metrics/api.html:166 +#, fuzzy +#| msgid "Consumers" +msgid "Consumer ID" +msgstr "Consumidoras" + +#: metrics/templates/metrics/api.html:167 +msgid "Implemented by Partial Function" +msgstr "Implementado por función parcial" + +#: metrics/templates/metrics/api.html:168 +msgid "Implemented In Version" +msgstr "Implementado en la versión" + +#: metrics/templates/metrics/connector.html:55 +#, fuzzy +#| msgid "Connector Metrics" +msgid "connector_name" +msgstr "Métricas del conector" + +#: metrics/templates/metrics/connector.html:62 +#, fuzzy +#| msgid "First Name" +msgid "function_name" +msgstr "Nombre" + +#: metrics/templates/metrics/connector.html:69 +#, fuzzy +#| msgid "Correlation ID" +msgid "correlation_id" +msgstr "ID de correlación" + +#: metrics/templates/metrics/connector.html:87 +#, fuzzy +#| msgid "Connector Metrics" +msgid "Connector Name" +msgstr "Métricas del conector" + +#: metrics/templates/metrics/connector.html:88 +#, fuzzy +#| msgid "First Name" +msgid "Function Name" +msgstr "Nombre" + +#: metrics/templates/metrics/connector.html:89 +msgid "Correlation ID" +msgstr "ID de correlación" + +#: metrics/templates/metrics/connector.html:90 +msgid "Duration (ms)" +msgstr "Duración (ms)" + +#: metrics/templates/metrics/custom_summary.html:10 +#: metrics/templates/metrics/daily_summary.html:11 +#: metrics/templates/metrics/hourly_summary.html:9 +#: metrics/templates/metrics/monthly_summary.html:10 +#: metrics/templates/metrics/quarterly_summary.html:10 +#: metrics/templates/metrics/weekly_summary.html:9 +#: metrics/templates/metrics/yearly_summary.html:10 +msgid "API Usage Report" +msgstr "Informe de uso de la API" + +#: metrics/templates/metrics/custom_summary.html:11 +#: metrics/templates/metrics/daily_summary.html:12 +#: metrics/templates/metrics/hourly_summary.html:10 +#: metrics/templates/metrics/monthly_summary.html:11 +#: metrics/templates/metrics/weekly_summary.html:10 +#: metrics/templates/metrics/yearly_summary.html:11 +#, fuzzy +#| msgid "API Manager" +msgid "API instance" +msgstr "Administrador de API" + +#: metrics/templates/metrics/custom_summary.html:18 +#: metrics/templates/metrics/daily_summary.html:17 +#: metrics/templates/metrics/hourly_summary.html:15 +#: metrics/templates/metrics/monthly_summary.html:18 +#: metrics/templates/metrics/quarterly_summary.html:16 +#: metrics/templates/metrics/weekly_summary.html:17 +#: metrics/templates/metrics/yearly_summary.html:18 +#, fuzzy +#| msgid "Last Year" +msgid "Year" +msgstr "El año pasado" + +#: metrics/templates/metrics/custom_summary.html:19 +#: metrics/templates/metrics/daily_summary.html:18 +#: metrics/templates/metrics/hourly_summary.html:16 +#: metrics/templates/metrics/monthly_summary.html:19 +#: metrics/templates/metrics/quarterly_summary.html:17 +#: metrics/templates/metrics/weekly_summary.html:18 +#: metrics/templates/metrics/yearly_summary.html:19 +msgid "Quarter" +msgstr "Cuarta parte" + +#: metrics/templates/metrics/custom_summary.html:20 +#: metrics/templates/metrics/daily_summary.html:19 +#: metrics/templates/metrics/hourly_summary.html:17 +#: metrics/templates/metrics/monthly_summary.html:20 +#: metrics/templates/metrics/quarterly_summary.html:18 +#: metrics/templates/metrics/weekly_summary.html:19 +#: metrics/templates/metrics/yearly_summary.html:20 +#, fuzzy +#| msgid "Last Month" +msgid "Month" +msgstr "El mes pasado" + +#: metrics/templates/metrics/custom_summary.html:21 +#: metrics/templates/metrics/daily_summary.html:20 +#: metrics/templates/metrics/hourly_summary.html:18 +#: metrics/templates/metrics/monthly_summary.html:21 +#: metrics/templates/metrics/quarterly_summary.html:19 +#: metrics/templates/metrics/weekly_summary.html:20 +#: metrics/templates/metrics/yearly_summary.html:21 +#, fuzzy +#| msgid "Last Week" +msgid "Week" +msgstr "Semana Pasada" + +#: metrics/templates/metrics/custom_summary.html:22 +#: metrics/templates/metrics/daily_summary.html:21 +#: metrics/templates/metrics/hourly_summary.html:19 +#: metrics/templates/metrics/monthly_summary.html:22 +#: metrics/templates/metrics/quarterly_summary.html:20 +#: metrics/templates/metrics/weekly_summary.html:21 +#: metrics/templates/metrics/yearly_summary.html:22 +msgid "Day" +msgstr "Día" + +#: metrics/templates/metrics/custom_summary.html:24 +#: metrics/templates/metrics/daily_summary.html:23 +#: metrics/templates/metrics/hourly_summary.html:21 +#: metrics/templates/metrics/monthly_summary.html:24 +#: metrics/templates/metrics/quarterly_summary.html:22 +#: metrics/templates/metrics/weekly_summary.html:23 +#: metrics/templates/metrics/yearly_summary.html:24 +#, fuzzy +#| msgid "Customers" +msgid "Custom" +msgstr "Clientes" + +#: metrics/templates/metrics/custom_summary.html:50 +#, fuzzy +#| msgid "from_date" +msgid "from_date_custom" +msgstr "partir de la fecha" + +#: metrics/templates/metrics/custom_summary.html:64 +#: metrics/templates/metrics/daily_summary.html:57 +#: metrics/templates/metrics/hourly_summary.html:55 +#: metrics/templates/metrics/monthly_summary.html:58 +#: metrics/templates/metrics/quarterly_summary.html:56 +#: metrics/templates/metrics/weekly_summary.html:57 +#: metrics/templates/metrics/yearly_summary.html:58 +msgid "Include System Calls" +msgstr "Incluir llamadas del sistema" + +#: metrics/templates/metrics/custom_summary.html:85 +#: metrics/templates/metrics/daily_summary.html:78 +#: metrics/templates/metrics/monthly_summary.html:88 +#: metrics/templates/metrics/quarterly_summary.html:77 +#: metrics/templates/metrics/weekly_summary.html:78 +#: metrics/templates/metrics/yearly_summary.html:79 +msgid "Total API calls" +msgstr "Total de llamadas de API" + +#: metrics/templates/metrics/custom_summary.html:89 +#: metrics/templates/metrics/daily_summary.html:82 +#: metrics/templates/metrics/hourly_summary.html:80 +#: metrics/templates/metrics/monthly_summary.html:92 +#: metrics/templates/metrics/quarterly_summary.html:81 +#: metrics/templates/metrics/weekly_summary.html:82 +#: metrics/templates/metrics/yearly_summary.html:83 +msgid "API calls made using API Explorer" +msgstr "Llamadas API realizadas con API Explorer" + +#: metrics/templates/metrics/custom_summary.html:94 +msgid "Calls per day (last 30 days)" +msgstr "Llamadas por día (últimos 30 días)" + +#: metrics/templates/metrics/custom_summary.html:98 +#: metrics/templates/metrics/monthly_summary.html:101 +#: metrics/templates/metrics/quarterly_summary.html:94 +#: metrics/templates/metrics/weekly_summary.html:91 +#: metrics/templates/metrics/yearly_summary.html:92 +msgid "Average number of calls per day" +msgstr "Número promedio de llamadas" + +#: metrics/templates/metrics/custom_summary.html:102 +#: metrics/templates/metrics/daily_summary.html:95 +#: metrics/templates/metrics/hourly_summary.html:96 +#: metrics/templates/metrics/monthly_summary.html:105 +#: metrics/templates/metrics/quarterly_summary.html:98 +#: metrics/templates/metrics/weekly_summary.html:95 +#: metrics/templates/metrics/yearly_summary.html:96 +msgid "Average response time (ms)" +msgstr "Tiempo de Respuesta Promedio(ms)" + +#: metrics/templates/metrics/custom_summary.html:106 +#: metrics/templates/metrics/daily_summary.html:100 +#: metrics/templates/metrics/hourly_summary.html:101 +#: metrics/templates/metrics/monthly_summary.html:109 +#: metrics/templates/metrics/quarterly_summary.html:103 +#: metrics/templates/metrics/weekly_summary.html:100 +#: metrics/templates/metrics/yearly_summary.html:101 +msgid "Median time from consumer registration to first API call" +msgstr "" +"Tiempo medio desde el registro del consumidor hasta la primera llamada a la " +"APIMediana de tiempo desde el registro del consumidor hasta la primera " +"llamada API" + +#: metrics/templates/metrics/custom_summary.html:111 +#: metrics/templates/metrics/daily_summary.html:105 +#: metrics/templates/metrics/hourly_summary.html:106 +#: metrics/templates/metrics/monthly_summary.html:114 +#: metrics/templates/metrics/quarterly_summary.html:108 +#: metrics/templates/metrics/weekly_summary.html:105 +#: metrics/templates/metrics/yearly_summary.html:106 +msgid "Apps with distinct names" +msgstr "Aplicaciones con nombres distintos" + +#: metrics/templates/metrics/custom_summary.html:115 +#: metrics/templates/metrics/monthly_summary.html:118 +#, fuzzy +#| msgid "Total number of unique developer email addresses" +msgid "Distinct developer email addresses" +msgstr "" +"Número total de direcciones de correo electrónico de desarrolladores únicas" + +#: metrics/templates/metrics/custom_summary.html:120 +#: metrics/templates/metrics/daily_summary.html:114 +#: metrics/templates/metrics/hourly_summary.html:115 +#: metrics/templates/metrics/monthly_summary.html:123 +#: metrics/templates/metrics/quarterly_summary.html:117 +#: metrics/templates/metrics/weekly_summary.html:114 +#: metrics/templates/metrics/yearly_summary.html:115 +msgid "Active Apps (at least one API call in the period)" +msgstr "Aplicaciones activas (al menos una llamada a la API en el período)" + +#: metrics/templates/metrics/custom_summary.html:124 +#: metrics/templates/metrics/daily_summary.html:118 +#: metrics/templates/metrics/monthly_summary.html:127 +#: metrics/templates/metrics/quarterly_summary.html:121 +#: metrics/templates/metrics/weekly_summary.html:118 +#: metrics/templates/metrics/yearly_summary.html:119 +msgid "Top 10 APIs" +msgstr "Las 10 API principales" + +#: metrics/templates/metrics/custom_summary.html:128 +#: metrics/templates/metrics/daily_summary.html:122 +#: metrics/templates/metrics/monthly_summary.html:131 +#: metrics/templates/metrics/quarterly_summary.html:125 +#: metrics/templates/metrics/weekly_summary.html:122 +#: metrics/templates/metrics/yearly_summary.html:123 +#, fuzzy +#| msgid "Consumers" +msgid "Top 10 Consumers" +msgstr "Consumidoras" + +#: metrics/templates/metrics/custom_summary.html:132 +#: metrics/templates/metrics/daily_summary.html:126 +#: metrics/templates/metrics/hourly_summary.html:123 +#: metrics/templates/metrics/monthly_summary.html:135 +#: metrics/templates/metrics/quarterly_summary.html:129 +#: metrics/templates/metrics/weekly_summary.html:126 +#: metrics/templates/metrics/yearly_summary.html:127 +msgid "Top Warehouse APIs" +msgstr "Principales API de almacén" + +#: metrics/templates/metrics/custom_summary.html:136 +#: metrics/templates/metrics/daily_summary.html:130 +#: metrics/templates/metrics/monthly_summary.html:139 +#: metrics/templates/metrics/quarterly_summary.html:133 +#: metrics/templates/metrics/weekly_summary.html:130 +#: metrics/templates/metrics/yearly_summary.html:131 +msgid "Top Apps using data warehouse" +msgstr "Principales aplicaciones que utilizan el almacén de datos" + +#: metrics/templates/metrics/custom_summary.html:140 +#: metrics/templates/metrics/daily_summary.html:134 +#: metrics/templates/metrics/monthly_summary.html:143 +#: metrics/templates/metrics/quarterly_summary.html:137 +#: metrics/templates/metrics/weekly_summary.html:134 +#: metrics/templates/metrics/yearly_summary.html:135 +#, fuzzy +#| msgid "Total number of consumers" +msgid "Total number of CanSearchWarehouse users" +msgstr "Número total de consumidoras" + +#: metrics/templates/metrics/custom_summary.html:145 +#: metrics/templates/metrics/daily_summary.html:139 +#: metrics/templates/metrics/hourly_summary.html:132 +#: metrics/templates/metrics/monthly_summary.html:148 +#: metrics/templates/metrics/quarterly_summary.html:142 +#: metrics/templates/metrics/weekly_summary.html:139 +#: metrics/templates/metrics/yearly_summary.html:140 +msgid "Users with role CanSearchWarehouse" +msgstr "Usuarios con rol CanSearchWarehouse" + +#: metrics/templates/metrics/custom_summary.html:146 +msgid "N/A" +msgstr "N / A" + +#: metrics/templates/metrics/daily_summary.html:70 +#: metrics/templates/metrics/hourly_summary.html:68 +#: metrics/templates/metrics/monthly_summary.html:80 +#: metrics/templates/metrics/quarterly_summary.html:69 +#: metrics/templates/metrics/weekly_summary.html:70 +#: metrics/templates/metrics/yearly_summary.html:71 +msgid "Period" +msgstr "Período" + +#: metrics/templates/metrics/daily_summary.html:70 +#: metrics/templates/metrics/hourly_summary.html:68 +#: metrics/templates/metrics/monthly_summary.html:80 +#: metrics/templates/metrics/quarterly_summary.html:69 +#: metrics/templates/metrics/weekly_summary.html:70 +#: metrics/templates/metrics/yearly_summary.html:71 +msgid "From" +msgstr "Desde" + +#: metrics/templates/metrics/daily_summary.html:70 +#: metrics/templates/metrics/hourly_summary.html:68 +#: metrics/templates/metrics/monthly_summary.html:80 +#: metrics/templates/metrics/quarterly_summary.html:69 +#: metrics/templates/metrics/weekly_summary.html:70 +#: metrics/templates/metrics/yearly_summary.html:71 +msgid "to" +msgstr "para" + +#: metrics/templates/metrics/daily_summary.html:87 +msgid "Calls per hour" +msgstr "Llamadas por hora" + +#: metrics/templates/metrics/daily_summary.html:91 +#, fuzzy +#| msgid "Average number of calls per day" +msgid "Average number of calls per hour" +msgstr "Número promedio de llamadas" + +#: metrics/templates/metrics/daily_summary.html:109 +#: metrics/templates/metrics/hourly_summary.html:110 +#: metrics/templates/metrics/quarterly_summary.html:112 +#: metrics/templates/metrics/weekly_summary.html:109 +#, fuzzy +#| msgid "Total number of unique developer email addresses" +msgid "Apps with distinct developer email addresses" +msgstr "" +"Número total de direcciones de correo electrónico de desarrolladores únicas" + +#: metrics/templates/metrics/hourly_summary.html:20 +#, fuzzy +#| msgid "Last Hour" +msgid "Hour" +msgstr "Ultima hora" + +#: metrics/templates/metrics/hourly_summary.html:76 +#, fuzzy +#| msgid "Total API calls" +msgid "API calls" +msgstr "Total de llamadas de API" + +#: metrics/templates/metrics/hourly_summary.html:84 +#: metrics/templates/metrics/hourly_summary.html:88 +#, fuzzy +#| msgid "Calls per hour" +msgid "Calls per minute" +msgstr "Llamadas por hora" + +#: metrics/templates/metrics/hourly_summary.html:92 +#, fuzzy +#| msgid "Average number of calls per day" +msgid "Average number of calls hour" +msgstr "Número promedio de llamadas" + +#: metrics/templates/metrics/hourly_summary.html:119 +#, fuzzy +#| msgid "Top 10 APIs" +msgid "Top APIs" +msgstr "Las 10 API principales" + +#: metrics/templates/metrics/hourly_summary.html:127 +#, fuzzy +#| msgid "Top Apps using data warehouse" +msgid "Top apps using the data warehouse" +msgstr "Principales aplicaciones que utilizan el almacén de datos" + +#: metrics/templates/metrics/hourly_summary.html:137 +#, fuzzy +#| msgid "Total number of consumers" +msgid "CanSearchWarehouse users" +msgstr "Número total de consumidoras" + +#: metrics/templates/metrics/monthly_summary.html:97 +#: metrics/templates/metrics/weekly_summary.html:87 +#, fuzzy +#| msgid "Calls per hour" +msgid "Calls per day" +msgstr "Llamadas por hora" + +#: metrics/templates/metrics/quarterly_summary.html:86 +#: metrics/templates/metrics/yearly_summary.html:88 +#, fuzzy +#| msgid "Calls per hour" +msgid "Calls per month" +msgstr "Llamadas por hora" + +#: users/templates/users/detail.html:8 +msgid "User" +msgstr "Usuaria" + +#: users/templates/users/detail.html:16 users/templates/users/index.html:59 +#: users/templates/users/invitation.html:71 +msgid "Email" +msgstr "Correo electrónico" + +#: users/templates/users/detail.html:21 +msgid "Provider" +msgstr "Proveedor" + +#: users/templates/users/detail.html:26 +msgid "Provider ID" +msgstr "ID de es proveedor" + +#: users/templates/users/detail.html:31 +msgid "Deleted" +msgstr "Eliminado" + +#: users/templates/users/detail.html:36 +msgid "Locked" +msgstr "Bloqueado" + +#: users/templates/users/detail.html:47 +msgid "Delete User" +msgstr "Eliminar usuario" + +#: users/templates/users/detail.html:51 +msgid "Unlock User" +msgstr "Desbloquear usuario" + +#: users/templates/users/detail.html:62 +msgid "Add Entitlement" +msgstr "Agregar derecho" + +#: users/templates/users/detail.html:69 users/templates/users/detail.html:98 +msgid "Role name" +msgstr "Nombre de rol" + +#: users/templates/users/detail.html:94 +msgid "Entitlements" +msgstr "Derechos" + +#: users/templates/users/detail.html:114 +msgid "Delete" +msgstr "Eliminar" + +#: users/templates/users/index.html:11 +msgid "Filters" +msgstr "Filtros" + +#: users/templates/users/index.html:44 +msgid "Pagination" +msgstr "Paginación" + +#: users/templates/users/index.html:51 +msgid "Total number of users" +msgstr "Total de usuarios" + +#: users/templates/users/index.html:57 +msgid "User Id" +msgstr "Id de usuario" + +#: users/templates/users/index.html:58 +msgid "Username" +msgstr "Nombre de usuario" + +#: users/templates/users/invitation.html:29 +#, fuzzy +#| msgid "site_name" +msgid "first_name" +msgstr "nombre del sitio" + +#: users/templates/users/invitation.html:36 +#, fuzzy +#| msgid "site_name" +msgid "last_name" +msgstr "nombre del sitio" + +#: users/templates/users/invitation.html:45 +#, fuzzy +#| msgid "Email" +msgid "email" +msgstr "Correo electrónico" + +#: users/templates/users/invitation.html:52 +#: users/templates/users/invitation.html:72 +msgid "company" +msgstr "empresa" + +#: users/templates/users/invitation.html:59 +#: users/templates/users/invitation.html:73 +msgid "country" +msgstr "países" + +#: users/templates/users/invitation.html:69 +msgid "First Name" +msgstr "Nombre" + +#: users/templates/users/invitation.html:70 +msgid "Last Name" +msgstr "Apellido" + +#: users/templates/users/invitation.html:74 +msgid "status" +msgstr "estado" + +#, fuzzy +#~| msgid "Role Name" +#~ msgid "Role_Name" +#~ msgstr "Nombre de rol" diff --git a/apimanager/locale/any/fr/LC_MESSAGES/django.mo b/apimanager/locale/any/fr/LC_MESSAGES/django.mo new file mode 100644 index 0000000..2b6c30f Binary files /dev/null and b/apimanager/locale/any/fr/LC_MESSAGES/django.mo differ diff --git a/apimanager/locale/any/fr/LC_MESSAGES/django.po b/apimanager/locale/any/fr/LC_MESSAGES/django.po new file mode 100644 index 0000000..95573d7 --- /dev/null +++ b/apimanager/locale/any/fr/LC_MESSAGES/django.po @@ -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 , 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 \n" +"Language-Team: LANGUAGE \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" diff --git a/apimanager/locale/any/hi/LC_MESSAGES/django.mo b/apimanager/locale/any/hi/LC_MESSAGES/django.mo new file mode 100644 index 0000000..6e30619 Binary files /dev/null and b/apimanager/locale/any/hi/LC_MESSAGES/django.mo differ diff --git a/apimanager/locale/any/hi/LC_MESSAGES/django.po b/apimanager/locale/any/hi/LC_MESSAGES/django.po new file mode 100644 index 0000000..4046333 --- /dev/null +++ b/apimanager/locale/any/hi/LC_MESSAGES/django.po @@ -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 , 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 \n" +"Language-Team: LANGUAGE \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 "उपभोक्ताओं की कुल संख्या" diff --git a/apimanager/locale/any/newlatest.py b/apimanager/locale/any/newlatest.py new file mode 100644 index 0000000..9abd6da --- /dev/null +++ b/apimanager/locale/any/newlatest.py @@ -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) \ No newline at end of file diff --git a/apimanager/locale/es/LC_MESSAGES/django.mo b/apimanager/locale/es/LC_MESSAGES/django.mo index eafa7e0..79290e3 100644 Binary files a/apimanager/locale/es/LC_MESSAGES/django.mo and b/apimanager/locale/es/LC_MESSAGES/django.mo differ diff --git a/apimanager/locale/hi/LC_MESSAGES/django.po b/apimanager/locale/hi/LC_MESSAGES/django.po index 10a3ab4..4046333 100644 --- a/apimanager/locale/hi/LC_MESSAGES/django.po +++ b/apimanager/locale/hi/LC_MESSAGES/django.po @@ -1,14 +1,14 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# 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 , 2022. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-09 11:38+0200\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 \n" "Language-Team: LANGUAGE \n" @@ -18,18 +18,98 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apimanager/settings.py:175 -msgid "English" -msgstr "" +#: base/templates/base.html:48 +msgid "Home" +msgstr "होमपेज" -#: apimanager/settings.py:176 -msgid "French" -msgstr "" +#: base/templates/base.html:50 consumers/templates/consumers/index.html:10 +msgid "Consumers" +msgstr "उपभोक्‍ता" -#: base/templates/home.html:4 -msgid "Hello" -msgstr "" +#: base/templates/base.html:52 +msgid "Entitlement Requests" +msgstr "एंटाइटेलमेंट अनुरोध" -#: base/templates/home.html:7 base/views.py:39 +#: 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 "उपभोक्ताओं की कुल संख्या" diff --git a/apimanager/locale/newlatest.py b/apimanager/locale/newlatest.py new file mode 100644 index 0000000..9abd6da --- /dev/null +++ b/apimanager/locale/newlatest.py @@ -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) \ No newline at end of file diff --git a/apimanager/locale/newlatest1.py b/apimanager/locale/newlatest1.py new file mode 100644 index 0000000..d761162 --- /dev/null +++ b/apimanager/locale/newlatest1.py @@ -0,0 +1,67 @@ +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)): + try: + if "msgid" in a[i]: + msgid,msgstr=a[i],a[i+1] + if msgstr == 'msgstr ""': + ms=msgid[7:len(msgid)-1] + val=trans.translateText(ms,language) + a[i+1]=f'msgstr "{val}"' + # print(a[i]) + except: pass + 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) \ No newline at end of file diff --git a/apimanager/metrics/templates/metrics/api.html b/apimanager/metrics/templates/metrics/api.html index b273314..0dfa575 100644 --- a/apimanager/metrics/templates/metrics/api.html +++ b/apimanager/metrics/templates/metrics/api.html @@ -1,14 +1,15 @@ {% extends 'base.html' %} {% load static %} +{% load i18n %} {% block page_title %}{{ block.super }} / API Metrics{% endblock page_title %} {% block content %}
-

API Metrics

+

{% trans "API Metrics" %}

-

Filter

+

{% trans "Filter" %}

{% if form.non_field_errors %}
@@ -20,28 +21,28 @@
{% if form.from_date.errors %}
{{ form.from_date.errors }}
{% endif %}
- {{ form.from_date.label_tag }} + {% trans "from date" %} {{ form.from_date }}
{% if form.to_date.errors %}
{{ form.to_date.errors }}
{% endif %}
- {{ form.to_date.label_tag }} + {% trans "to_date" %} {{ form.to_date }}
{% if form.limit.errors %}
{{ form.limit.errors }}
{% endif %}
- {{ form.limit.label_tag }} + {% trans "limit" %} {{ form.limit }}
{% if form.offset.errors %}
{{ form.offset.errors }}
{% endif %}
- {{ form.offset.label_tag }} + {% trans "offset" %} {{ form.offset }}
@@ -51,7 +52,7 @@
{% if form.consumer_id.errors %}
{{ form.consumer_id.errors }}
{% endif %}
- {{ form.consumer_id.label_tag }} + {% trans "consumer id" %} {{ form.consumer_id }}
@@ -59,7 +60,7 @@
{% if form.user_id.errors %}
{{ form.user_id.errors }}
{% endif %}
- {{ form.user_id.label_tag }} + {% trans "user_id" %} {{ form.user_id }}
@@ -67,7 +68,7 @@
{% if form.anon.errors %}
{{ form.anon.errors }}
{% endif %}
- {{ form.anon.label_tag }} + {% trans "anon" %} {{ form.anon }}
@@ -75,7 +76,7 @@
{% if form.app_name.errors %}
{{ form.app_name.errors }}
{% endif %}
- {{ form.app_name.label_tag }} + {% trans "app_name" %} {{ form.app_name }}
@@ -86,7 +87,7 @@
{% if form.verb.errors %}
{{ form.verb.errors }}
{% endif %}
- {{ form.verb.label_tag }} + {% trans "verb" %} {{ form.verb }}
@@ -94,7 +95,7 @@
{% if form.url.errors %}
{{ form.url.errors }}
{% endif %}
- {{ form.url.label_tag }} + {% trans "url" %} {{ form.url }}
@@ -104,7 +105,7 @@
{% if form.implemented_by_partial_function.errors %}
{{ form.implemented_by_partial_function.errors }}
{% endif %}
- {{ form.implemented_by_partial_function.label_tag }} + {% trans "implemented by partial function" %} {{ form.implemented_by_partial_function }}
@@ -112,22 +113,22 @@
{% if form.implemented_in_version.errors %}
{{ form.implemented_in_version.errors }}
{% endif %}
- {{ form.implemented_in_version.label_tag }} + {% trans "implemented in version" %} {{ form.implemented_in_version }}
- +
@@ -139,11 +140,11 @@
- - - - - + + + + + @@ -158,13 +159,13 @@ diff --git a/apimanager/metrics/templates/metrics/api_summary_partial_function.html b/apimanager/metrics/templates/metrics/api_summary_partial_function.html index ab6c1dc..fb2f312 100644 --- a/apimanager/metrics/templates/metrics/api_summary_partial_function.html +++ b/apimanager/metrics/templates/metrics/api_summary_partial_function.html @@ -1,9 +1,10 @@ {% extends 'metrics/api.html' %} {% load static %} +{% load i18n %} {% block nav_tabs %} -
  • List
  • -
  • Summary by Partial Function
  • +
  • {% trans "List" %}
  • +
  • {% trans "Summary by Partial Function" %}
  • {% endblock nav_tabs %} {% block tab_content %} diff --git a/apimanager/metrics/templates/metrics/connector.html b/apimanager/metrics/templates/metrics/connector.html index 215d768..3ef2dc9 100644 --- a/apimanager/metrics/templates/metrics/connector.html +++ b/apimanager/metrics/templates/metrics/connector.html @@ -1,14 +1,15 @@ {% extends 'base.html' %} {% load static %} +{% load i18n %} {% block page_title %}{{ block.super }} / Connector Metrics{% endblock page_title %} {% block content %}
    -

    Connector Metrics

    +

    {% trans "Connector Metrics" %}

    -

    Filter

    +

    {% trans "Filter" %}

    {% if form.non_field_errors %}
    @@ -20,28 +21,28 @@
    {% if form.from_date.errors %}
    {{ form.from_date.errors }}
    {% endif %}
    - {{ form.from_date.label_tag }} + {% trans "from_date" %} {{ form.from_date }}
    {% if form.to_date.errors %}
    {{ form.to_date.errors }}
    {% endif %}
    - {{ form.to_date.label_tag }} + {% trans "to_date" %} {{ form.to_date }}
    {% if form.limit.errors %}
    {{ form.limit.errors }}
    {% endif %}
    - {{ form.limit.label_tag }} + {% trans "limit" %} {{ form.limit }}
    {% if form.offset.errors %}
    {{ form.offset.errors }}
    {% endif %}
    - {{ form.offset.label_tag }} + {% trans "offset" %} {{ form.offset }}
    @@ -51,27 +52,27 @@
    {% if form.connector_name.errors %}
    {{ form.connector_name.errors }}
    {% endif %}
    - {{ form.connector_name.label_tag }} + {% trans "connector_name" %} {{ form.connector_name }}
    {% if form.function_name.errors %}
    {{ form.function_name.errors }}
    {% endif %}
    - {{ form.function_name.label_tag }} + {% trans "function_name" %} {{ form.function_name }}
    {% if form.correlation_id.errors %}
    {{ form.correlation_id.errors }}
    {% endif %}
    - {{ form.correlation_id.label_tag }} + {% trans "correlation_id" %} {{ form.correlation_id }}
    - +
    @@ -82,11 +83,11 @@
    - - - - - + + + + + diff --git a/apimanager/metrics/templates/metrics/custom_summary.html b/apimanager/metrics/templates/metrics/custom_summary.html index ade4143..a53b81a 100644 --- a/apimanager/metrics/templates/metrics/custom_summary.html +++ b/apimanager/metrics/templates/metrics/custom_summary.html @@ -1,26 +1,27 @@ {% extends 'base.html' %} {% load static %} +{% load i18n %} {% block page_title %}{{ block.super }} / API Usage Report{% endblock page_title %} {% block content %}
    -

    API Usage Report

    -

    API instance : {{ api_host_name }}

    +

    {% trans "API Usage Report" %}

    +

    {% trans "API instance" %}: {{ api_host_name }}

    @@ -34,7 +35,7 @@ {{ form.media }} {# Form required JS and CSS #} {% endblock %} -

    Filter

    +

    {% trans "Filter" %}

    {% if form.non_field_errors %}
    @@ -46,26 +47,26 @@
    {% if form.from_date_custom.errors %}
    {{ form.from_date_custom.errors }}
    {% endif %}
    - {{ form.from_date_custom.label_tag }} + {% trans "from_date_custom" %} {{ form.from_date_custom }}
    {% if form.to_date.errors %}
    {{ form.to_date.errors }}
    {% endif %}
    - {{ form.to_date.label_tag }} + {% trans "to_date" %} {{ form.to_date }}
    - {{ form.include_obp_apps }} Include System Calls -
    + {{ form.include_obp_apps }} {% trans "Include System Calls" %} +
    - +
    @@ -81,68 +82,68 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + +
    Role NameUser nameBank IDCreatedActionAction{% trans "Role Name" %}{% trans "User name" %}{% trans "Bank ID" %}{% trans "Created" %}{% trans "Action" %}{% trans "Action" %}
    #VerbURLDateDuration(ms)Details{% trans "Verb" %}{% trans "URL" %}{% trans "Date" %}{% trans "Duration(ms)" %}{% trans "Details" %}
    {{ metric.duration }}
      -
    • User Name: {{ metric.user_name }}
    • -
    • User ID: {{ metric.user_id }}
    • -
    • Developer Email: {{ metric.developer_email }}
    • -
    • App Name: {{ metric.app_name }}
    • -
    • Consumer ID: {{ metric.consumer_id }}
    • -
    • Implemented by Partial Function: {{ metric.implemented_by_partial_function }}
    • -
    • Implemented In Version: {{ metric.implemented_in_version }}
    • +
    • {% trans "User Name" %}: {{ metric.user_name }}
    • +
    • {% trans "User ID" %}: {{ metric.user_id }}
    • +
    • {% trans "Developer Email" %}: {{ metric.developer_email }}
    • +
    • {% trans "App Name" %}: {{ metric.app_name }}
    • +
    • {% trans "Consumer ID" %}: {{ metric.consumer_id }}
    • +
    • {% trans "Implemented by Partial Function" %}: {{ metric.implemented_by_partial_function }}
    • +
    • {% trans "Implemented In Version" %}: {{ metric.implemented_in_version }}
    #DateConnector NameFunction NameCorrelation IDDuration (ms){% trans "Date" %}{% trans "Connector Name" %}{% trans "Function Name" %}{% trans "Correlation ID" %}{% trans "Duration (ms)" %}
    Total API calls:{% trans "Total API calls" %}: {{ api_calls }}
    API calls made using API Explorer:{% trans "API calls made using API Explorer" %}: {{ calls_by_api_explorer }} ({% widthratio calls_by_api_explorer api_calls 100 %} %)
    Calls per day:{% trans "Calls per day (last 30 days)" %}: somealt
    Average number of calls per day: {% trans "Average number of calls per day" %}: {{ average_calls_per_day }}
    Average response time (ms):{% trans "Average response time (ms)" %}: {{ average_response_time }}
    Median time from consumer registration to first API call:{% trans "Median time from consumer registration to first API call" %}: {{ median_time_to_first_api_call }}
    Apps with distinct names:{% trans "Apps with distinct names" %}: {{ number_of_apps_with_unique_app_name }}
    Distinct developer email addresses:{% trans "Distinct developer email addresses" %}: {{ number_of_apps_with_unique_developer_email }}
    Active Apps (at least one API call in the period):{% trans "Active Apps (at least one API call in the period)" %}: {%for item in active_apps_list%}

    {{item.app_name}} ({{ item.developer_email }})

    {% endfor %}
    Top 10 APIs:{% trans "Top 10 APIs" %}: somealt
    Top 10 Consumers:{% trans "Top 10 Consumers" %}: somealt
    Top Warehouse APIs:{% trans "Top Warehouse APIs" %}: {% if top_warehouse_apis %}{%for element in top_warehouse_apis%}

    {{ element.Implemented_by_partial_function }} : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Top Apps using data warehouse:{% trans "Top Apps using data warehouse" %}: {% if top_apps_using_warehouse %}{%for element in top_apps_using_warehouse%}

    {{ element.app_name }} ({{ element.developer_email }}) : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Total number of CanSearchWarehouse users:{% trans "Total number of CanSearchWarehouse users" %}: {{number_of_users_with_cansearchwarehouse}}
    Users with role CanSearchWarehouse:{% if user_email_cansearchwarehouse %}{% for key, value in user_email_cansearchwarehouse.items %} {{key}}, {% endfor %}{% else %}

    N/A

    {% endif %}
    {% trans "Users with role CanSearchWarehouse" %}:{% if user_email_cansearchwarehouse %}{% for key, value in user_email_cansearchwarehouse.items %} {{key}}, {% endfor %}{% else %}

    {% trans "N/A" %}

    {% endif %}
    diff --git a/apimanager/metrics/templates/metrics/daily_summary.html b/apimanager/metrics/templates/metrics/daily_summary.html index 704af4e..a4d72dc 100644 --- a/apimanager/metrics/templates/metrics/daily_summary.html +++ b/apimanager/metrics/templates/metrics/daily_summary.html @@ -1,5 +1,6 @@ {% extends 'base.html' %} {% load static %} +{% load i18n %} {% load mathfilters %} {% block page_title %}{{ block.super }} / API Usage Report{% endblock page_title %} @@ -7,19 +8,19 @@ {% block content %}
    -

    API Usage Report

    -

    API instance : {{ api_host_name }}

    +

    {% trans "API Usage Report" %}

    +

    {% trans "API instance" %}: {{ api_host_name }}

    @@ -33,7 +34,7 @@ {{ form.media }} {# Form required JS and CSS #} {% endblock %} -

    Filter

    +

    {% trans "Filter" %}

    {% if form.non_field_errors %}
    @@ -46,19 +47,19 @@
    {% if form.to_date.errors %}
    {{ form.to_date.errors }}
    {% endif %}
    - {{ form.to_date.label_tag }} + {% trans "to_date" %} {{ form.to_date }}
    - {{ form.include_obp_apps }} Include System Calls + {{ form.include_obp_apps }} {% trans "Include System Calls" %}
    - +
    @@ -66,7 +67,7 @@
    {% block tab_content %}
    -

    Period : From {{ from_date }} to {{ to_date }}

    +

    {% trans "Period" %} : {% trans "From" %} {{ from_date }} {% trans "to" %} {{ to_date }}

    @@ -74,68 +75,68 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/apimanager/metrics/templates/metrics/hourly_summary.html b/apimanager/metrics/templates/metrics/hourly_summary.html index 00aeb72..f18dd64 100644 --- a/apimanager/metrics/templates/metrics/hourly_summary.html +++ b/apimanager/metrics/templates/metrics/hourly_summary.html @@ -6,19 +6,19 @@ {% block content %}
    -

    API Usage Report

    -

    API instance : {{ api_host_name }}

    +

    {% trans "API Usage Report" %}

    +

    {% trans "API instance" %}: {{ api_host_name }}

    @@ -32,7 +32,7 @@ {{ form.media }} {# Form required JS and CSS #} {% endblock % -

    Filter

    +

    {% trans "Filter" %}

    {% if form.non_field_errors %}
    @@ -45,19 +45,19 @@
    {% if form.to_date.errors %}
    {{ form.to_date.errors }}
    {% endif %}
    - {{ form.to_date.label_tag }} + {% trans "to_date" %} {{ form.to_date }}
    - {{ form.include_obp_apps }} Include System Calls + {{ form.include_obp_apps }} {% trans "Include System Calls" %}
    - +
    @@ -65,7 +65,7 @@
    {% block tab_content %}
    -

    Period : From {{ from_date }} to {{ to_date }}

    +

    {% trans "Period" %}: {% trans "From" %}{{ from_date }} {% trans "to" %} {{ to_date }}

    Total API calls:{% trans "Total API calls" %}: {{ api_calls }}
    API calls made using API Explorer:{% trans "API calls made using API Explorer" %}: {{ calls_by_api_explorer }} ({% widthratio calls_by_api_explorer api_calls 100 %} %)
    Calls per hour:{% trans "Calls per hour" %}: somealt
    Average number of calls per hour: {% trans "Average number of calls per hour" %}: {{ api_calls|intdiv:24 }}
    Average response time (ms):{% trans "Average response time (ms)" %}: {{ average_response_time }}
    Median time from consumer registration to first API call:{% trans "Median time from consumer registration to first API call" %}: {{ median_time_to_first_api_call }}
    Apps with distinct names:{% trans "Apps with distinct names" %}: {{ number_of_apps_with_unique_app_name }}
    Apps with distinct developer email addresses:{% trans "Apps with distinct developer email addresses" %}: {{ number_of_apps_with_unique_developer_email }}
    Active Apps (at least one API call in the period):{% trans "Active Apps (at least one API call in the period)" %}: {%for item in active_apps_list%}

    {{item.app_name}} ({{ item.developer_email }})

    {% endfor %}
    Top 10 APIs:{% trans "Top 10 APIs" %}: somealt
    Top 10 Consumers:{% trans "Top 10 Consumers" %}: somealt
    Top Warehouse APIs:{% trans "Top Warehouse APIs" %}: {% if top_warehouse_apis %}{%for element in top_warehouse_apis%}

    {{ element.Implemented_by_partial_function }} : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Top Apps using data warehouse:{% trans "Top Apps using data warehouse" %}: {% if top_apps_using_warehouse %}{%for element in top_apps_using_warehouse%}

    {{ element.app_name }} ({{ element.developer_email }}) : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Total number of CanSearchWarehouse users:{% trans "Total number of CanSearchWarehouse users" %}: {{number_of_users_with_cansearchwarehouse}}
    Users with role CanSearchWarehouse:{% trans "Users with role CanSearchWarehouse" %}: {% if user_email_cansearchwarehouse %}{% for key, value in user_email_cansearchwarehouse.items %} {{key}}, {% endfor %}{% else %}

    N/A

    {% endif %}
    @@ -73,68 +73,68 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/apimanager/metrics/templates/metrics/monthly_summary.html b/apimanager/metrics/templates/metrics/monthly_summary.html index 08d6079..9361b97 100644 --- a/apimanager/metrics/templates/metrics/monthly_summary.html +++ b/apimanager/metrics/templates/metrics/monthly_summary.html @@ -1,26 +1,27 @@ {% extends 'base.html' %} {% load static %} +{% load i18n %} {% block page_title %}{{ block.super }} / API Usage Report{% endblock page_title %} {% block content %}
    -

    API Usage Report

    -

    API instance : {{ api_host_name }}

    +

    {% trans "API Usage Report" %}

    +

    {% trans "API instance" %}: {{ api_host_name }}

    @@ -34,7 +35,7 @@ {{ form.media }} {# Form required JS and CSS #} {% endblock %} -

    Filter

    +

    {% trans "Filter" %}

    {% if form.non_field_errors %}
    @@ -47,14 +48,14 @@
    {% if form.to_date.errors %}
    {{ form.to_date.errors }}
    {% endif %}
    - {{ form.to_date.label_tag }} + {% trans "to_date" %} {{ form.to_date }}
    - {{ form.include_obp_apps }} Include System Calls + {{ form.include_obp_apps }} {% trans "Include System Calls" %}
    {% if excluded_apps %} {{ excluded_apps }} @@ -68,7 +69,7 @@
    - +
    @@ -76,7 +77,7 @@
    {% block tab_content %}
    -

    Period : From {{ from_date }} to {{ to_date }}

    +

    {% trans "Period" %}: {% trans "From" %} {{ from_date }} {% trans "to" %} {{ to_date }}

    API calls:{% trans "API calls" %}: {{ api_calls }}
    API calls made using API Explorer:{% trans "API calls made using API Explorer" %}: {{ calls_by_api_explorer }} ({% widthratio calls_by_api_explorer api_calls 100 %} %)
    Calls per minute:{% trans "Calls per minute" %}: {%for item in calls_per_hour_list%}
  • {{item}}
  • {% endfor %}
    Calls per minute:{% trans "Calls per minute" %}: somealt
    Average number of calls hour: {% trans "Average number of calls hour" %}: {{ average_calls_per_hour }}
    Average response time (ms):{% trans "Average response time (ms)" %}: {{ average_response_time }}
    Median time from consumer registration to first API call:{% trans "Median time from consumer registration to first API call" %}: {{ median_time_to_first_api_call }}
    Apps with distinct names:{% trans "Apps with distinct names" %}: {{ number_of_apps_with_unique_app_name }}
    Apps with distinct developer email addresses:{% trans "Apps with distinct developer email addresses" %}: {{ number_of_apps_with_unique_developer_email }}
    Active Apps (at least one API call in the period):{% trans "Active Apps (at least one API call in the period)" %}: {%for item in active_apps_names%}{{item}}, {% endfor %}
    Top APIs:{% trans "Top APIs" %}: somealt
    Top Warehouse APIs:{% trans "Top Warehouse APIs" %}: {%for element in top_warehouse_apis%}

    {{ element.Implemented_by_partial_function }} : {{ element.count }}

    {% endfor %}
    Top apps using the data warehouse:{% trans "Top apps using the data warehouse" %}: {%for element in top_apps_using_warehouse%}

    {{ element.app_name }} : {{ element.count }}

    {% endfor %}
    Users with role CanSearchWarehouse:{% trans "Users with role CanSearchWarehouse" %}: {% for key, value in user_email_cansearchwarehouse.items %} {{key}} ({{value}}), {% endfor %}
    CanSearchWarehouse users:{% trans "CanSearchWarehouse users" %}: {{number_of_users_with_cansearchwarehouse}}
    @@ -84,67 +85,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/apimanager/metrics/templates/metrics/quarterly_summary.html b/apimanager/metrics/templates/metrics/quarterly_summary.html index 48d99e3..0542050 100644 --- a/apimanager/metrics/templates/metrics/quarterly_summary.html +++ b/apimanager/metrics/templates/metrics/quarterly_summary.html @@ -1,24 +1,25 @@ {% extends 'base.html' %} {% load static %} +{% load i18n %} {% block page_title %}{{ block.super }} / API Usage Report{% endblock page_title %} {% block content %}
    -

    API Usage Report

    -

    API instance : {{ api_host_name }}

    +

    {% trans "API Usage Report" %}

    +

    {% trans "API instance : {{ api_host_name }}

    @@ -32,7 +33,7 @@ {{ form.media }} {# Form required JS and CSS #} {% endblock %} -

    Filter

    +

    {% trans "Filter" %}

    {% if form.non_field_errors %}
    @@ -52,12 +53,12 @@
    - {{ form.include_obp_apps }} Include System Calls + {{ form.include_obp_apps }} {% trans "Include System Calls" %}
    - +
    @@ -65,7 +66,7 @@
    {% block tab_content %}
    -

    Period : From {{ from_date }} to {{ to_date }}

    +

    {% trans "Period" %}:{% trans "From" %} {{ from_date }} {% trans "to" %} {{ to_date }}

    Total API calls:{% trans "Total API calls" %}: {{ api_calls }}
    API calls made using API Explorer:{% trans "API calls made using API Explorer" %}: {{ calls_by_api_explorer }} ({% widthratio calls_by_api_explorer api_calls 100 %} %)
    Calls per day:{% trans "Calls per day" %}: somealt
    Average number of calls per day: {% trans "Average number of calls per day" %}: {{ average_calls_per_day }}
    Average response time (ms):{% trans "Average response time (ms)" %}: {{ average_response_time }}
    Median time from consumer registration to first API call:{% trans "Median time from consumer registration to first API call" %}: {{ median_time_to_first_api_call }}
    Apps with distinct names:{% trans "Apps with distinct names" %}: {{ number_of_apps_with_unique_app_name }}
    Distinct developer email addresses:{% trans "Distinct developer email addresses" %}: {{ number_of_apps_with_unique_developer_email }}
    Active Apps (at least one API call in the period):{% trans "Active Apps (at least one API call in the period)" %}: {%for item in active_apps_list%}

    {{item.app_name}} ({{ item.developer_email }})

    {% endfor %}
    Top 10 APIs:{% trans "Top 10 APIs" %}: somealt
    Top 10 Consumers:{% trans "Top 10 Consumers" %}: somealt
    Top Warehouse APIs:{% trans "Top Warehouse APIs" %}: {% if top_warehouse_apis %}{%for element in top_warehouse_apis%}

    {{ element.Implemented_by_partial_function }} : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Top Apps using data warehouse:{% trans "Top Apps using data warehouse" %}: {% if top_apps_using_warehouse %}{%for element in top_apps_using_warehouse%}

    {{ element.app_name }} ({{ element.developer_email }}) : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Total number of CanSearchWarehouse users:{% trans "Total number of CanSearchWarehouse users" %}: {{number_of_users_with_cansearchwarehouse}}
    Users with role CanSearchWarehouse:{% trans "Users with role CanSearchWarehouse" %}: {% if user_email_cansearchwarehouse %}{% for key, value in user_email_cansearchwarehouse.items %} {{key}}, {% endfor %}{% else %}

    N/A

    {% endif %}
    @@ -73,72 +74,72 @@ - + - + - + {# #} -{# #} +{# #} {# #} {# #} - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/apimanager/metrics/templates/metrics/weekly_summary.html b/apimanager/metrics/templates/metrics/weekly_summary.html index 4abc0c7..8846b01 100644 --- a/apimanager/metrics/templates/metrics/weekly_summary.html +++ b/apimanager/metrics/templates/metrics/weekly_summary.html @@ -1,26 +1,27 @@ {% extends 'base.html' %} {% load static %} +{% load i18n %} {% block page_title %}{{ block.super }} / API Usage Report{% endblock page_title %} {% block content %}
    -

    API Usage Report

    -

    API instance : {{ api_host_name }}

    +

    {% trans "API Usage Report" %}

    +

    {% trans "API instance" %}: {{ api_host_name }}

    @@ -54,12 +55,12 @@
    - {{ form.include_obp_apps }} Include System Calls + {{ form.include_obp_apps }} {% trans "Include System Calls" %}
    - +
    @@ -67,7 +68,7 @@
    {% block tab_content %}
    -

    Period : From {{ from_date }} to {{ to_date }}

    +

    {% trans "Period" %} : {% trans "From" %} {{ from_date }} {% trans "to" %} {{ to_date }}

    Total API calls:{% trans "Total API calls" %}: {{ api_calls }}
    API calls made using API Explorer:{% trans "API calls made using API Explorer" %}: {{ calls_by_api_explorer }} ({% widthratio calls_by_api_explorer api_calls 100 %} %)
    Calls per month:{% trans "Calls per month" %}: somealt
    Calls per day:{% trans "Calls per day" %}:somealt
    Average number of calls per day: {% trans "Average number of calls per day" %}: {{ average_calls_per_day }}
    Average response time (ms):{% trans "Average response time (ms)" %}: {{ average_response_time }}
    Median time from consumer registration to first API call:{% trans "Median time from consumer registration to first API call" %}: {{ median_time_to_first_api_call }}
    Apps with distinct names:{% trans "Apps with distinct names" %}: {{ number_of_apps_with_unique_app_name }}
    Apps with distinct developer email addresses:{% trans "Apps with distinct developer email addresses" %}: {{ number_of_apps_with_unique_developer_email }}
    Active Apps (at least one API call in the period):{% trans "Active Apps (at least one API call in the period)" %}: {%for item in active_apps_list%}

    {{item.app_name}} ({{ item.developer_email }})

    {% endfor %}
    Top 10 APIs:{% trans "Top 10 APIs" %}: somealt
    Top 10 Consumers:{% trans "Top 10 Consumers" %}: somealt
    Top Warehouse APIs:{% trans "Top Warehouse APIs" %}: {% if top_warehouse_apis %}{%for element in top_warehouse_apis%}

    {{ element.Implemented_by_partial_function }} : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Top Apps using data warehouse:{% trans "Top Apps using data warehouse" %}: {% if top_apps_using_warehouse %}{%for element in top_apps_using_warehouse%}

    {{ element.app_name }} ({{ element.developer_email }}) : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Total number of CanSearchWarehouse users:{% trans "Total number of CanSearchWarehouse users" %}: {{number_of_users_with_cansearchwarehouse}}
    Users with role CanSearchWarehouse:{% trans "Users with role CanSearchWarehouse" %}: {% if user_email_cansearchwarehouse %}{% for key, value in user_email_cansearchwarehouse.items %} {{key}}, {% endfor %}{% else %}

    N/A

    {% endif %}
    @@ -75,68 +76,68 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/apimanager/metrics/templates/metrics/yearly_summary.html b/apimanager/metrics/templates/metrics/yearly_summary.html index f6ce466..4c43fce 100644 --- a/apimanager/metrics/templates/metrics/yearly_summary.html +++ b/apimanager/metrics/templates/metrics/yearly_summary.html @@ -1,26 +1,27 @@ {% extends 'base.html' %} {% load static %} +{% load i18n %} {% block page_title %}{{ block.super }} / API Usage Report{% endblock page_title %} {% block content %}
    -

    API Usage Report

    -

    API instance : {{ api_host_name }}

    +

    {% trans "API Usage Report" %}

    +

    {% trans "API instance" %}: {{ api_host_name }}

    @@ -34,7 +35,7 @@ {{ form.media }} {# Form required JS and CSS #} {% endblock %} -

    Filter

    +

    {% trans "Filter" %}

    {% if form.non_field_errors %}
    @@ -54,12 +55,12 @@
    - {{ form.include_obp_apps }} Include System Calls + {{ form.include_obp_apps }} {% trans "Include System Calls" %}
    - +
    @@ -67,7 +68,7 @@
    {% block tab_content %}
    -

    Period : From {{ from_date }} to {{ to_date }}

    +

    {% trans "Period" %} : {% trans "From" %} {{ from_date }} {% trans "to" %} {{ to_date }}

    Total API calls:{% trans "Total API calls" %}: {{ api_calls }}
    API calls made using API Explorer:{% trans "API calls made using API Explorer" %}: {{ calls_by_api_explorer }} ({% widthratio calls_by_api_explorer api_calls 100 %} %)
    Calls per day:{% trans "Calls per day" %}: somealt
    Average number of calls per day: {% trans "Average number of calls per day" %}: {{ average_calls_per_day }}
    Average response time (ms):{% trans "Average response time (ms)" %}: {{ average_response_time }}
    Median time from consumer registration to first API call:{% trans "Median time from consumer registration to first API call" %}: {{ median_time_to_first_api_call }}
    Apps with distinct names:{% trans "Apps with distinct names" %}: {{ number_of_apps_with_unique_app_name }}
    Apps with distinct developer email addresses:{% trans "Apps with distinct developer email addresses" %}: {{ number_of_apps_with_unique_developer_email }}
    Active Apps (at least one API call in the period):{% trans "Active Apps (at least one API call in the period)" %}: {%for item in active_apps_list%}

    {{item.app_name}} ({{ item.developer_email }})

    {% endfor %}
    Top 10 APIs:{% trans "Top 10 APIs" %}: somealt
    Top 10 Consumers:{% trans "Top 10 Consumers" %}: somealt
    Top Warehouse APIs:{% trans "Top Warehouse APIs" %}: {% if top_warehouse_apis %}{%for element in top_warehouse_apis%}

    {{ element.Implemented_by_partial_function }} : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Top Apps using data warehouse:{% trans "Top Apps using data warehouse" %}: {% if top_apps_using_warehouse %}{%for element in top_apps_using_warehouse%}

    {{ element.app_name }} ({{ element.developer_email }}) : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Total number of CanSearchWarehouse users:{% trans "Total number of CanSearchWarehouse users" %}: {{number_of_users_with_cansearchwarehouse}}
    Users with role CanSearchWarehouse:{% trans "Users with role CanSearchWarehouse" %}: {% if user_email_cansearchwarehouse %}{% for key, value in user_email_cansearchwarehouse.items %} {{key}}, {% endfor %}{% else %}

    N/A

    {% endif %}
    @@ -75,68 +76,68 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/apimanager/users/templates/users/detail.html b/apimanager/users/templates/users/detail.html index d950058..ac5b0ff 100644 --- a/apimanager/users/templates/users/detail.html +++ b/apimanager/users/templates/users/detail.html @@ -1,39 +1,39 @@ {% extends 'base.html' %} {% load static %} - +{% load i18n %} {% block page_title %}{{ block.super }} / {{ apiuser.username }}{% endblock page_title %} {% block content %}
    -

    User {{ apiuser.username }}

    +

    {% trans "User" %} {{ apiuser.username }}

    - User ID
    + {% trans "User ID" %}
    {{ apiuser.user_id }}
    - Email
    + {% trans "Email" %}
    {{ apiuser.email }}
    - Provider
    + {% trans "Provider" %}
    {{ apiuser.provider }}
    - Provider ID
    + {% trans "Provider ID" %}
    {{ apiuser.provider_id }}
    - Deleted
    + {% trans "Deleted" %}
    {{ apiuser.is_deleted }}
    - Locked
    + {% trans "Locked" %}
    {{ apiuser.is_locked }}
    @@ -44,11 +44,11 @@ {% if apiuser.is_deleted %} {% else %} - + {% endif %} {% if apiuser.is_locked %} - + {% else %} {% endif %} @@ -59,20 +59,20 @@ {% if apiuser.user_id %}
    -

    Add Entitlement

    +

    {% trans "Add Entitlement" %}

    {% csrf_token %} {{ form.user_id }}
    - {{ form.role_name.label_tag}} + {% trans "Role name" %} {{ form.role_name }}
    - {{ form.bank_id.label_tag }} + {% trans "bank_id" %} {{ form.bank_id }}
    @@ -80,24 +80,24 @@
    -

    Entitlements

    +

    {% trans "Entitlements" %}

    Total API calls:{% trans "Total API calls" %}: {{ api_calls }}
    API calls made using API Explorer:{% trans "API calls made using API Explorer" %}: {{ calls_by_api_explorer }} ({% widthratio calls_by_api_explorer api_calls 100 %} %)
    Calls per month:{% trans "Calls per month" %}: somealt
    Average number of calls per day: {% trans "Average number of calls per day" %}: {{ average_calls_per_day }}
    Average response time (ms):{% trans "Average response time (ms)" %}: {{ average_response_time }}
    Median time from consumer registration to first API call:{% trans "Median time from consumer registration to first API call" %}: {{ median_time_to_first_api_call }}
    Apps with distinct names:{% trans "Apps with distinct names" %}: {{ number_of_apps_with_unique_app_name }}
    Apps with distinct developer email addresses:{% trans "Apps with distinct developer email addresses: {{ number_of_apps_with_unique_developer_email }}
    Active Apps (at least one API call in the period):{% trans "Active Apps (at least one API call in the period)" %}: {%for item in active_apps_list%}

    {{item.app_name}} ({{ item.developer_email }})

    {% endfor %}
    Top 10 APIs:{% trans "Top 10 APIs" %}: somealt
    Top 10 Consumers:{% trans "Top 10 Consumers" %}: somealt
    Top Warehouse APIs:{% trans "Top Warehouse APIs" %}: {% if top_warehouse_apis %}{%for element in top_warehouse_apis%}

    {{ element.Implemented_by_partial_function }} : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Top Apps using data warehouse:{% trans "Top Apps using data warehouse" %}: {% if top_apps_using_warehouse %}{%for element in top_apps_using_warehouse%}

    {{ element.app_name }} ({{ element.developer_email }}) : {{ element.count }}

    {% endfor %}{% else %}

    N/A

    {% endif %}
    Total number of CanSearchWarehouse users:{% trans "Total number of CanSearchWarehouse users" %}: {{number_of_users_with_cansearchwarehouse}}
    Users with role CanSearchWarehouse:{% trans "Users with role CanSearchWarehouse" %}: {% if user_email_cansearchwarehouse %}{% for key, value in user_email_cansearchwarehouse.items %} {{key}}, {% endfor %}{% else %}

    N/A

    {% endif %}
    - - - + + + {% for entitlement in apiuser.entitlements.list %} @@ -111,7 +111,7 @@ {% csrf_token %} - + {% endif %} diff --git a/apimanager/users/templates/users/includes/filter_locked.html b/apimanager/users/templates/users/includes/filter_locked.html index f3b1eea..b938ace 100644 --- a/apimanager/users/templates/users/includes/filter_locked.html +++ b/apimanager/users/templates/users/includes/filter_locked.html @@ -1,3 +1,4 @@ -Active -Locked -All \ No newline at end of file +{% load i18n %} +{% trans "Active" %} +{% trans "Locked" %} +{% trans "All" %} \ No newline at end of file diff --git a/apimanager/users/templates/users/includes/filter_pagination.html b/apimanager/users/templates/users/includes/filter_pagination.html index 2d5d480..46943d0 100644 --- a/apimanager/users/templates/users/includes/filter_pagination.html +++ b/apimanager/users/templates/users/includes/filter_pagination.html @@ -1,10 +1,11 @@ +{% load i18n %}
    - +
    - +
    diff --git a/apimanager/users/templates/users/includes/filter_role.html b/apimanager/users/templates/users/includes/filter_role.html index a49ed89..d0d4d3e 100644 --- a/apimanager/users/templates/users/includes/filter_role.html +++ b/apimanager/users/templates/users/includes/filter_role.html @@ -1,10 +1,11 @@ +{% load i18n %}
    Role nameBank IdAction{% trans "Role name" %}{% trans "Bank Id" %}{% trans "Action" %}
    - - - - + + + + {% for user in users %} @@ -66,7 +66,7 @@ - + {% endfor %} diff --git a/apimanager/users/templates/users/invitation.html b/apimanager/users/templates/users/invitation.html index a979b64..36f5435 100644 --- a/apimanager/users/templates/users/invitation.html +++ b/apimanager/users/templates/users/invitation.html @@ -1,12 +1,11 @@ {% extends 'base.html' %} {% load static %} - +{% load i18n %} {% block page_title %}{{ block.super }} / Users{% endblock page_title %} - {% block content %}
    -

    Invite Developer

    +

    {% trans "Invite Developer" %}

    {% csrf_token %} @@ -20,21 +19,21 @@
    {% if form.bank_id.errors %}
    {{ form.bank_id.errors }}
    {% endif %}
    - {{ form.bank_id.label_tag }} + {% trans "Bank Id" %} {{ form.bank_id }}
    {% if form.first_name.errors %}
    {{ form.first_name.errors }}
    {% endif %}
    - {{ form.first_name.label_tag }} + {% trans "First Name" %} {{ form.first_name }}
    {% if form.last_name.errors %}
    {{ form.last_name.errors }}
    {% endif %}
    - {{ form.last_name.label_tag }} + {% trans "Last Name" %} {{ form.last_name }}
    @@ -43,21 +42,21 @@
    {% if form.email.errors %}
    {{ form.email.errors }}
    {% endif %}
    - {{ form.email.label_tag }} + {% trans "email" %} {{ form.email }}
    {% if form.company.errors %}
    {{ form.company.errors }}
    {% endif %}
    - {{ form.company.label_tag }} + {% trans "company" %} {{ form.company }}
    {% if form.country.errors %}
    {{ form.country.errors }}
    {% endif %}
    - {{ form.country.label_tag }} + {% trans "country" %} {{ form.country }}
    @@ -67,12 +66,12 @@
    User IdUsernameEmailAction{% trans "User Id" %}{% trans "Username" %}{% trans "Email" %}{% trans "Action" %}
    {{ user.user_id }} {{ user.username }} {{ user.email }}View{% trans "View" %}
    - - - - - - + + + + + + {% for invitation in invitations %}
    First NameLast NameEmailcompanycountrystatus{% trans "First Name" %}{% trans "Last Name" %}{% trans "Email" %}{% trans "company" %}{% trans "country" %}{% trans "status" %}