Merge remote-tracking branch 'upstream/develop' into develop

This commit is contained in:
Marko Milić 2022-08-04 09:31:41 +02:00
commit 8dcb26a85b
8 changed files with 162 additions and 132 deletions

View File

@ -5,8 +5,8 @@
# be automated using tools like native2ascii
# https://native2ascii.net/
# This tool will allow you to convert national language characters to and from their Unicode equivalents in plain ASCII text.
api.explorer = Explorador API
api_explorer = Explorador API
api.explorer = API Explorer
api_explorer = API Explorer
api_manager = Gestor API
introduction = Introducci\u00f3n
support = Soporte
@ -17,36 +17,47 @@ privacy_policy = Pol\u00edtica de privacidad
api_documentation = Documentaci\u00f3n API
api_host = Host del API
api_tester = Evaluador API
view_api_explorer = Ver Explorador API
view_api_explorer = Ver API Explorer
get_api_key = Obten llave API
welcome_to = Bienvenido a la instancia de prueba del API Sandbox del Open Bank Project!
get_started_building_your_application = Empiece a crear su aplicaci<63>n
for_banks = Para Bancos
Get_started = Empezar
Create_an_account = Crea una cuenta
Description_Create_an_account = En primer lugar, crea una cuenta de desarrollador gratuita en este sandbox y solicita una clave de desarrollador. En esta fase se te pedir<69> que env<6E>es informaci<63>n b<>sica sobre tu aplicaci<63>n.
Connect_your_app = Conecta tu app
Connect_your_app_description = Utiliza nuestros SDKs para conectar tu aplicaci<63>n a las APIs de Open Bank Project. Necesitar<61>s tu clave de desarrollador, que deber<65>as tener desde que creaste tu cuenta. Consulta todas las APIs disponibles en el Explorador de APIs, pero aseg<65>rate de que est<73>s utilizando la URL base correcta.
Test_your_app = Pruebe su aplicaci<63>n con datos de clientes
Test_your_app_description = una vez que su aplicaci<63>n est<73> conectada, puede probarla utilizando las credenciales del cliente de prueba.
register_for_an_account = Registrar una cuenta nueva
# Explore APIs Section
explore_api_title = Explore APIs
explore_api_accounts_title = Accounts
explore_api_accounts = Access to accounts (XS21) and cards. Provide fine-grained access to guests (auditor, accountant or public).
explore_api_branches_title = Branches, ATMs and Products
explore_api_branches = Access open data related to banks including branches and ATMs including geolocation and opening hours.
explore_api_transactions_title = Transactions
explore_api_transactions = Access the transaction history and transaction metadata.
explore_api_title = Explorar los titulos de las API
explore_api_accounts_title = Cuentas
explore_api_accounts = Acceso a cuentas (XS21) y tarjetas. Proporcionar acceso de grano fino a los invitados (auditor, contable o p<>blico).
explore_api_branches_title = Sucursales, cajeros y productos
explore_api_branches = Acceda a los datos abiertos relacionados con los bancos, incluidas las sucursales y los cajeros autom<6F>ticos, as<61> como la geolocalizaci<63>n y los horarios de apertura.
explore_api_transactions_title = Transacciones
explore_api_transactions = Acceda al historial de transacciones y a los metadatos de las mismas.
explore_api_metadata_title = Metadata
explore_api_metadata = Enrich transactions and counterparties with metadata including geolocations, comments, pictures and tags (e.g. category of spending).
explore_api_metadata = Enriquezca las transacciones y las contrapartes con metadatos que incluyan geolocalizaciones, comentarios, im<69>genes y etiquetas (por ejemplo, categor<6F>a de gasto).
explore_api_counterparties_title = Metadata
explore_api_counterparties = Access the payers and payees of an account including metadata such as their aliases, labels, logos and home pages.
explore_api_counterparties = Acceda a los pagadores y beneficiarios de una cuenta, incluyendo metadatos como sus alias, etiquetas, logotipos y p<>ginas de inicio.
explore_api_webhooks_title = Webhooks
explore_api_webhooks = Call external web services based on Account events.
explore_api_customer_title = Customer onboarding and KYC
explore_api_customer = Perform user, customer and account creation. Manage Know Your Customer (KYC) documents, media and status. Create customer meetings and messages.
explore_api_roles_title = API Roles, Metrics and Documentation
explore_api_roles = Control access to endpoints, get API metrics and documentation.
explore_api_payments_title = Payments & Transfers
explore_api_payments = Initiate Transaction Requests (transfers and payments). View and confirm charges (as per PSD2). Answer strong customer authentication (SCA) challenges.
explore_api_warehouse_title = Search warehouse
explore_api_warehouse = Perform advanced searches and statistics queries on the data warehouse.
explore_api_webhooks = Llamar a servicios web externos basados en eventos de la Cuenta.
explore_api_customer_title = Incorporaci<EFBFBD>n de clientes y KYC
explore_api_customer = Realizar la creaci<63>n de usuarios, clientes y cuentas. Gestionar los documentos, los medios y el estado de Conozca a su Cliente (KYC). Crear reuniones y mensajes de clientes.
explore_api_roles_title = Funciones, m<>tricas y documentaci<63>n de la API
explore_api_roles = Controle el acceso a los puntos finales, obtenga m<>tricas y documentaci<63>n de la API.
explore_api_payments_title = Pagos y transferencias
explore_api_payments = Iniciar solicitudes de transacciones (transferencias y pagos). Ver y confirmar cargos (seg<65>n la PSD2). Responder a los retos de autenticaci<63>n fuerte del cliente (SCA).
explore_api_warehouse_title = Buscar en el almac<61>n
explore_api_warehouse = Realice b<>squedas avanzadas y consultas estad<61>sticas en el almac<61>n de datos.
# Get Started Section
get_started_title = Empezar
@ -59,82 +70,94 @@ get_started_test_your_app_title = Pruebe su aplicaci\u00f3n con datos de cliente
get_started_test_your_app = Una vez que su aplicaci\u00f3n est\u00e9 conectada, puede probarla utilizando las credenciales del cliente de prueba.
get_started_test_your_app_sandbox_date = View sandbox customer log ons.
username = Nombre de usuario
logontext = Acceda a la API del Open Bank Project
passwordlog = Contrase<EFBFBD>a
Forgotten_password = <EFBFBD>Has olvidado tu contrase<73>a?
don't_have_account = <EFBFBD>No Tienes una cuenta?
or_login_with_openid = o con<6F>ctate con OpenID
or = o
invalid.email.address = Invalid email address
password.must.be.set = Password must be set
password.too.short = Password too short
passwords.do.not.match = Passwords do not match
number.required = A numeric value must be provided
ajax.error=The server cannot be contacted at this time
invalid.zip.code = Invalid ZIP code
invalid.postal.code = Invalid postal code
unique.email.address = The email address must be unique
must.be.logged.in = You must be logged in
already.logged.in = already logged in. Please logout first.
login = Login
logout = Logout
log.in = Log In
log.out = Log Out
sign.up = Sign Up
logged.in = Logged In
logout.first = Please logout first.
lost.password = Lost Password
reset.password = Reset Password
change.password = Change Password
password.changed = Password Changed
edit.user = Edit User
validate.user = Validate User
edit.profile = Edit Profile
sign.up.confirmation = Sign up confirmation
sign.up.message = You have signed up. A validation email message will be sent to you.
sign.up.validation.link=Click on this link to complete signup:
welcome = Welcome
account.validated = Account Validated
invalid.validation.link = Validation link invalid
account.validation.error = Your account has not been validated. Please check your email for a validation link.
invalid.credentials = Invalid Username/Password
enter.email = Enter your email address and we'll email you a link to reset your password
email.address = Email address
reset.password.confirmation = Reset Password Confirmation
dear = Dear
click.reset.link = Click on this link to reset your password
thank.you = Thank you
reset.password.request = Reset Password Request
password.reset.email.sent = Password Reset Email sent
account.validation.resent = Account Validation Re-sent
email.address.not.found = Email address not found
send.it = Send It
reset.your.password = Reset your password
enter.your.new.password = Enter your new password
repeat.your.new.password = Enter your new password (repeat)
set.password = Set Password
password.link.invalid = Password reset link invalid
wrong.old.password = Wrong old password
old.password = Old password
new.password = New password
repeat.password = New password (repeat)
repeat = Repeat
edit = Edit
invalid.email.address = Direcci<EFBFBD>n de correo electr<74>nico no v<>lida
password.must.be.set = Hay que poner la contrase<73>a
password.too.short = Contrase<EFBFBD>a demasiado corta
passwords.do.not.match = Las contrase<73>as no coinciden
number.required = Se debe proporcionar un valor num<75>rico
ajax.error=El servidor no puede ser contactado en este momento
invalid.zip.code = C<EFBFBD>digo postal inv<6E>lido
invalid.postal.code = C<EFBFBD>digo postal inv<6E>lido
unique.email.address = La direcci<63>n de correo electr<74>nico debe ser <20>nica
must.be.logged.in = Debe estar conectado
already.logged.in = ya ha iniciado la sesi<73>n. Por favor, cierre la sesi<73>n primero.
login = Ingresar
logout = Salir
log.in = Ingresar
log.out = Salir
sign.up = Registrarse
logged.in = Ingresar
logout.first = Por favor, cierre la sesi<73>n primero.
lost.password = Contrase<EFBFBD>a perdida
reset.password = Restablecer contrase<73>a
change.password = Cambiar la contrase<73>a
password.changed = Contrase<EFBFBD>a cambiada
edit.user = Editar usuario
validate.user = Validar usuario
edit.profile = Editar perfil
sign.up.confirmation = Confirmaci<EFBFBD>n de inscripci<63>n
sign.up.message = Se ha inscrito. Se le enviar<61> un mensaje de correo electr<74>nico de validaci<63>n.
sign.up.validation.link=Haga clic en este enlace para completar la inscripci<63>n:
welcome = Bienvenido
account.validated = Cuenta validada
invalid.validation.link = Enlace de validaci<63>n inv<6E>lido
account.validation.error = Su cuenta no ha sido validada. Por favor, compruebe su correo electr<74>nico para un enlace de validaci<63>n.
invalid.credentials = Nombre de usuario/contrase<73>a no v<>lidos
enter.email = Introduzca su direcci<63>n de correo electr<74>nico y le enviaremos un enlace para restablecer su contrase<73>a
email.address = Correo electr<74>nico
reset.password.confirmation = Confirmacion para reestablecer la contrase<73>a
dear = Apreciable
click.reset.link = Da click en el enlace para reestablecer tu contrase<73>a
thank.you = Gracias
reset.password.request = Solicitud para reestablecer contrase<73>a
password.reset.email.sent = Contrase<EFBFBD>a para reestablecer el correo ha sido enviada
account.validation.resent = Validaci<EFBFBD>n de la cuenta enviado de nuevo
email.address.not.found = Direcci<EFBFBD>n de correo no encontrado
send.it = Enviar
reset.your.password = Resetea tu contrase<73>a
enter.your.new.password = Escribe tu contrase<73>a
repeat.your.new.password = Escribe tu contrase<73>a (repitela)
set.password = Establecer contrase<73>a
password.link.invalid = Enlace para cambio de contrase<73>a invalido
wrong.old.password = Contrase<EFBFBD>a equivocada
old.password = Contrase<EFBFBD>a antigua
new.password = Nueva contrase<73>a
repeat.password = Nueva contrase<73>a (repetir)
repeat = Repetir
edit = Editar
cancel = Cancel
ok = OK
change = Change
password = Password
recover.password = Recover Password
profile.updated = You have updated your profile
male = Male
female = Female
first.name = First name
last.name = Last name
locale = Locale
time.zone = Time Zone
msg.notice = Notice
msg.warning = Warning
change = Cambiar
password = Contrase<EFBFBD>a
recover.password = Recuperar contrase<73>a
profile.updated = Has actualizado tu perfil
male = Masculino
female = Femenino
first.name = Primer Nombre
last.name = Apellido
locale = Localidad
time.zone = Zona Horaria
msg.notice = Advertencia
msg.warning = Peligro
msg.error = Error
crudify.menu.view.displayName=View %s
crudify.menu.edit.displayName=Edit %s
crudify.menu.delete.displayName=Delete %s
paginator.norecords = There are no records to display
paginator.displayingrecords = Displaying %s-%s of %s
crudify.menu.view.displayName=Ver %s
crudify.menu.edit.displayName=Editar %s
crudify.menu.delete.displayName=Borrar %s
paginator.norecords = No hay informaci<63>n que mostrar
paginator.displayingrecords = Mostrando %s-%s de %s
open_bank_project_is = Open Bank Project es
and_commercial_licenses = TESOBE y licencias comerciales
# Country names
country_1 = United States
country_2 = Afghanistan
@ -409,37 +432,37 @@ country_270 = Peter I Island
country_271 = Queen Maud Land
country_272 = British Antarctic Territory
# LiftScreen + Wizard
Next = Next
Previous = Previous
Finish = Finish
Cancel = Cancel
Next = Siguiente
Previous = Anterior
Finish = Terminado
Cancel = Cancelado
# Crudify
Create = Create
Save = Save
Edit = Edit
Delete = Delete
delete = delete
View = View
List = List %s
Created = Created
Edited = Edited
Deleted = Deleted
Create = Crear
Save = Guardar
Edit = Editar
Delete = Borrar
delete = borrar
View = Ver
List = lista %s
Created = Creado
Edited = Editado
Deleted = Borrado
#OBP specific fields
consumer.registration.nav.name=Obtener llave API
invalid.login.credentials=Invalid Login Credentials
invalid.username=Invalid Username: \
1) The ONLY allowed characters in Usernames are: a-z A-Z 0-9 . _ \
2) Usernames MUST be between 8 and 100 characters long \
3) Usernames MUST NOT start with _ or . \
4) Usernames MUST NOT contain __ or ._ or ._ or .. \
5) Usernames MUST NOT end with _ or . \
6) Any valid email address is allowed as the Username
invalid.login.credentials= Credenciales invalidas
invalid.username=Nombre de usuario invalido: \
1) Los <20>nicos caracteres permitidos en los nombres de usuario son: a-z A-Z 0-9 . _ \
2) Los nombres de usuario DEBEN tener entre 8 y 100 caracteres \
3) Los nombres de usuario NO DEBEN empezar por _ o . \
4) Los nombres de usuario NO DEBEN contener __ o ._ o ._ o .. \
5) Los nombres de usuario NO DEBEN terminar con _ o . \
6) Cualquier direcci<63>n de correo electr<74>nico v<>lida est<73> permitida como nombre de usuario
your.username.is.not.unique = Your username is not unique. Please enter a different one.
your.username.is.not.unique = Su nombre de usuario no es <20>nico. Por favor, introduzca uno diferente.
# Those 2 messages must have the same output in order to prevent leakage of information
user.invitation.is.already.finished = Looks like the invitation link is invalid. Still need help? Please send us a message using API Playground Support.
your.secret.link.is.not.valid = Looks like the invitation link is invalid. Still need help? Please send us a message using API Playground Support.
user.invitation.is.already.finished = Parece que el enlace de invitaci<63>n no es v<>lido. <20>Todav<61>a necesitas ayuda? Por favor, env<6E>anos un mensaje usando el soporte de API Playground.
your.secret.link.is.not.valid = Parece que el enlace de invitaci<63>n no es v<>lido. <20>Todav<61>a necesitas ayuda? Por favor, env<6E>anos un mensaje usando el soporte de API Playground.
OBP-30001 = El usuario no ha iniciado sesi\u00c3\u00b3n. \u00c2\u00a1Se requiere autenticaci\u00c3\u00b3n!

