diff --git a/js/controllers/more.js b/js/controllers/more.js index 6bd28e4ab..957a7f014 100644 --- a/js/controllers/more.js +++ b/js/controllers/more.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.controllers').controller('MoreController', - function($scope, $rootScope, $location, backupService, walletFactory, controllerUtils, notification, rateService) { + function($scope, $rootScope, $location, $filter, backupService, walletFactory, controllerUtils, notification, rateService) { var w = $rootScope.wallet; $scope.unitOpts = [{ @@ -80,7 +80,7 @@ angular.module('copayApp.controllers').controller('MoreController', if (removed) { controllerUtils.updateBalance(); } - notification.info('Transactions Proposals Purged', removed + ' transaction proposal purged'); + notification.info('Transactions Proposals Purged', removed + ' ' + $filter('translate')('transaction proposal purged')); }; $scope.updateIndexes = function() { @@ -88,7 +88,7 @@ angular.module('copayApp.controllers').controller('MoreController', w.updateIndexes(function(err) { notification.info('Scan Ended', 'Updating balance'); if (err) { - notification.error('Error', 'Error updating indexes: ' + err); + notification.error('Error', $filter('translate')('Error updating indexes: ') + err); } controllerUtils.updateAddressList(); controllerUtils.updateBalance(function() { diff --git a/js/controllers/send.js b/js/controllers/send.js index d12868d40..84c6d7efc 100644 --- a/js/controllers/send.js +++ b/js/controllers/send.js @@ -109,7 +109,7 @@ angular.module('copayApp.controllers').controller('SendController', $scope.submitForm = function(form) { if (form.$invalid) { - var message = 'Unable to send transaction proposal.'; + var message = 'Unable to send transaction proposal'; notification.error('Error', message); return; } @@ -152,7 +152,7 @@ angular.module('copayApp.controllers').controller('SendController', message += ' Message from server: ' + merchantData.ack.memo; message += ' For merchant: ' + merchantData.pr.pd.payment_url; } - notification.success('Success!', message); + notification.success('Success', message); $scope.loadTxs(); } else { w.sendTx(ntxid, function(txid, merchantData) { @@ -165,9 +165,9 @@ angular.module('copayApp.controllers').controller('SendController', message += ' Message from server: ' + merchantData.ack.memo; message += ' For merchant: ' + merchantData.pr.pd.payment_url; } - notification.success('Transaction broadcast', message); + notification.success('Transaction broadcasted', message); } else { - notification.error('Error', 'There was an error sending the transaction.'); + notification.error('Error', 'There was an error sending the transaction'); } $scope.loading = false; $scope.loadTxs(); @@ -421,7 +421,7 @@ angular.module('copayApp.controllers').controller('SendController', notification.error('Error', 'There was an error sending the transaction'); } else { if (!merchantData) { - notification.success('Transaction broadcast', 'Transaction id: ' + txid); + notification.success('Transaction broadcasted', 'Transaction id: ' + txid); } else { var message = 'Transaction ID: ' + txid; if (merchantData.pr.ca) { diff --git a/js/controllers/sidebar.js b/js/controllers/sidebar.js index 54fc3df8c..6cccc126f 100644 --- a/js/controllers/sidebar.js +++ b/js/controllers/sidebar.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('SidebarController', function($scope, $rootScope, $sce, $location, $http, notification, controllerUtils) { +angular.module('copayApp.controllers').controller('SidebarController', function($scope, $rootScope, $sce, $location, $http, $filter, notification, controllerUtils) { $scope.menu = [{ 'title': 'Receive', @@ -60,7 +60,7 @@ angular.module('copayApp.controllers').controller('SidebarController', function( if ($rootScope.wallet) { $scope.$on('$idleWarn', function(a,countdown) { if (!(countdown%5)) - notification.warning('Session will be closed', 'Your session is about to expire due to inactivity in ' + countdown + ' seconds'); + notification.warning('Session will be closed', $filter('translate')('Your session is about to expire due to inactivity in') + ' ' + countdown + ' ' + $filter('translate')('seconds')); }); $scope.$on('$idleTimeout', function() { diff --git a/js/controllers/version.js b/js/controllers/version.js index 5adfafd7a..f344a5da4 100644 --- a/js/controllers/version.js +++ b/js/controllers/version.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.controllers').controller('VersionController', - function($scope, $rootScope, $http, notification) { + function($scope, $rootScope, $http, $filter, notification) { var w = $rootScope.wallet; @@ -20,7 +20,7 @@ angular.module('copayApp.controllers').controller('VersionController', }; var latestVersion = data[0].name.replace('v', '').split('.').map(toInt); var currentVersion = copay.version.split('.').map(toInt); - var title = 'Copay ' + data[0].name + ' available.'; + var title = 'Copay ' + data[0].name + $filter('translate')(' available.'); var content; if (currentVersion[0] < latestVersion[0]) { content = 'It\'s important that you update your wallet at https://copay.io'; diff --git a/js/services/backupService.js b/js/services/backupService.js index 24f0763f4..74ca8a7f0 100644 --- a/js/services/backupService.js +++ b/js/services/backupService.js @@ -19,7 +19,7 @@ BackupService.prototype.download = function(wallet) { var copayerName = this.getCopayer(wallet); var filename = (copayerName ? copayerName + '-' : '') + walletName + '-keybackup.json.aes'; - this.notifications.success('Backup created', 'Encrypted backup file saved.'); + this.notifications.success('Backup created', 'Encrypted backup file saved'); var blob = new Blob([ew], { type: 'text/plain;charset=utf-8' }); diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index 8926fd877..702c9d409 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -2,7 +2,7 @@ var bitcore = require('bitcore'); angular.module('copayApp.services') - .factory('controllerUtils', function($rootScope, $sce, $location, notification, $timeout, uriHandler, rateService) { + .factory('controllerUtils', function($rootScope, $sce, $location, $filter, notification, $timeout, uriHandler, rateService) { var root = {}; root.redirIfLogged = function() { @@ -51,7 +51,7 @@ angular.module('copayApp.services') }); w.on('corrupt', function(peerId) { - notification.error('Error', 'Received corrupt message from ' + peerId); + notification.error('Error', $filter('translate')('Received corrupt message from ') + peerId); }); w.on('ready', function(myPeerID) { $rootScope.wallet = w; @@ -111,13 +111,13 @@ angular.module('copayApp.services') var user = w.publicKeyRing.nicknameForCopayer(e.cId); switch (e.type) { case 'signed': - notification.info('Transaction Update', 'A transaction was signed by ' + user); + notification.info('Transaction Update', $filter('translate')('A transaction was signed by') + ' ' + user); break; case 'rejected': - notification.info('Transaction Update', 'A transaction was rejected by ' + user); + notification.info('Transaction Update', $filter('translate')('A transaction was rejected by') + ' ' + user); break; case 'corrupt': - notification.error('Transaction Error', 'Received corrupt transaction from ' + user); + notification.error('Transaction Error', $filter('translate')('Received corrupt transaction from') + ' ' + user); break; } }); @@ -142,7 +142,7 @@ angular.module('copayApp.services') $rootScope.$watch('txAlertCount', function(txAlertCount) { if (txAlertCount && txAlertCount > 0) { - notification.info('New Transaction', ($rootScope.txAlertCount == 1) ? 'You have a pending transaction proposal' : 'You have ' + $rootScope.txAlertCount + ' pending transaction proposals', txAlertCount); + notification.info('New Transaction', ($rootScope.txAlertCount == 1) ? 'You have a pending transaction proposal' : $filter('translate')('You have') + ' ' + $rootScope.txAlertCount + ' ' + $filter('translate')('pending transaction proposals'), txAlertCount); } }); }; diff --git a/po/es.po b/po/es.po index 78cedf7be..def525886 100644 --- a/po/es.po +++ b/po/es.po @@ -16,6 +16,14 @@ msgstr "" msgid "(*) The limits are imposed by the bitcoin network." msgstr "(*) Los límites son impuestos por la red de bitcoin." +#: views/dummy-translations.html +msgid "A transaction was rejected by" +msgstr "Una transacción fue rechazada por" + +#: views/dummy-translations.html +msgid "A transaction was signed by" +msgstr "Una transacción fue firmada por" + #: views/more.html msgid "" "ALL Transactions Proposals will be discarted. This needs to be done on " @@ -71,6 +79,10 @@ msgstr "Volver" msgid "Backup" msgstr "Copia de Seguridad" +#: views/dummy-translations.html +msgid "Backup created" +msgstr "Copia de Seguridad creada" + #: views/copayers.html msgid "Backup wallet" msgstr "Hacer copia de seguridad" @@ -135,10 +147,21 @@ msgstr "Continuar de todas maneras" msgid "Copayers" msgstr "Compañeros" +#: views/dummy-translations.html +msgid "Copied to clipboard" +msgstr "Copiado al portapapeles" + #: views/modals/qr-address.html msgid "Copy to clipboard" msgstr "Copiar al portapapeles" +#: views/dummy-translations.html +msgid "" +"Could not connect to the Insight server. Check your settings and network " +"configuration" +msgstr "" +"No se pudo conectar con el servidor Insight. Verifica la configuración de red" + #: views/home.html msgid "Create a new wallet" msgstr "Crear un nuevo monedero" @@ -193,14 +216,38 @@ msgstr "Descargar Archivo" msgid "Empty. Create an alias for your addresses" msgstr "Vacío. Crea una etiqueta para tus direcciones" +#: views/dummy-translations.html +msgid "Encrypted backup file saved" +msgstr "Archivo de copia de seguridad encriptado guardado" + +#: views/dummy-translations.html +msgid "Error updating indexes:" +msgstr "Error al actualizar índices:" + #: views/create.html msgid "Family vacation funds" msgstr "Fondos para vacaciones en familia" +#: views/dummy-translations.html +msgid "Fatal error connecting to Insight server" +msgstr "Error fatal al conectar con el servidor Insight" + #: views/transactions.html views/includes/transaction.html msgid "Fee" msgstr "Tasa" +#: views/dummy-translations.html +msgid "Finished" +msgstr "Finalizado" + +#: views/dummy-translations.html +msgid "Form Error" +msgstr "Error en formulario" + +#: views/dummy-translations.html +msgid "Funds received!" +msgstr "¡Fondos recibidos!" + #: views/join.html views/send.html msgid "Get QR code" msgstr "Obtener código QR" @@ -222,43 +269,59 @@ msgstr "" "Si todos los fondos fueron removidos de tu monedero y no deseas tener los " "datos guardados en tu computadora, puedes eliminar tu monedero." -#: views/home.html +#: views/dummy-translations.html views/home.html msgid "Import a backup" -msgstr "Importar backup" +msgstr "Importar una copia de seguridad" #: views/import.html msgid "Import backup" msgstr "Importar copia de seguridad" +#: views/dummy-translations.html +msgid "Importing wallet - Reading backup..." +msgstr "Importando monedero - Leyendo archivo..." + +#: views/dummy-translations.html +msgid "Importing wallet - Setting things up..." +msgstr "Importando monedero - Configurando..." + +#: views/dummy-translations.html +msgid "Importing wallet - We are almost there..." +msgstr "Importando monedero - Finalizando..." + #: views/send.html msgid "Including fee of" msgstr "Incluye tasa de" +#: views/settings.html +msgid "Insight API server" +msgstr "Servidor de API Insight" + #: views/settings.html msgid "" "Insight API server is open-source software. You can run your own instances, " "check Insight API Homepage" msgstr "" -"Servidor API de insight es un software código-abierto. Puedes correr tu " +"Servidor de API insight es un software código-abierto. Puedes correr tu " "propia instancia en Insight " "API Homepage" -#: views/settings.html -msgid "Insight API servers" -msgstr "Servidor Insight API" - #: views/send.html msgid "Insufficient funds" msgstr "Fondos insuficientes" +#: views/dummy-translations.html +msgid "It's important that you update your wallet at https://copay.io" +msgstr "Es importante que actualices tu monedero en https://copay.io" + #: views/more.html msgid "" "It's important to backup your wallet so that you can recover it in case of " "disaster" msgstr "" "Es importante hacer copia de seguridad de tu monedero para que puedas " -"recuperarlo en caso de pérdidas" +"recuperarlo en caso de pérdidas de datos de tu computadora" #: views/join.html msgid "Join" @@ -288,6 +351,14 @@ msgstr "Dejar mensaje privado a tus compañeros" msgid "Locked" msgstr "Bloqueado" +#: views/dummy-translations.html +msgid "Login Required" +msgstr "Inicio de Sesión Requerido" + +#: views/includes/sidebar.html +msgid "Manual Update" +msgstr "Actualización Manual" + #: views/more.html msgid "Master Private Key" msgstr "Master Private Key" @@ -308,10 +379,22 @@ msgstr "Nombre" msgid "Network Error. Attempting to reconnect..." msgstr "Error de Red. Intentando reconectar..." +#: views/dummy-translations.html +msgid "Networking Error" +msgstr "Error de Red" + +#: views/dummy-translations.html +msgid "New Transaction" +msgstr "Nueva Transacción" + #: views/copayers.html msgid "New Wallet Created" msgstr "Nuevo Monedero Creado" +#: views/dummy-translations.html +msgid "New entry has been created" +msgstr "Nueva entrada fue creada" + #: views/create.html msgid "Next" msgstr "Siguiente" @@ -393,6 +476,26 @@ msgstr "" "necesario hacerlo con TODOS los compañeros del monedero, para " "prevenir que viejas propuestas sean re sincronizadas de nuevo." +#: views/dummy-translations.html +msgid "Please complete required fields" +msgstr "Por favor complete los campos requeridos" + +#: views/dummy-translations.html +msgid "Please enter the required fields" +msgstr "Por favor ingrese los campos requeridos" + +#: views/dummy-translations.html +msgid "Please open wallet to complete payment" +msgstr "Por favor abrir un monedero para completar el pago" + +#: views/dummy-translations.html +msgid "Please update your wallet at https://copay.io" +msgstr "Por favor actualiza tu monedero de https://copay.io" + +#: views/dummy-translations.html +msgid "Please, select your backup file" +msgstr "Por favor, selecciona el archivo de copia de seguridad" + #: views/uri-payment.html msgid "Preparing payment..." msgstr "Preparando pago..." @@ -429,6 +532,14 @@ msgstr "Listo" msgid "Receive" msgstr "Recibir" +#: views/dummy-translations.html +msgid "Received corrupt message from" +msgstr "Se recibió un mensaje corrupto de" + +#: views/dummy-translations.html +msgid "Received corrupt transaction from" +msgstr "Se recibió una transacción corrupta de" + #: views/includes/transaction.html msgid "Reject" msgstr "Rechazar" @@ -437,7 +548,7 @@ msgstr "Rechazar" msgid "Repeat password" msgstr "Repite la contraseña" -#: views/import.html views/join.html +#: views/import.html views/join.html views/modals/address-book.html msgid "Required" msgstr "Requerido" @@ -453,6 +564,10 @@ msgstr "Explorar" msgid "Scan Wallet Addresses" msgstr "Explorar Direcciones del Monedero" +#: views/dummy-translations.html +msgid "Scaning for transactions" +msgstr "Explorando transacciones" + #: views/import.html msgid "Select a backup file" msgstr "Seleccionar el archivo de copia de seguridad" @@ -465,6 +580,10 @@ msgstr "Seleccione las firmas requeridas (*)" msgid "Select total number of copayers (*)" msgstr "Seleccione el total de compañeros (*)" +#: views/dummy-translations.html +msgid "Send" +msgstr "Enviar" + #: views/send.html msgid "Send Proposals" msgstr "Enviar Propuestas" @@ -485,6 +604,18 @@ msgstr "Enviado" msgid "Server Says:" msgstr "Mensaje del Servidor:" +#: views/dummy-translations.html +msgid "Session closed" +msgstr "Sesión cerrada" + +#: views/dummy-translations.html +msgid "Session closed because a long time of inactivity" +msgstr "La sesión fue cerrada por mucho tiempo de inactividad" + +#: views/dummy-translations.html +msgid "Session will be closed" +msgstr "La sesión se cerrará" + #: views/home.html views/more.html msgid "Settings" msgstr "Configuración" @@ -526,6 +657,34 @@ msgstr "Ignorar propuestas de transacciones desde la Copia de Seguridad" msgid "Skipping fields: {{skipFields}}" msgstr "Saltear campos: {{skipFields}}" +#: views/dummy-translations.html +msgid "Success" +msgstr "Listo" + +#: views/dummy-translations.html +msgid "The balance is updated using the derived addresses" +msgstr "El balance es actualizado utilizando direcciones derivadas" + +#: views/dummy-translations.html +msgid "The secret string you entered is invalid" +msgstr "La palabra secreta ingresada no es válida" + +#: views/dummy-translations.html +msgid "The transaction proposal has been created" +msgstr "La propuesta de transacción fue creada" + +#: views/dummy-translations.html +msgid "The wallet is full" +msgstr "El monedero esta completo" + +#: views/dummy-translations.html +msgid "There was an error sending the transaction" +msgstr "Hubo un error al enviar la transacción" + +#: views/dummy-translations.html +msgid "There was an error signing the transaction" +msgstr "Hubo un error al firmar la transacción" + #: views/warning.html msgid "This wallet appears to be currently open." msgstr "Este monedero parece estar actualmente abierto." @@ -554,18 +713,46 @@ msgstr "Total" msgid "Total amount for this transaction:" msgstr "Cantidad total de esta transacción:" +#: views/dummy-translations.html +msgid "Transaction Error" +msgstr "Error en Transacción" + #: views/includes/transaction.html msgid "Transaction ID" -msgstr "ID Transacción" +msgstr "ID de Transacción" #: views/transactions.html msgid "Transaction Proposals" msgstr "Propuestas de Transacción" +#: views/dummy-translations.html +msgid "Transaction Update" +msgstr "Actualización de una Transacción" + +#: views/dummy-translations.html +msgid "Transaction broadcasted" +msgstr "Transacción transmitida" + #: views/includes/transaction.html msgid "Transaction finally rejected" +msgstr "Transacción finalmente rechazada" + +#: views/dummy-translations.html +msgid "Transaction rejected" msgstr "Transacción rechazada" +#: views/dummy-translations.html +msgid "Transactions Proposals Purged" +msgstr "Propuestas de Transacciones Purgadas" + +#: views/dummy-translations.html +msgid "Unable to send transaction proposal" +msgstr "No se puede enviar propuesta de transacción" + +#: views/dummy-translations.html +msgid "Updating balance" +msgstr "Actualizando balance" + #: views/send.html msgid "Use all funds" msgstr "Todos los fondos" @@ -578,6 +765,10 @@ msgstr "Red de prueba" msgid "User information" msgstr "Información de Usuario" +#: views/dummy-translations.html +msgid "Using derived addresses from your wallet" +msgstr "Usando direcciones derivadas de tu monedero" + #: views/modals/address-book.html msgid "Valid" msgstr "Válido" @@ -614,6 +805,10 @@ msgstr "Unidad del monedero" msgid "Wallet name" msgstr "Nombre del monedero" +#: views/dummy-translations.html +msgid "Wallet network configuration missmatch" +msgstr "Configuración de la Red del monedero no coinciden" + #: views/warning.html msgid "Warning!" msgstr "¡Advertencia!" @@ -622,6 +817,18 @@ msgstr "¡Advertencia!" msgid "Wrong password" msgstr "Contraseña incorrecta" +#: views/dummy-translations.html +msgid "You have" +msgstr "Tienes" + +#: views/dummy-translations.html +msgid "You have a pending transaction proposal" +msgstr "Tienes una propuesta de transacción pendiente" + +#: views/dummy-translations.html +msgid "You rejected the transaction successfully" +msgstr "Rechazaste la transacción con éxito" + #: views/more.html msgid "" "Your master private key contains the information to sign any " @@ -642,6 +849,10 @@ msgstr "Tu nombre (opcional)" msgid "Your password" msgstr "Tu contraseña" +#: views/dummy-translations.html +msgid "Your session is about to expire due to inactivity in" +msgstr "Tu sesión está va a expirar por inactividad en" + #: views/import.html msgid "Your wallet password" msgstr "Contraseña de tu monedero" @@ -650,6 +861,10 @@ msgstr "Contraseña de tu monedero" msgid "advanced options" msgstr "opciones avanzadas" +#: views/dummy-translations.html +msgid "available." +msgstr "disponible." + #: views/addresses.html msgid "change" msgstr "vuelto" @@ -674,18 +889,30 @@ msgstr "de" msgid "optional" msgstr "opcional" +#: views/dummy-translations.html +msgid "pending transaction proposals" +msgstr "propuestas de transacciones pendientes" + #: views/copayers.html msgid "people have" msgstr "personas" -#: views/send.html views/modals/address-book.html +#: views/send.html msgid "required" msgstr "requerido" +#: views/dummy-translations.html +msgid "seconds" +msgstr "segundos" + #: views/send.html msgid "too long!" msgstr "¡demasiado largo!" +#: views/dummy-translations.html +msgid "transaction proposal purged" +msgstr "propuestas de transacciones purgadas" + #: views/send.html msgid "valid!" msgstr "¡válido!" @@ -702,6 +929,16 @@ msgstr "deben unirse" msgid "{{tx.missingSignatures}} signatures missing" msgstr "Faltan {{tx.missingSignatures}} firmas" +#~ msgid "Scan Ended" +#~ msgstr "Búsqueda Finalizada" + +#~ msgid "There is an error in the form." +#~ msgstr "Hubo un error en el formulario." + +#, fuzzy +#~ msgid "Wrong password que parece" +#~ msgstr "Contraseña incorrecta" + #~ msgid "Add Address" #~ msgstr "Agregar Dirección" @@ -742,9 +979,6 @@ msgstr "Faltan {{tx.missingSignatures}} firmas" #~ msgid "Your Wallet Password" #~ msgstr "Contraseña de tu Monedero" -#~ msgid "Send" -#~ msgstr "Enviar" - #~ msgid "" #~ "{{$root.wallet.requiredCopayers}}-of-{{$root.wallet.totalCopayers}} wallet" #~ msgstr "Monedero {{requiredCopayers}}-de-{{totalCopayers}}" diff --git a/views/dummy-translations.html b/views/dummy-translations.html index fe7033c12..89163b187 100644 --- a/views/dummy-translations.html +++ b/views/dummy-translations.html @@ -1,4 +1,60 @@ -Receive -History -Wrong password - +{{'Receive'|translate}} +{{'History'|translate}} +{{'Wrong password'|translate}} +{{'Copied to clipboard'|translate}} +{{'Please enter the required fields'|translate}} +{{'Import a backup'|translate}} +{{'Importing wallet - Reading backup...'|translate}} +{{'Importing wallet - Setting things up...'|translate}} +{{'Importing wallet - We are almost there...'|translate}} +{{'Error updating indexes:'|translate}} +{{'Please, select your backup file'|translate}} +{{'Please enter the required fields'|translate}} +{{'Fatal error connecting to Insight server'|translate}} +{{'The wallet is full'|translate}} +{{'Wallet network configuration missmatch'|translate}} +{{'The secret string you entered is invalid'|translate}} +{{'Transactions Proposals Purged'|translate}} +{{'transaction proposal purged'|translate}} +{{'Updating balance'|translate}} +{{'Scaning for transactions'|translate}} +{{'Using derived addresses from your wallet'|translate}} +{{'Finished'|translate}} +{{'The balance is updated using the derived addresses'|translate}} +{{'Login Required'|translate}} +{{'Please open wallet to complete payment'|translate}} +{{'Send'|translate}} +{{'Unable to send transaction proposal'|translate}} +{{'The transaction proposal has been created'|translate}} +{{'Form Error'|translate}} +{{'Please complete required fields'|translate}} +{{'Success'|translate}} +{{'New entry has been created'|translate}} +{{'There was an error sending the transaction'|translate}} +{{'Transaction rejected'|translate}} +{{'You rejected the transaction successfully'|translate}} +{{'There was an error signing the transaction'|translate}} +{{'Session will be closed'|translate}} +{{'Your session is about to expire due to inactivity in'|translate}} +{{'seconds'|translate}} +{{'Session closed'|translate}} +{{'Session closed because a long time of inactivity'|translate}} +{{'available.'|translate}} +{{'It\'s important that you update your wallet at https://copay.io'|translate}} +{{'Please update your wallet at https://copay.io'|translate}} +{{'Backup created'|translate}} +{{'Encrypted backup file saved'|translate}} +{{'Networking Error'|translate}} +{{'Could not connect to the Insight server. Check your settings and network configuration'|translate}} +{{'Received corrupt message from '|translate}} +{{'Transaction Update'|translate}} +{{'A transaction was signed by'|translate}} +{{'A transaction was rejected by'|translate}} +{{'Transaction Error'|translate}} +{{'Received corrupt transaction from'|translate}} +{{'New Transaction'|translate}} +{{'You have a pending transaction proposal'|translate}} +{{'You have'|translate}} +{{'pending transaction proposals'|translate}} +{{'Funds received!'|translate}} +{{'Transaction broadcasted'|translate}}