diff --git a/www/i18n/locale-es-ES.json b/www/i18n/locale-es-ES.json
new file mode 100644
index 0000000000000000000000000000000000000000..eb516e7355ae4ea13ce16ee2258b075f0647787e
--- /dev/null
+++ b/www/i18n/locale-es-ES.json
@@ -0,0 +1,618 @@
+{
+  "COMMON": {
+    "APP_NAME": "Cesium",
+    "APP_VERSION": "v{{version}}",
+    "APP_BUILD": "fecha : {{build}}",
+    "PUBKEY": "Llave publica",
+    "MEMBER": "Miembro",
+    "BTN_OK": "OK",
+    "BTN_YES": "Si",
+    "BTN_NO": "No",
+    "BTN_SEND": "Mandar",
+    "BTN_SEND_MONEY": "Hacer una transferencia",
+    "BTN_SEND_MONEY_SHORT": "Transferencia",
+    "BTN_SAVE": "Registrar",
+    "BTN_YES_SAVE": "Si, Registrar",
+    "BTN_YES_CONTINUE": "Si, Continuar",
+    "BTN_SHOW": "Ver",
+    "BTN_SHOW_PUBKEY": "Ver la llave",
+    "BTN_RELATIVE_UNIT": "Visualizar en unidad relativa ?",
+    "BTN_BACK": "Regreso",
+    "BTN_NEXT": "Siguiente",
+    "BTN_CANCEL": "Anular",
+    "BTN_CLOSE": "Cerrar",
+    "BTN_LOGIN": "Connectarse",
+    "BTN_LOGOUT": "Desconexión",
+    "BTN_ADD_ACCOUNT": "Nueva cuenta",
+    "BTN_SHARE": "Compartir",
+    "BTN_EDIT": "Modificar",
+    "BTN_DELETE": "Suprimir",
+    "BTN_ADD": "Añadir",
+    "BTN_SEARCH": "Buscar",
+    "BTN_REFRESH": "Actualisar",
+    "BTN_CONTINUE": "Continuar",
+    "BTN_UNDERSTOOD": "He entendido",
+    "BTN_OPTIONS": "Opciónes",
+    "BTN_HELP_TOUR": "Visita guiada",
+    "BTN_HELP_TOUR_SCREEN": "Descubrir esta pantalla",
+    "DAYS": "Dias",
+    "NO_ACCOUNT_QUESTION": "Todavía no miembre ? Creer una cuenta !",
+    "SEARCH_NO_RESULT": "Ninguno resultado encontrado",
+    "LOADING": "Espera por favor...",
+    "SEARCHING": "Búsqueda en proceso...",
+    "FROM": "De",
+    "TO": "A",
+    "COPY": "Copiar",
+    "LANGUAGE": "Idioma",
+    "UNIVERSAL_DIVIDEND": "Dividendo universal",
+    "UD": "DU",
+    "DATE_PATTERN": "DD/MM/YYYY HH:mm",
+    "DATE_SHORT_PATTERN": "DD/MM/YYYY",
+    "EMPTY_PARENTHESIS": "(vacío)",
+    "UID": "Seudónimo",
+    "ENABLE": "Activado",
+    "DISABLE": "Desactivado",
+    "RESULTS_LIST": "Resultados :",
+    "RESULTS_COUNT": "{{count}} resultados",
+    "EXECUTION_TIME": "ejecutado en {{duration|formatDurationMs}}",
+    "SHOW_VALUES": "Publicar los valores no codificados ?",
+    "POPOVER_ACTIONS_TITLE": "Opciónes",
+    "POPOVER_FILTER_TITLE": "Filtros",
+    "SHOW_MORE": "Publicar más",
+    "SHOW_MORE_COUNT": "(límite actual a {{limit}})",
+    "POPOVER_SHARE": {
+      "TITLE": "Compartir",
+      "SHARE_ON_TWITTER": "Compartir sobre Twitter",
+      "SHARE_ON_FACEBOOK": "Compartir sobre Facebook",
+      "SHARE_ON_DIASPORA": "Compartir sobre Diaspora*",
+      "SHARE_ON_GOOGLEPLUS": "Compartir sobre Google+"
+    }
+  },
+  "SYSTEM": {
+    "PICTURE_CHOOSE_TYPE": "Eligir la fuente :",
+    "BTN_PICTURE_GALLERY": "Galería",
+    "BTN_PICTURE_CAMERA": "<b>Cámara</b>"
+  },
+  "MENU": {
+    "TITLE": "Cesium",
+    "HOME": "Recepción",
+    "WOT": "Anuario",
+    "MARKET": "Anuncios",
+    "CURRENCY": "Moneda",
+    "CURRENCIES": "Monnaies",
+    "ACCOUNT": "Mi cuenta",
+    "TRANSFER": "Transferencia",
+    "SCAN": "Escáner",
+    "SETTINGS": "Configuraciónes",
+    "NETWORK": "Red",
+    "TRANSACTIONS": "Mis operaciónes"
+  },
+  "ABOUT": {
+    "TITLE": "A propósito ",
+    "LICENSE": "Aplicación <b>libre</b> (licencia GNU GPLv3).",
+    "CODE": "Codigo fuente :",
+    "DEVELOPERS": "Desarrollado por :",
+    "FORUM": "Foro :",
+    "DEV_WARNING": "Advertencia",
+    "DEV_WARNING_MESSAGE": "Esta applicación ya no es estabilizada (Desarrollo en proceso).<br/>No duda a informarnos de las anomalías encontradas !",
+    "DEV_WARNING_MESSAGE_SHORT": "Esta Ap ya no es estabilizada (Desarrollo en proceso).",
+    "REPORT_ISSUE": "Informar de un problema"
+  },
+  "HOME": {
+    "TITLE": "Cesium",
+    "MESSAGE": "Bienvenida en la aplicación Cesium !<br/>Sigue sus cuentas <a href=\"http://duniter.org\" target=\"_blank\">Duniter</a> en tiempo real.",
+    "MESSAGE_SHORT": "Sigue sus cuentas <a href=\"http://duniter.org\" target=\"_blank\">Duniter</a><br/>en tiempo real !",
+    "BTN_REGISTRY": "Anuario",
+    "BTN_MARKET": "Ofertas/demandas",
+    "BTN_CURRENCIES": "Explorar las monedas",
+    "BTN_CURRENCY": "Explorar la moneda",
+    "BTN_ABOUT": "A propósito",
+    "BTN_HELP": "Ayuda en línea",
+    "REPORT_ISSUE": "anomalía"
+  },
+  "SETTINGS": {
+    "TITLE": "Configuraciónes",
+    "NETWORK_SETTINGS": "Red",
+    "PEER": "Dirección del nodo Duniter",
+    "USE_LOCAL_STORAGE": "Activar el almacenamiento local",
+    "ENABLE_HELPTIP": "Activar bocadillos contextuales de ayuda",
+    "ENABLE_UI_EFFECTS": "Activar los efectos visuales",
+    "HISTORY_SETTINGS": "Mi cuenta",
+    "DISPLAY_UD_HISTORY": "Publicar los dividendos producidos ?",
+    "AUTHENTICATION_SETTINGS": "Autenticación",
+    "REMEMBER_ME": "Recordarme",
+    "PLUGINS_SETTINGS": "Extensiónes",
+    "BTN_RESET": "Restaurar los valores por defecto" ,
+    "EXPERT_MODE": "Activar el modo experto",
+    "EXPERT_MODE_HELP": "Permite una visualización más detallada",
+    "POPUP_PEER": {
+      "TITLE" : "Nodo Duniter",
+      "HELP" : "Dirección del nodo :",
+      "PEER_HELP": "servidor.dominio.com:puerto",
+      "BTN_SHOW_LIST_HELP" : "Ingresa más arriba al formato <b>{{'SETTINGS.POPUP_PEER.PEER_HELP'|translate}}</b> o hace un clic sobre el botón más abajo :",
+      "BTN_SHOW_LIST" : "Lista de los nodos"
+    }
+  },
+  "BLOCKCHAIN": {
+    "HASH": "Hash : {{hash}}",
+    "VIEW": {
+      "HEADER_TITLE": "Bloque #{{number}}-{{hash|formatHash}}",
+      "TITLE_CURRENT": "Bloque corriente",
+      "TITLE": "Bloque #{{number}}",
+      "COMPUTED_BY": "Calculado por el nodo de",
+      "SHOW_RAW": "Ver el fichero en bruto",
+      "TECHNICAL_DIVIDER": "Informaciónes técnicas",
+      "VERSION": "Versión del formato",
+      "HASH": "Hash calculado",
+      "UNIVERSAL_DIVIDEND_HELP": "Moneda co-producida por cada uno de los {{membersCount}} miembros",
+      "EMPTY": "Ninguno dato en este bloque",
+      "POW_MIN": "Dificultad mínima",
+      "POW_MIN_HELP": "Dificultad impuesta por el cálculo del hash",
+      "DATA_DIVIDER": "Datos",
+      "IDENTITIES_COUNT": "Nuevas identidades",
+      "JOINERS_COUNT": "Nuevos miembros",
+      "ACTIVES_COUNT": "Renovaciónes",
+      "ACTIVES_COUNT_HELP": "Miembros que han renovado sus adhesiónes ",
+      "LEAVERS_COUNT": "Miembros salientes",
+      "LEAVERS_COUNT_HELP": "Miembros que no quieran certificación",
+      "EXCLUDED_COUNT": "Miembros excluidos",
+      "EXCLUDED_COUNT_HELP": "Antiguos miembros excluidos por no renovación o falta de certificaciónes",
+      "REVOKED_COUNT": "Identidades revocadas",
+      "REVOKED_COUNT_HELP": "Estas cuentas no podrán estar miembros",
+      "TX_COUNT": "Transacciónes",
+      "CERT_COUNT": "Certificaciónes",
+      "TX_TO_HIMSELF": "Operación de cambio",
+      "TX_OUTPUT_UNLOCK_CONDITIONS": "Condiciónes de desbloqueo",
+      "TX_OUTPUT_OPERATOR": {
+        "AND": "y",
+        "OR": "o"
+      },
+      "TX_OUTPUT_FUNCTION": {
+        "SIG": "<b>Firma</b> de ",
+        "XHX": "<b>Contraseña</b>, dont SHA256 =",
+        "CSV": "Bloqueado durante",
+        "CLTV": "Bloqueado hasta"
+      }
+    },
+    "LOOKUP": {
+      "TITLE": "Bloques",
+      "NO_BLOCK": "Ningun bloque",
+      "LAST_BLOCKS": "últimos bloques :",
+      "BTN_COMPACT": "Compactar"
+    }
+  },
+  "CURRENCY": {
+    "SELECT": {
+      "TITLE": "Monedas",
+      "CURRENCIES": "Monedas conocidas",
+      "MEMBERS_COUNT": "{{membersCount}} miembros"
+    },
+    "VIEW": {
+      "TITLE": "Moneda",
+      "TAB_CURRENCY": "Moneda",
+      "TAB_WOT": "Red de confianza",
+      "TAB_NETWORK": "Red",
+      "TAB_BLOCKS": "Bloques",
+      "NETWORK_RULES_DIVIDER": "Reglas de la red",
+      "CURRENCY_NAME": "Nombre de la moneda",
+      "MEMBERS": "Número de miembros",
+      "MEMBERS_VARIATION": "variaciónes el último DU",
+      "MONEY_DIVIDER": "Moneda",
+      "MASS": "Masa monetaria",
+      "SHARE": "Masa por miembro",
+      "UD": "Dividendo universal",
+      "C_ACTUAL": "Crecimiento actual",
+      "MEDIAN_TIME": "Hora de la blockchain",
+      "POW_MIN": "Nivel mínimo de dificultad de cálculo",
+      "MONEY_RULES_DIVIDER": "Reglas de la moneda",
+      "C_RULE": "Crecimiento teórico objetivo",
+      "UD_RULE": "Cálculo del dividendo universal",
+      "DT_REEVAL": "Periodo de revalorización del DU",
+      "REEVAL_SYMBOL": "reval",
+      "DT_REEVAL_VALUE": "Todos los <b>{{dtReeval|formatDuration}}</b> ({{dtReeval/86400}} {{'COMMON.DAYS'|translate}})",
+      "UD_REEVAL_TIME0": "Fecha de la primera revalorización",
+      "SIG_QTY_RULE": "Número de certificaciónes requeridas para estar miembro",
+      "SIG_STOCK": "Número máximo de certificaciónes emitidas por miembros",
+      "SIG_PERIOD": "Plazo mínimo de espera entre 2 certificaciónes sucesivas emitidas por la misma persona",
+      "SIG_WINDOW": "Plazo límite para toma en cuenta de una certificación ",
+      "STEP_MAX": "Distancia máxima entre un nuevo entrante y los miembros referentes",
+      "WOT_RULES_DIVIDER": "Regla de la red de confianza",
+      "SENTRIES": "Número de certificaciónes necesarias para hacerse miembro referente",
+      "SENTRIES_FORMULA": "Número de certificaciónes necesarias para hacerse miembro referente (fórmula)",
+      "XPERCENT":"Porcentaje mínimo de miembros referentes a alcanzar para respetar la regla de distancia",
+      "AVG_GEN_TIME": "Tiempo medio entre dos bloques",
+      "CURRENT": "actual",
+      "MATH_CEILING": "TECHO"
+    }
+  },
+  "NETWORK": {
+    "VIEW": {
+      "MEDIAN_TIME": "Hora de la blockchain",
+      "LOADING_PEERS": "Carga de los nodos..."
+    },
+    "INFO": {
+      "ONLY_SSL_PEERS": "La visualización de los nodos no SSL es deteriorada, porque Cesium funciona en modo HTTPS."
+    }
+  },
+  "PEER": {
+    "TITLE": "Nodo",
+    "PEERS": "Nodos",
+    "KNOWN_PEERS": "Nodos conocidos",
+    "SIGNED_ON_BLOCK": "Firmado sobre el bloque",
+    "MIRROR": "espejo",
+    "MIRRORS": "Nodos espejos",
+    "PEER_LIST" : "Lista de nodos",
+    "MEMBERS" : "Nodos miembros",
+    "ALL_PEERS" : "Todos los nodos",
+    "DIFFICULTY" : "Dificultad",
+    "API" : "API",
+    "CURRENT_BLOCK" : "Bloque #",
+    "POPOVER_FILTER_TITLE": "Filtro",
+    "OFFLINE": "Nodos fuera de línea"
+  },
+  "WOT": {
+    "SEARCH_HELP": "Búsqueda (seudónimo o llave publica)",
+    "SEARCH_INIT_PHASE_WARNING": "Durante la etapa de preinscripción, la búsqueda de las inscripciónes en espera <b>puede ser largo</b>. Gracias por su paciencia...",
+    "REGISTERED_SINCE": "Inscripción",
+    "REGISTERED_SINCE_BLOCK": "Registrado al bloque #",
+    "NO_CERTIFICATION": "Ninguna certificación validada",
+    "NO_GIVEN_CERTIFICATION": "Ninguna certificación emitida",
+    "NOT_MEMBER_PARENTHESIS": "(no miembro)",
+    "IDENTITY_REVOKED_PARENTHESIS": "(identidad revocada)",
+    "MEMBER_PENDING_REVOCATION_PARENTHESIS": "(revocación en proceso)",
+    "EXPIRE_IN": "Expiración",
+    "NOT_WRITTEN_EXPIRE_IN": "Fecha límite<br/>de tratamiento",
+    "EXPIRED": "Expirado",
+    "PSEUDO": "Seudónimo",
+    "SIGNED_ON_BLOCK": "Emitida al bloque #{{block}}",
+    "WRITTEN_ON_BLOCK": "Escrita al bloque #{{block}}",
+    "GENERAL_DIVIDER": "informaciónes generales",
+    "NOT_MEMBER_ACCOUNT": "Cuenta no miembro",
+    "NOT_MEMBER_ACCOUNT_HELP": "Se trata de un simple monedero, sin solicitud de adhesión en espera.",
+    "TECHNICAL_DIVIDER": "Informaciónes técnicas",
+    "BTN_CERTIFY": "Certificar",
+    "BTN_YES_CERTIFY": "Si, certificar",
+    "BTN_SELECT_AND_CERTIFY": "Nueva certificación",
+    "VIEW": {
+      "POPOVER_SHARE_TITLE": "Identidad {{title}}"
+    },
+    "LOOKUP": {
+      "TITLE": "Anuario",
+      "NEWCOMERS": "Nuevos miembros :",
+      "PENDING": "Inscripciónes en espera :",
+      "REGISTERED": "Inscrito {{sigDate | formatFromNow}}",
+      "MEMBER_FROM": "Miembro desde {{memberDate|formatFromNowShort}}",
+      "BTN_NEWCOMERS": "Nuevos miembros",
+      "BTN_PENDING": "Inscripciónes en espera",
+      "SHOW_MORE": "Publicar más",
+      "SHOW_MORE_COUNT": "(límite actual a {{limit}})",
+      "NO_PENDING": "Ninguna inscripción en espera.",
+      "NO_NEWCOMERS": "Ningun miembro."
+    },
+    "MODAL": {
+      "TITLE": "Búsqueda"
+    },
+    "CERTIFICATIONS": {
+      "TITLE": "{{uid}} - Certificaciónes",
+      "SUMMARY": "Certificaciónes recibidas",
+      "LIST": "Detalle de las certificaciónes recibidas",
+      "PENDING_LIST": "Certificaciónes en espera de tratamiento",
+      "RECEIVED": "Certificaciónes recibidas",
+      "RECEIVED_BY": "Certificaciónes recibidas por {{uid}}",
+      "ERROR": "Certificaciónes recibidas por error",
+      "SENTRY_MEMBER": "Miembro referente"
+    },
+    "GIVEN_CERTIFICATIONS": {
+      "TITLE": "{{uid}} - Certificaciónes emitidas",
+      "SUMMARY": "Certificaciónes emitidas",
+      "LIST": "Detalle de las certificaciónes emitidas",
+      "PENDING_LIST": "Certificaciónes en espera de tratamiento",
+      "SENT": "Certificaciónes emitidas",
+      "SENT_BY": "Certificaciónes emitidas por {{uid}}",
+      "ERROR": "Certificaciónes emitidas por error"
+    }
+  },
+  "LOGIN": {
+    "TITLE": "<i class=\"icon ion-locked\"></i> Conexión",
+    "SALT": "Identificador secreto",
+    "SALT_HELP": "Identificador secreto",
+    "SHOW_SALT": "Visualizar el identificador secreto ?",
+    "PASSWORD": "Contraseña",
+    "PASSWORD_HELP": "Contraseña",
+    "NO_ACCOUNT_QUESTION": "Ahora no tiene cuenta ?",
+    "CREATE_ACCOUNT": "Creer una cuenta",
+    "FORGOTTEN_ID": "Contraseña olvidada ?"
+  },
+  "ACCOUNT": {
+    "TITLE": "Mi cuenta",
+    "BALANCE": "Saldo",
+    "LAST_TX": "última transacción",
+    "NO_TX": "Ninguna transacción",
+    "SHOW_MORE_TX": "Publicar más",
+    "SHOW_ALL_TX": "Publicar todo",
+    "TX_FROM_DATE": "(límite actual a {{fromTime|formatFromNowShort}})",
+    "PENDING_TX": "Transacciónes en proceso de tratamiento",
+    "ERROR_TX": "Transacciónes no ejecutadas",
+    "ERROR_TX_SENT": "Transacciónes mandadas",
+    "ERROR_TX_RECEIVED": "Transacciónes recibidas",
+    "EVENTS": "Eventos",
+    "WAITING_MEMBERSHIP": "Solicitud de adhesión mandada. En espera de aceptación.",
+    "WAITING_CERTIFICATIONS": "Debe obtener {{needCertificationCount}} certificación(es) para estar miembro.",
+    "WILL_MISSING_CERTIFICATIONS": "Pronto, va a <b>faltar certificación</b> (al menos {{willNeedCertificationCount}} es necesario)",
+    "WILL_NEED_RENEW_MEMBERSHIP": "Su adhesión como miembro <b>va a expirar {{membershipExpiresIn|formatDurationTo}}</b>. Piensa a <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a> mientras tanto.",
+    "NEED_RENEW_MEMBERSHIP": "No esta miembro, porque su adhesión <b>ha expirado</b>. Pensez à <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a>.",
+    "CERTIFICATION_COUNT": "Certificacións recibidas",
+    "CERTIFICATION_COUNT_SHORT": "Certificacións",
+    "SIG_STOCK": "Certificacións mandadas",
+    "BTN_RECEIVE_MONEY": "Cobrar",
+    "BTN_MEMBERSHIP_IN_DOTS": "Estar miembro...",
+    "BTN_MEMBERSHIP_RENEW": "Renovar la adhesión",
+    "BTN_MEMBERSHIP_RENEW_DOTS": "Renovar la adhesión...",
+    "BTN_MEMBERSHIP_OUT_DOTS": "Parar la adhesión...",
+    "BTN_SEND_IDENTITY_DOTS": "Publicar su identidad...",
+    "BTN_SECURITY_DOTS": "Cuenta y securidad...",
+    "BTN_SHOW_DETAILS": "Publicar las infos técnicas",
+    "LOCKED_OUTPUTS_POPOVER": {
+      "TITLE": "Importe bloqueado",
+      "DESCRIPTION": "Aquí está las condiciónes de desbloqueo de este importe :",
+      "DESCRIPTION_MANY": "Esta transacción es compuesta de varias partes, cuyas tiene las condiciónes de desbloqueo :",
+      "LOCKED_AMOUNT": "Condiciónes por el importe :"
+    },
+    "NEW": {
+      "TITLE": "Inscripción",
+      "SLIDE_1_TITLE": "Elección de la moneda :",
+      "SLIDE_2_TITLE": "Tipo de cuenta :",
+      "MEMBER_ACCOUNT": "Cuenta miembro",
+      "MEMBER_ACCOUNT_HELP": "Si ya no está inscrito como un individuo (Solamente una cuenta posible por individuo).",
+      "WALLET_ACCOUNT": "Simple monedero",
+      "WALLET_ACCOUNT_HELP": "Simple cartera por todos otros casos, por ejemplo si necesita una cuenta suplementaria.<br/>No Dividendo Universal sera creido por esta cuenta.",
+      "SALT_WARNING": "Elige su identificador secreto.<br/>Se solicitará cada vez se conectará con esta cuenta.<br/><br/><b>Retiene bien este identificador secreto</b>.<br/>En caso de pérdida, nadie podrá acceder su cuenta !",
+      "PASSWORD_WARNING": "Elige su contraseña.<br/>Se solicitará cada vez se conectará con esta cuenta.<br/><br/><b>Retiene bien esta contraseña</b>.<br/>En caso de pérdida, nadie podrá acceder su cuenta !",
+      "PSEUDO_WARNING": "Elige un seudónimo.<br/>Sirbe a los otros miembros para encontrarse más fácilmente.<br/><br/>No debe contener <b>nni espacio ni carácter accentuado</b>.<div class='hidden-xs'><br/>Exemple : <span class='gray'>SophieDupond, MarcelChemin, etc.</span>",
+      "PSEUDO": "Seudónimo",
+      "PSEUDO_HELP": "Seudónimo",
+      "SALT_CONFIRM": "Confirmación",
+      "SALT_CONFIRM_HELP": "Confirmación de el identificador secreto",
+      "PASSWORD_CONFIRM": "Confirmación",
+      "PASSWORD_CONFIRM_HELP": "Confirmación de la contraseña",
+      "SLIDE_6_TITLE": "Confirmación :",
+      "COMPUTING_PUBKEY": "Cálculo en proceso...",
+      "LAST_SLIDE_CONGRATULATION": "<b>Bravo !</b> Ha introducido todas las informaciónes necesarias.<br/><b>Puede mandar la solicitud</b> de creación de su cuenta.</b><br/><br/>Por su información, la llave pública más abajo identificará su cuenta futura.<br/>Podrá estar comunicada a terceros para recibir sus pagos.<br/>Sin embargo, <b>no es útil</b> anotarla aquí.",
+      "CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Advertencia :</b> el identificador secreto, la contraseña y el seudónimo no podrán estar modificados.<br/><b>Asegurase siempre se los recordar !</b><br/><br/><b>Está usted seguro</b> querer mandar esta solicitud de inscripción ?",
+      "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Advertencia :</b> el identificador secreto y la contraseña no podrán estar modificados.<br/><b>Asegurase siempre se los recordar !</b><br/><br/><b>Está usted seguro</b> querer continuar con estos identificadores ?",
+      "MSG_UID_ALREADY_USED": "Seudónimo ya utilizado por una otra persona.<br/>Elige un otro por favor.",
+      "MSG_PUBKEY_ALREADY_USED": "Llave pública ya utilizada por una otra persona.<br/>Elige otros identificadores de conexión por favor."
+    },
+    "POPUP_REGISTER": {
+      "TITLE": "Elige un seudónimo",
+      "HELP": "Un seudónimo es obligatorio para estar membre."
+    },
+    "SECURITY": {
+      "ADD_QUESTION": "Añadir una pregunta personalizada ",
+      "BTN_CLEAN": "Vaciar",
+      "BTN_RESET": "Reinicializar",
+      "CHOOSE_FILE": "Dejar su fichero <br/>o hace un clic para seleccionarlo",
+      "DEFINITELY_REVOKE": "Revocar definitivamente esta identidad",
+      "DOWNLOAD_REVOKE": "Salvar un fichero de revocación",
+      "HELP_LEVEL": "Para generar un fichero de salvaguarda de sus identificadores, elige <strong> al menos {{nb}} preguntas :</strong>",
+      "LEVEL": "Nivel de seguridad",
+      "LOW_LEVEL": "Bajo <span class=\"hidden-xs\">(2 preguntas mínimo)</span>",
+      "MEDIUM_LEVEL": "Medio <span class=\"hidden-xs\">(4 preguntas mínimo)</span>",
+      "QUESTION_1": "Como se llamaba su mejor amigo cuando estuvo adolescente ?",
+      "QUESTION_2": "Como se llamaba su primer animal de compañía ?",
+      "QUESTION_3": "Cuál es el primer plato ha aprendido a cocinar ?",
+      "QUESTION_4": "Cuál es la primera película ha visto al cine ?",
+      "QUESTION_5": "Adonde fue la primera vez ha cogido el avión ?",
+      "QUESTION_6": "Como se llamaba su preferido maestro a la escuela primaria ?",
+      "QUESTION_7": "Cuál sería para usted lo mejor oficio ?",
+      "QUESTION_8": "Cuál es el libro para niños usted prefiere ?",
+      "QUESTION_9": "Cuál fue el modelo de su primero vehículo ?",
+      "QUESTION_10": "Cuál fue su sobrenombre cuando estuvo niño/a ?",
+      "QUESTION_11": "Cuál fue su personaje o actor/actriz preferido/a cuando estuvo estudiante ?",
+      "QUESTION_12": " Cuál fue su cantante o grupo preferido/a cuando estuvo estudiante ?",
+      "QUESTION_13": "En qué ciudad sus padres se han encontrado ?",
+      "QUESTION_14": "Como se llamaba su primero/a jefe ?",
+      "QUESTION_15": "Como se llama la calle donde creció ?",
+      "QUESTION_16": "Como se llama la primera playa donde se bañó ?",
+      "QUESTION_17": "Cuál es el primero álbum se compró ?",
+      "QUESTION_18": "Cuál es el nombre de su equipo de deporte preferido ?",
+      "QUESTION_19": "Cuál fue el oficio de su abuelo ?",
+      "RECOVER_ID": "Recuperar sus identificadores",
+      "REVOCATION": "Revocación ...",
+      "REVOKE": "Revocar esta identidad",
+      "REVOKE_WITH_FILE": "Revocar una identidad a partir de un fichero",
+      "SAVE_ID": "Salvar sus identificadores",
+      "STRONG_LEVEL": "Alto <span class=\"hidden-xs \">(6 preguntas mínimo)</span>",
+      "TITLE": "Cuenta y seguridad"
+    }
+  },
+  "TRANSFER": {
+    "TITLE": "Transferencia",
+    "SUB_TITLE": "Hacer una transferencia",
+    "FROM": "De",
+    "TO": "A",
+    "AMOUNT": "Importe",
+    "AMOUNT_HELP": "Importe",
+    "COMMENT": "Comentario",
+    "COMMENT_HELP": "Comentario",
+    "BTN_SEND": "Mandar",
+    "BTN_ADD_COMMENT": "Ingresa un comentario ?",
+    "MODAL": {
+      "TITLE": "Transferencia"
+    }
+  },
+  "ERROR": {
+    "POPUP_TITLE": "Error",
+    "UNKNOWN_ERROR": "Error desconocida",
+    "CRYPTO_UNKNOWN_ERROR": "Su navegador parece incompatible con las funcionalidades de cryptografía.",
+    "FIELD_REQUIRED": "Campo obligatorio.",
+    "FIELD_TOO_SHORT": "Valor demasiado corta.",
+    "FIELD_TOO_SHORT_WITH_LENGTH": "Valor demasiado corta ({{minLength}} carácteres mín)",
+    "FIELD_TOO_LONG": "Valor demasiado larga",
+    "FIELD_TOO_LONG_WITH_LENGTH": "Valor demasiado larga ({{maxLength}} carácteres máx)",
+    "FIELD_ACCENT": "Carácteres acentuados y comas no autorizados",
+    "FIELD_NOT_NUMBER": "Valor numérica esperada",
+    "FIELD_NOT_INT": "Valor entera esperada",
+    "PASSWORD_NOT_CONFIRMED": "No corresponde a la contraseña.",
+    "SALT_NOT_CONFIRMED": "No corresponde al identificador secreto.",
+    "SEND_IDENTITY_FAILED": "Fracaso de la inscripción.",
+    "SEND_CERTIFICATION_FAILED": "Fracaso de la certificación.",
+    "NEED_MEMBER_ACCOUNT_TO_CERTIFY": "No puede realizar certificación, porque su cuenta no <b>está miembro</b>.",
+    "NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "No puede realizar certificación, porque su cuenta ya no está miembro.<br/><br/>Todavía se falta certificaciónes, o ahora no están validada.",
+    "NOT_MEMBER_FOR_CERTIFICATION": "Su cuenta todavía no está miembro.",
+    "IDENTITY_TO_CERTIFY_HAS_NO_SELF": "Cuenta no certificable. Ninguna solicitud de adhesión fue hecho, o no fue renovada.",
+    "LOGIN_FAILED": "Error durante la authentificación.",
+    "LOAD_IDENTITY_FAILED": "Error de carga de la identidad.",
+    "LOAD_REQUIREMENTS_FAILED": "Error de carga de las condiciónes de la identidad.",
+    "SEND_MEMBERSHIP_IN_FAILED": "Fracaso en el intento de entrada en la comunidad.",
+    "SEND_MEMBERSHIP_OUT_FAILED": "Fracaso en la interrupción de adhesión.",
+    "REFRESH_WALLET_DATA": "Fracaso en la actualización del monedero.",
+    "GET_CURRENCY_PARAMETER": "Fracaso en la recuperación de las reglas de moneda.",
+    "GET_CURRENCIES_FAILED": "Imposible de cargar la lista de las monedas. For favor,  reintenta más tarde.",
+    "GET_CURRENCY_FAILED": "Carga de la moneda imposible. Por favor, intenta más tarde.",
+    "SEND_TX_FAILED": "Fracaso en la transferencia.",
+    "ALL_SOURCES_USED": "Por favor, espera el cálculo del bloque siguiente (Todas sus fuentes de moneda fueron utilizada).",
+    "NOT_ENOUGH_SOURCES": "No lo bastante cambio para mandar este importe en una sola transacción.<br/>Importe máximo : {{amount}} {{unit}}<sub>{{subUnit}}</sub>.",
+    "ACCOUNT_CREATION_FAILED": "Fracaso en la creación de la cuenta miembro.",
+    "RESTORE_WALLET_DATA_ERROR": "Fracaso en la recarga de las configuración desde el almacenamiento local",
+    "LOAD_WALLET_DATA_ERROR": "Fracaso en la carga de los datos del monedero.",
+    "COPY_CLIPBOARD_FAILED": "Copia de la valor imposible.",
+    "TAKE_PICTURE_FAILED": "Fracaso en la recuperación de la foto.",
+    "SCAN_FAILED": "Fracaso en el escán del Codigo QR",
+    "SCAN_UNKNOWN_FORMAT": "Codigo no reconocido.",
+    "WOT_LOOKUP_FAILED": "Fracaso en la búsqueda",
+    "LOAD_PEER_DATA_FAILED": "Lectura del nodo Duniter imposible. Por favor, intenta ulteriormente.",
+    "NEED_LOGIN_FIRST": "Por favor, en primer lugar conectase.",
+    "AMOUNT_REQUIRED": "El importe es obligatorio.",
+    "AMOUNT_NEGATIVE": "Importe negativo no autorizado.",
+    "NOT_ENOUGH_CREDIT": "Crédito insuficiente.",
+    "INVALID_NODE_SUMMARY": "Nodo ilocalizable o dirección inválida.",
+    "INVALID_USER_ID": "El seudónimo no debe contener ni espacio ni carácter especial o acentuado.",
+    "INVALID_COMMENT": "El campo 'referencia’ no debe contener carácteres acentuados.",
+    "INVALID_PUBKEY": "La llave pública no tiene el formato esperado.",
+    "IDENTITY_REVOKED": "Esta identidad <b>fue revocada {{revocationTime|formatFromNow}}</b> ({{revocationTime|formatDate}}). No puede estar miembro.",
+    "IDENTITY_PENDING_REVOCATION": "La <b>revocación de esta identidad</b> fue solicitado y esta en espera de tratamiento. Por lo que, la certificación es desactivada.",
+    "IDENTITY_INVALID_BLOCK_HASH": "Esta solicitud de adhesión no es valida (porque denomina un bloque los nodos de la red han anulado) : esta persona debe renovelar su solicitud de adhesión <b>antes que</b> estar certificada.",
+    "IDENTITY_EXPIRED": "La publicación de esta identidad ha caducada : esta persona debe realizar una nueva solicitud de adhesión <b>antes que</b> estar certificada.",
+    "IDENTITY_SANDBOX_FULL": "EL nodo Duniter utilizado por Cesium ya no puede recibir más nuevas identidades, porque la fila de espera es llena.<br/><br/>Por favor, intenta ulteriormente o cambia de nodo (vía el menú <b>Paramètres</b>).",
+    "IDENTITY_NOT_FOUND": "Identidad no encontrada",
+    "WOT_PENDING_INVALID_BLOCK_HASH": "Adhesión no validada.",
+    "WALLET_INVALID_BLOCK_HASH": "Su solicitud de adhesión ya no está validada (porque denomina un bloque los nodos de la red han anulado).<br/>Debe <a ng-click=\"doQuickFix('fixMembership')\">mandar una nueva solicitud</a> para resolver este problema.",
+    "WALLET_IDENTITY_EXPIRED": "La publicación de <b>su identidad ha caducada</b>.<br/>Debe <a ng-click=\"doQuickFix('fixIdentity')\">publicar une outra vez su identidad</a> para resolver este problema.",
+    "WALLET_REVOKED": "Su identidad fue <b>revocada</b> : ni su seudónimo ni su llave pública podrán estar utilizados en el futuro por una cuenta miembro.",
+    "WALLET_HAS_NO_SELF": "Su identidad debe en primer lugar haber estado publicado, y no estar caducada.",
+    "IDENTITY_ALREADY_CERTIFY": "Ha <b>ya certificado</b> esta identidad.<br/><br/>Esta certificación todavía es valida (expiration {{expiresIn|formatDurationTo}}).",
+    "IDENTITY_ALREADY_CERTIFY_PENDING": "Ha <b>ya certificado</b> esta identidad.<br/><br/>Esta certificación está en espera de tratamiento (fecha límite de tratamiento {{expiresIn|formatDurationTo}}).",
+    "UNABLE_TO_CERTIFY_TITLE": "Certificación imposible",
+    "LOAD_NEWCOMERS_FAILED": "Fracaso el la carga de los miembros nuevos.",
+    "LOAD_PENDING_FAILED": "Fracaso el la carga de las inscripciónes en espera.",
+    "ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "Debe <b>estar miembro</b> para poder realizar esta acción.",
+    "ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "Debe haber <b>publicado su identidad</b> para poder realizar esta acción.",
+    "GET_BLOCK_FAILED": "Fracaso en la recuperación del bloque",
+    "INVALID_BLOCK_HASH": "Bloque no encontrado (hash diferente)",
+    "REVOCATION_FAILED": "Fracas en la revocación.",
+    "SALT_OR_PASSWORD_NOT_CONFIRMED": "Identificador secreto o contraseña incorrectos",
+    "RECOVER_ID_FAILED": "Fracaso en la recuperación de los identificadores",
+    "LOAD_FILE_FAILED" : "Fracaso en la carga del fichero",
+    "ONLY_TEXT_FILE": "Debe seleccionar un fichero texto"
+  },
+  "INFO": {
+    "POPUP_TITLE": "Información",
+    "CERTIFICATION_DONE": "Certificación mandada",
+    "NOT_ENOUGH_CREDIT": "Crédito insuficiente",
+    "TRANSFER_SENT": "Transferencia mandada",
+    "COPY_TO_CLIPBOARD_DONE": "Copia realizada",
+    "MEMBERSHIP_OUT_SENT": "Rescisión mandada",
+    "NOT_NEED_MEMBERSHIP": "Ya está miembro.",
+    "IDENTITY_WILL_MISSING_CERTIFICATIONS": "Esta identidad pronto va a faltar certificación (al menos {{willNeedCertificationCount}}).",
+    "REVOCATION_SENT": "Revocación mandada",
+    "REVOCATION_SENT_WAITING_PROCESS": "La <b>revocación de esta identidad</b> fue solicitada y está en espera de tratamiento.",
+    "FEATURES_NOT_IMPLEMENTED": "Esta funcionalidad todavía está en proceso de desarrollo.<br/><br/>Porque no <b>contribuir ahora a Cesium</b>, para obtenerla más rápidamente ? ;)"
+  },
+  "CONFIRM": {
+    "POPUP_TITLE": "<b>Confirmación</b>",
+    "POPUP_WARNING_TITLE": "<b>Advertencia</b>",
+    "POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Advertencia de seguridad</b>",
+    "CERTIFY_RULES_TITLE_UID": "Certificar {{uid}}",
+    "CERTIFY_RULES": "<b class=\"assertive\">NO CERTIFICAR</b> una cuenta si piense que :<br/><br/><ul><li>1.) no corresponde a una persona <b>física y viva</b>.<li>2.) su propietario <b>posee una otra cuenta</b> ya certificada.<li>3.) su propietario viola (voluntariamente o no) la regla 1 o 2 (por ejemplo certificando cuentas falsas o en doble).</ul><br/><b>Está usted seguro</b> sin embargo querer certificar esta identidad ?",
+    "TRANSFER": "<b>Recapitulativo de la transferencia</b> :<br/><br/><ul><li> - De : {{from}}</li><li> - A : <b>{{to}}</b></li><li> - Importe : <b>{{amount}} {{unit}}</b></li><li> - Comentario : <i>{{comment}}</i></li></ul><br/><b>Está usted seguro querer realizar esta transferencia ?</b>",
+    "MEMBERSHIP_OUT": "Esta operación es <b>irreversible</b>.<br/></br/>Está usted seguro querer <b>rescindir su cuenta miembro</b> ?",
+    "MEMBERSHIP_OUT_2": "Esta operación es <b>irreversible</b> !<br/><br/>Está usted seguro querer <b>rescindir su adhesión</b> como miembro ?",
+    "LOGIN_UNUSED_WALLET_TITLE": "Fracaso de introducción de datos ?",
+    "LOGIN_UNUSED_WALLET": "Está usted conectado a une cuenta que parece <b>inactivo</b>.<br/><br/>Si esta cuenta n corresponde a el suyo, se trata probablemente de un <b>error en la introducción de datos</b> de sus identificadores de conexión.<br/></br/><b>Quiere usted sin embargo continuar con esta cuenta ?</b>",
+    "FIX_IDENTITY": "El seudónimo <b>{{uid}}</b> va a estar publicado de nuevo, en reemplazo del antiguo quien caducó.<br/></br/><b>Está usted seguro</b> querer continuar ?",
+    "FIX_MEMBERSHIP": "Su solicitud de adhesión como miembro va a estar mandado de nuevo.<br/></br/><b>Está usted seguro</b> querer continuar ?",
+    "RENEW_MEMBERSHIP": "Su adhesión como miembro va a estar renovada.<br/></br/><b>Está usted seguro</b> querer continuar ?",
+    "REVOKE_IDENTITY": "Va a <b>revocar definitivamente esta identidad</b>.<br/><br/>La llave pública y el seudónimo asociados <b>jamás no podrán estar utilizado</b> (para una cuenta miembro). <br/></br/><b>Está usted seguro</b> querer revocar definitivamente esta cuenta ?",
+    "REVOKE_IDENTITY_2": "Esta operación es <b>irreversible</b> !<br/><br/>Está usted seguro querer <b>revocar definitivamente</b> esta cuenta ?",
+    "NOT_NEED_RENEW_MEMBERSHIP": "Su adhesión no necesita estar renovada (solo va a caducar en {{membershipExpiresIn|formatDuration}}).<br/></br/><b>Está usted seguro</b> querer renovar su adhesión ?",
+    "SAVE_BEFORE_LEAVE": "Quiere usted <b>guardar sus modificaciónes</b> antes dejar la página ?",
+    "SAVE_BEFORE_LEAVE_TITLE": "Modificaciónes no registradas",
+    "LOGOUT": "Está usted seguro querer desconectarse ?"
+  },
+  "HELP": {
+    "TITLE": "Ayuda en línea",
+    "JOIN": {
+      "SECTION": "Inscripción",
+      "SALT": "El identificador secreto es muy importante. Sirbe a mezclar la contraseña, antes que sirbe a calcular la <span class=\"text-italic\">llave pública</span> de su cuenta (su número) y la llave secreta para acceder a él.<br/><b>Por favor, memorizala mur bien</b>, porque actualmente no existe ninguna manera para encontrarla en caso de pérdida.<br/>Por otra parte, no puede estar modificado sin deber creer una nueva cuenta.<br/><br/>Un buen identificador secreto debe estar suficiente largo (al menos 8 carácteres) y lo más original posible.",
+      "PASSWORD": "La contraseña es muy importante. Con el identificador secreto, sirbe a calcular el número (la llave pública) de su cuenta, y la llave secreta para acceder a él.<br/><b>Por favor, memorizala mur bien</b>, porque actualmente no existe ninguna manera para encontrarlo en caso de pérdida (excepto generar un fichero de guarda).<br/>Por otra parte, no puede estar modificado sin deber creer una nueva cuenta.<br/><br/>Una buena contraseña contiene (idealmente) al menos 8 carácteres, del que al menos una mayúscula y una cifra.",
+      "PSEUDO": "El seudónimo es solamente utilizado en caso de inscripción como <span class=\"text-italic\">miembro</span>. Siempre es asociado a un monedero (vía su <span class=\"text-italic\">llave pública</span>).<br/>Es públicado en la red, para que los otros usuarios puedan identificarlo, certificarlo o mandar moneda en la cuenta.<br/>Un seudónimo debe estar único dentro de los miembros (<u>actuales</u> y antiguos)."
+    },
+    "GLOSSARY": {
+      "SECTION": "Glosario",
+      "PUBKEY_DEF": "Una llave pública identifica un monedero. Puede identificar un miembro",
+      "MEMBER": "Miembro",
+      "MEMBER_DEF": "Un miembro es una persona humana física y viva, deseosa de participar libremente a la comunidad monetaria. Percibe un dividendo universal, dependiendo de un período y un importe como definido en las <span class=\"text-italic\">reglas de la moneda</span>",
+      "CURRENCY_RULES": "Reglas de la moneda",
+      "CURRENCY_RULES_DEF": "Las reglas de la moneda son definido una vez por todas. Fija el funcionamiento de la moneda : el cálculo del dividendo universal, el número de certificacións necesarias para ser miembro, el número de certificaciónes máximo que un miembro puede dar, etc. <a href=\"#/app/currency/view/\">Ver las reglas actuales</a>.<br/>La no modificación de las reglas en el tiempo es posible por el uso de una <span class=\"text-italic\">BlockChain</span> que sostiene et ejecuta estas reglas, y verifica continuamente sus buena aplicación.",
+      "BLOCKCHAIN": "Cadena de bloques (<span class=\"text-italic\">Blockchain</span>)",
+      "BLOCKCHAIN_DEF": "La BlockChain es un sistema descentralizado, que, por el caso de Duniter, sirve a sostener y ejecutar las <span class=\"text-italic\">reglas de la moneda</span>.<br/><a href=\"http://fr.duniter.org/presentation/\">Saber más a proposito de Duniter</a> y el funcionamiento de su Blockchain.",
+      "UNIVERSAL_DIVIDEND_DEF": "El Dividendo Universal (DU) es la cantidad de moneda co-creída por cada uno miembro, dependiendo del período y del cálculo como definido en las <span class=\"text-italic\">reglas de la moneda</span>.<br/>A cada plazo, los miembros reciben en sus cuentas la misma cantidad de moneda nueva.<br/><br/>El DU sube un crecimiento regular, para quedar justo entre los miembros (actuales y futuros), calculado en función de la esperanza de vida media, como demostrado en la Théorie Relative de la Monnaie (TRM) = Teoría Relativa de la Moneda, ya no está traducida en español, contactarnos para contribuir a su traducción.<br/><a href=\"http://trm.creationmonetaire.info\">Saber más a propósito de la TRM</a> y las monedas libres."
+    },
+    "TIP": {
+      "MENU_BTN_CURRENCY": "El menú <b>{{'MENU.CURRENCY'|translate}}</b> permite la consulta de las <b>reglas de la moneda</b> et de su estado.",
+      "CURRENCY_WOT": "El <b>número de miembros</b> demostra la importancia de la comunidad y permite de <b>seguir su evolución</b>.",
+      "CURRENCY_MASS": "Sigue aquí la <b>cantidad total de moneda</b> existente y su <b>distribución mediana</b> por miembro.<br/><br/>Este permite a juzgar la<b>importancia de un importe</b>, en relación con lo que <b>poseen los otros</b> en sus cuentas (como media).",
+      "CURRENCY_UNIT_RELATIVE": "La unidad utilizada (&ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;) significa que los importes en {{currency|capitalize}} son divido por el <b>Dividendo Universal</b> (DU).<br/><br/><small> Esta unidad relativa es <b>pertinente</b>, porque estable a pesar de la cantidad de moneda que aumenta en permanencia.</small>",
+      "CURRENCY_CHANGE_UNIT": "Este botón permite de <b>cambiar la unidad</b>, para visualizar los importes <b>directamente en {{currency|capitalize}}</b> (más bien que en &ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;).",
+      "CURRENCY_CHANGE_UNIT_TO_RELATIVE": "Este botón permite de <b>cambiar la unidad</b>, para visualizar los importes en &ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;, es decir relativamente al Dividendo Universal (el importe co-producto por cada uno miembro).",
+      "CURRENCY_RULES": "Las <b>reglas</b> de la moneda fijan su funcionamiento <b>exacto y previsible</b>.<br/><br/>Verdadero ADN de la moneda, hacen su código monetario <b>legible y transparente</b>.",
+      "MENU_BTN_NETWORK": "El menú <b>{{'MENU.NETWORK'|translate}}</b> permite la consulta del estato de la red.",
+      "NETWORK_BLOCKCHAIN": "Todas las operaciónes de la moneda están registradas dentro un grande libro de cuenta <b>público y infalsificable</b>, también llamado <b>cadena de bloques</b> (<em>BlockChain</em> en inglés).",
+      "NETWORK_PEERS": "Los <b>nodos</b> visibles aquí corresponden a los <b>ordenadores que actualizan y controlan</b> la cadena de bloques.<br/><br/>Lo más hay nodos, más la moneda tiene una gestión <b>descentralizada</b> y digna de confianza.",
+      "NETWORK_PEERS_BLOCK_NUMBER": "Este <b>número</b> (en verde) indica el <b>último bloque validado</b> por este nodo (última pagina escrita dentro el grande libro de cuentas).<br/><br/>El color verde indica que este bloque es también validado por <b>la mayoría de los otros nodos</b>.",
+      "NETWORK_PEERS_PARTICIPATE": "<b>Cada miembro</b>, equipado de un ordenador con internet, <b>puede participar añando un nodo</b>. Necesito <b>instalar el programa Duniter</b> (libre y gratis). <a target=\"_new\" href=\"{{installDocUrl}}\">Ver el manual de uso &gt;&gt;</a>.",
+      "MENU_BTN_ACCOUNT": "El menú <b>{{'ACCOUNT.TITLE'|translate}}</b> permite acceder a la gestión de su cuenta.",
+      "MENU_BTN_ACCOUNT_MEMBER": "Consulta aquí el estado de su cuenta y las informaciónes sobre sus certificaciónes.",
+      "WALLET_CERTIFICATIONS": "Hace un clic aquí para consultar el detalle de sus certificaciónes (recibidas y emitidas).",
+      "WALLET_RECEIVED_CERTIFICATIONS": "Hace un clic aquí para consultar el detalle de sus <b>certificaciónes recibidas</b>.",
+      "WALLET_GIVEN_CERTIFICATIONS": "Hace un clic aquí para consultar el detalle de sus <b>certificaciónes emitidas</b>.",
+      "WALLET_BALANCE": "El <b>sueldo</b> de su cuenta se visualiza aquí.",
+      "WALLET_BALANCE_RELATIVE": "{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>L'unité utilisée (&ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;) significa que el importe en {{currency|capitalize}} fue dividido por el <b>Dividendo Universal</b> (DU) co-creído por cada uno miembro.<br/><br/>Actualmente 1 DU vale {{currentUD|formatInteger}} {{currency|capitalize}}s.",
+      "WALLET_BALANCE_CHANGE_UNIT": "Podrá <b>cambiar la unidad</b> de visualización de los importes en los <b><i class=\"icon ion-android-settings\"></i>&nbsp;{{'MENU.SETTINGS'|translate}}</b>.<br/><br/>Por ejemplo, para visualizar los importes <b>directamente en {{currency|capitalize}}</b>, más bien que en unidad relativa.",
+      "WALLET_PUBKEY": "Este es la llave pública de su cuenta. Puede comunicarla a un tercero con el fin de que identifique más simplemente su cuenta.",
+      "WALLET_SEND": "Realizar un pago en algunos clics",
+      "WALLET_SEND_NO_MONEY": "Realizar un pago en algunos clics.<br/>(Su sueldo ya no lo permite)",
+      "WALLET_OPTIONS": "Este botón permite acceder a las <b>acciónes de adhesión</b> y de seguridad.<br/><br/>No olvida echar un vistazo !",
+      "WALLET_RECEIVED_CERTS": "Se exhibirá aquí la lista de las personas que le han certificado.",
+      "WALLET_CERTIFY": "El botón <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> permite seleccionar una identidad y certificarla.<br/><br/>Sólo usuarios <b>ya miembros</b> pueden certificar otros.",
+      "WALLET_CERT_STOCK": "Su stock de certificaciónes (emitidas) es limitado a <b>{{sigStock}} certificaciónes</b>.<br/><br/>Este stock se renueva con el tiempo, a medida que las certificaciónes se invalidan.",
+      "MENU_BTN_TX_MEMBER": "El menú <b>{{'MENU.TRANSACTIONS'|translate}}</b> permite consultar su sueldo, el historial de sus transacciónes y mandar un pago.",
+      "MENU_BTN_TX": "Consultar aquí <b>el historial de sus transacciónes</b> y efectuar nuevas operaciónes.",
+      "MENU_BTN_WOT": "El menú <b>{{'MENU.WOT'|translate}}</b> permite buscar entre los <b>usuarios</b> de la moneda (miembro o no).",
+      "WOT_SEARCH_TEXT_XS": "Para buscar en el anuario, toca las <b>primeras letras de un seudónimo</b> (o de una llave pública).<br/><br/>La búsqueda se iniciará automáticamente.",
+      "WOT_SEARCH_TEXT": "Para buscar en el anuario, toca las <b>primeras letras de un seudónimo</b> (o de una llave pública). <br/><br/>Luego, apoya en <b>Entrada</b> para iniciar la búsqueda.",
+      "WOT_SEARCH_RESULT": "Visualisa la ficha detallada simplemente <b>haciendo un clic</b> sobre una línea.",
+      "WOT_VIEW_CERTIFICATIONS": "La línea <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> demostra cuántos miembros han validado esta identidad.<br/><br/>Estas certificaciónes atestiguan que la cuenta pertenece a <b>una persona humana viva</b> que no tenga <b>ningúna otra cuenta miembro</b>.",
+      "WOT_VIEW_CERTIFICATIONS_COUNT": "Necesita al menos <b>{{sigQty}} certificaciónes</b> para estar miembro y recibir el <b>Dividendo Universal</b>.",
+      "WOT_VIEW_CERTIFICATIONS_CLICK": "Un clic aquí permite abrir <b>la lista de todas las certificaciónes</b> de la identidad (recibidas y emitidas).",
+      "WOT_VIEW_CERTIFY": "El botón <b>{{'WOT.BTN_CERTIFY'|translate}}</b> permite añadir su certificación a esta identidad.",
+      "CERTIFY_RULES": "<b>Atención :</b> Certificar solamente <b>personas físicas vivas</b>, que no posean ningúna otra cuenta miembro.<br/><br/>La seguridad de la moneda depende de la vigilancia de cada uno !",
+      "MENU_BTN_SETTINGS": "Los <b>{{'MENU.SETTINGS'|translate}}</b> él permitirán configurar la aplicación.",
+      "HEADER_BAR_BTN_PROFILE": "Hace un clic aquí para acceder a su <b>perfil de usuario</b>",
+      "SETTINGS_CHANGE_UNIT": "Podrá <b>cambiar la unidad de visualización</b> de los importes haciendo un clic más arriba.<br/><br/>- Desactiva la opción por una visualización de los importes en {{currency|capitalize}}.<br/>- Activa la opción por una visualización relativa en {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (todos los importes serán <b>dividido</b> por el Dividendo Universal corriente).",
+      "END_LOGIN": "Esta Visita Guiada es <b>terminada</b> !<br/><br/>Buena continuación en este mundo nuevo de la <b>economia libre</b> !",
+      "END_NOT_LOGIN": "Esta Visita Guiada es <b>terminada</b> !<br/><br/>Si quiere utilizar la moneda {{currency|capitalize}}, tiene que hacer un clic sobre <b>{{'LOGIN.CREATE_ACCOUNT'|translate}}</b> más abajo."
+    }
+  }
+}
diff --git a/www/i18n/locale-fr-FR.json b/www/i18n/locale-fr-FR.json
index bde8739d86dae9f08c1400a6e868ae746aaa85c6..b1beadf27cc1c151666daa79b3bd8a7019cd8f50 100644
--- a/www/i18n/locale-fr-FR.json
+++ b/www/i18n/locale-fr-FR.json
@@ -453,6 +453,7 @@
     "FIELD_ACCENT": "Caractères accentués et virgules non autorisés",
     "FIELD_NOT_NUMBER": "Valeur numérique attendue",
     "FIELD_NOT_INT": "Valeur entière attendue",