View File

@ -244,6 +244,10 @@ token_expiration_weeks=4
## payment challenge answer timeout,default is 600 seconds/10 minutes
transaction_request_challenge_ttl=600
# the allowed attempts to answer the same transactionRequest Challenge, default is 3 times
#answer_transactionRequest_challenge_allowed_attempts=3
### Sandbox

View File

@ -4221,4 +4221,6 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
errorMessage.replaceFirst(obpErrorMessageCodeRegex,"")
}
val allowedAnswerTransactionRequestChallengeAttempts = APIUtil.getPropsAsIntValue("answer_transactionRequest_challenge_allowed_attempts").openOr(3)
}

View File

@ -68,7 +68,7 @@ object MappedChallengeProvider extends ChallengeProvider {
expiredDateTime: Long = createDateTime.getTime+challengeTTL
currentTime: Long = Platform.currentTime
challenge <- if(currentAttemptCounterValue <3){
challenge <- if(currentAttemptCounterValue < APIUtil.allowedAnswerTransactionRequestChallengeAttempts){
if(expiredDateTime > currentTime) {
val currentHashedAnswer = BCrypt.hashpw(challengeAnswer, challenge.salt).substring(0, 44)
val expectedHashedAnswer = challenge.expectedAnswer

View File

@ -270,13 +270,13 @@ Berlin 13359, Germany
<div id="main-support">
<h2 id="technical-support">Support</h2>
<h2 id="technical-support"><lift:loc locid="support">Support</lift:loc></h2>
<div class="row">
<div class="col-xs-1" type="hidden"></div>
<div class="col-xs-2" type="hidden" id ="main-support_place_holder"></div>
<div class="main-support-item col-xs-3">
<img class="support-mail" src="/media/images/icons/support/email.svg" width="48" height="48" alt="mail"/>
<h3>Email</h3>
<h3><lift:loc locid="email.address">Email</lift:loc></h3>
<a id="webui-support-email" data-lift="WebUI.supportEmail" href="mailto:contact@openbankproject.com">contact@openbankproject.com</a>
</div>
@ -313,7 +313,7 @@ Berlin 13359, Germany
<div id="main-start">
<div id="main-start-row" class="row">
<div id="main-start_building" class="col-xs-12 col-sm-6">
<h2 name="get-started" data-lift="WebUI.getStartedText">Get started building your application</h2>
<h2 name="get-started" data-lift="WebUI.getStartedText"><lift:loc locid="get_started_building_your_application">Get started building your application</lift:loc></h2>
<div class="btn btn-default pull-left">
<a href="/consumer-registration">
<lift:loc locid="get_api_key">Get API key</lift:loc></a>
@ -321,7 +321,7 @@ Berlin 13359, Germany
</div>
<div id="for-banks" name="for-banks" data-lift="WebUI.forBanks" class="col-xs-12 col-sm-6">
<h2>For banks</h2>
<h2><lift:loc locid="for_banks">For Banks</lift:loc></h2></h2>
<a class="api-manager-link btn btn-default pull-left"
data-lift="WebUI.apiManagerLink" href="">
<lift:loc locid="api_manager">API Manager</lift:loc></a>

View File

@ -1,19 +1,19 @@
<div id="authorise" tabindex="-1">
<div class="login-error"><span data-lift="Msg?id=login&errorClass=error"/></div>
<div data-lift="Login.customiseLogin">
<h1 id="login-instruction-title">Log on to the Open Bank Project API</h1>
<h1 id="login-instruction-title"><lift:loc locid="logontext">Log on to the Open Bank Project API</lift:loc></h1>
<div id="login-special-instructions">Special Instructions</div>
<form class="login" action="/user_mgt/login" method="post">
<div class="form-group">
<p id="login-form-username">Username </p>
<p id="login-form-username"><lift:loc locid="username">Username</lift:loc></p>
<input class="form-control" id="username" type="text" name="username" tabindex="0" autofocus autocomplete="off" aria-label="Username" aria-describedby="login-form-username-error"/>
<div id = "login-username-error" class="hide">
<span data-lift="Msg?id=login-form-username-error"/>
</div>
</div>
<div class="form-group">
<p id="login-form-password">Password</p>
<p id="login-form-password"><lift:loc locid="passwordlog">Password</lift:loc></p>
<input class="form-control" id="password" type="password" name="password" tabindex="0" autocomplete="off" aria-label="Password" aria-describedby="login-form-password-error"/>
<div id = "login-password-error" class="hide">
<span data-lift="Msg?id=login-form-password-error"/>
@ -28,7 +28,7 @@
<!-- </div>-->
<div id="authorise-recover-password">
<a href="/user_mgt/lost_password" tabindex="0">Forgotten password?</a>
<a href="/user_mgt/lost_password" tabindex="0"><lift:loc locid="Forgotten_password">Forgotten password?</lift:loc></a>
</div>
<div class="row">
@ -38,14 +38,14 @@
</div>
</div>
<div class ="login-or"> or </div>
<div class ="login-or"> <lift:loc locid="or">or</lift:loc></div>
<hr>
<div class="row">
<span id="login-Register-text">Don't have an account? </span>
<a href="/user_mgt/sign_up" id="authorise-signup" class="btn btn-default pull-right authorise-button" tabindex="0">Register</a>
<span id="login-Register-text"><lift:loc locid="don't_have_account">Don't have an account?</lift:loc> </span>
<a href="/user_mgt/sign_up" id="authorise-signup" class="btn btn-default pull-right authorise-button" tabindex="0"><lift:loc locid="register">Register</lift:loc></a>
</div>
<div class ="login-or"> or Login with OpenID : </div>
<div class ="login-or">><lift:loc locid="or_login_with_openid">or Login with OpenID :</lift:loc> </div>
<hr>
<div data-lift="OpenIDConnectSnippet.showFirstButton">
<div data-lift="OpenidConnectInvoke.linkButtonFirstProvider">

View File

@ -244,7 +244,7 @@ Berlin 13359, Germany
<span><a id="en" href="/" >EN</a></span>
</div>
<div id="copyright">
<a href="http://openbankproject.com">Open Bank Project is &copy;2011 - <span id="copyright-year" data-lift="WebUI.currentYearText">2018</span> </a> <a href="http://tesobe.com">TESOBE and distributed under the AGPL and commercial licenses.</a>
<a href="http://openbankproject.com"><lift:loc locid="open_bank_project_is">Open Bank Project is &copy;2011 - </lift:loc> <span id="copyright-year" data-lift="WebUI.currentYearText">2018</span> </a> <a href="http://tesobe.com"><lift:loc locid="and_commercial_licenses">TESOBE and distributed under the AGPL and commercial licenses. </lift:loc></a>
</div>
</div>
</footer>

View File

@ -3,6 +3,7 @@
### Most recent changes at top of file
```
Date Commit Action
01/08/2022 d94687d6 added new props `answer_transactionRequest_challenge_allowed_attempts`, default is 3 .
03/05/2022 5fe70270 added new props `transaction_request_challenge_ttl`, default is 600 seconds.
31/03/2022 a0262c3f added new value SIMPLE to props `transactionRequests_supported_types`
added new props `SIMPLE_OTP_INSTRUCTION_TRANSPORT`, default value is `DUMMY`