Merge pull request #2664 from cmgustavo/feat/language-05

Feat/language 05
This commit is contained in:
Matias Alejo Garcia 2015-04-30 15:58:56 -03:00
commit 7947438396
28 changed files with 763 additions and 257 deletions

View file

@ -156,7 +156,14 @@ module.exports = function(grunt) {
nggettext_extract: { nggettext_extract: {
pot: { pot: {
files: { files: {
'po/template.pot': ['public/index.html', 'public/views/*.html', 'public/views/**/*.html'] 'po/template.pot': [
'public/index.html',
'public/views/*.html',
'public/views/**/*.html',
'src/js/routes.js',
'src/js/services/*.js',
'src/js/controllers/*.js'
]
} }
}, },
}, },

416
po/es.po
View file

@ -36,7 +36,19 @@ msgstr ""
"* Usted puede instalar la copia de seguridad en otro dispositivo y usar el " "* Usted puede instalar la copia de seguridad en otro dispositivo y usar el "
"monedero al mismo tiempo en varios dispositivos." "monedero al mismo tiempo en varios dispositivos."
#: public/views/includes/sidebar.html #: src/js/services/notificationsService.js
msgid "A transaction was finally rejected"
msgstr "Transacción finalmente rechazada"
#: src/js/routes.js
msgid "About"
msgstr "Acerca de"
#: public/views/preferences.html
msgid "About Copay"
msgstr "Acerca de Copay"
#: public/views/includes/sidebar.html src/js/routes.js
msgid "Add wallet" msgid "Add wallet"
msgstr "Agregar monedero" msgstr "Agregar monedero"
@ -44,7 +56,7 @@ msgstr "Agregar monedero"
msgid "Address" msgid "Address"
msgstr "Dirección" msgstr "Dirección"
#: public/views/preferences.html #: public/views/preferences.html src/js/routes.js
msgid "Alternative Currency" msgid "Alternative Currency"
msgstr "Moneda Alternativa" msgstr "Moneda Alternativa"
@ -61,6 +73,10 @@ msgstr "Importe en"
msgid "Applying changes" msgid "Applying changes"
msgstr "Aplicando los cambios" msgstr "Aplicando los cambios"
#: src/js/controllers/copayers.js src/js/controllers/preferencesDelete.js
msgid "Are you sure you want to delete this wallet?"
msgstr "¿Estas seguro de borrar este monedero?"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Available Balance" msgid "Available Balance"
msgstr "Balance disponible" msgstr "Balance disponible"
@ -69,10 +85,14 @@ msgstr "Balance disponible"
msgid "Back" msgid "Back"
msgstr "Volver" msgstr "Volver"
#: public/views/preferences.html #: public/views/preferences.html src/js/routes.js
msgid "Backup" msgid "Backup"
msgstr "Copia de seguridad" msgstr "Copia de seguridad"
#: src/js/controllers/backup.js
msgid "Backup created"
msgstr "Copia de Seguridad creada"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Backup now" msgid "Backup now"
msgstr "Copia de seguridad" msgstr "Copia de seguridad"
@ -100,6 +120,10 @@ msgstr "Dirección bitcoin"
msgid "Broadcast Transaction" msgid "Broadcast Transaction"
msgstr "Emitir Transacción" msgstr "Emitir Transacción"
#: src/js/controllers/walletHome.js
msgid "Broadcasting transaction"
msgstr "Emitiendo la transacción"
#: public/views/unsupported.html #: public/views/unsupported.html
msgid "Browser unsupported" msgid "Browser unsupported"
msgstr "Navegador no soportado" msgstr "Navegador no soportado"
@ -113,7 +137,6 @@ msgid "CANCEL"
msgstr "CANCELAR" msgstr "CANCELAR"
#: public/views/copayers.html public/views/walletHome.html #: public/views/copayers.html public/views/walletHome.html
#: public/views/modals/confirmation.html
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
@ -131,10 +154,14 @@ msgstr "Seleccione el archivo backup de su computadora"
msgid "Close" msgid "Close"
msgstr "Cerrar" msgstr "Cerrar"
#: public/views/preferences.html #: public/views/preferences.html src/js/routes.js
msgid "Color" msgid "Color"
msgstr "Color" msgstr "Color"
#: public/views/preferencesAbout.html
msgid "Commit hash"
msgstr "Commit hash"
#: public/views/modals/tx-details.html #: public/views/modals/tx-details.html
msgid "Confirmations" msgid "Confirmations"
msgstr "Confirmaciones" msgstr "Confirmaciones"
@ -156,10 +183,34 @@ msgstr ""
msgid "Copy to clipboard" msgid "Copy to clipboard"
msgstr "Copiar al portapapeles" msgstr "Copiar al portapapeles"
#: src/js/services/profileService.js
msgid "Could not create using the specified extended private key"
msgstr "No se pudo crear el monedero usando la clave privada ingresada"
#: src/js/controllers/import.js
msgid "Could not decrypt file, check your password"
msgstr "No se pudo desencriptar el archivo, verifique su contraseña"
#: src/js/controllers/walletHome.js
msgid "Could not fetch payment information"
msgstr "No se pudo obtener información del pago"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Could not fetch transaction history" msgid "Could not fetch transaction history"
msgstr "No se pudo obtener el historial de transacciones" msgstr "No se pudo obtener el historial de transacciones"
#: src/js/services/profileService.js
msgid "Could not import. Check input file and password"
msgstr "No se pudo importar. Verifique el archivo y su contraseña"
#: src/js/services/profileService.js
msgid "Could not join using the specified extended private key"
msgstr "No se pudo unir al monedero usando la clave privada ingresada"
#: src/js/controllers/join.js
msgid "Could not join wallet:"
msgstr "No se pudo unir al monedero:"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Could not update Wallet" msgid "Could not update Wallet"
msgstr "No se puede actualizar el monedero" msgstr "No se puede actualizar el monedero"
@ -168,7 +219,7 @@ msgstr "No se puede actualizar el monedero"
msgid "Create" msgid "Create"
msgstr "Crear" msgstr "Crear"
#: public/views/add.html #: public/views/add.html src/js/routes.js
msgid "Create new wallet" msgid "Create new wallet"
msgstr "Crear nuevo monedero" msgstr "Crear nuevo monedero"
@ -184,14 +235,30 @@ msgstr "Creado por"
msgid "Creating Wallet..." msgid "Creating Wallet..."
msgstr "Creando Monedero..." msgstr "Creando Monedero..."
#: src/js/controllers/walletHome.js
msgid "Creating transaction"
msgstr "Creando transacción"
#: public/views/modals/tx-details.html #: public/views/modals/tx-details.html
msgid "Date" msgid "Date"
msgstr "Fecha" msgstr "Fecha"
#: public/views/preferences.html #: public/views/preferences.html src/js/routes.js
msgid "Delete" msgid "Delete"
msgstr "Eliminar" msgstr "Eliminar"
#: public/views/copayers.html
msgid "Delete it and create a new one"
msgstr "Borrarlo y crear uno nuevo"
#: public/views/preferencesDeleteWallet.html
msgid "Delete wallet"
msgstr "Eliminar monedero"
#: src/js/controllers/walletHome.js
msgid "Deleting transaction"
msgstr "Eliminando transacción"
#: public/views/backup.html #: public/views/backup.html
msgid "Download backup" msgid "Download backup"
msgstr "Descargar copia de seguridad" msgstr "Descargar copia de seguridad"
@ -204,18 +271,55 @@ msgstr "ENTRAR"
msgid "Encrypt Private Key" msgid "Encrypt Private Key"
msgstr "Encriptar Clave Privada" msgstr "Encriptar Clave Privada"
#: src/js/controllers/backup.js
msgid "Encrypted backup file saved"
msgstr "Archivo de copia de seguridad encriptado guardado"
#: src/js/controllers/index.js
msgid "English"
msgstr "Inglés"
#: public/views/includes/password.html #: public/views/includes/password.html
msgid "Enter your password" msgid "Enter your password"
msgstr "Escribe tu contraseña" msgstr "Escribe tu contraseña"
#: src/js/services/profileService.js
msgid "Error creating wallet"
msgstr "Error al crear monedero"
#: src/js/services/profileService.js
msgid "Error creating wallet. Check your internet connection"
msgstr "Error al crear monedero. Verifique su conexión a internet"
#: src/js/services/profileService.js
msgid "Error importing wallet:"
msgstr "Error al importar monedero: "
#: public/views/modals/paypro.html public/views/modals/txp-details.html #: public/views/modals/paypro.html public/views/modals/txp-details.html
msgid "Expires" msgid "Expires"
msgstr "Expira" msgstr "Expira"
#: src/js/controllers/importLegacy.js
msgid "Failed to import wallets"
msgstr "Falló al importar monederos"
#: public/views/create.html #: public/views/create.html
msgid "Family vacation funds" msgid "Family vacation funds"
msgstr "Fondos para vacaciones en familia" msgstr "Fondos para vacaciones en familia"
#. Get information of payment if using Payment Protocol
#: src/js/controllers/walletHome.js
msgid "Fetching Payment Information"
msgstr "Obteniendo información del pago"
#: src/js/controllers/index.js
msgid "French"
msgstr "Francés"
#: src/js/services/notificationsService.js
msgid "Funds received"
msgstr "Fondos Recibidos"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Generate new address" msgid "Generate new address"
msgstr "Generar nueva dirección" msgstr "Generar nueva dirección"
@ -228,6 +332,14 @@ msgstr "Opciones globales"
msgid "Hide" msgid "Hide"
msgstr "Ocultar" msgstr "Ocultar"
#: src/js/controllers/index.js
msgid "History"
msgstr "Historial"
#: src/js/controllers/index.js
msgid "Home"
msgstr "Inicio"
#: public/views/create.html #: public/views/create.html
msgid "If not given, a random key will be generated" msgid "If not given, a random key will be generated"
msgstr "Si no se ingresa, una clave aleatoria será generada" msgstr "Si no se ingresa, una clave aleatoria será generada"
@ -252,7 +364,11 @@ msgstr "Importar de Copay Beta 0.9"
msgid "Import from the Cloud?" msgid "Import from the Cloud?"
msgstr "¿Importar de la Nube?" msgstr "¿Importar de la Nube?"
#: public/views/add.html #: src/js/routes.js
msgid "Import legacy wallet"
msgstr "Importar monedero obsoleto"
#: public/views/add.html src/js/routes.js
msgid "Import wallet" msgid "Import wallet"
msgstr "Importar monedero" msgstr "Importar monedero"
@ -260,10 +376,18 @@ msgstr "Importar monedero"
msgid "Importing wallet..." msgid "Importing wallet..."
msgstr "Importando monedero..." msgstr "Importando monedero..."
#: public/views/importLegacy.html
msgid "Importing..."
msgstr "Importando..."
#: public/views/modals/tx-details.html public/views/modals/txp-details.html #: public/views/modals/tx-details.html public/views/modals/txp-details.html
msgid "Information" msgid "Information"
msgstr "Información" msgstr "Información"
#: src/js/controllers/index.js
msgid "Japanese"
msgstr "Japonés"
#: public/views/create.html public/views/join.html #: public/views/create.html public/views/join.html
msgid "John" msgid "John"
msgstr "Juan" msgstr "Juan"
@ -272,7 +396,7 @@ msgstr "Juan"
msgid "Join" msgid "Join"
msgstr "Unirse" msgstr "Unirse"
#: public/views/add.html #: public/views/add.html src/js/routes.js
msgid "Join shared wallet" msgid "Join shared wallet"
msgstr "Unirse a un monedero" msgstr "Unirse a un monedero"
@ -280,7 +404,7 @@ msgstr "Unirse a un monedero"
msgid "Joining Wallet..." msgid "Joining Wallet..."
msgstr "Uniéndose al Monedero..." msgstr "Uniéndose al Monedero..."
#: public/views/preferences.html #: public/views/preferences.html src/js/routes.js
msgid "Language" msgid "Language"
msgstr "Idioma" msgstr "Idioma"
@ -288,9 +412,9 @@ msgstr "Idioma"
msgid "Learn more about Wallet Migration" msgid "Learn more about Wallet Migration"
msgstr "Más detalles para migrar Monedero" msgstr "Más detalles para migrar Monedero"
#: public/views/walletHome.html #: src/js/routes.js
msgid "Loading..." msgid "Logs"
msgstr "Cargando..." msgstr "Registros"
#: public/views/paymentUri.html #: public/views/paymentUri.html
msgid "Make a payment to" msgid "Make a payment to"
@ -332,9 +456,13 @@ msgstr "Mi dirección Bitcoin"
msgid "Network" msgid "Network"
msgstr "Red" msgstr "Red"
#: public/views/walletHome.html #: src/js/services/notificationsService.js
msgid "No pending spend proposals at the moment." msgid "New Transaction"
msgstr "No hay gastos pendientes en este momento." msgstr "Nueva Transacción"
#: public/views/modals/confirmation.html
msgid "No"
msgstr "No"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "No transactions yet" msgid "No transactions yet"
@ -349,10 +477,6 @@ msgstr "No válido"
msgid "Note" msgid "Note"
msgstr "Nota" msgstr "Nota"
#: public/views/modals/confirmation.html
msgid "OK"
msgstr "LISTO"
#: public/views/modals/tx-status.html #: public/views/modals/tx-status.html
msgid "OKAY" msgid "OKAY"
msgstr "LISTO" msgstr "LISTO"
@ -367,6 +491,14 @@ msgstr ""
"La contraseña no se puede recuperar. Asegúrese de escribirla en un lugar " "La contraseña no se puede recuperar. Asegúrese de escribirla en un lugar "
"seguro" "seguro"
#: src/js/services/profileService.js
msgid "Password needed"
msgstr "Contraseña requerida"
#: src/js/controllers/password.js
msgid "Passwords do not match"
msgstr "Las contraseñas no coinciden"
#: public/views/import.html #: public/views/import.html
msgid "Paste backup plain text code" msgid "Paste backup plain text code"
msgstr "Pegar copia de seguridad en texto plano" msgstr "Pegar copia de seguridad en texto plano"
@ -375,6 +507,10 @@ msgstr "Pegar copia de seguridad en texto plano"
msgid "Paste invitation here" msgid "Paste invitation here"
msgstr "Pegar invitación aquí" msgstr "Pegar invitación aquí"
#: src/js/controllers/walletHome.js
msgid "Payment Protocol not supported on Chrome App"
msgstr "El protocolo de pagos no está soportado en Chrome"
#: public/views/modals/tx-status.html #: public/views/modals/tx-status.html
msgid "Payment Sent" msgid "Payment Sent"
msgstr "Pago Enviado" msgstr "Pago Enviado"
@ -402,10 +538,22 @@ msgstr ""
msgid "Personal Wallet" msgid "Personal Wallet"
msgstr "Monedero Personal" msgstr "Monedero Personal"
#: src/js/controllers/create.js src/js/controllers/join.js
msgid "Please enter the required fields"
msgstr "Por favor ingrese los campos requeridos"
#: src/js/controllers/import.js
msgid "Please, select your backup file"
msgstr "Por favor, selecciona el archivo de copia de seguridad"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Preferences" msgid "Preferences"
msgstr "Preferencias" msgstr "Preferencias"
#: src/js/controllers/index.js
msgid "Receive"
msgstr "Recibir"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Received" msgid "Received"
msgstr "Recibido" msgstr "Recibido"
@ -426,6 +574,14 @@ msgstr "Recreando Monedero..."
msgid "Reject" msgid "Reject"
msgstr "Rechazar" msgstr "Rechazar"
#: src/js/controllers/walletHome.js
msgid "Rejecting transaction"
msgstr "Rechazando transacción"
#: public/views/preferencesAbout.html
msgid "Release Information"
msgstr "Información de la versión"
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Remove transaction" msgid "Remove transaction"
msgstr "Elimine la transacción" msgstr "Elimine la transacción"
@ -438,6 +594,10 @@ msgstr "Repite la contraseña"
msgid "Required" msgid "Required"
msgstr "Requerido" msgstr "Requerido"
#: public/views/createProfile.html
msgid "Retrying..."
msgstr "Reintentando..."
#: public/views/includes/password.html #: public/views/includes/password.html
msgid "SET" msgid "SET"
msgstr "ESTABLECER" msgstr "ESTABLECER"
@ -454,6 +614,10 @@ msgstr "COMENZAR"
msgid "Save" msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: src/js/services/notificationsService.js
msgid "Scan Finished"
msgstr "Escáner Finalizado"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Scan status finished with error" msgid "Scan status finished with error"
msgstr "El escáner del estado finalizó con error" msgstr "El escáner del estado finalizó con error"
@ -482,11 +646,12 @@ msgstr "Seleccione las firmas requeridas"
msgid "Select total number of copayers" msgid "Select total number of copayers"
msgstr "Seleccione el total de copayers" msgstr "Seleccione el total de copayers"
#: public/views/walletHome.html #: public/views/walletHome.html public/views/includes/transaction.html
#: src/js/controllers/index.js
msgid "Send" msgid "Send"
msgstr "Enviar" msgstr "Enviar"
#: public/views/backup.html #: public/views/backup.html public/views/preferencesLogs.html
msgid "Send by email" msgid "Send by email"
msgstr "Enviar por correo electrónico" msgstr "Enviar por correo electrónico"
@ -516,7 +681,7 @@ msgstr "Compartir invitación"
#: public/views/copayers.html #: public/views/copayers.html
msgid "Share this invitation with your copayers" msgid "Share this invitation with your copayers"
msgstr "Compartir esta invitación con tus compañeros" msgstr "Comparta esta invitación con sus copayers"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "" msgid ""
@ -538,10 +703,23 @@ msgstr "Firmar"
msgid "Signatures" msgid "Signatures"
msgstr "Firmas" msgstr "Firmas"
#: src/js/controllers/walletHome.js
msgid "Signing transaction"
msgstr "Firmando transacción"
#: src/js/controllers/index.js
msgid "Spanish"
msgstr "Español"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Spend proposals" msgid "Spend proposals"
msgstr "Propuestas de gastos" msgstr "Propuestas de gastos"
#: src/js/controllers/copayers.js src/js/controllers/import.js
#: src/js/controllers/preferencesDelete.js
msgid "Success"
msgstr "Listo"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Tap to retry" msgid "Tap to retry"
msgstr "Toque para reintentar" msgstr "Toque para reintentar"
@ -550,6 +728,14 @@ msgstr "Toque para reintentar"
msgid "The transaction was removed by creator" msgid "The transaction was removed by creator"
msgstr "La transacción fue eliminada por el creado" msgstr "La transacción fue eliminada por el creado"
#: src/js/controllers/copayers.js src/js/controllers/preferencesDelete.js
msgid "The wallet \"{{walletName}}\" was deleted"
msgstr "El monedero \"{{walletName}}\" fue eliminado"
#: src/js/controllers/import.js
msgid "There is an error in the form"
msgstr "Hubo un error en el formulario"
#: public/views/backup.html #: public/views/backup.html
msgid "" msgid ""
"This wallet have its private key encrypted. Exporting a backup will keep the " "This wallet have its private key encrypted. Exporting a backup will keep the "
@ -584,27 +770,79 @@ msgstr "Balance total bloqueado"
msgid "Transaction" msgid "Transaction"
msgstr "Transacción" msgstr "Transacción"
#: src/js/services/notificationsService.js
msgid "Transaction Rejected"
msgstr "Transacción Rechazada"
#: src/js/services/notificationsService.js
msgid "Transaction Sent"
msgstr "Transacción Enviada"
#: src/js/services/notificationsService.js
msgid "Transaction Signed"
msgstr "Transacción Firmada"
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Transaction accepted..." msgid "Transaction accepted..."
msgstr "Transacción aceptada..." msgstr "Transacción aceptada..."
#: src/js/services/txStatus.js
msgid "Transaction broadcasted"
msgstr "Transacción enviada"
#: src/js/controllers/walletHome.js
msgid "Transaction could not be deleted. Please try again."
msgstr "La transacción no se pudo eliminar. Por favor, intente nuevamente."
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Transaction finally rejected" msgid "Transaction finally rejected"
msgstr "Transacción finalmente rechazada" msgstr "Transacción finalmente rechazada"
#: src/js/controllers/walletHome.js
msgid "Transaction not broadcasted. Please try again."
msgstr "Transacción no emitida. Por favor, intente nuevamente."
#: src/js/controllers/walletHome.js
msgid "Transaction not rejected. Please try again."
msgstr "Transacción no rechazada. Por favor, intente nuevamente."
#: src/js/controllers/walletHome.js
msgid "Transaction not sent. Please try again."
msgstr "Transacción no enviada. Por favor, intente nuevamente."
#: src/js/controllers/walletHome.js
msgid "Transaction not signed. Please try again."
msgstr "Transacción no firmada. Por favor, intente nuevamente."
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Transaction proposal" msgid "Transaction proposal"
msgstr "Propuestas de transacción" msgstr "Propuestas de transacción"
#: src/js/services/txStatus.js
msgid "Transaction proposal created"
msgstr "Propuesta de transacción creada"
#: src/js/services/txStatus.js
msgid "Transaction proposal signed"
msgstr "Propuesta de transacción firmada"
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Transaction sent!" msgid "Transaction sent!"
msgstr "¡Transacción enviada!" msgstr "¡Transacción enviada!"
#: src/js/services/txStatus.js
msgid "Transaction was rejected"
msgstr "Transacción rechazada"
#: src/js/controllers/walletHome.js
msgid "Unable to send transaction proposal"
msgstr "No se puede enviar propuesta de transacción"
#: public/views/walletHome.html public/views/modals/tx-details.html #: public/views/walletHome.html public/views/modals/tx-details.html
msgid "Unconfirmed" msgid "Unconfirmed"
msgstr "Sin confirmar" msgstr "Sin confirmar"
#: public/views/preferences.html #: public/views/preferences.html src/js/routes.js
msgid "Unit" msgid "Unit"
msgstr "Unidad" msgstr "Unidad"
@ -624,10 +862,18 @@ msgstr "Actualizando Monedero..."
msgid "Use test network" msgid "Use test network"
msgstr "Red de prueba" msgstr "Red de prueba"
#: public/views/preferencesAbout.html
msgid "Version"
msgstr "Versión"
#: public/views/backup.html #: public/views/backup.html
msgid "View backup" msgid "View backup"
msgstr "Ver Copia de Seguridad" msgstr "Ver Copia de Seguridad"
#: public/views/preferencesAbout.html
msgid "View session logs"
msgstr "Ver registro de sesión"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "WARNING: Backup needed" msgid "WARNING: Backup needed"
msgstr "ADVERTENCIA: Se requiere hacer copia de seguridad" msgstr "ADVERTENCIA: Se requiere hacer copia de seguridad"
@ -642,12 +888,16 @@ msgstr "BIENVENIDO A"
#: public/views/copayers.html #: public/views/copayers.html
msgid "Waiting for copayers" msgid "Waiting for copayers"
msgstr "Esperando a mis copayers" msgstr "Esperando copayers"
#: public/views/copayers.html #: public/views/copayers.html
msgid "Waiting..." msgid "Waiting..."
msgstr "Esperando..." msgstr "Esperando..."
#: src/js/services/profileService.js
msgid "Wallet Already Imported:"
msgstr "Este monedero ya fue importado: "
#: public/views/join.html #: public/views/join.html
msgid "Wallet Invitation" msgid "Wallet Invitation"
msgstr "Invitación para unirse al monedero" msgstr "Invitación para unirse al monedero"
@ -656,6 +906,10 @@ msgstr "Invitación para unirse al monedero"
msgid "Wallet Invitation is not valid!" msgid "Wallet Invitation is not valid!"
msgstr "¡Invitación no válida!" msgstr "¡Invitación no válida!"
#: src/js/services/profileService.js
msgid "Wallet already exists"
msgstr "El monedero ya existe"
#: public/views/copayers.html #: public/views/copayers.html
msgid "Wallet incomplete and broken" msgid "Wallet incomplete and broken"
msgstr "Monedero incompleto y roto" msgstr "Monedero incompleto y roto"
@ -668,6 +922,14 @@ msgstr "Nombre del monedero"
msgid "Warning!" msgid "Warning!"
msgstr "¡Advertencia!" msgstr "¡Advertencia!"
#: src/js/services/profileService.js
msgid "Wrong password"
msgstr "Contraseña incorrecta"
#: public/views/modals/confirmation.html
msgid "Yes"
msgstr "Si"
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "You do not have any wallet" msgid "You do not have any wallet"
msgstr "No tienes ningún monedero" msgstr "No tienes ningún monedero"
@ -688,6 +950,10 @@ msgstr "Tu contraseña"
msgid "Your profile password" msgid "Your profile password"
msgstr "Contraseña de tu perfil" msgstr "Contraseña de tu perfil"
#: src/js/controllers/import.js
msgid "Your wallet has been imported correctly"
msgstr "Su monedero se ha importado correctamente"
#: public/views/create.html public/views/join.html #: public/views/create.html public/views/join.html
msgid "advanced options" msgid "advanced options"
msgstr "opciones avanzadas" msgstr "opciones avanzadas"
@ -717,11 +983,31 @@ msgstr "monedero"
msgid "{{index.walletName}} settings" msgid "{{index.walletName}} settings"
msgstr "Opciones de {{index.walletName}}" msgstr "Opciones de {{index.walletName}}"
#~ msgid "Fetching Payment Information..." #: src/js/controllers/importLegacy.js
#~ msgstr "Buscando información del pago" msgid ""
"{{len}} wallets imported. Funds scanning in progress. Hold on to see updated "
"balance"
msgstr ""
"{{len}} monederos importados. Escáner de fondos en progreso. Espere a ver el "
"balance actualizado"
#~ msgid "Getting transactions..." #~ msgid "Could not create wallet:"
#~ msgstr "Cargando transacciones..." #~ msgstr "No se puede crear el monedero"
#~ msgid "OK"
#~ msgstr "LISTO"
#~ msgid "Copied to clipboard"
#~ msgstr "Copiado al portapapeles"
#~ msgid "Preparing backup..."
#~ msgstr "Preparando copia de seguridad..."
#~ msgid "Loading..."
#~ msgstr "Cargando..."
#~ msgid "No pending spend proposals at the moment."
#~ msgstr "No hay gastos pendientes en este momento."
#~ msgid "Joining shared wallet..." #~ msgid "Joining shared wallet..."
#~ msgstr "Unirse a un monedero..." #~ msgstr "Unirse a un monedero..."
@ -839,12 +1125,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Are you sure you want to delete this profile?" #~ msgid "Are you sure you want to delete this profile?"
#~ msgstr "¿Estas seguro de borrar este perfil?" #~ msgstr "¿Estas seguro de borrar este perfil?"
#~ msgid "Are you sure you want to delete this wallet?"
#~ msgstr "¿Estas seguro de borrar este monedero?"
#~ msgid "Backup created"
#~ msgstr "Copia de Seguridad creada"
#~ msgid "Backups managed by the server" #~ msgid "Backups managed by the server"
#~ msgstr "Copias de seguridad gestionada por el servidor" #~ msgstr "Copias de seguridad gestionada por el servidor"
@ -867,9 +1147,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Copay now needs a profile to access wallets." #~ msgid "Copay now needs a profile to access wallets."
#~ msgstr "Copay ahora requiere un perfil para acceder a los monederos" #~ msgstr "Copay ahora requiere un perfil para acceder a los monederos"
#~ msgid "Copied to clipboard"
#~ msgstr "Copiado al portapapeles"
#~ msgid "" #~ msgid ""
#~ "Could not connect to the Insight server. Check your settings and network " #~ "Could not connect to the Insight server. Check your settings and network "
#~ "configuration" #~ "configuration"
@ -913,9 +1190,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Email not confirmed" #~ msgid "Email not confirmed"
#~ msgstr "Correo sin confirmar" #~ msgstr "Correo sin confirmar"
#~ msgid "Encrypted backup file saved"
#~ msgstr "Archivo de copia de seguridad encriptado guardado"
#~ msgid "Enter PIN" #~ msgid "Enter PIN"
#~ msgstr "Ingresar PIN" #~ msgstr "Ingresar PIN"
@ -925,27 +1199,15 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Fatal error connecting to Insight server" #~ msgid "Fatal error connecting to Insight server"
#~ msgstr "Error fatal al conectar con el servidor Insight" #~ msgstr "Error fatal al conectar con el servidor Insight"
#~ msgid "Finished"
#~ msgstr "Finalizado"
#~ msgid "Form Error" #~ msgid "Form Error"
#~ msgstr "Error en formulario" #~ msgstr "Error en formulario"
#~ msgid "Funds received!"
#~ msgstr "¡Fondos recibidos!"
#~ msgid "Get QR code" #~ msgid "Get QR code"
#~ msgstr "Obtener código QR" #~ msgstr "Obtener código QR"
#~ msgid "Hide them" #~ msgid "Hide them"
#~ msgstr "Ocultar" #~ msgstr "Ocultar"
#~ msgid "History"
#~ msgstr "Historial"
#~ msgid "Home"
#~ msgstr "Inicio"
#~ msgid "I read and agree with these terms" #~ msgid "I read and agree with these terms"
#~ msgstr "He leído y aceptado estos términos" #~ msgstr "He leído y aceptado estos términos"
@ -1036,9 +1298,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Next" #~ msgid "Next"
#~ msgstr "Siguiente" #~ msgstr "Siguiente"
#~ msgid "No"
#~ msgstr "No"
#~ msgid "No email required" #~ msgid "No email required"
#~ msgstr "Correo electrónico no es requerido" #~ msgstr "Correo electrónico no es requerido"
@ -1055,9 +1314,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Page not found" #~ msgid "Page not found"
#~ msgstr "Página no encontrada" #~ msgstr "Página no encontrada"
#~ msgid "Passwords must match"
#~ msgstr "Las contraseñas deben coincidir"
#~ msgid "Paste wallet secret here" #~ msgid "Paste wallet secret here"
#~ msgstr "Pegar código secreto del monedero aquí" #~ msgstr "Pegar código secreto del monedero aquí"
@ -1086,9 +1342,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgstr "" #~ msgstr ""
#~ "Por favor confirma tu correo electrónico usando el enlace de este mensaje" #~ "Por favor confirma tu correo electrónico usando el enlace de este mensaje"
#~ msgid "Please enter the required fields"
#~ msgstr "Por favor ingrese los campos requeridos"
#~ msgid "" #~ msgid ""
#~ "Please follow the link on it to confirm it. Unconfirmed profiles could be " #~ "Please follow the link on it to confirm it. Unconfirmed profiles could be "
#~ "deleted from server." #~ "deleted from server."
@ -1115,9 +1368,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Please update your wallet at https://copay.io" #~ msgid "Please update your wallet at https://copay.io"
#~ msgstr "Por favor actualiza tu monedero de https://copay.io" #~ msgstr "Por favor actualiza tu monedero de https://copay.io"
#~ msgid "Please, select your backup file"
#~ msgstr "Por favor, selecciona el archivo de copia de seguridad"
#~ msgid "Profile" #~ msgid "Profile"
#~ msgstr "Perfil" #~ msgstr "Perfil"
@ -1160,9 +1410,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Scaning for transactions" #~ msgid "Scaning for transactions"
#~ msgstr "Explorando transacciones" #~ msgstr "Explorando transacciones"
#~ msgid "Session closed"
#~ msgstr "Sesión cerrada"
#~ msgid "Session closed because a long time of inactivity" #~ msgid "Session closed because a long time of inactivity"
#~ msgstr "La sesión fue cerrada por mucho tiempo de inactividad" #~ msgstr "La sesión fue cerrada por mucho tiempo de inactividad"
@ -1199,9 +1446,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Storage" #~ msgid "Storage"
#~ msgstr "Almacenamiento" #~ msgstr "Almacenamiento"
#~ msgid "Success"
#~ msgstr "Listo"
#~ msgid "Testnet" #~ msgid "Testnet"
#~ msgstr "Testnet" #~ msgstr "Testnet"
@ -1288,9 +1532,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "The transaction proposal has been created" #~ msgid "The transaction proposal has been created"
#~ msgstr "La propuesta de transacción fue creada" #~ msgstr "La propuesta de transacción fue creada"
#~ msgid "The wallet is full"
#~ msgstr "El monedero esta completo"
#~ msgid "There was an error sending the transaction" #~ msgid "There was an error sending the transaction"
#~ msgstr "Hubo un error al enviar la transacción" #~ msgstr "Hubo un error al enviar la transacción"
@ -1328,21 +1569,12 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Transaction Error" #~ msgid "Transaction Error"
#~ msgstr "Error en Transacción" #~ msgstr "Error en Transacción"
#~ msgid "Transaction Update"
#~ msgstr "Actualización de una Transacción"
#~ msgid "Transaction broadcasted"
#~ msgstr "Transacción transmitida"
#~ msgid "Transactions Proposals Purged" #~ msgid "Transactions Proposals Purged"
#~ msgstr "Propuestas de Transacciones Purgadas" #~ msgstr "Propuestas de Transacciones Purgadas"
#~ msgid "Type:" #~ msgid "Type:"
#~ msgstr "Tipo:" #~ msgstr "Tipo:"
#~ msgid "Unable to send transaction proposal"
#~ msgstr "No se puede enviar propuesta de transacción"
#~ msgid "Username" #~ msgid "Username"
#~ msgstr "Nombre de usuario" #~ msgstr "Nombre de usuario"
@ -1370,12 +1602,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ "contraseña. Puedes guardar los datos encriptados en tu dispositivo o " #~ "contraseña. Puedes guardar los datos encriptados en tu dispositivo o "
#~ "remotamente en la nube (Servidor Insight)." #~ "remotamente en la nube (Servidor Insight)."
#~ msgid "Wrong password"
#~ msgstr "Contraseña incorrecta"
#~ msgid "Yes"
#~ msgstr "Si"
#~ msgid "You can import your current wallets after" #~ msgid "You can import your current wallets after"
#~ msgstr "Puedes importar tus monederos después" #~ msgstr "Puedes importar tus monederos después"
@ -1440,9 +1666,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "seconds" #~ msgid "seconds"
#~ msgstr "segundos" #~ msgstr "segundos"
#~ msgid "transaction proposal purged"
#~ msgstr "propuestas de transacciones purgadas"
#~ msgid "Create {{requiredCopayers}}-of-{{totalCopayers}} wallet" #~ msgid "Create {{requiredCopayers}}-of-{{totalCopayers}} wallet"
#~ msgstr "Crea monedero {{requiredCopayers}}-de-{{totalCopayers}}" #~ msgstr "Crea monedero {{requiredCopayers}}-de-{{totalCopayers}}"
@ -1495,9 +1718,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Manual Update" #~ msgid "Manual Update"
#~ msgstr "Actualización Manual" #~ msgstr "Actualización Manual"
#~ msgid "New Wallet Created"
#~ msgstr "Nuevo Monedero Creado"
#~ msgid "No transactions proposals yet." #~ msgid "No transactions proposals yet."
#~ msgstr "Sin propuestas de transacciones aún." #~ msgstr "Sin propuestas de transacciones aún."
@ -1513,9 +1733,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Open in external application" #~ msgid "Open in external application"
#~ msgstr "Abrir en una aplicación externa" #~ msgstr "Abrir en una aplicación externa"
#~ msgid "Preparing payment..."
#~ msgstr "Preparando pago..."
#~ msgid "Proposal ID" #~ msgid "Proposal ID"
#~ msgstr "ID de Propuesta" #~ msgstr "ID de Propuesta"
@ -1589,9 +1806,6 @@ msgstr "Opciones de {{index.walletName}}"
#~ msgid "Private Key (Hex)" #~ msgid "Private Key (Hex)"
#~ msgstr "Clave Privada (Hex)" #~ msgstr "Clave Privada (Hex)"
#~ msgid "There is an error in the form."
#~ msgstr "Hubo un error en el formulario."
#, fuzzy #, fuzzy
#~ msgid "Wrong password que parece" #~ msgid "Wrong password que parece"
#~ msgstr "Contraseña incorrecta" #~ msgstr "Contraseña incorrecta"

View file

@ -16,7 +16,20 @@ msgstr ""
msgid "* You can safely install your backup on other device and use your wallet from many devices at the same time." msgid "* You can safely install your backup on other device and use your wallet from many devices at the same time."
msgstr "" msgstr ""
#: src/js/services/notificationsService.js
msgid "A transaction was finally rejected"
msgstr ""
#: src/js/routes.js
msgid "About"
msgstr ""
#: public/views/preferences.html
msgid "About Copay"
msgstr ""
#: public/views/includes/sidebar.html #: public/views/includes/sidebar.html
#: src/js/routes.js
msgid "Add wallet" msgid "Add wallet"
msgstr "" msgstr ""
@ -25,6 +38,7 @@ msgid "Address"
msgstr "" msgstr ""
#: public/views/preferences.html #: public/views/preferences.html
#: src/js/routes.js
msgid "Alternative Currency" msgid "Alternative Currency"
msgstr "" msgstr ""
@ -42,6 +56,11 @@ msgstr ""
msgid "Applying changes" msgid "Applying changes"
msgstr "" msgstr ""
#: src/js/controllers/copayers.js
#: src/js/controllers/preferencesDelete.js
msgid "Are you sure you want to delete this wallet?"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Available Balance" msgid "Available Balance"
msgstr "" msgstr ""
@ -51,9 +70,14 @@ msgid "Back"
msgstr "" msgstr ""
#: public/views/preferences.html #: public/views/preferences.html
#: src/js/routes.js
msgid "Backup" msgid "Backup"
msgstr "" msgstr ""
#: src/js/controllers/backup.js
msgid "Backup created"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Backup now" msgid "Backup now"
msgstr "" msgstr ""
@ -78,6 +102,10 @@ msgstr ""
msgid "Broadcast Transaction" msgid "Broadcast Transaction"
msgstr "" msgstr ""
#: src/js/controllers/walletHome.js
msgid "Broadcasting transaction"
msgstr ""
#: public/views/unsupported.html #: public/views/unsupported.html
msgid "Browser unsupported" msgid "Browser unsupported"
msgstr "" msgstr ""
@ -92,7 +120,6 @@ msgstr ""
#: public/views/copayers.html #: public/views/copayers.html
#: public/views/walletHome.html #: public/views/walletHome.html
#: public/views/modals/confirmation.html
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
@ -114,9 +141,14 @@ msgid "Close"
msgstr "" msgstr ""
#: public/views/preferences.html #: public/views/preferences.html
#: src/js/routes.js
msgid "Color" msgid "Color"
msgstr "" msgstr ""
#: public/views/preferencesAbout.html
msgid "Commit hash"
msgstr ""
#: public/views/modals/tx-details.html #: public/views/modals/tx-details.html
msgid "Confirmations" msgid "Confirmations"
msgstr "" msgstr ""
@ -137,10 +169,34 @@ msgstr ""
msgid "Copy to clipboard" msgid "Copy to clipboard"
msgstr "" msgstr ""
#: src/js/services/profileService.js
msgid "Could not create using the specified extended private key"
msgstr ""
#: src/js/controllers/import.js
msgid "Could not decrypt file, check your password"
msgstr ""
#: src/js/controllers/walletHome.js
msgid "Could not fetch payment information"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Could not fetch transaction history" msgid "Could not fetch transaction history"
msgstr "" msgstr ""
#: src/js/services/profileService.js
msgid "Could not import. Check input file and password"
msgstr ""
#: src/js/services/profileService.js
msgid "Could not join using the specified extended private key"
msgstr ""
#: src/js/controllers/join.js
msgid "Could not join wallet:"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Could not update Wallet" msgid "Could not update Wallet"
msgstr "" msgstr ""
@ -151,6 +207,7 @@ msgid "Create"
msgstr "" msgstr ""
#: public/views/add.html #: public/views/add.html
#: src/js/routes.js
msgid "Create new wallet" msgid "Create new wallet"
msgstr "" msgstr ""
@ -167,14 +224,31 @@ msgstr ""
msgid "Creating Wallet..." msgid "Creating Wallet..."
msgstr "" msgstr ""
#: src/js/controllers/walletHome.js
msgid "Creating transaction"
msgstr ""
#: public/views/modals/tx-details.html #: public/views/modals/tx-details.html
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#: public/views/preferences.html #: public/views/preferences.html
#: src/js/routes.js
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: public/views/copayers.html
msgid "Delete it and create a new one"
msgstr ""
#: public/views/preferencesDeleteWallet.html
msgid "Delete wallet"
msgstr ""
#: src/js/controllers/walletHome.js
msgid "Deleting transaction"
msgstr ""
#: public/views/backup.html #: public/views/backup.html
msgid "Download backup" msgid "Download backup"
msgstr "" msgstr ""
@ -187,19 +261,56 @@ msgstr ""
msgid "Encrypt Private Key" msgid "Encrypt Private Key"
msgstr "" msgstr ""
#: src/js/controllers/backup.js
msgid "Encrypted backup file saved"
msgstr ""
#: src/js/controllers/index.js
msgid "English"
msgstr ""
#: public/views/includes/password.html #: public/views/includes/password.html
msgid "Enter your password" msgid "Enter your password"
msgstr "" msgstr ""
#: src/js/services/profileService.js
msgid "Error creating wallet"
msgstr ""
#: src/js/services/profileService.js
msgid "Error creating wallet. Check your internet connection"
msgstr ""
#: src/js/services/profileService.js
msgid "Error importing wallet:"
msgstr ""
#: public/views/modals/paypro.html #: public/views/modals/paypro.html
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Expires" msgid "Expires"
msgstr "" msgstr ""
#: src/js/controllers/importLegacy.js
msgid "Failed to import wallets"
msgstr ""
#: public/views/create.html #: public/views/create.html
msgid "Family vacation funds" msgid "Family vacation funds"
msgstr "" msgstr ""
#. Get information of payment if using Payment Protocol
#: src/js/controllers/walletHome.js
msgid "Fetching Payment Information"
msgstr ""
#: src/js/controllers/index.js
msgid "French"
msgstr ""
#: src/js/services/notificationsService.js
msgid "Funds received"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Generate new address" msgid "Generate new address"
msgstr "" msgstr ""
@ -213,6 +324,14 @@ msgstr ""
msgid "Hide" msgid "Hide"
msgstr "" msgstr ""
#: src/js/controllers/index.js
msgid "History"
msgstr ""
#: src/js/controllers/index.js
msgid "Home"
msgstr ""
#: public/views/create.html #: public/views/create.html
msgid "If not given, a random key will be generated" msgid "If not given, a random key will be generated"
msgstr "" msgstr ""
@ -237,7 +356,12 @@ msgstr ""
msgid "Import from the Cloud?" msgid "Import from the Cloud?"
msgstr "" msgstr ""
#: src/js/routes.js
msgid "Import legacy wallet"
msgstr ""
#: public/views/add.html #: public/views/add.html
#: src/js/routes.js
msgid "Import wallet" msgid "Import wallet"
msgstr "" msgstr ""
@ -245,11 +369,19 @@ msgstr ""
msgid "Importing wallet..." msgid "Importing wallet..."
msgstr "" msgstr ""
#: public/views/importLegacy.html
msgid "Importing..."
msgstr ""
#: public/views/modals/tx-details.html #: public/views/modals/tx-details.html
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Information" msgid "Information"
msgstr "" msgstr ""
#: src/js/controllers/index.js
msgid "Japanese"
msgstr ""
#: public/views/create.html #: public/views/create.html
#: public/views/join.html #: public/views/join.html
msgid "John" msgid "John"
@ -260,6 +392,7 @@ msgid "Join"
msgstr "" msgstr ""
#: public/views/add.html #: public/views/add.html
#: src/js/routes.js
msgid "Join shared wallet" msgid "Join shared wallet"
msgstr "" msgstr ""
@ -268,6 +401,7 @@ msgid "Joining Wallet..."
msgstr "" msgstr ""
#: public/views/preferences.html #: public/views/preferences.html
#: src/js/routes.js
msgid "Language" msgid "Language"
msgstr "" msgstr ""
@ -275,8 +409,8 @@ msgstr ""
msgid "Learn more about Wallet Migration" msgid "Learn more about Wallet Migration"
msgstr "" msgstr ""
#: public/views/walletHome.html #: src/js/routes.js
msgid "Loading..." msgid "Logs"
msgstr "" msgstr ""
#: public/views/paymentUri.html #: public/views/paymentUri.html
@ -321,8 +455,12 @@ msgstr ""
msgid "Network" msgid "Network"
msgstr "" msgstr ""
#: public/views/walletHome.html #: src/js/services/notificationsService.js
msgid "No pending spend proposals at the moment." msgid "New Transaction"
msgstr ""
#: public/views/modals/confirmation.html
msgid "No"
msgstr "" msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
@ -339,10 +477,6 @@ msgstr ""
msgid "Note" msgid "Note"
msgstr "" msgstr ""
#: public/views/modals/confirmation.html
msgid "OK"
msgstr ""
#: public/views/modals/tx-status.html #: public/views/modals/tx-status.html
msgid "OKAY" msgid "OKAY"
msgstr "" msgstr ""
@ -356,6 +490,14 @@ msgstr ""
msgid "Password cannot be recovered. Be sure to write it down" msgid "Password cannot be recovered. Be sure to write it down"
msgstr "" msgstr ""
#: src/js/services/profileService.js
msgid "Password needed"
msgstr ""
#: src/js/controllers/password.js
msgid "Passwords do not match"
msgstr ""
#: public/views/import.html #: public/views/import.html
msgid "Paste backup plain text code" msgid "Paste backup plain text code"
msgstr "" msgstr ""
@ -364,6 +506,10 @@ msgstr ""
msgid "Paste invitation here" msgid "Paste invitation here"
msgstr "" msgstr ""
#: src/js/controllers/walletHome.js
msgid "Payment Protocol not supported on Chrome App"
msgstr ""
#: public/views/modals/tx-status.html #: public/views/modals/tx-status.html
msgid "Payment Sent" msgid "Payment Sent"
msgstr "" msgstr ""
@ -388,10 +534,23 @@ msgstr ""
msgid "Personal Wallet" msgid "Personal Wallet"
msgstr "" msgstr ""
#: src/js/controllers/create.js
#: src/js/controllers/join.js
msgid "Please enter the required fields"
msgstr ""
#: src/js/controllers/import.js
msgid "Please, select your backup file"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Preferences" msgid "Preferences"
msgstr "" msgstr ""
#: src/js/controllers/index.js
msgid "Receive"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Received" msgid "Received"
msgstr "" msgstr ""
@ -412,6 +571,14 @@ msgstr ""
msgid "Reject" msgid "Reject"
msgstr "" msgstr ""
#: src/js/controllers/walletHome.js
msgid "Rejecting transaction"
msgstr ""
#: public/views/preferencesAbout.html
msgid "Release Information"
msgstr ""
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Remove transaction" msgid "Remove transaction"
msgstr "" msgstr ""
@ -426,6 +593,10 @@ msgstr ""
msgid "Required" msgid "Required"
msgstr "" msgstr ""
#: public/views/createProfile.html
msgid "Retrying..."
msgstr ""
#: public/views/includes/password.html #: public/views/includes/password.html
msgid "SET" msgid "SET"
msgstr "" msgstr ""
@ -442,6 +613,10 @@ msgstr ""
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/js/services/notificationsService.js
msgid "Scan Finished"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Scan status finished with error" msgid "Scan status finished with error"
msgstr "" msgstr ""
@ -471,10 +646,13 @@ msgid "Select total number of copayers"
msgstr "" msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
#: public/views/includes/transaction.html
#: src/js/controllers/index.js
msgid "Send" msgid "Send"
msgstr "" msgstr ""
#: public/views/backup.html #: public/views/backup.html
#: public/views/preferencesLogs.html
msgid "Send by email" msgid "Send by email"
msgstr "" msgstr ""
@ -524,10 +702,24 @@ msgstr ""
msgid "Signatures" msgid "Signatures"
msgstr "" msgstr ""
#: src/js/controllers/walletHome.js
msgid "Signing transaction"
msgstr ""
#: src/js/controllers/index.js
msgid "Spanish"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Spend proposals" msgid "Spend proposals"
msgstr "" msgstr ""
#: src/js/controllers/copayers.js
#: src/js/controllers/import.js
#: src/js/controllers/preferencesDelete.js
msgid "Success"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "Tap to retry" msgid "Tap to retry"
msgstr "" msgstr ""
@ -536,6 +728,15 @@ msgstr ""
msgid "The transaction was removed by creator" msgid "The transaction was removed by creator"
msgstr "" msgstr ""
#: src/js/controllers/copayers.js
#: src/js/controllers/preferencesDelete.js
msgid "The wallet \"{{walletName}}\" was deleted"
msgstr ""
#: src/js/controllers/import.js
msgid "There is an error in the form"
msgstr ""
#: public/views/backup.html #: public/views/backup.html
msgid "This wallet have its private key encrypted. Exporting a backup will keep the private key encrypted on the backup." msgid "This wallet have its private key encrypted. Exporting a backup will keep the private key encrypted on the backup."
msgstr "" msgstr ""
@ -564,28 +765,81 @@ msgstr ""
msgid "Transaction" msgid "Transaction"
msgstr "" msgstr ""
#: src/js/services/notificationsService.js
msgid "Transaction Rejected"
msgstr ""
#: src/js/services/notificationsService.js
msgid "Transaction Sent"
msgstr ""
#: src/js/services/notificationsService.js
msgid "Transaction Signed"
msgstr ""
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Transaction accepted..." msgid "Transaction accepted..."
msgstr "" msgstr ""
#: src/js/services/txStatus.js
msgid "Transaction broadcasted"
msgstr ""
#: src/js/controllers/walletHome.js
msgid "Transaction could not be deleted. Please try again."
msgstr ""
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Transaction finally rejected" msgid "Transaction finally rejected"
msgstr "" msgstr ""
#: src/js/controllers/walletHome.js
msgid "Transaction not broadcasted. Please try again."
msgstr ""
#: src/js/controllers/walletHome.js
msgid "Transaction not rejected. Please try again."
msgstr ""
#: src/js/controllers/walletHome.js
msgid "Transaction not sent. Please try again."
msgstr ""
#: src/js/controllers/walletHome.js
msgid "Transaction not signed. Please try again."
msgstr ""
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Transaction proposal" msgid "Transaction proposal"
msgstr "" msgstr ""
#: src/js/services/txStatus.js
msgid "Transaction proposal created"
msgstr ""
#: src/js/services/txStatus.js
msgid "Transaction proposal signed"
msgstr ""
#: public/views/modals/txp-details.html #: public/views/modals/txp-details.html
msgid "Transaction sent!" msgid "Transaction sent!"
msgstr "" msgstr ""
#: src/js/services/txStatus.js
msgid "Transaction was rejected"
msgstr ""
#: src/js/controllers/walletHome.js
msgid "Unable to send transaction proposal"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
#: public/views/modals/tx-details.html #: public/views/modals/tx-details.html
msgid "Unconfirmed" msgid "Unconfirmed"
msgstr "" msgstr ""
#: public/views/preferences.html #: public/views/preferences.html
#: src/js/routes.js
msgid "Unit" msgid "Unit"
msgstr "" msgstr ""
@ -605,10 +859,18 @@ msgstr ""
msgid "Use test network" msgid "Use test network"
msgstr "" msgstr ""
#: public/views/preferencesAbout.html
msgid "Version"
msgstr ""
#: public/views/backup.html #: public/views/backup.html
msgid "View backup" msgid "View backup"
msgstr "" msgstr ""
#: public/views/preferencesAbout.html
msgid "View session logs"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "WARNING: Backup needed" msgid "WARNING: Backup needed"
msgstr "" msgstr ""
@ -629,6 +891,10 @@ msgstr ""
msgid "Waiting..." msgid "Waiting..."
msgstr "" msgstr ""
#: src/js/services/profileService.js
msgid "Wallet Already Imported:"
msgstr ""
#: public/views/join.html #: public/views/join.html
msgid "Wallet Invitation" msgid "Wallet Invitation"
msgstr "" msgstr ""
@ -637,6 +903,10 @@ msgstr ""
msgid "Wallet Invitation is not valid!" msgid "Wallet Invitation is not valid!"
msgstr "" msgstr ""
#: src/js/services/profileService.js
msgid "Wallet already exists"
msgstr ""
#: public/views/copayers.html #: public/views/copayers.html
msgid "Wallet incomplete and broken" msgid "Wallet incomplete and broken"
msgstr "" msgstr ""
@ -649,6 +919,14 @@ msgstr ""
msgid "Warning!" msgid "Warning!"
msgstr "" msgstr ""
#: src/js/services/profileService.js
msgid "Wrong password"
msgstr ""
#: public/views/modals/confirmation.html
msgid "Yes"
msgstr ""
#: public/views/walletHome.html #: public/views/walletHome.html
msgid "You do not have any wallet" msgid "You do not have any wallet"
msgstr "" msgstr ""
@ -671,6 +949,10 @@ msgstr ""
msgid "Your profile password" msgid "Your profile password"
msgstr "" msgstr ""
#: src/js/controllers/import.js
msgid "Your wallet has been imported correctly"
msgstr ""
#: public/views/create.html #: public/views/create.html
#: public/views/join.html #: public/views/join.html
msgid "advanced options" msgid "advanced options"
@ -702,3 +984,7 @@ msgstr ""
#: public/views/preferences.html #: public/views/preferences.html
msgid "{{index.walletName}} settings" msgid "{{index.walletName}} settings"
msgstr "" msgstr ""
#: src/js/controllers/importLegacy.js
msgid "{{len}} wallets imported. Funds scanning in progress. Hold on to see updated balance"
msgstr ""

View file

@ -40,7 +40,7 @@
<div class="large-12 columns"> <div class="large-12 columns">
<div class="m20tp text-center" ng-show="index.notAuthorized"> <div class="m20tp text-center" ng-show="index.notAuthorized">
<h1 translate>Wallet incomplete and broken</h1> <h1 translate>Wallet incomplete and broken</h1>
<h4>Delete it and create a new one</h4> <h4 translate>Delete it and create a new one</h4>
</div> </div>
<button class="small warning expand" ng-click="copayers.deleteWallet()"> <button class="small warning expand" ng-click="copayers.deleteWallet()">
<i class="fi-trash"></i> <span translate>Cancel</span> <i class="fi-trash"></i> <span translate>Cancel</span>

View file

@ -6,7 +6,7 @@
<div ng-include="'views/includes/version.html'"></div> <div ng-include="'views/includes/version.html'"></div>
</div> </div>
<div class="text-center size-12 text-warning" ng-show="cp.error"> <div class="text-center size-12 text-warning" ng-show="cp.error">
{{(cp.error)|translate}}. Retrying... {{(cp.error)|translate}}. <span translate>Retrying...</span>
</div> </div>
<div class="onGoingProcess" ng-show="cp.creatingProfile"> <div class="onGoingProcess" ng-show="cp.creatingProfile">
<div class="onGoingProcess-content" ng-style="{'background-color':'#222'}"> <div class="onGoingProcess-content" ng-style="{'background-color':'#222'}">

View file

@ -7,10 +7,10 @@
</div> </div>
<div> <div>
<div ng-show="importLegacy.importing"> <div ng-show="importLegacy.importing">
<h1 class="m20b animated infinite flash"> Importing...</h1> <h1 class="m20b animated infinite flash" translate>Importing...</h1>
<ul> <ul>
<li ng-repeat="m in importLegacy.messages"> <li ng-repeat="m in importLegacy.messages">
<span ng-style="{'opacity':m.opacity}"> {{m.message}} </span> <span ng-style="{'opacity':m.opacity}">{{m.message|translate}}</span>
</ul> </ul>
</div> </div>

View file

@ -7,7 +7,7 @@
</div> </div>
<div class="small-10 columns"> <div class="small-10 columns">
<div ng-if="!$root.updatingBalance"> <div ng-if="!$root.updatingBalance">
<span class="text-bold size-16">Send {{tx.amountStr}}</span> <span class="text-bold size-16"><span translate>Send</span> {{tx.amountStr}}</span>
<time class="right size-12 text-gray m5t">{{ (tx.ts || tx.createdOn ) * 1000 | amTimeAgo}}</time> <time class="right size-12 text-gray m5t">{{ (tx.ts || tx.createdOn ) * 1000 | amTimeAgo}}</time>
</div> </div>
<div class="ellipsis size-14"> <div class="ellipsis size-14">

View file

@ -4,12 +4,12 @@
<div class="large-6 medium-6 small-6 columns"> <div class="large-6 medium-6 small-6 columns">
<button class="button light-gray expand outline radius" ng-disabled="loading" <button class="button light-gray expand outline radius" ng-disabled="loading"
ng-click="cancel()"> ng-click="cancel()">
<i class="fi-x"></i> <span class="tu" translate>Cancel</span> <i class="fi-x"></i> <span class="tu" translate>No</span>
</button> </button>
</div> </div>
<div class="large-6 medium-6 small-6 columns"> <div class="large-6 medium-6 small-6 columns">
<button class="warning expand radius" ng-disabled="loading" ng-click="ok()"> <button class="warning expand radius" ng-disabled="loading" ng-click="ok()">
<i class="fi-trash"></i> <span translate>OK</span> <i class="fi-trash"></i> <span translate>Yes</span>
</button> </button>
</div> </div>
</div> </div>

View file

@ -32,7 +32,7 @@
<span translate>Language</span> <span translate>Language</span>
<span class="right text-gray"> <span class="right text-gray">
<i class="icon-arrow-right3 size-24 right"></i> <i class="icon-arrow-right3 size-24 right"></i>
{{index.defaultLanguageName}} {{index.defaultLanguageName|translate}}
</span> </span>
</li> </li>

View file

@ -1,6 +1,6 @@
<div class="content p20v" ng-controller="preferencesAbout as about"> <div class="content p20v" ng-controller="preferencesAbout as about">
<ul class="no-bullet m0 size-14"> <ul class="no-bullet m0 size-14">
<div class="text-center small-5 small-centered columns p20" > <div class="text-center small-5 small-centered columns m20b" >
<img src="img/logo.png" alt="Copay" width="100%"> <img src="img/logo.png" alt="Copay" width="100%">
</div> </div>
<h4 class="title m0" translate>Release Information</h4> <h4 class="title m0" translate>Release Information</h4>
@ -16,12 +16,11 @@
<span translate>Commit hash</span> <span translate>Commit hash</span>
<span class="right text-gray"> <span class="right text-gray">
#{{v.commitHash}} #{{v.commitHash}}
<i class="icon-arrow-right3 size-24 right text-gray"></i>
</span> </span>
</li> </li>
</div> </div>
<h4 class="title m0" translate>&nbsp;</h4> <h4 class="title m0">&nbsp;</h4>
<li class="line-b p20" ng-conf ng-click="$root.go('logs')"> <li class="line-b p20" ng-conf ng-click="$root.go('logs')">
<span translate>View session logs</span> <span translate>View session logs</span>
<span class="right text-gray"> <span class="right text-gray">

View file

@ -1,5 +1,5 @@
<div class="content p20v" ng-controller="preferencesDeleteWalletController as preferences"> <div class="content p20v" ng-controller="preferencesDeleteWalletController as preferences">
<h4 class="text-warning text-center m0" translate> Warning! </h4> <h4 class="text-warning text-center m0" translate>Warning!</h4>
<div class="box-notification" ng-show="preferences.error" > <div class="box-notification" ng-show="preferences.error" >
<span class="text-warning size-14"> <span class="text-warning size-14">
{{preferences.error|translate}} {{preferences.error|translate}}
@ -7,7 +7,7 @@
</div> </div>
<div class="columns text-center m10t"> <div class="columns text-center m10t">
<p translate class="size-12 text-gray">Permanently delete this wallet. WARNING: this action cannot be reversed.</p> <p translate class="size-12 text-gray">Permanently delete this wallet. WARNING: this action cannot be reversed.</p>
<button class="button expand warning" ng-click="preferences.deleteWallet()"> <button class="button expand warning" ng-click="preferences.deleteWallet()" translate>
Delete wallet Delete wallet
</button> </button>
</div> </div>

View file

@ -3,7 +3,7 @@
<div ng-show="!prefLang.loading" <div ng-show="!prefLang.loading"
ng-repeat="lang in index.availableLanguages" ng-repeat="lang in index.availableLanguages"
ng-click="prefLang.save(lang.isoCode)" class="line-b p20 size-14"> ng-click="prefLang.save(lang.isoCode)" class="line-b p20 size-14">
<span>{{lang.name}}</span> <span>{{lang.name|translate}}</span>
<i class="fi-check size-16 right" ng-show="index.defaultLanguageIsoCode == lang.isoCode"></i> <i class="fi-check size-16 right" ng-show="index.defaultLanguageIsoCode == lang.isoCode"></i>
</div> </div>
</div> </div>

View file

@ -1,16 +1,18 @@
<div class="content p20v" ng-controller="preferencesLogs as logs"> <div class="content p20v" ng-controller="preferencesLogs as logs">
<button class="black radius expand" ng-show="logs.isCordova" ng-style="{'background-color':index.backgroundColor}" ng-click="logs.sendLogs()" ><i class="fi-mail"></i> <div class="row columns">
<button class="black radius small expand" ng-show="logs.isCordova" ng-style="{'background-color':index.backgroundColor}" ng-click="logs.sendLogs()" ><i class="fi-mail"></i>
<span translate>Send by email</span> <span translate>Send by email</span>
</button> </button>
<ul class="no-bullet m0 size-14"> <ul class="no-bullet size-14 oh" style="word-wrap: break-word;">
<li class="line-b" ng-repeat="l in logs.logs"> <li class="line-b enable_text_select" ng-repeat="l in logs.logs">
<span ng-class="{'text-warning': l.level=='warn', 'text-secondary': l.level=='debug', 'text-primary': l.level=='info', 'text-alert': l.level=='error' }"> <span ng-class="{'text-warning': l.level=='warn', 'text-secondary': l.level=='debug', 'text-primary': l.level=='info', 'text-alert': l.level=='error' }">
{{l.msg}} {{l.msg}}
</span> </span>
</li> </li>
</ul> </ul>
</div>
</div> </div>

View file

@ -2,7 +2,7 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('backupController', angular.module('copayApp.controllers').controller('backupController',
function($rootScope, $scope, $timeout, backupService, profileService, isMobile, isCordova, notification, go) { function($rootScope, $scope, $timeout, backupService, profileService, isMobile, isCordova, notification, go, gettext) {
this.isSafari = isMobile.Safari(); this.isSafari = isMobile.Safari();
this.isCordova = isCordova; this.isCordova = isCordova;
this.error = null; this.error = null;
@ -14,7 +14,7 @@ angular.module('copayApp.controllers').controller('backupController',
this.downloadWalletBackup = function() { this.downloadWalletBackup = function() {
backupService.walletDownload(this.password, function() { backupService.walletDownload(this.password, function() {
$rootScope.$emit('Local/BackupDone'); $rootScope.$emit('Local/BackupDone');
notification.success('Backup created', 'Encrypted backup file saved'); notification.success(gettext('Backup created'), gettext('Encrypted backup file saved'));
go.walletHome(); go.walletHome();
}); });
}; };

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('copayersController', angular.module('copayApp.controllers').controller('copayersController',
function($scope, $rootScope, $timeout, $log, $modal, profileService, go, notification, isCordova) { function($scope, $rootScope, $timeout, $log, $modal, profileService, go, notification, isCordova, gettext, gettextCatalog) {
var self = this; var self = this;
@ -17,8 +17,8 @@ angular.module('copayApp.controllers').controller('copayersController',
}; };
var _modalDeleteWallet = function() { var _modalDeleteWallet = function() {
var ModalInstanceCtrl = function($scope, $modalInstance) { var ModalInstanceCtrl = function($scope, $modalInstance, gettext) {
$scope.title = 'Are you sure you want to delete this wallet?'; $scope.title = gettext('Are you sure you want to delete this wallet?');
$scope.loading = false; $scope.loading = false;
$scope.ok = function() { $scope.ok = function() {
@ -59,7 +59,7 @@ angular.module('copayApp.controllers').controller('copayersController',
} else { } else {
go.walletHome(); go.walletHome();
$timeout(function() { $timeout(function() {
notification.success('Success', 'The wallet "' + walletName + '" was deleted'); notification.success(gettext('Success'), gettextCatalog.getString('The wallet "{{walletName}}" was deleted', {walletName: walletName}));
}); });
} }
}); });

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('createController', angular.module('copayApp.controllers').controller('createController',
function($scope, $rootScope, $location, $timeout, $log, lodash, go, profileService, configService, isMobile, isCordova) { function($scope, $rootScope, $location, $timeout, $log, lodash, go, profileService, configService, isMobile, isCordova, gettext) {
var self = this; var self = this;
var defaults = configService.getDefaults(); var defaults = configService.getDefaults();
@ -43,7 +43,7 @@ angular.module('copayApp.controllers').controller('createController',
this.create = function(form) { this.create = function(form) {
if (form && form.$invalid) { if (form && form.$invalid) {
this.error = 'Please enter the required fields'; this.error = gettext('Please enter the required fields');
return; return;
} }
var opts = { var opts = {
@ -61,7 +61,7 @@ angular.module('copayApp.controllers').controller('createController',
self.loading = false; self.loading = false;
if (err) { if (err) {
$log.debug(err); $log.debug(err);
self.error = 'Could not create wallet: ' + err; self.error = err;
} }
else { else {
go.walletHome(); go.walletHome();
@ -77,7 +77,7 @@ angular.module('copayApp.controllers').controller('createController',
this.hideWalletName = true; this.hideWalletName = true;
} }
else { else {
this.hideWalletName = false; this.hideWalletName = false;
} }
$timeout(function() { $timeout(function() {
$rootScope.$digest(); $rootScope.$digest();

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('importController', angular.module('copayApp.controllers').controller('importController',
function($scope, $rootScope, $location, $timeout, $log, profileService, notification, go, isMobile, isCordova, sjcl) { function($scope, $rootScope, $location, $timeout, $log, profileService, notification, go, isMobile, isCordova, sjcl, gettext) {
var self = this; var self = this;
@ -17,15 +17,20 @@ angular.module('copayApp.controllers').controller('importController',
}); });
var _import = function(str, opts) { var _import = function(str, opts) {
var str2; var str2, err;
try { try {
str2 = sjcl.decrypt(self.password, str); str2 = sjcl.decrypt(self.password, str);
} catch (e) { } catch (e) {
self.error = 'Could not decrypt file, check your password'; err = gettext('Could not decrypt file, check your password');
$log.warn(e); $log.warn(e);
return;
}; };
if (err) {
self.error = err;
$rootScope.$apply();
return;
}
self.loading = true; self.loading = true;
$timeout(function() { $timeout(function() {
@ -40,7 +45,7 @@ angular.module('copayApp.controllers').controller('importController',
else { else {
$rootScope.$emit('Local/WalletImported', walletId); $rootScope.$emit('Local/WalletImported', walletId);
go.walletHome(); go.walletHome();
notification.success('Success', 'Your wallet has been imported correctly'); notification.success(gettext('Success'), gettext('Your wallet has been imported correctly'));
} }
}); });
}, 100); }, 100);
@ -57,7 +62,7 @@ angular.module('copayApp.controllers').controller('importController',
this.import = function(form) { this.import = function(form) {
if (form.$invalid) { if (form.$invalid) {
this.error = 'There is an error in the form'; this.error = gettext('There is an error in the form');
$scope.$apply(); $scope.$apply();
return; return;
} }
@ -67,7 +72,7 @@ angular.module('copayApp.controllers').controller('importController',
var password = form.password.$modelValue; var password = form.password.$modelValue;
if (!backupFile && !backupText) { if (!backupFile && !backupText) {
this.error = 'Please, select your backup file'; this.error = gettext('Please, select your backup file');
$scope.$apply(); $scope.$apply();
return; return;
} }

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('importLegacyController', angular.module('copayApp.controllers').controller('importLegacyController',
function($rootScope, $scope, $log, $timeout, notification, legacyImportService, profileService, go, lodash, bitcore) { function($rootScope, $scope, $log, $timeout, notification, legacyImportService, profileService, go, lodash, bitcore, gettext, gettextCatalog) {
var self = this; var self = this;
self.messages = []; self.messages = [];
@ -50,11 +50,11 @@ angular.module('copayApp.controllers').controller('importLegacyController',
legacyImportService.import(username, password, serverURL, fromCloud, function(err, ids, toScanIds) { legacyImportService.import(username, password, serverURL, fromCloud, function(err, ids, toScanIds) {
if (err || !ids || !ids.length) { if (err || !ids || !ids.length) {
self.importing = false; self.importing = false;
self.error = err || 'Failed to import wallets'; self.error = err || gettext('Failed to import wallets');
return; return;
} }
notification.success( ids.length + ' wallets imported. Funds scanning in progress. Hold on to see updated balance.'); notification.success( gettextCatalog.getString('{{len}} wallets imported. Funds scanning in progress. Hold on to see updated balance', {len: ids.length}));
self.scan(toScanIds); self.scan(toScanIds);
}); });
}, 100); }, 100);

View file

@ -1,6 +1,6 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, lodash, go, profileService, configService, isCordova, rateService, storageService, gettextCatalog, amMoment) { angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, lodash, go, profileService, configService, isCordova, rateService, storageService, gettextCatalog, gettext, amMoment) {
var self = this; var self = this;
self.isCordova = isCordova; self.isCordova = isCordova;
@ -12,19 +12,19 @@ angular.module('copayApp.controllers').controller('indexController', function($r
}; };
self.menu = [{ self.menu = [{
'title': 'Home', 'title': gettext('Home'),
'icon': 'icon-home', 'icon': 'icon-home',
'link': 'walletHome' 'link': 'walletHome'
}, { }, {
'title': 'Receive', 'title': gettext('Receive'),
'icon': 'icon-receive', 'icon': 'icon-receive',
'link': 'receive' 'link': 'receive'
}, { }, {
'title': 'Send', 'title': gettext('Send'),
'icon': 'icon-paperplane', 'icon': 'icon-paperplane',
'link': 'send' 'link': 'send'
}, { }, {
'title': 'History', 'title': gettext('History'),
'icon': 'icon-history', 'icon': 'icon-history',
'link': 'history' 'link': 'history'
}]; }];
@ -32,16 +32,16 @@ angular.module('copayApp.controllers').controller('indexController', function($r
self.tab = 'walletHome'; self.tab = 'walletHome';
self.availableLanguages = [{ self.availableLanguages = [{
name: 'English', name: gettext('English'),
isoCode: 'en', isoCode: 'en',
}, { }, {
name: 'Spanish', name: gettext('Spanish'),
isoCode: 'es', isoCode: 'es',
}, { }, {
name: 'Français', name: gettext('French'),
isoCode: 'fr', isoCode: 'fr',
}, { }, {
name: '日本人', name: gettext('Japanese'),
isoCode: 'ja', isoCode: 'ja',
}]; }];
@ -500,7 +500,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
}; };
self.setDefaultLanguage = function(setLang) { self.setDefaultLanguage = function(setLang) {
var userLang var userLang;
if (!setLang) { if (!setLang) {
userLang = configService.getSync().wallet.settings.defaultLanguage; userLang = configService.getSync().wallet.settings.defaultLanguage;
if (!userLang) { if (!userLang) {

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('joinController', angular.module('copayApp.controllers').controller('joinController',
function($scope, $rootScope, $timeout, go, isMobile, notification, profileService, isCordova, $modal) { function($scope, $rootScope, $timeout, go, isMobile, notification, profileService, isCordova, $modal, gettext) {
var self = this; var self = this;
@ -140,7 +140,7 @@ angular.module('copayApp.controllers').controller('joinController',
this.join = function(form) { this.join = function(form) {
if (form && form.$invalid) { if (form && form.$invalid) {
self.error = 'Please enter the required fields'; self.error = gettext('Please enter the required fields');
return; return;
} }
self.loading = true; self.loading = true;
@ -153,7 +153,7 @@ angular.module('copayApp.controllers').controller('joinController',
}, function(err) { }, function(err) {
if (err) { if (err) {
self.loading = false; self.loading = false;
self.error = 'Could not join wallet: ' + (err.message ? err.message : err); self.error = gettext('Could not join wallet: ') + (err.message ? err.message : err);
$rootScope.$apply(); $rootScope.$apply();
return return
} }

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('passwordController', angular.module('copayApp.controllers').controller('passwordController',
function($rootScope, $scope, $timeout, profileService, notification, go) { function($rootScope, $scope, $timeout, profileService, notification, go, gettext) {
var self = this; var self = this;
@ -27,7 +27,7 @@ angular.module('copayApp.controllers').controller('passwordController',
} }
if (isSetup) { if (isSetup) {
if (pass1 != self.password) { if (pass1 != self.password) {
self.error = 'Passwords do not match'; self.error = gettext('Passwords do not match');
self.isVerification = false; self.isVerification = false;
self.password = null; self.password = null;
pass1 =null; pass1 =null;

View file

@ -1,13 +1,13 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('preferencesDeleteWalletController', angular.module('copayApp.controllers').controller('preferencesDeleteWalletController',
function($scope, $rootScope, $filter, $timeout, $modal, notification, profileService, isCordova, go) { function($scope, $rootScope, $filter, $timeout, $modal, $log, notification, profileService, isCordova, go, gettext, gettextCatalog) {
this.isCordova = isCordova; this.isCordova = isCordova;
this.error = null; this.error = null;
var _modalDeleteWallet = function() { var _modalDeleteWallet = function() {
var ModalInstanceCtrl = function($scope, $modalInstance) { var ModalInstanceCtrl = function($scope, $modalInstance, gettext) {
$scope.title = 'Are you sure you want to delete this wallet?'; $scope.title = gettext('Are you sure you want to delete this wallet?');
$scope.loading = false; $scope.loading = false;
$scope.ok = function() { $scope.ok = function() {
@ -33,25 +33,17 @@ angular.module('copayApp.controllers').controller('preferencesDeleteWalletContro
}; };
var _deleteWallet = function() { var _deleteWallet = function() {
$timeout(function() { var fc = profileService.focusedClient;
var fc = profileService.focusedClient; var walletName = fc.credentials.walletName;
var walletName = fc.credentials.walletName; var self = this;
profileService.deleteWalletFC({}, function(err) { profileService.deleteWalletFC({}, function(err) {
if (err) { if (err) {
this.error = err.message || err; self.error = err.message || err;
console.log(err); } else {
$timeout(function() { notification.success(gettext('Success'), gettextCatalog.getString('The wallet "{{walletName}}" was deleted', {walletName: walletName}));
$scope.$digest(); }
}); });
} else {
go.walletHome();
$timeout(function() {
notification.success('Success', 'The wallet "' + walletName + '" was deleted');
});
}
});
}, 100);
}; };
this.deleteWallet = function() { this.deleteWallet = function() {

View file

@ -1,6 +1,6 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $timeout, $filter, $modal, $log, notification, txStatus, isCordova, profileService, lodash, configService, rateService, storageService, bitcore, isChromeApp) { angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $timeout, $filter, $modal, $log, notification, txStatus, isCordova, profileService, lodash, configService, rateService, storageService, bitcore, isChromeApp, gettext, gettextCatalog) {
var self = this; var self = this;
$rootScope.hideMenuBar = false; $rootScope.hideMenuBar = false;
@ -176,7 +176,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
return; return;
}; };
self.setOngoingProcess('Signing transaction'); self.setOngoingProcess(gettext('Signing transaction'));
$scope.loading = true; $scope.loading = true;
$scope.error = null; $scope.error = null;
$timeout(function() { $timeout(function() {
@ -185,19 +185,19 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
self.setOngoingProcess(); self.setOngoingProcess();
if (err) { if (err) {
$scope.loading = false; $scope.loading = false;
$scope.error = err.message || 'Transaction not signed. Please try again.'; $scope.error = err.message || gettext('Transaction not signed. Please try again.');
$scope.$digest(); $scope.$digest();
} else { } else {
//if txp has required signatures then broadcast it //if txp has required signatures then broadcast it
var txpHasRequiredSignatures = txpsi.status == 'accepted'; var txpHasRequiredSignatures = txpsi.status == 'accepted';
if (txpHasRequiredSignatures) { if (txpHasRequiredSignatures) {
self.setOngoingProcess('Broadcasting transaction'); self.setOngoingProcess(gettext('Broadcasting transaction'));
$scope.loading = true; $scope.loading = true;
fc.broadcastTxProposal(txpsi, function(err, txpsb) { fc.broadcastTxProposal(txpsi, function(err, txpsb) {
self.setOngoingProcess(); self.setOngoingProcess();
$scope.loading = false; $scope.loading = false;
if (err) { if (err) {
$scope.error = 'Transaction not broadcasted. Please try again.'; $scope.error = gettext('Transaction not broadcasted. Please try again.');
$scope.$digest(); $scope.$digest();
} else { } else {
$modalInstance.close(txpsb); $modalInstance.close(txpsb);
@ -213,7 +213,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
}; };
$scope.reject = function(txp) { $scope.reject = function(txp) {
self.setOngoingProcess('Rejecting transaction'); self.setOngoingProcess(gettext('Rejecting transaction'));
$scope.loading = true; $scope.loading = true;
$scope.error = null; $scope.error = null;
$timeout(function() { $timeout(function() {
@ -221,7 +221,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
self.setOngoingProcess(); self.setOngoingProcess();
$scope.loading = false; $scope.loading = false;
if (err) { if (err) {
$scope.error = err.message || 'Transaction not rejected. Please try again.'; $scope.error = err.message || gettext('Transaction not rejected. Please try again.');
$scope.$digest(); $scope.$digest();
} else { } else {
$modalInstance.close(txpr); $modalInstance.close(txpr);
@ -232,7 +232,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
$scope.remove = function(txp) { $scope.remove = function(txp) {
self.setOngoingProcess('Deleting transaction'); self.setOngoingProcess(gettext('Deleting transaction'));
$scope.loading = true; $scope.loading = true;
$scope.error = null; $scope.error = null;
$timeout(function() { $timeout(function() {
@ -242,7 +242,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
// Hacky: request tries to parse an empty response // Hacky: request tries to parse an empty response
if (err && !(err.message && err.message.match(/Unexpected/))) { if (err && !(err.message && err.message.match(/Unexpected/))) {
$scope.error = err.message || 'Transaction could not be deleted. Please try again.'; $scope.error = err.message || gettext('Transaction could not be deleted. Please try again.');
$scope.$digest(); $scope.$digest();
return; return;
} }
@ -252,7 +252,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
}; };
$scope.broadcast = function(txp) { $scope.broadcast = function(txp) {
self.setOngoingProcess('Broadcasting transaction'); self.setOngoingProcess(gettext('Broadcasting transaction'));
$scope.loading = true; $scope.loading = true;
$scope.error = null; $scope.error = null;
$timeout(function() { $timeout(function() {
@ -260,7 +260,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
self.setOngoingProcess(); self.setOngoingProcess();
$scope.loading = false; $scope.loading = false;
if (err) { if (err) {
$scope.error = err.message || 'Transaction not sent. Please try again.'; $scope.error = err.message || gettext('Transaction not sent. Please try again.');
$scope.$digest(); $scope.$digest();
} else { } else {
$modalInstance.close(txpb); $modalInstance.close(txpb);
@ -523,7 +523,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
var form = $scope.sendForm; var form = $scope.sendForm;
if (form.$invalid) { if (form.$invalid) {
this.error = 'Unable to send transaction proposal'; this.error = gettext('Unable to send transaction proposal');
return; return;
} }
@ -535,7 +535,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
return; return;
}; };
self.setOngoingProcess('Creating transaction'); self.setOngoingProcess(gettext('Creating transaction'));
$timeout(function() { $timeout(function() {
var comment = form.comment.$modelValue; var comment = form.comment.$modelValue;
var paypro = self._paypro; var paypro = self._paypro;
@ -571,7 +571,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
this.signAndBroadcast = function(txp, cb) { this.signAndBroadcast = function(txp, cb) {
var fc = profileService.focusedClient; var fc = profileService.focusedClient;
self.setOngoingProcess('Signing transaction'); self.setOngoingProcess(gettext('Signing transaction'));
fc.signTxProposal(txp, function(err, signedTx) { fc.signTxProposal(txp, function(err, signedTx) {
profileService.lockFC(); profileService.lockFC();
@ -581,11 +581,11 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
} }
if (signedTx.status == 'accepted') { if (signedTx.status == 'accepted') {
self.setOngoingProcess('Broadcasting transaction'); self.setOngoingProcess(gettext('Broadcasting transaction'));
fc.broadcastTxProposal(signedTx, function(err, btx) { fc.broadcastTxProposal(signedTx, function(err, btx) {
self.setOngoingProcess(); self.setOngoingProcess();
if (err) { if (err) {
$scope.error = 'Transaction not broadcasted. Please try again.'; $scope.error = gettext('Transaction not broadcasted. Please try again.');
$scope.$digest(); $scope.$digest();
return cb(err); return cb(err);
} }
@ -685,13 +685,14 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
this.setFromPayPro = function(uri) { this.setFromPayPro = function(uri) {
var fc = profileService.focusedClient; var fc = profileService.focusedClient;
if (isChromeApp) { if (isChromeApp) {
this.error = 'Payment Protocol not supported on Chrome App'; this.error = gettext('Payment Protocol not supported on Chrome App');
return; return;
} }
var satToUnit = 1 / this.unitToSatoshi; var satToUnit = 1 / this.unitToSatoshi;
var self = this; var self = this;
self.setOngoingProcess('Fetching Payment Informantion'); /// Get information of payment if using Payment Protocol
self.setOngoingProcess(gettext('Fetching Payment Information'));
$log.debug('Fetch PayPro Request...', uri); $log.debug('Fetch PayPro Request...', uri);
$timeout(function() { $timeout(function() {
@ -705,7 +706,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
self.resetForm(); self.resetForm();
var msg = err.toString(); var msg = err.toString();
if (msg.match('HTTP')) { if (msg.match('HTTP')) {
msg = 'Could not fetch payment information'; msg = gettext('Could not fetch payment information');
} }
self.error = msg; self.error = msg;
} else { } else {

View file

@ -34,6 +34,7 @@ angular
args = args.map(function(v) { args = args.map(function(v) {
try { try {
if (typeof v == 'undefined') v = 'undefined'; if (typeof v == 'undefined') v = 'undefined';
if (!v) v = 'null';
if (typeof v == 'object') { if (typeof v == 'object') {
if (v.message) if (v.message)
v = v.message; v = v.message;
@ -145,8 +146,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Join shared wallet'; $scope.titleSection = gettext('Join shared wallet');
$scope.goBackToState = 'add'; $scope.goBackToState = 'add';
$scope.noColor = true; $scope.noColor = true;
} }
@ -162,8 +163,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Import wallet'; $scope.titleSection = gettext('Import wallet');
$scope.goBackToState = 'add'; $scope.goBackToState = 'add';
$scope.noColor = true; $scope.noColor = true;
} }
@ -184,8 +185,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Import legacy wallet'; $scope.titleSection = gettext('Import legacy wallet');
$scope.goBackToState = 'add'; $scope.goBackToState = 'add';
$scope.noColor = true; $scope.noColor = true;
} }
@ -203,8 +204,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Create new wallet'; $scope.titleSection = gettext('Create new wallet');
$scope.goBackToState = 'add'; $scope.goBackToState = 'add';
$scope.noColor = true; $scope.noColor = true;
} }
@ -251,8 +252,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Language'; $scope.titleSection = gettext('Language');
$scope.goBackToState = 'preferences'; $scope.goBackToState = 'preferences';
$scope.noColor = true; $scope.noColor = true;
} }
@ -270,8 +271,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Unit'; $scope.titleSection = gettext('Unit');
$scope.goBackToState = 'preferences'; $scope.goBackToState = 'preferences';
$scope.noColor = true; $scope.noColor = true;
} }
@ -289,8 +290,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Color'; $scope.titleSection = gettext('Color');
$scope.goBackToState = 'preferences'; $scope.goBackToState = 'preferences';
} }
} }
@ -308,8 +309,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Alternative Currency'; $scope.titleSection = gettext('Alternative Currency');
$scope.goBackToState = 'preferences'; $scope.goBackToState = 'preferences';
$scope.noColor = true; $scope.noColor = true;
} }
@ -346,8 +347,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Delete'; $scope.titleSection = gettext('Delete');
$scope.goBackToState = 'preferences'; $scope.goBackToState = 'preferences';
} }
} }
@ -364,8 +365,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'About'; $scope.titleSection = gettext('About');
$scope.goBackToState = 'preferences'; $scope.goBackToState = 'preferences';
$scope.noColor = true; $scope.noColor = true;
} }
@ -383,8 +384,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Logs'; $scope.titleSection = gettext('Logs');
$scope.goBackToState = 'about'; $scope.goBackToState = 'about';
$scope.noColor = true; $scope.noColor = true;
} }
@ -402,8 +403,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Backup'; $scope.titleSection = gettext('Backup');
$scope.goBackToState = 'preferences'; $scope.goBackToState = 'preferences';
} }
} }
@ -431,8 +432,8 @@ angular
}, },
'topbar': { 'topbar': {
templateUrl: 'views/includes/topbar.html', templateUrl: 'views/includes/topbar.html',
controller: function($scope) { controller: function($scope, gettext) {
$scope.titleSection = 'Add wallet'; $scope.titleSection = gettext('Add wallet');
$scope.closeToHome = true; $scope.closeToHome = true;
$scope.noColor = true; $scope.noColor = true;
} }

View file

@ -1,6 +1,6 @@
'use strict'; 'use strict';
angular.module('copayApp.services') angular.module('copayApp.services')
.factory('notificationService', function profileServiceFactory($filter, notification, lodash, configService) { .factory('notificationService', function profileServiceFactory($filter, notification, lodash, configService, gettext) {
var root = {}; var root = {};
@ -56,32 +56,32 @@ angular.module('copayApp.services')
switch (notificationData.type) { switch (notificationData.type) {
case 'NewTxProposal': case 'NewTxProposal':
notification.new('New Transaction', notification.new(gettext('New Transaction'),
walletName, {color: color} ); walletName, {color: color} );
break; break;
case 'TxProposalAcceptedBy': case 'TxProposalAcceptedBy':
notification.success('Transaction Signed', notification.success(gettext('Transaction Signed'),
walletName, {color: color} ); walletName, {color: color} );
break; break;
case 'TxProposalRejectedBy': case 'TxProposalRejectedBy':
notification.error('Transaction Rejected', notification.error(gettext('Transaction Rejected'),
walletName, {color: color} ); walletName, {color: color} );
break; break;
case 'TxProposalFinallyRejected': case 'TxProposalFinallyRejected':
notification.error('A transaction was finally rejected', notification.error(gettext('A transaction was finally rejected'),
walletName, {color: color} ); walletName, {color: color} );
break; break;
case 'NewOutgoingTx': case 'NewOutgoingTx':
notification.sent('Transaction Sent', notification.sent(gettext('Transaction Sent'),
walletName, {color: color} ); walletName, {color: color} );
break; break;
case 'NewIncomingTx': case 'NewIncomingTx':
notification.funds('Funds received', notification.funds(gettext('Funds received'),
walletName, {color: color} ); walletName, {color: color} );
break; break;
case 'ScanFinished': case 'ScanFinished':
notification.success('Scan Finished', notification.success(gettext('Scan Finished'),
walletName, {color: color} );; walletName, {color: color} );
break; break;
case 'NewCopayer': case 'NewCopayer':

View file

@ -1,6 +1,6 @@
'use strict'; 'use strict';
angular.module('copayApp.services') angular.module('copayApp.services')
.factory('profileService', function profileServiceFactory($rootScope, $location, $timeout, $filter, $log, lodash, storageService, bwcService, configService, notificationService, isChromeApp, isCordova) { .factory('profileService', function profileServiceFactory($rootScope, $location, $timeout, $filter, $log, lodash, storageService, bwcService, configService, notificationService, isChromeApp, isCordova, gettext) {
var root = {}; var root = {};
@ -163,7 +163,7 @@ angular.module('copayApp.services')
walletClient.createWallet('Personal Wallet', 'me', 1, 1, { walletClient.createWallet('Personal Wallet', 'me', 1, 1, {
network: 'livenet' network: 'livenet'
}, function(err) { }, function(err) {
if (err) return cb('Error creating wallet. Check your internet connection'); if (err) return cb(gettext('Error creating wallet. Check your internet connection'));
var p = Profile.create({ var p = Profile.create({
credentials: [JSON.parse(walletClient.export())], credentials: [JSON.parse(walletClient.export())],
}); });
@ -179,13 +179,13 @@ angular.module('copayApp.services')
try { try {
walletClient.seedFromExtendedPrivateKey(opts.extendedPrivateKey); walletClient.seedFromExtendedPrivateKey(opts.extendedPrivateKey);
} catch (ex) { } catch (ex) {
return cb('Could not create using the specified extended private key'); return cb(gettext('Could not create using the specified extended private key'));
} }
} }
walletClient.createWallet(opts.name, opts.myName || 'me', opts.m, opts.n, { walletClient.createWallet(opts.name, opts.myName || 'me', opts.m, opts.n, {
network: opts.networkName network: opts.networkName
}, function(err, secret) { }, function(err, secret) {
if (err) return cb('Error creating wallet'); if (err) return cb(gettext('Error creating wallet'));
root.profile.credentials.push(JSON.parse(walletClient.export())); root.profile.credentials.push(JSON.parse(walletClient.export()));
root.setWalletClients(); root.setWalletClients();
@ -205,7 +205,7 @@ angular.module('copayApp.services')
try { try {
walletClient.seedFromExtendedPrivateKey(opts.extendedPrivateKey); walletClient.seedFromExtendedPrivateKey(opts.extendedPrivateKey);
} catch (ex) { } catch (ex) {
return cb('Could not join using the specified extended private key'); return cb(gettext('Could not join using the specified extended private key'));
} }
} }
walletClient.joinWallet(opts.secret, opts.myName || 'me', function(err) { walletClient.joinWallet(opts.secret, opts.myName || 'me', function(err) {
@ -254,7 +254,7 @@ angular.module('copayApp.services')
password: opts.password password: opts.password
}); });
} catch (err) { } catch (err) {
return cb('Could not import. Check input file and password'); return cb(gettext('Could not import. Check input file and password'));
} }
var walletId = walletClient.credentials.walletId; var walletId = walletClient.credentials.walletId;
@ -263,7 +263,7 @@ angular.module('copayApp.services')
if (lodash.find(root.profile.credentials, { if (lodash.find(root.profile.credentials, {
'walletId': walletId 'walletId': walletId
})) { })) {
return cb('Wallet already exists'); return cb(gettext('Wallet already exists'));
} }
root.profile.credentials.push(JSON.parse(walletClient.export())); root.profile.credentials.push(JSON.parse(walletClient.export()));
@ -285,7 +285,6 @@ angular.module('copayApp.services')
root._createNewProfile(function(err, p) { root._createNewProfile(function(err, p) {
if (err) return cb(err); if (err) return cb(err);
console.log('[profileService.js.287]'); //TODO
root.bindProfile(p, function(err) { root.bindProfile(p, function(err) {
storageService.storeNewProfile(p, function(err) { storageService.storeNewProfile(p, function(err) {
return cb(err); return cb(err);
@ -299,11 +298,11 @@ angular.module('copayApp.services')
var walletClient = bwcService.getClient(); var walletClient = bwcService.getClient();
walletClient.createWalletFromOldCopay(username, password, blob, function(err, existed) { walletClient.createWalletFromOldCopay(username, password, blob, function(err, existed) {
if (err) return cb('Error importing wallet: ' + err); if (err) return cb(gettext('Error importing wallet: ') + err);
if (root.walletClients[walletClient.credentials.walletId]) { if (root.walletClients[walletClient.credentials.walletId]) {
$log.debug('Wallet:' + walletClient.credentials.walletName + ' already imported'); $log.debug('Wallet:' + walletClient.credentials.walletName + ' already imported');
return cb('Wallet Already Imported: ' + walletClient.credentials.walletName); return cb(gettext('Wallet Already Imported: ') + walletClient.credentials.walletName);
}; };
$log.debug('Creating Wallet:', walletClient.credentials.walletName); $log.debug('Creating Wallet:', walletClient.credentials.walletName);
@ -370,13 +369,13 @@ angular.module('copayApp.services')
$log.debug('Wallet is encrypted'); $log.debug('Wallet is encrypted');
$rootScope.$emit('Local/NeedsPassword', false, function(err2, password) { $rootScope.$emit('Local/NeedsPassword', false, function(err2, password) {
if (err2 || !password) { if (err2 || !password) {
return cb(err2 || 'Password needed'); return cb(err2 || gettext('Password needed'));
} }
try { try {
fc.unlock(password); fc.unlock(password);
} catch (e) { } catch (e) {
$log.debug(e); $log.debug(e);
return cb('Wrong password'); return cb(gettext('Wrong password'));
} }
$timeout(function() { $timeout(function() {
if (fc.isPrivKeyEncrypted()) { if (fc.isPrivKeyEncrypted()) {

View file

@ -63,7 +63,7 @@ angular.module('copayApp.services')
if (err) return cb(err); if (err) return cb(err);
if (!str) return cb(); if (!str) return cb();
$log.info('Starting Migration profile to File storage...') $log.info('Starting Migration profile to File storage...');
fileStorageService.create('profile', str, function(err) { fileStorageService.create('profile', str, function(err) {
if (err) cb(err); if (err) cb(err);

View file

@ -1,6 +1,6 @@
'use strict'; 'use strict';
angular.module('copayApp.services').factory('txStatus', function($modal, lodash, profileService, $timeout) { angular.module('copayApp.services').factory('txStatus', function($modal, lodash, profileService, $timeout, gettext) {
var root = {}; var root = {};
root.notify = function(txp, cb) { root.notify = function(txp, cb) {
@ -10,17 +10,17 @@ angular.module('copayApp.services').factory('txStatus', function($modal, lodash,
var status = txp.status; var status = txp.status;
if (status == 'broadcasted') { if (status == 'broadcasted') {
msg = 'Transaction broadcasted'; msg = gettext('Transaction broadcasted');
} else { } else {
var action = lodash.find(txp.actions, { var action = lodash.find(txp.actions, {
copayerId: fc.credentials.copayerId copayerId: fc.credentials.copayerId
}); });
if (!action) { if (!action) {
msg = 'Transaction proposal created'; msg = gettext('Transaction proposal created');
} else if (action.type == 'accept') { } else if (action.type == 'accept') {
msg = 'Transaction proposal signed'; msg = gettext('Transaction proposal signed');
} else if (action.type == 'reject') { } else if (action.type == 'reject') {
msg = 'Transaction was rejected'; msg = gettext('Transaction was rejected');
} }
} }