+    "FIELD_NOT_EMAIL": "Adresse email non valide",
     "PASSWORD_NOT_CONFIRMED": "Ne correspond pas au mot de passe.",
     "SALT_NOT_CONFIRMED": "Ne correspond pas à l'identifiant secret.",
     "SEND_IDENTITY_FAILED": "Echec de l'inscription.",
diff --git a/www/index.html b/www/index.html
index 18dad2743322a4dfe96a130f6b96e46b683191e7..8654863ef4fd3c127458eb56c92d8cb1893a9623 100644
--- a/www/index.html
+++ b/www/index.html
@@ -25,9 +25,13 @@
   <!-- vendor js -->
   <script src="js/vendor/moment.min.js"></script>
   <script src="js/vendor/moment.fr.js"></script>
+  <script src="js/vendor/moment.nl.js"></script>
+  <script src="js/vendor/moment.es.js"></script>
   <script src="js/vendor/numeral.js"></script>
   <script src="js/vendor/numeral.fr.js"></script>
   <script src="js/vendor/numeral.en.js"></script>
+  <script src="js/vendor/numeral.nl.js"></script>
+  <script src="js/vendor/numeral.es.js"></script>
   <script src="js/vendor/socket-io.js"></script>
   <script src="js/vendor/underscore.js"></script>
   <script src="js/vendor/qrcode.min.js"></script>
@@ -156,7 +160,7 @@
   <!-- endbuild -->
   <!-- build:js config.js -->
   <!-- config  -->
-  <script src="js/config.js"></script>
+  <script src="dist/dist_js/app/config.js"></script>
   <!-- endbuild -->
 </head>
 <body ng-app="cesium" id="cesium" ng-strict-di ng-class="{'nobackdrop': $root.tour}">
diff --git a/www/js/vendor/moment.es.js b/www/js/vendor/moment.es.js
new file mode 100644
index 0000000000000000000000000000000000000000..9b24a1776d7bc6b3100955d47b1366c75df0e232
--- /dev/null
+++ b/www/js/vendor/moment.es.js
@@ -0,0 +1,61 @@
+//! moment.js locale configuration
+//! locale : french (es)
+//! author : Fiatou: https://github.com/fiatou
+
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../moment')) :
+    typeof define === 'function' && define.amd ? define(['moment'], factory) :
+      factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+
+  var es = moment.defineLocale('es', {
+    months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+    monthsShort : 'ener._febr._mar._abr._may._jun._jul._agos_sept._oct._nov._dic.'.split('_'),
+    weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+    weekdaysShort : 'dom._lun._mar._mie._jue._vie._sáb.'.split('_'),
+    weekdaysMin : 'Do_Lu_Ma_Mi_Ju_Vi_Sá'.split('_'),
+    longDateFormat : {
+      LT : 'HH:mm',
+      LTS : 'HH:mm:ss',
+      L : 'DD/MM/YYYY',
+      LL : 'D MMMM YYYY',
+      LLL : 'D MMMM YYYY HH:mm',
+      LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+      sameDay: '[Hoy a] LT',
+      nextDay: '[Mañana a] LT',
+      nextWeek: 'dddd [a] LT',
+      lastDay: '[Ayer a] LT',
+      lastWeek: 'dddd [último a] LT',
+      sameElse: 'L'
+    },
+    relativeTime : {
+      future : 'en %s',
+      past : 'hace %s',
+      s : 'algunas segundas',
+      m : 'un minuto',
+      mm : '%d minutos',
+      h : 'una hora',
+      hh : '%d horas',
+      d : 'un dia',
+      dd : '%d dias',
+      M : 'un mes',
+      MM : '%d meses',
+      y : 'un año',
+      yy : '%d años'
+    },
+    ordinalParse: /\d{1,2}(er|)/,
+    ordinal : function (number) {
+      return number + (number === 1 ? 'ero' : '');
+    },
+    week : {
+      dow : 1, // Monday is the first day of the week.
+      doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+  });
+
+  return es;
+
+}));
diff --git a/www/js/vendor/moment.nl.js b/www/js/vendor/moment.nl.js
index f174a0a51d55a0f0e6d292a9aea8bc9b2f3f10f8..8b47a5d107e4d2463f662078fd263b772b328451 100644
--- a/www/js/vendor/moment.nl.js
+++ b/www/js/vendor/moment.nl.js
@@ -8,7 +8,7 @@
    factory(global.moment)
 }(this, function (moment) { 'use strict';
 
-    var fr = moment.defineLocale('nl', {
+    var nl = moment.defineLocale('nl', {
         months : 'januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december'.split('|'),
         monthsShort : 'jan|feb|mrt|apr|mei|jun|jul|aug|sep|okt|nov|dec'.split('|'),
         weekdays : 'zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag'.split('|'),
diff --git a/www/js/vendor/numeral.es.js b/www/js/vendor/numeral.es.js
new file mode 100644
index 0000000000000000000000000000000000000000..82885185fa168bb52f40e6df4b260d4f7e479ea4
--- /dev/null
+++ b/www/js/vendor/numeral.es.js
@@ -0,0 +1,47 @@
+//! numeral.js locale configuration
+//! locale : spanish (es)
+//! author : Fiatou: https://github.com/fiatou
+
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../numeral')) :
+    typeof define === 'function' && define.amd ? define(['numeral'], factory) :
+      factory(global.numeral)
+}(this, function (numeral) { 'use strict';
+
+  numeral.language('es', {
+    "delimiters": {
+      "thousands": " ",
+      "decimal": ","
+    },
+    "abbreviations": {
+      "thousand": "<small>x10<sup>3</sup></small>",
+      "million":  "<small>x10<sup>6</sup></small>",
+      "billion":  "<small>x10<sup>9</sup></small>",
+      "trillion": "<small>x10<sup>12</sup></small>"
+    },
+    "ordinal": function (number) {
+      switch(number) {
+        case 1:
+          return 'ero';
+        case 2:
+          return 'do';
+        case 3:
+          return 'ro';
+        case 4:
+        case 5:
+        case 6:
+        case 7:
+          return 'to';
+        case 8:
+          return 'vo';
+        case 9:
+          return 'no';
+        default:
+          return 'mo';
+      }
+    },
+    "currency": {
+      "symbol": "X"
+    }
+  });
+}));
diff --git a/www/js/vendor/numeral.fr.js b/www/js/vendor/numeral.fr.js
index 986609493891e8dabbe5184e29e6c9e5f08c788e..47a9950b448e9a8be9334f7ff197d3213e079fbc 100644
--- a/www/js/vendor/numeral.fr.js
+++ b/www/js/vendor/numeral.fr.js
@@ -1,6 +1,6 @@
-//! moment.js locale configuration
+//! numeral.js locale configuration
 //! locale : french (fr)
-//! author : Benoit Lavenier : https://github.com/blavenie
+//! author : blavenie: https://github.com/blavenie
 
 (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../numeral')) :
diff --git a/www/js/vendor/numeral.nl.js b/www/js/vendor/numeral.nl.js
index c1216ed61f02d00db4f04801fb8c36b31351d6ad..f1f704a226a8ee16c212f063d347fde976f9d8ea 100644
--- a/www/js/vendor/numeral.nl.js
+++ b/www/js/vendor/numeral.nl.js
@@ -1,4 +1,4 @@
-//! moment.js locale configuration
+//! numeral.js locale configuration
 //! locale : dutch (nl)
 //! author : RA van Hagen : https://github.com/RavanH
 
diff --git a/www/plugins/es/i18n/locale-es-ES.json b/www/plugins/es/i18n/locale-es-ES.json
new file mode 100644
index 0000000000000000000000000000000000000000..38769526aa9585ab7ca904ba53b3c256d1631f7a
--- /dev/null
+++ b/www/plugins/es/i18n/locale-es-ES.json
@@ -0,0 +1,457 @@
+{
+  "COMMON": {
+    "CATEGORY": "Categoría",
+    "CATEGORIES": "Categorías",
+    "CATEGORY_SEARCH_HELP": "Búsqueda",
+    "LAST_MODIFICATION_DATE": "Actualización el",
+    "SUBMIT_BY": "Sometido por",
+    "BTN_PUBLISH": "Publicar",
+    "BTN_PICTURE_DELETE": "Suprimir",
+    "BTN_PICTURE_FAVORISE": "Principal",
+    "BTN_ADD_PICTURE": "Añadir una foto",
+    "NOTIFICATIONS": {
+      "TITLE": "Notificaciónes",
+      "MARK_ALL_AS_READ": "Marcar todo como leído",
+      "NO_RESULT": "Ningúna notificación",
+      "SETTINGS": "configuraciónes",
+      "SHOW_ALL": "Ver todo",
+      "LOAD_NOTIFICATIONS_FAILED": "Fracaso en la carga de las notificaciónes"
+    }
+  },
+  "MENU": {
+    "MARKET": "Anuncios",
+    "REGISTRY": "Profesionales",
+    "USER_PROFILE": "Mi perfil",
+    "MESSAGES": "Mensajes",
+    "NOTIFICATIONS": "Notificaciónes",
+    "INVITATIONS": "Invitaciónes"
+  },
+  "ACCOUNT": {
+    "NEW": {
+      "ORGANIZATION_ACCOUNT": "Cuenta para una organización",
+      "ORGANIZATION_ACCOUNT_HELP": "Si representa una empresa, una asociación, etc.<br/>Ningún dividendo universal será creído por esta cuenta."
+    },
+    "EVENT": {
+      "MEMBER_WITHOUT_PROFILE": "Para obtener sus certificaciónes más rapidamente, completa <a ui-sref=\"app.user_edit_profile\">su perfil usuario</a>. Los miembros concederán más fácilmente su confianza a una identidad verificable."
+    },
+    "ERROR": {
+      "WS_CONNECTION_FAILED": "Cesium no puede recibir las notificaciónes, a causa de un error técnico (conexión al nodo de datos Cesium+).<br/><br/>Si el problema persiste, por favor <b>elige un otro nodo de datos</b> en las configuraciónes Cesium+."
+    }
+  },
+  "WOT": {
+    "BTN_SUGGEST_CERTIFICATIONS_DOTS": "Sugerir identidad a certificar...",
+    "BTN_ASK_CERTIFICATIONS_DOTS": "Solicitar otros miembros a certificarme…",
+    "BTN_ASK_CERTIFICATION": "Solicitar una certificación",
+    "SUGGEST_CERTIFICATIONS_MODAL": {
+      "TITLE": "Sugerir certificaciónes",
+      "HELP": "Selectionar sus sugerencias"
+    },
+    "ASK_CERTIFICATIONS_MODAL": {
+      "TITLE": "Solicitar certificaciónes",
+      "HELP": "Selectionar los destinatarios"
+    },
+    "CONFIRM": {
+      "SUGGEST_CERTIFICATIONS": "Está usted segura/o querer <b>mandar estas sugerencia de certificatión</b> ?",
+      "ASK_CERTIFICATION": "Está usted segura/o querer <b>mandar una solicitud de certificación</b> ?",
+      "ASK_CERTIFICATIONS": "Está usted segura/o querer <b>mandar una solicitud de certificación</b> a estas personas ?"
+    }
+  },
+  "INVITATION": {
+    "TITLE": "Invitaciónes",
+    "NO_RESULT": "Ningúna invitación en espera",
+    "BTN_DELETE_ALL": "Suprimir todas las invitaciónes",
+    "BTN_DELETE": "Suprimir la invitación",
+    "BTN_NEW_INVITATION": "Nueva invitación",
+    "ASK_CERTIFICATION": "<a href=\"#/app/wot/{{pubkey}}/{{::uid}}\">{{::name||uid}}</a> solicita su certificación",
+    "SUGGESTION_CERTIFICATION": "<a href=\"#/app/wot/{{::pubkey}}/{{::uid}}\">{{::name||uid}}</a> él es sugerido por certificación",
+    "SUGGESTED_BY": "Sugerencia mandada por <a class=\"positive\" href=\"#/app/wot/{{::issuer.pubkey}}/{{::issuer.uid}}\">{{::issuer.name||issuer.uid}}</a>",
+    "NOTIFICATIONS": {
+      "TITLE": "Invitaciónes"
+    },
+    "LIST": {
+      "TITLE": "Invitaciónes"
+    },
+    "NEW": {
+      "TITLE": "Nueva invitación",
+      "RECIPIENTS": "A",
+      "RECIPIENTS_HELP": "Destinatarios de la invitación",
+      "RECIPIENTS_MODAL_TITLE": "Destinatarios",
+      "RECIPIENTS_MODAL_HELP": "Por favor, elige los destinatarios :",
+      "SUGGESTION_IDENTITIES": "Sugerencia de certificación",
+      "SUGGESTION_IDENTITIES_HELP": "Certificaciónes a sugerir",
+      "SUGGESTION_IDENTITIES_MODAL_TITLE": "Sugerencias",
+      "SUGGESTION_IDENTITIES_MODAL_HELP": "Por favor, elige sus sugerencias :"
+    },
+    "CONFIRM": {
+      "DELETE_ALL_CONFIRMATION": "La supresión de las invitaciónes es una <b>operación ireversible</b>.<br/><br/><b>Está usted segura/o </b> querer continuar ?",
+      "SEND_INVITATIONS_TO_CERTIFY": "Está usted segura/o querer <b>mandar esta invitación a certificar</b> ?"
+    },
+    "INFO": {
+      "INVITATION_SENT": "Invitación mandada"
+    },
+    "ERROR": {
+      "LOAD_INVITATIONS_FAILED": "Fracaso en la carga de las invitaciónes",
+      "REMOVE_INVITATION_FAILED": "Fracaso durante la supresión de la invitación",
+      "REMOVE_ALL_INVITATIONS_FAILED": "Fracaso durante la supresión de las invitaciónes",
+      "SEND_INVITATION_FAILED": "Fracaso durante el envío de la invitación",
+      "BAD_INVITATION_FORMAT": "<span class=\"assertive\"><i class=\"ion-close-circled\"></i> Invitación ilegible (formato desconocido)</span> - mandada por <a href=\"#/app/wot/{{pubkey}}/{{::uid}}\">{{::name||uid}}</a>"
+    }
+  },
+  "COMMENTS": {
+    "DIVIDER": "Comentarios",
+    "DIVIDER_WITH_TOTAL": "Comentarios ({{total}})",
+    "SHOW_MORE_COMMENTS": "Visualizar los comentarios anteriores",
+    "COMMENT_HELP": "Su comentario, preguntas, etc.",
+    "COMMENT_HELP_REPLY_TO": "Su repuesta…",
+    "BTN_SEND": "Mandar",
+    "POPOVER_SHARE_TITLE": "Mensaje #{{number}}",
+    "REPLY": "Responder",
+    "REPLY_TO": "Repuesta a :",
+    "REPLY_TO_LINK": "En repuesta a ",
+    "REPLY_TO_DELETED_COMMENT": "En repuesta a un comentario suprimido",
+    "REPLY_COUNT": "{{replyCount}} repuestas",
+    "DELETED_COMMENT": "Comentario suprimido"
+  },
+  "MESSAGE": {
+    "REPLY_TITLE_PREFIX": "Rep: ",
+    "FORWARD_TITLE_PREFIX": "Tr: ",
+    "BTN_REPLY": "Responder",
+    "BTN_COMPOSE": "Nuevo mensaje",
+    "BTN_WRITE": "Escribir",
+    "NO_MESSAGE_INBOX": "Ningun mensaje recibido",
+    "NO_MESSAGE_OUTBOX": "Ningun mensaje mandado",
+    "NOTIFICATIONS": {
+      "TITLE": "Mensajes",
+      "MESSAGE_RECEIVED": "Ha <b>recibido un mensaje</b><br/>de"
+    },
+    "LIST": {
+      "INBOX": "Bandeja de entrada",
+      "OUTBOX": "Mensajes mandados",
+      "TITLE": "Mensajes",
+      "POPOVER_ACTIONS": {
+        "TITLE": "Opciónes",
+        "DELETE_ALL": "Suprimir todos los mensajes"
+      }
+    },
+    "COMPOSE": {
+      "TITLE": "Nuevo mensaje",
+      "TITLE_REPLY": "Responder",
+      "SUB_TITLE": "Nuevo mensaje",
+      "TO": "A",
+      "OBJECT": "Objeto",
+      "OBJECT_HELP": "Objeto",
+      "ENCRYPTED_HELP": "Por favor, nota que este mensaje será cifrado antes envío, a fin que solo el destinatario pueda leerlo, y que esté asegurado que usted esté bien su autor.",
+      "MESSAGE": "Mensaje",
+      "MESSAGE_HELP": "Contenido del mensaje",
+      "CONTENT_CONFIRMATION": "El contenido del mensaje es vacío.<br/><br/>Sin embargo, quiere mandar el mensaje ?"
+    },
+    "VIEW": {
+      "TITLE": "Mensaje",
+      "SENDER": "Mandado por",
+      "RECIPIENT": "Mandado a",
+      "NO_CONTENT": "Mensaje vacío"
+    },
+    "CONFIRM": {
+      "REMOVE": "Está usted segura/o querer <b>suprimir este mensaje</b> ?<br/><br/>Esta operación es ireversible.",
+      "REMOVE_ALL" : "Está usted segura/o querer <b>suprimir todos los mensajes</b> ?<br/><br/>Esta operación es ireversible.",
+      "MARK_ALL_AS_READ": "Está usted segura/o querer <b>marcar todos los mensajes como leído</b> ?",
+      "USER_HAS_NO_PROFILE": "Esta identidad no tiene ningún perfil Cesium+. Se puede que no utilice la extensión Cesium+, y <b>así no consultará su mensaje</b>.<br/><br/>Está usted segura/o querer <b>continuar</b> a pesar de todo ?"
+    },
+    "INFO": {
+      "MESSAGE_REMOVED": "Mensaje suprimido",
+      "All_MESSAGE_REMOVED": "Todos los mensajes fueron suprimido",
+      "MESSAGE_SENT": "Mensaje mandado"
+    },
+    "ERROR": {
+      "SEND_MSG_FAILED": "Fracaso durante el envío del mensaje.",
+      "LOAD_MESSAGES_FAILED": "Fracaso durante la recuperación de los mensajes.",
+      "LOAD_MESSAGE_FAILED": "Fracaso durante la recuperación del mensaje.",
+      "MESSAGE_NOT_READABLE": "Lectura del mensaje imposible.",
+      "USER_NOT_RECIPIENT": "No esta el destinatario de este mensaje : deciframiento imposible.",
+      "NOT_AUTHENTICATED_MESSAGE": "La autenticidad del mensaje es dudosa o su contenido es corrupto.",
+      "REMOVE_MESSAGE_FAILED": "Fracaso en la supresión del mensaje",
+      "MESSAGE_CONTENT_TOO_LONG": "Valor demasiado largo ({{maxLength}} carácteres max).",
+      "MARK_AS_READ_FAILED": "Imposible marcar el mensaje como 'leído'.",
+      "LOAD_NOTIFICATIONS_FAILED": "Fracaso durante la recuperación de las notificaciónes de mensajes.",
+      "REMOVE_All_MESSAGES_FAILED": "Fracaso durante la supresión de todos los mensajes.",
+      "MARK_ALL_AS_READ_FAILED": "Fracaso durante el marcaje de los mensajes como leído.",
+      "RECIPIENT_IS_MANDATORY": "El destinatario es obligatorio."
+    }
+  },
+  "BLOCKCHAIN": {
+    "LOOKUP": {
+      "SEARCH_HELP": "Número de bloque, hash, llave pública, etc.",
+      "POPOVER_FILTER_TITLE": "Filtros",
+      "HEADER_MEDIAN_TIME": "Fecha / Hora",
+      "HEADER_BLOCK": "Bloque #",
+      "HEADER_ISSUER": "Nodo emisor",
+      "BTN_LAST": "últimos bloques"
+    },
+    "ERROR": {
+      "SEARCH_BLOCKS_FAILED": "Fracaso en la búsqueda de los bloques."
+    }
+  },
+  "GROUP": {
+    "GENERAL_DIVIDER": "Informaciónes generales",
+    "LOCATION_DIVIDER": "Dirección",
+    "SOCIAL_NETWORKS_DIVIDER": "Redes sociales y sitio web",
+    "TECHNICAL_DIVIDER": "Informaciónes técnicas",
+    "NOTIFICATIONS": {
+      "TITLE": "Invitaciónes"
+    },
+    "LOOKUP": {
+      "TITLE": "Grupos",
+      "SEARCH_HELP": "Nombre de grupo, palabras , lugar, etc.",
+      "LAST_RESULTS_LIST": "Nuevos grupos :",
+      "OPEN_RESULTS_LIST": "Grupos abiertos :",
+      "MANAGED_RESULTS_LIST": "Grupos cerrados :",
+      "BTN_LAST": "Nuevos grupos",
+      "BTN_NEW": "Añado un grupo"
+    },
+    "TYPE": {
+      "TITLE": "Nuevo grupo",
+      "SELECT_TYPE": "Tipo de grupo :",
+      "OPEN_GROUP": "Grupo abierto",
+      "OPEN_GROUP_HELP": "Un grupo abierto es accesible por cualquier miembro de la moneda.",
+      "MANAGED_GROUP": "Grupo administrado",
+      "MANAGED_GROUP_HELP": "un grupo administrado es gestionado por administradores y moderadores, que pueden aceptar, rechazar o excluir un miembro en su seno.",
+      "ENUM": {
+        "OPEN": "Grupo abierto",
+        "MANAGED": "Grupo administrado"
+      }
+    },
+    "EDIT": {
+      "TITLE": "Grupo",
+      "TITLE_NEW": "Nuevo grupo",
+      "RECORD_TITLE": "Título",
+      "RECORD_TITLE_HELP": "Título",
+      "RECORD_DESCRIPTION": "Descripción",
+      "RECORD_DESCRIPTION_HELP": "Descripción"
+    },
+    "ERROR": {
+      "SEARCH_GROUPS_FAILED": "Fracaso en la búsqueda de grupos"
+    }
+  },
+  "MARKET": {
+    "COMMON": {
+      "PRICE": "Precio",
+      "BTN_BUY": "Comprar",
+      "BTN_BUY_DOTS": "Comprar…",
+      "BTN_NEW_AD": "Presento un anuncio"
+    },
+    "SEARCH": {
+      "TITLE": "Anuncios",
+      "SEARCH_HELP": "Búsqueda (coche, libro...)",
+      "BTN_ADD": "Nuevo",
+      "BTN_OPTIONS": "Búsqueda avanzada",
+      "BTN_AROUND_ME": "Alrededor de yo",
+      "SHOW_MORE": "Visualizar más",
+      "SHOW_MORE_COUNT": "(límite actual a {{limit}})",
+      "LOCATION": "localización",
+      "LOCATION_HELP": "Ciudad",
+      "LAST_RECORDS": "últimos anuncios :",
+      "RESULTS": "Resultados :",
+      "BTN_OFFERS": "Ofrecimientos",
+      "BTN_NEEDS": "Demandas"
+    },
+    "VIEW": {
+      "TITLE": "Anuncio",
+      "MENU_TITLE": "Opciónes",
+      "POPOVER_SHARE_TITLE": "Anuncio {{title}}",
+      "REMOVE_CONFIRMATION" : "Está usted segura/o querer suprimir este anuncio ?<br/><br/>Esta operación es ireversible."
+    },
+    "TYPE": {
+      "TITLE": "Nuevo anuncio",
+      "SELECT_TYPE": "Tipo de anuncio :",
+      "OFFER": "Ofrecimiento, Venta",
+      "NEED": "Demanda, Búsqueda"
+    },
+    "EDIT": {
+      "TITLE": "Edición",
+      "TITLE_NEW": "Nuevo anuncio",
+      "RECORD_TITLE": "Título",
+      "RECORD_TITLE_HELP": "Título",
+      "RECORD_DESCRIPTION": "Descripción",
+      "RECORD_DESCRIPTION_HELP": "Descripción",
+      "RECORD_LOCATION": "Ciudad",
+      "RECORD_LOCATION_HELP": "Dirección, Ciudad",
+      "RECORD_PRICE": "Precio",
+      "RECORD_PRICE_HELP": "Precio (opcional)",
+      "RECORD_CURRENCY": "Moneda"
+    },
+    "ERROR": {
+      "FAILED_SAVE_RECORD": "Fracaso durante el registro de el anuncio",
+      "FAILED_UPDATE_RECORD": "Fracaso durante la actualización de el anuncio",
+      "LOAD_CATEGORY_FAILED": "Erreur de actualización de las categorías",
+      "LOOKUP_RECORDS_FAILED": "Fracaso durante la ejecución de la búsqueda.",
+      "LOAD_RECORD_FAILED": "Fracaso durante la carga de el anuncio.",
+      "REMOVE_RECORD_FAILED": "Erreur de la supresión de el anuncio",
+      "FAILED_SAVE_COMMENT": "Fracaso durante el respaldo del comentario",
+      "FAILED_REMOVE_COMMENT": "Fracaso durante la supresión del comentario",
+      "RECORD_NOT_EXISTS": "Anuncio inexistente"
+    },
+    "INFO": {
+      "RECORD_REMOVED" : "Anuncio suprimido"
+    }
+  },
+  "REGISTRY": {
+    "CATEGORY": "Actividad principal",
+    "GENERAL_DIVIDER": "Informaciónes generales",
+    "LOCATION_DIVIDER": "Dirección",
+    "SOCIAL_NETWORKS_DIVIDER": "Redes sociales y sitio web",
+    "TECHNICAL_DIVIDER": "Informaciónes técnicas",
+    "BTN_NEW": "Creer una página",
+    "SEARCH": {
+      "TITLE": "Páginas",
+      "TITLE_SMALL_DEVICE": "Páginas",
+      "SEARCH_HELP": "Qué, Quién : restaurante, Con Marcel, ...",
+      "BTN_ADD": "Nuevo",
+      "BTN_OPTIONS": "Búsqueda avanzada",
+      "TYPE": "Tipo de página",
+      "LOCATION": "Localización",
+      "LOCATION_HELP": "Ciudad",
+      "LAST_RECORDS": "últimos registrados :",
+      "RESULTS": "Resultados :"
+    },
+    "VIEW": {
+      "TITLE": "Anuario",
+      "CATEGORY": "Actividad principal :",
+      "LOCATION": "Dirección :",
+      "MENU_TITLE": "Opciónes",
+      "POPOVER_SHARE_TITLE": "{{title}}",
+      "REMOVE_CONFIRMATION" : "Está usted segura/o querer suprimir esta página ?<br/><br/>Esta operación es ireversible."
+    },
+    "TYPE": {
+      "TITLE": "Nueva página",
+      "SELECT_TYPE": "Tipo de página :",
+      "ENUM": {
+        "SHOP": "Comercio local",
+        "COMPANY": "Empresa",
+        "ASSOCIATION": "Asociación",
+        "INSTITUTION": "Institución"
+      }
+    },
+    "EDIT": {
+      "TITLE": "Edición",
+      "TITLE_NEW": "Nueva página",
+      "RECORD_TYPE":"Tipo de página",
+      "RECORD_TITLE": "Nombre",
+      "RECORD_TITLE_HELP": "Nombre",
+      "RECORD_DESCRIPTION": "Descripción",
+      "RECORD_DESCRIPTION_HELP": "Descripción de la actividad",
+      "RECORD_ADDRESS": "Calle",
+      "RECORD_ADDRESS_HELP": "Dirección : calle, edificio...",
+      "RECORD_CITY": "Ciudad",
+      "RECORD_CITY_HELP": "Ciudad",
+      "RECORD_SOCIAL_NETWORKS": "Redes sociales y sitio web",
+      "RECORD_PUBKEY": "Llave pública" ,
+      "RECORD_PUBKEY_HELP": "Llave pública de recepción de los pagos"
+    },
+    "ERROR": {
+      "LOAD_CATEGORY_FAILED": "Fracaso en la carga de la lista de actividades",
+      "LOAD_RECORD_FAILED": "Fracaso durante la carga de la página",
+      "LOOKUP_RECORDS_FAILED": "Fracaso durante la ejecución de la búsqueda.",
+      "REMOVE_RECORD_FAILED": "Fracaso en la supresión de la página",
+      "SAVE_RECORD_FAILED": "Fracaso durante el respaldo",
+      "RECORD_NOT_EXISTS": "Página inexistente"
+    },
+    "INFO": {
+      "RECORD_REMOVED" : "Página suprimida"
+    }
+  },
+  "PROFILE": {
+    "PROFILE_DIVIDER": "Perfil Cesium+",
+    "NO_PROFILE_DEFINED": "Ningún perfil Cesium+",
+    "BTN_ADD": "Ingresar mi perfil",
+    "BTN_EDIT": "Editar mi perfil",
+    "UID": "Seudónimo",
+    "TITLE": "Nombre, Apellido",
+    "TITLE_HELP": "Nombre, Apellido",
+    "DESCRIPTION": "A propósito de yo",
+    "DESCRIPTION_HELP": "A propósito de yo...",
+    "ADDRESS": "Calle",
+    "ADDRESS_HELP": "Calle, complemento de dirección...",
+    "CITY": "Ciudad",
+    "CITY_HELP": "Ciudad (opcional)",
+    "SOCIAL_HELP": "http://...",
+    "GENERAL_DIVIDER": "Informaciónes generales",
+    "LOCATION_DIVIDER": "Dirección",
+    "SOCIAL_NETWORKS_DIVIDER": "Redes sociales, sitios web",
+    "TECHNICAL_DIVIDER": "Informaciónes técnicas",
+    "MODAL_AVATAR": {
+      "TITLE": "Foto de perfil",
+      "SELECT_FILE_HELP": "Por favor, <b>elige un fichero imagen</b>, haciendo un clic sobre el botón por debajo :",
+      "BTN_SELECT_FILE": "Eligir una foto",
+      "RESIZE_HELP": "<b>Encuadra la imagen</b>, si es necesario. Un clic mantenido sobre la imagen permite desplazarla. Hace un clic sobre la zona abajo a la izquierda para hacer zoom.",
+      "RESULT_HELP": "<b>Aquí está el resultado</b> tal como está visible sobre su perfil :"
+    },
+    "ERROR": {
+      "LOAD_PROFILE_FAILED": "Fracaso en la carga del perfil usuario.",
+      "SAVE_PROFILE_FAILED": "Fracaso durante el respaldo",
+      "INVALID_SOCIAL_NETWORK_FORMAT": "Formato no tomado en cuenta : por favor, indica una dirección válida.<br/><br/>Ejemplos :<ul><li>- Una página Facebook (https://www.facebook.com/user)</li><li>- Una página web (http://www.misitio.es)</li><li>- Una dirección email (joe@dalton.com)</li></ul>",
+      "IMAGE_RESIZE_FAILED": "Fracaso durante el redimensionamiento de la imagen"
+    },
+    "INFO": {
+      "PROFILE_SAVED": "Perfil respaldado"
+    },
+    "HELP": {
+      "WARNING_PUBLIC_DATA": "Las informaciónes informadas en su perfil <b>están públicas</b> : visibles también por personas <b>no conectadas</b>."
+    }
+  },
+  "ES_SETTINGS": {
+    "PLUGIN_NAME": "Cesium+",
+    "PLUGIN_NAME_HELP": "Perfiles, notificaciónes, mensajes privados",
+    "ENABLE_TOGGLE": "Activar la extensión ?",
+    "ENABLE_MESSAGE_TOGGLE": "Activar los mensajes privados ?",
+    "ENABLE_SETTINGS_TOGGLE": "Activar el almacenamiento a distancia de las configuraciónes ?",
+    "PEER": "Dirección del nodo de datos",
+    "POPUP_PEER": {
+      "TITLE" : "Nodo de datos",
+      "HELP" : "Ingresa la dirección del nodo que quiere utilizar :",
+      "PEER_HELP": "servidor.dominio.com:puerto"
+    },
+    "NOTIFICATIONS": {
+      "DIVIDER": "Notificaciónes",
+      "HELP_TEXT": "Activa los tipos de notificaciónes que usted desea recibir :",
+      "ENABLE_TX_SENT": "Notificar la validación de los <b>pagos emitidos</b> ?",
+      "ENABLE_TX_RECEIVED": "Notificar la validación de los <b>pagos recibidos</b> ?",
+      "ENABLE_CERT_SENT": "Notificar la validación de las <b>certificaciónes emitidas</b> ?",
+      "ENABLE_CERT_RECEIVED": "Notificar la validación de las <b>certificaciónes recibidas</b> ?"
+    },
+    "CONFIRM": {
+      "ASK_ENABLE_TITLE": "Nuevas funcionalidades",
+      "ASK_ENABLE": "Nuevas funcionalidades son disponibles : <ul><li>&nbsp;&nbsp;<b><i class=\"icon ion-person\"></i> Perfiles Cesium+</b>;<li>&nbsp;&nbsp;<b><i class=\"icon ion-android-notifications\"></i> Notificaciónes</b>;<li>&nbsp;&nbsp;<b><i class=\"icon ion-email\"></i> Mensajes privados</b>.</ul><br/>Fueron <b>desactivadas</b> en sus configuraciones.<br/><br/><b>Quiere usted activarlas</b> ?"
+    }
+  },
+  "ES_WALLET": {
+    "ERROR": {
+      "RECIPIENT_IS_MANDATORY": "Un destinatario es obligatorio para el cifrado."
+    }
+  },
+  "EVENT": {
+    "NODE_STARTED": "Su nodo ES API <b>{{params[0]}}</b> es comenzado",
+    "NODE_BMA_DOWN": "El nodo <b>{{params[0]}}:{{params[1]}}</b> (utilizado por su nodo ES API) <b>no es localizable</b>.",
+    "NODE_BMA_UP": "El nodo <b>{{params[0]}}:{{params[1]}}</b> es de nuevo accesible.",
+    "MEMBER_JOIN": "Ahora usted está <b>miembro</b> de la moneda <b>{{params[0]}}</b> !",
+    "MEMBER_LEAVE": "No está <b>miembro</b> de la moneda <b>{{params[0]}}</b>!",
+    "MEMBER_ACTIVE": "Su renovación de adhesión a la moneda <b>{{params[0]}}</b> fue <b>tomado en cuenta</b>.",
+    "TX_SENT": "Su <b>pago</b> a <span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\" ><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> fue efectuado.",
+    "TX_SENT_MULTI": "Su <b>pago</b> a <b>{{params[1]}}</b> fue efectuado.",
+    "TX_RECEIVED": "Ha <b>recibido un pago</b> de <span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span>.",
+    "TX_RECEIVED_MULTI": "Ha <b>recibido un pago</b> de <b>{{params[1]}}</b>.",
+    "CERT_SENT": "Su <b>certificación</b> a <span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\" ><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> fue efectuada.",
+    "CERT_RECEIVED": "Ha <b>recibido una certificación</b> de <span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span>.",
+    "MARKET": {
+      "NEW_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid }\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> ha comentado su anuncio : <b>{{params[2]}}</b>",
+      "UPDATE_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid }\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> ha modificado su comentario sobre su anuncio : <b>{{params[2]}}</b>",
+      "NEW_REPLY_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid }\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> ha contestado a su comentario sobre el anuncio : <b>{{params[2]}}</b>",
+      "UPDATE_REPLY_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid }\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> ha modificado la repuesta a su comentario sobre el anuncio : <b>{{params[2]}}</b>"
+    },
+    "REGISTRY": {
+      "NEW_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> ha comentado su referencia : <b>{{params[2]}}</b>",
+      "UPDATE_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid }\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> ha modificado su comentario sobre su referencia : <b>{{params[2]}}</b>",
+      "NEW_REPLY_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> ha contestado a su comentario sobre el referencia : <b>{{params[2]}}</b>",
+      "UPDATE_REPLY_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid }\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> ha modificado la repuesta a su comentario sobre el referencia : <b>{{params[2]}}</b>"
+    }
+  }
+}