mirror of https://github.com/BTCPrivate/copay.git
Merge pull request #2426 from cmgustavo/feature/translation-05
Feature/translation 05
This commit is contained in:
commit
e9dea0ceaf
|
@ -112,7 +112,8 @@ module.exports = function(grunt) {
|
|||
'lib/file-saver/FileSaver.js',
|
||||
'lib/socket.io-client/socket.io.js',
|
||||
'lib/sjcl.js',
|
||||
'lib/qrcode-decoder-js/lib/qrcode-decoder.min.js'
|
||||
'lib/qrcode-decoder-js/lib/qrcode-decoder.min.js',
|
||||
'lib/moment/lang/*.js'
|
||||
],
|
||||
dest: 'lib/vendors.js'
|
||||
},
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
'use strict';
|
||||
var defaultConfig = {
|
||||
defaultLanguage: 'en',
|
||||
// DEFAULT network (livenet or testnet)
|
||||
networkName: 'livenet',
|
||||
logLevel: 'info',
|
||||
|
|
18
index.html
18
index.html
|
@ -44,7 +44,7 @@
|
|||
|
||||
<div ng-show="sessionExpired" class="session-expired">
|
||||
<i class="fi-clock size-72 text-gray"></i>
|
||||
<p class="text-gray size-18">Your session is about to expire due to inactivity in {{countdown}} seconds</p>
|
||||
<p class="text-gray size-18" translate>Your session is about to expire due to inactivity in {{countdown}} seconds</p>
|
||||
</div>
|
||||
|
||||
<div class="off-canvas-wrap" id="off-canvas-wrap" ng-show="!signingOut">
|
||||
|
@ -55,8 +55,10 @@
|
|||
<div class="row">
|
||||
<div class="large-10 medium-9 small-12 columns m5b">
|
||||
<i class="fi-alert size-36 left m20r"></i>
|
||||
<strong class="size-16">Email not confirmed</strong>.<br>
|
||||
Please confirm your email address using the confirmation link at the message we sent you
|
||||
<strong class="size-16" translate>Email not confirmed</strong>.<br>
|
||||
<span translate>
|
||||
Please confirm your email address using the confirmation link at the message we sent you
|
||||
</span>
|
||||
</div>
|
||||
<div class="large-2 medium-3 small-12 columns text-center">
|
||||
<button class="text-white warning tiny m0"
|
||||
|
@ -71,15 +73,15 @@
|
|||
<div class="status" ng-if="$root.pleaseConfirmEmail">
|
||||
<a class="close-notification text-white" ng-click="$root.pleaseConfirmEmail=null">×</a>
|
||||
<i class="fi-alert size-36 left m20r"></i>
|
||||
<span translate>
|
||||
<strong class="size-16">Confirm your email address</strong>.<br>
|
||||
An email was sent to {{$root.iden.getName()}}. Please follow the link on it to confirm it. Unconfirmed profiles could be deleted from server.
|
||||
</span>
|
||||
<strong class="size-16" translate>Confirm your email address</strong>.<br>
|
||||
<span translate>An email was sent to</span> {{$root.iden.getName()}}.
|
||||
<span translate>Please follow the link on it to confirm it. Unconfirmed profiles could be deleted from server.</span>
|
||||
|
||||
</div>
|
||||
<div class="status" ng-if="$root.reconnecting">
|
||||
<i class="fi-loop icon-rotate"></i>
|
||||
<span translate> <strong class="size-16">Network Error</strong>.<br> Attempting to reconnect..</span>
|
||||
<strong class="size-16" translate>Network Error</strong>.<br>
|
||||
<span translate>Attempting to reconnect...</span>
|
||||
</div>
|
||||
|
||||
<div ng-if="$root.iden">
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
angular.module('copayApp.controllers').controller('SettingsController', function($scope, $rootScope, $window, $route, $location, notification, configService) {
|
||||
$scope.title = 'Settings';
|
||||
$scope.defaultLanguage = config.defaultLanguage || 'en';
|
||||
$scope.insightLivenet = config.network.livenet.url;
|
||||
$scope.insightTestnet = config.network.testnet.url;
|
||||
$scope.defaultLogLevel = config.logLevel || 'log';
|
||||
|
@ -35,21 +34,6 @@ angular.module('copayApp.controllers').controller('SettingsController', function
|
|||
$scope.selectedStorage = v;
|
||||
});
|
||||
|
||||
$scope.availableLanguages = [{
|
||||
name: 'English',
|
||||
isoCode: 'en',
|
||||
}, {
|
||||
name: 'Spanish',
|
||||
isoCode: 'es',
|
||||
}];
|
||||
|
||||
for (var ii in $scope.availableLanguages) {
|
||||
if ($scope.defaultLanguage === $scope.availableLanguages[ii].isoCode) {
|
||||
$scope.selectedLanguage = $scope.availableLanguages[ii];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (var ii in $scope.availableLogLevels) {
|
||||
if ($scope.defaultLogLevel === $scope.availableLogLevels[ii].name) {
|
||||
$scope.selectedLogLevel = $scope.availableLogLevels[ii];
|
||||
|
@ -77,7 +61,6 @@ angular.module('copayApp.controllers').controller('SettingsController', function
|
|||
|
||||
configService.set({
|
||||
network: insightSettings,
|
||||
defaultLanguage: $scope.selectedLanguage.isoCode,
|
||||
plugins: plugins,
|
||||
logLevel: $scope.selectedLogLevel.name,
|
||||
EncryptedInsightStorage: _.extend(config.EncryptedInsightStorage, {
|
||||
|
|
15
js/routes.js
15
js/routes.js
|
@ -139,9 +139,20 @@ angular
|
|||
$idleProvider.warningDuration(40); // in seconds
|
||||
$keepaliveProvider.interval(30); // in seconds
|
||||
})
|
||||
.run(function($rootScope, $location, $idle, gettextCatalog, uriHandler, isCordova) {
|
||||
.run(function($rootScope, $location, $idle, gettextCatalog, uriHandler, isCordova, amMoment) {
|
||||
|
||||
gettextCatalog.currentLanguage = config.defaultLanguage;
|
||||
var userLang, androidLang;
|
||||
|
||||
if (navigator && navigator.userAgent && (androidLang = navigator.userAgent.match(/android.*\W(\w\w)-(\w\w)\W/i))) {
|
||||
userLang = androidLang[1];
|
||||
} else {
|
||||
// works for iOS and Android 4.x
|
||||
userLang = navigator.userLanguage || navigator.language;
|
||||
}
|
||||
|
||||
userLang = userLang ? (userLang.split('-', 1)[0] || 'en') : 'en';
|
||||
gettextCatalog.setCurrentLanguage(userLang);
|
||||
amMoment.changeLanguage(userLang);
|
||||
|
||||
// Register URI handler, not for mobileApp
|
||||
if (!isCordova) {
|
||||
|
|
|
@ -9,9 +9,6 @@ angular.module('copayApp.services').factory('configService', function($timeout,
|
|||
if (opts.logLevel)
|
||||
copay.logger.setLevel(opts.logLevel);
|
||||
|
||||
if (opts.defaultLanguage)
|
||||
gettextCatalog.currentLanguage = opts.defaultLanguage;
|
||||
|
||||
// Set current version
|
||||
opts.version = copay.version;
|
||||
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
<div class="row manage text-center">
|
||||
<h1 class="show-for-large-up text-left columns">Add Wallet</h1>
|
||||
<h1 class="show-for-large-up text-left columns" translate>Add Wallet</h1>
|
||||
<div class="large-4 small-12 columns">
|
||||
<a class="db oh panel" title="Create new wallet" ng-click="$root.go('create')">
|
||||
<i class="fi-plus"></i>
|
||||
<span>Create new wallet</span>
|
||||
<span translate>Create new wallet</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="large-4 small-12 columns">
|
||||
<a class="db oh panel join" title="Join shared wallet" ng-click="$root.go('join')">
|
||||
<i class="icon-people"></i>
|
||||
<span>Join shared wallet</span>
|
||||
<span translate>Join shared wallet</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="large-4 small-12 columns">
|
||||
<a class="db oh panel import" title="Import wallet" ng-click="$root.go('import')">
|
||||
<i class="icon-upload"></i>
|
||||
<span>Import wallet</span>
|
||||
<span translate>Import wallet</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<div class="!$root.starting">
|
||||
<div class="row">
|
||||
<div class="large-12 medium-12 small-12 columns">
|
||||
<h1>Share this secret with your copayers</h1>
|
||||
<h1 translate>Share this secret with your copayers</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
<div class="box-icon error">
|
||||
<i class="fi-alert size-24"></i>
|
||||
</div>
|
||||
<span class="text-warning size-14">
|
||||
<span class="text-warning size-14" translate>
|
||||
Please note the wallet creator <b>must be online</b> until all copayers have joined.
|
||||
</span>
|
||||
</div>
|
||||
|
@ -35,22 +35,23 @@
|
|||
<div class="text-center m10t" ng-if="isCordova">
|
||||
<span class="button outline dark-gray tiny"
|
||||
ng-click="shareSecret(secret)">
|
||||
<i class="fi-share"></i> Share secret
|
||||
<i class="fi-share"></i>
|
||||
<span translate>Share secret</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="size-10 line-t text-center">
|
||||
<h2 class="m10t">{{$root.wallet.getName()}}</h2>
|
||||
<span class="text-gray">
|
||||
[{{$root.wallet.requiredCopayers}} of {{$root.wallet.totalCopayers}} ]
|
||||
</span>
|
||||
<span ng-if="$root.wallet.isTestnet()"> in TESTNET</span>
|
||||
[{{$root.wallet.requiredCopayers}} <span translate>of</span> {{$root.wallet.totalCopayers}} ]
|
||||
</span>
|
||||
<span ng-if="$root.wallet.isTestnet()" translate>in TESTNET</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="large-4 columns">
|
||||
<div class="panel oh">
|
||||
<h3>Waiting for copayers</h3>
|
||||
<h3 translate>Waiting for copayers</h3>
|
||||
<div ng-include="'views/includes/copayers.html'"></div>
|
||||
<div ng-if="!$root.wallet.isComplete()" class="m15t">
|
||||
<div class="left m10r" ng-include="'views/includes/photo.html'"></div>
|
||||
|
@ -67,18 +68,18 @@
|
|||
<div class="row">
|
||||
<div class="large-12 columns">
|
||||
<button class="small warning" ng-show="!confirmDelete" ng-click="confirmDelete=!confirmDelete">
|
||||
<i class="fi-trash"></i> Cancel
|
||||
<i class="fi-trash"></i> <span translate>Cancel</span>
|
||||
</button>
|
||||
<div class="text-center" ng-show="confirmDelete">
|
||||
<h2>Are you sure you want to cancel and delete this wallet</h2>
|
||||
<h2 translate>Are you sure you want to cancel and delete this wallet</h2>
|
||||
<div class="row">
|
||||
<div class="large-6 medium-6 small-6 columns">
|
||||
<button class="gray" ng-disabled="loading"
|
||||
ng-click="confirmDelete=!confirmDelete">No</button>
|
||||
ng-click="confirmDelete=!confirmDelete" translate>No</button>
|
||||
</div>
|
||||
<div class="large-6 medium-6 small-6 columns">
|
||||
<button class="warning" ng-disabled="loading" ng-click="deleteWallet(); confirmDelete = !confirmDelete">
|
||||
<i class="fi-trash"></i> Yes
|
||||
<i class="fi-trash"></i> <span translate>Yes</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -62,24 +62,28 @@
|
|||
<label for="network-name">
|
||||
<input id="network-name" type="checkbox" ng-model="networkName" ng-true-value="'testnet'"
|
||||
ng-false-value="'livenet'" class="form-control" ng-checked="networkName == 'testnet' ? true : false">
|
||||
Use test network
|
||||
<span translate>Use test network</span>
|
||||
</label>
|
||||
|
||||
<label for="ext-master">Master extended private key
|
||||
<input id="ext-master"
|
||||
<label for="ext-master">
|
||||
<span translate>Master extended private key</span>
|
||||
<input id="ext-master"
|
||||
type="text"
|
||||
placeholder="BIP32 master extended private key (hex)"
|
||||
placeholder="{{'BIP32 master extended private key (hex)'|translate}}"
|
||||
name="private" ng-model="private">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="text-right">
|
||||
<button translate type="submit" class="button primary expand m0" ng-disabled="setupForm.$invalid">
|
||||
Create {{requiredCopayers}}-of-{{totalCopayers}} wallet
|
||||
<button type="submit" class="button primary expand m0" ng-disabled="setupForm.$invalid">
|
||||
<span translate>Create</span>
|
||||
{{requiredCopayers}}-<span translate>of</span>-{{totalCopayers}} <span translate>wallet</span>
|
||||
</button>
|
||||
</div>
|
||||
<div ng-show="showNetwork()"><p translate class="size-12">Using network: {{networkName}} at <a href="{{networkUrl}}" target="_blank">{{networkUrl}}</a></p></div>
|
||||
<div ng-show="showNetwork()"><p class="size-12">
|
||||
<span translate>Using network:</span>
|
||||
{{networkName}} <span translate>at</span> <a href="{{networkUrl}}" target="_blank">{{networkUrl}}</a></p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
<div class="clipo" ng-if="!useLocalstorage && !hideForWP">
|
||||
<img src="img/clipo-signup2.png" alt="clipo" width="373">
|
||||
</div>
|
||||
<h2 ng-if="!useLocalstorage" ng-hide="hideForWP"> Creating in the cloud </h2>
|
||||
<h2 ng-if="useLocalstorage" ng-hide="hideForWP"> Creating on this device </h2>
|
||||
<h2 ng-if="!useLocalstorage" ng-hide="hideForWP" translate>Creating in the cloud</h2>
|
||||
<h2 ng-if="useLocalstorage" ng-hide="hideForWP" translate>Creating on this device</h2>
|
||||
</div>
|
||||
|
||||
<div ng-show="createStep == 'pass'">
|
||||
|
@ -35,8 +35,8 @@
|
|||
<img src="img/clipo-signup3.png" alt="clipo" width="380">
|
||||
</div>
|
||||
|
||||
<h2 ng-if="useLocalstorage" ng-hide="hideForWP"> Creating on this device </h2>
|
||||
<h2 ng-if="!useLocalstorage" ng-hide="hideForWP"> Creating in the cloud </h2>
|
||||
<h2 ng-if="useLocalstorage" ng-hide="hideForWP" translate>Creating on this device</h2>
|
||||
<h2 ng-if="!useLocalstorage" ng-hide="hideForWP" translate>Creating in the cloud</h2>
|
||||
<div class="text-gray text-center m20b" ng-hide="hideForWP">{{userOrEmail}}</div>
|
||||
</div>
|
||||
|
||||
|
@ -54,51 +54,53 @@
|
|||
<tabset>
|
||||
<tab style="width: 50%;" select="selectStorage('remote')">
|
||||
<tab-heading>
|
||||
<span>In the Cloud </span>
|
||||
<span translate>In the Cloud</span>
|
||||
<br>
|
||||
<span class="size-10 text-gray">( Recommended )</span>
|
||||
<span class="size-10 text-gray">
|
||||
(<span translate>Recommended</span>)
|
||||
</span>
|
||||
</tab-heading>
|
||||
<div class="content-item">
|
||||
<div class="bg-circle"><i class="icon-wallet"></i>
|
||||
</div>
|
||||
<span class="text-gray">Access your wallets anywhere</span>
|
||||
<span class="text-gray" translate>Access your wallets anywhere</span>
|
||||
</div>
|
||||
<div class="content-item">
|
||||
<div class="bg-circle"><i class="icon-download"></i>
|
||||
</div>
|
||||
<span class="text-gray">Backups managed by the server</span>
|
||||
<span class="text-gray" translate>Backups managed by the server</span>
|
||||
</div>
|
||||
<div class="content-item line-none">
|
||||
<div class="bg-circle"><i class="icon-email"></i>
|
||||
</div>
|
||||
<span class="text-gray">Email address confirmation needed</span>
|
||||
<span class="text-gray" translate>Email address confirmation needed</span>
|
||||
</div>
|
||||
</tab>
|
||||
<tab style="width: 50%;" select="selectStorage('local')">
|
||||
<tab-heading>
|
||||
<div class="m5t">On this Device</div>
|
||||
<div class="m5t" translate>On this Device</div>
|
||||
</tab-heading>
|
||||
<div class="content-item">
|
||||
<div class="bg-circle"><i class="icon-locked"></i>
|
||||
</div>
|
||||
<span class="text-gray">Your private keys never leave this device</span>
|
||||
<span class="text-gray" translate>Your private keys never leave this device</span>
|
||||
</div>
|
||||
<div class="content-item">
|
||||
<div class="bg-circle"><i class="icon-person"></i>
|
||||
</div>
|
||||
<span class="text-gray">No email required</span>
|
||||
<span class="text-gray" translate>No email required</span>
|
||||
</div>
|
||||
<div class="content-item line-none">
|
||||
<div class="bg-circle"><i class="icon-download"></i>
|
||||
</div>
|
||||
<span class="text-gray">Need to be careful with backups</span>
|
||||
<span class="text-gray" translate>Need to be careful with backups</span>
|
||||
</div>
|
||||
</tab>
|
||||
</tabset>
|
||||
|
||||
<button translate class="button primary radius expand m0" ng-click="goToEmail()">
|
||||
<span ng-if="!useLocalstorage"> Create in the cloud</span>
|
||||
<span ng-if="useLocalstorage"> Create on this device</span>
|
||||
<button class="button primary radius expand m0" ng-click="goToEmail()">
|
||||
<span ng-if="!useLocalstorage" translate>Create in the cloud</span>
|
||||
<span ng-if="useLocalstorage" translate>Create on this device</span>
|
||||
</button>
|
||||
|
||||
<div class="box-setup-footer">
|
||||
|
@ -110,7 +112,7 @@
|
|||
</div>
|
||||
<div class="right">
|
||||
<a class="button outline dark-gray tiny"
|
||||
ng-click="$root.openExternalLink('https://copay.io/profile-storage.html')">
|
||||
ng-click="$root.openExternalLink('https://copay.io/profile-storage.html')" translate>
|
||||
Learn more about this option
|
||||
</a>
|
||||
</div>
|
||||
|
@ -119,13 +121,14 @@
|
|||
|
||||
<form ng-show="createStep == 'email'" name="emailForm" ng-submit="setEmailOrUsername(emailForm)" novalidate>
|
||||
<div class="input" ng-if="useEmail">
|
||||
<input type="email" ng-model="email" class="form-control fi-email" name="email" placeholder="Email" required auto-focus="!isMobile" ng-focus="formFocus()">
|
||||
<input type="email" ng-model="email" class="form-control fi-email" name="email"
|
||||
placeholder="{{'Email'|translate}}" required auto-focus="!isMobile" ng-focus="formFocus()">
|
||||
<i class="icon-email"></i>
|
||||
<div class="icon-input" ng-if="useEmail">
|
||||
<span translate class="has-error size-12" ng-show="emailForm.email.$invalid &&
|
||||
<span class="has-error size-12" ng-show="emailForm.email.$invalid &&
|
||||
!emailForm.email.$pristine">
|
||||
<i class="fi-x"></i>
|
||||
Not valid
|
||||
<span translate>Not valid</span>
|
||||
</span>
|
||||
<span ng-show="!emailForm.email.$invalid &&
|
||||
!emailForm.email.$pristine"><i class="fi-check"></i>
|
||||
|
@ -134,7 +137,8 @@
|
|||
</div>
|
||||
|
||||
<div class="input" ng-if="!useEmail">
|
||||
<input type="text" ng-model="username" class="form-control fi-user" name="username" placeholder="Username" required auto-focus="!isMobile" ng-focus="formFocus()">
|
||||
<input type="text" ng-model="username" class="form-control fi-user" name="username"
|
||||
placeholder="{{'Username'|translate}}" required auto-focus="!isMobile" ng-focus="formFocus()">
|
||||
<i class="icon-person"></i>
|
||||
</div>
|
||||
|
||||
|
@ -178,7 +182,7 @@
|
|||
<input type="password" ng-model="repeatpassword" class="input form-control" name="repeatpassword" placeholder="{{'Repeat password'|translate}}" match="password" required ng-focus="formFocus()">
|
||||
<i class="icon-locked"></i>
|
||||
<div class="icon-input">
|
||||
<span translate class="has-error size-12" ng-show="passForm.repeatpassword.$dirty &&
|
||||
<span class="has-error size-12" ng-show="passForm.repeatpassword.$dirty &&
|
||||
passForm.repeatpassword.$invalid">
|
||||
<i class="fi-x"></i>
|
||||
{{'Passwords must match'|translate}}
|
||||
|
@ -213,7 +217,7 @@
|
|||
<img src="img/clipo-pin.png" alt="clipo" width="380">
|
||||
</div>
|
||||
|
||||
<div class="text-white text-center" ng-show="askForPin == 2">Repeat PIN</div>
|
||||
<div class="text-white text-center" ng-show="askForPin == 2" translate>Repeat PIN</div>
|
||||
<div class="box-notification" ng-show="error">
|
||||
<div class="box-icon error">
|
||||
<i class="fi-x size-24"></i>
|
||||
|
|
|
@ -58,3 +58,5 @@
|
|||
{{'pending transaction proposals'|translate}}
|
||||
{{'Funds received!'|translate}}
|
||||
{{'Transaction broadcasted'|translate}}
|
||||
{{'Accessing your profile'|translate}}
|
||||
{{'Signing out'|translate}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="transactions" data-ng-controller="HistoryController" data-ng-init="update()">
|
||||
<div class="row">
|
||||
<div class="large-12 medium-12 small-12 columns">
|
||||
<h1 class="show-for-large-up">{{$root.title}}</h1>
|
||||
<h1 class="show-for-large-up">{{$root.title|translate}}</h1>
|
||||
<div ng-if="loading && !blockchain_txs[0].txid" class="m20b">
|
||||
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
|
||||
<span translate>Loading...</span>
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
<div class="row" ng-show="showDisclaimer">
|
||||
<div class="large-8 medium-10 small-12 large-centered medium-centered columns">
|
||||
<h1 class="text-white text-center">Disclaimer</h1>
|
||||
<p class="text-white">
|
||||
<h1 class="text-white text-center" translate>Disclaimer</h1>
|
||||
<p class="text-white" translate>
|
||||
The software you are about to use is free, open source, and unsupported beta software. It is important to understand
|
||||
that beta software refers to software that is undergoing testing and has not officially been released, could have
|
||||
bugs, and may not act in a reliable fashion. Because the software is currently in beta, it is possible but not certain
|
||||
|
@ -34,7 +34,9 @@
|
|||
software or the use or other dealings in the software. We reserve the right to modify this disclaimer from time to
|
||||
time.
|
||||
</p>
|
||||
<button class="success expand" ng-click="agreeDisclaimer()">I read and agree with these terms</button>
|
||||
<button class="success expand" ng-click="agreeDisclaimer()">
|
||||
{{'I read and agree with these terms'|translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -51,17 +53,15 @@
|
|||
<i class="size-36 fi-check m10r"></i>
|
||||
</div>
|
||||
<div class="size-14">
|
||||
<h3>
|
||||
Your email was confimed!
|
||||
</h3>
|
||||
Please sign in to access your wallets
|
||||
<h3 translate>Your email was confimed!</h3>
|
||||
<span translate>Please sign in to access your wallets</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if='askForPin || ($root.hasPin && !$root.iden)'>
|
||||
<h2 ng-show="$root.hasPin && !$root.iden"> Enter PIN </h2>
|
||||
<h2 ng-show="askForPin && askForPin !=2"> Set up a PIN </h2>
|
||||
<h2 ng-show="askForPin == 2">Repeat PIN</h2>
|
||||
<h2 ng-show="$root.hasPin && !$root.iden" translate>Enter PIN</h2>
|
||||
<h2 ng-show="askForPin && askForPin !=2" translate>Set up a PIN</h2>
|
||||
<h2 ng-show="askForPin == 2" translate>Repeat PIN</h2>
|
||||
<div class="box-notification" ng-show="error">
|
||||
<div class="box-icon error">
|
||||
<i class="fi-x size-24"></i>
|
||||
|
@ -81,15 +81,15 @@
|
|||
<div class="left">
|
||||
<i class="size-36 fi-alert m10r"></i>
|
||||
</div>
|
||||
<b>Copay now needs a profile to access wallets.</b>
|
||||
You can import your current wallets after
|
||||
<a class="text-white" ng-click="$root.go('/createProfile')">creating your profile</a>
|
||||
<b translate>Copay now needs a profile to access wallets.</b>
|
||||
<span translate>You can import your current wallets after</span>
|
||||
<a class="text-white" ng-click="$root.go('/createProfile')" translate>creating your profile</a>
|
||||
</div>
|
||||
<div class="p10 bg-success m20b text-white" ng-show="pendingPayment">
|
||||
<div class="left">
|
||||
<i class="size-36 m10r"></i>
|
||||
</div>
|
||||
<div class="size-14">
|
||||
<div class="size-14" translate>
|
||||
Please sign in to make the payment
|
||||
</div>
|
||||
</div>
|
||||
|
@ -104,27 +104,30 @@
|
|||
</div>
|
||||
|
||||
<div class="input" ng-if="!usingLocalStorage">
|
||||
<input type="email" ng-model="email" class="form-control" name="email" placeholder="Email" required show-focus="!isMobile" ng-focus="formFocus()">
|
||||
<input type="email" ng-model="email" class="form-control" name="email" placeholder="{{'Email'|translate}}"
|
||||
required show-focus="!isMobile" ng-focus="formFocus()">
|
||||
<i class="icon-email"></i>
|
||||
</div>
|
||||
|
||||
<div class="input" ng-if="usingLocalStorage">
|
||||
<input type="text" ng-model="email" class="form-control" name="email" placeholder="Username" required show-focus="!isMobile" ng-focus="formFocus()">
|
||||
<input type="text" ng-model="email" class="form-control" name="email" placeholder="{{'Username'|translate}}"
|
||||
required show-focus="!isMobile" ng-focus="formFocus()">
|
||||
<i class="icon-person"></i>
|
||||
</div>
|
||||
<div class="input">
|
||||
<input type="password" ng-model="password" class="form-control" name="password" placeholder="Password" required ng-focus="formFocus()">
|
||||
<input type="password" ng-model="password" class="form-control" name="password"
|
||||
placeholder="{{'Password'|translate}}" required ng-focus="formFocus()">
|
||||
<i class="icon-locked"></i>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<button translate type="submit" class="button primary radius expand m0"
|
||||
<button type="submit" class="button primary radius expand m0"
|
||||
ng-disabled="loginForm.$invalid">
|
||||
Sign in
|
||||
{{'Sign in'|translate}}
|
||||
</button>
|
||||
</form>
|
||||
<div ng-if="usingLocalStorage" class="text-gray size-12 m10v">
|
||||
<div ng-if="usingLocalStorage" class="text-gray size-12 m10v" translate>
|
||||
* Using this device storage. Change to cloud storage on 'settings'.
|
||||
</div>
|
||||
|
||||
|
|
|
@ -27,18 +27,19 @@
|
|||
<div class="avatar-wallet left">{{$root.wallet.getName() | limitTo: 1}}</div>
|
||||
<div class="wallet-info">
|
||||
<p class="m0">
|
||||
{{$root.wallet.requiredCopayers}} of {{$root.wallet.totalCopayers}}
|
||||
{{$root.wallet.requiredCopayers}} <span translate>of</span> {{$root.wallet.totalCopayers}}
|
||||
</p>
|
||||
<div class="size-12 text-gray">
|
||||
<span ng-if="$root.wallet.isShared() && !$root.wallet.isTestnet()">Multisignature wallet </span>
|
||||
<span ng-if="!$root.wallet.isShared() && !$root.wallet.isTestnet()">Personal Wallet</span>
|
||||
<span ng-if="$root.wallet.isTestnet()"> Testnet</span>
|
||||
<span ng-if="$root.wallet.isShared() && !$root.wallet.isTestnet()" translate>Multisignature wallet </span>
|
||||
|
||||
<span ng-if="!$root.wallet.isShared() && !$root.wallet.isTestnet()" translate>Personal Wallet</span>
|
||||
<span ng-if="$root.wallet.isTestnet()" translate>Testnet</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<a ng-click="$root.go('more')" class="button outline light-gray tiny m0">
|
||||
<i class="fi-widget size-18 vm"></i>
|
||||
<span class="show-for-medium-up">Settings</span>
|
||||
<span class="show-for-medium-up" translate>Settings</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -56,14 +57,16 @@
|
|||
ng-include="'views/includes/transaction.html'" ng-if="$root.wallet.pendingTxProposals[0]">
|
||||
</div>
|
||||
|
||||
<div class="text-right size-12 line-t p10t" ng-show="$root.wallet.balanceInfo.lockedBalance && !$root.wallet.balanceInfo.updatingBalance">
|
||||
Total Locked Balance:
|
||||
<b>{{$root.wallet.balanceInfo.lockedBalance}} {{$root.wallet.settings.unitName}} </b>
|
||||
<span class="text-gray"> {{$root.wallet.balanceInfo.lockedBalanceAlternative}} {{$root.wallet.balanceInfo.alternativeIsoCode}} </span>
|
||||
<div class="text-right size-12 line-t p10t"
|
||||
ng-show="$root.wallet.balanceInfo.lockedBalance && !$root.wallet.balanceInfo.updatingBalance">
|
||||
<span translate>Total Locked Balance</span>:
|
||||
<b>{{$root.wallet.balanceInfo.lockedBalance}} {{$root.wallet.settings.unitName}} </b>
|
||||
<span class="text-gray"> {{$root.wallet.balanceInfo.lockedBalanceAlternative}}
|
||||
{{$root.wallet.balanceInfo.alternativeIsoCode}} </span>
|
||||
</div>
|
||||
|
||||
<div class="pr" ng-if="!$root.wallet.pendingTxProposals[0]">
|
||||
<p> No pending spend proposals at the moment.
|
||||
<p translate>No pending spend proposals at the moment.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<div ng-show="!$root.starting">
|
||||
<div class="row hide-for-large-up">
|
||||
<div class="large-12 medium-12 small-12 columns">
|
||||
<h1>{{$root.title}}</h1>
|
||||
<h1>{{$root.title|translate}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
@ -41,7 +41,7 @@
|
|||
<span translate>You have old wallets in your localStorage. Choose one to import</span> <i class="fi-bitcoin"></i>
|
||||
</label>
|
||||
<select ng-model="backupOldWallet" name="backupOldWallet" ng-options="wallet.name for wallet in oldWallets">
|
||||
<option value="">-- choose wallet --</option>
|
||||
<option value="" translate>-- choose wallet --</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
<div ng-show="isSafari || isCordova">
|
||||
<div class="input">
|
||||
<textarea
|
||||
placeholder="Paste backup plain text code"
|
||||
placeholder="{{'Paste backup plain text code'|translate}}"
|
||||
class="form-control"
|
||||
name="backupText"
|
||||
ng-model="backupText"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<a ng-click="$root.go(item.link)" ng-class="{active: isActive(item)}">
|
||||
<i class="size-36 {{item.icon}} db"></i>
|
||||
<div class="size-10 tu">
|
||||
{{item.title}}
|
||||
{{item.title|translate}}
|
||||
<span class="label alert round" ng-if="item.link=='homeWallet' && $root.wallet.pendingTxProposalsCountForUs > 0">{{$root.wallet.pendingTxProposalsCountForUs}}</span>
|
||||
</div>
|
||||
</a>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="founds" ng-if="$root.wallet.isComplete()">
|
||||
<span ng-if="$root.wallet.balanceInfo.updatingBalance"><i class="fi-bitcoin-circle icon-rotate spinner"></i></span>
|
||||
<div ng-if="$root.wallet && !$root.wallet.balanceInfo.updatingBalance" data-options="disable_for_touch:true">
|
||||
<small class="db text-light">Balance:</small>
|
||||
<small class="db text-light" translate>Balance:</small>
|
||||
<b class="m5r">{{$root.wallet.balanceInfo.totalBalance || 0}} {{$root.wallet.settings.unitName}}</b>
|
||||
<span ng-if="$root.wallet.balanceInfo.alternativeBalanceAvailable" class="alt-currency gray">{{$root.wallet.balanceInfo.totalBalanceAlternative}} {{$root.wallet.balanceInfo.alternativeIsoCode}}</span>
|
||||
<span ng-if="!$root.wallet.balanceInfo.alternativeBalanceAvailable" class="alt-currency gray">N/A</span>
|
||||
|
@ -30,8 +30,10 @@
|
|||
<ul ng-show="hoverMenu" class="size-16 text-gray" ng-class="{'hover': hoverMenu}">
|
||||
<li>
|
||||
<li><a href="#!/profile" title="Profile">
|
||||
<i class="icon-person size-18 m10r"></i> {{'My Profile'|translate}}<span class="size-10 text-warning" ng-if="!$root.needsEmailConfirmation && $root.iden.backupNeeded"> [ Needs Backup ]</span></a>
|
||||
</li>
|
||||
<i class="icon-person size-18 m10r"></i> {{'My Profile'|translate}}<span class="size-10 text-warning"
|
||||
ng-if="!$root.needsEmailConfirmation && $root.iden.backupNeeded">
|
||||
[ <span translate>Needs Backup</span> ]</span></a>
|
||||
</li>
|
||||
<li><a ng-click="signout()">
|
||||
<span ng-if="!$root.hasPin"><i class="icon-power size-18 m10r"></i> {{'Close'|translate}}</span>
|
||||
<span ng-if="$root.hasPin"><i class="fi-lock size-18 m10r"></i> {{'Lock'|translate}}</span>
|
||||
|
|
|
@ -11,6 +11,6 @@
|
|||
<div class="contener_mixte"><div class="ballcolor ball_4"> </div></div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="text-gray size-12" ng-show="title">{{title}}...</span>
|
||||
<span class="text-gray size-12" ng-show="title">{{title|translate}}...</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<div class="pin-button-bar">
|
||||
<a class="pin-button" ng-click="skip()">
|
||||
<i class="icon-power text-primary" ng-show="$root.hasPin"></i>
|
||||
<i class="text-primary size-16 vm" ng-show="!$root.hasPin">Skip</i>
|
||||
<i class="text-primary size-16 vm" ng-show="!$root.hasPin" translate>Skip</i>
|
||||
</a>
|
||||
<a class="pin-button" ng-click="press(0)">0</a>
|
||||
<a class="pin-button" ng-click="clear()"><i class="fi-arrow-left"></i></a>
|
||||
|
|
|
@ -31,8 +31,8 @@
|
|||
</div>
|
||||
<div class="col2">
|
||||
<i class="icon-arrow-right3 size-18 right m10t"></i>
|
||||
<span class="tu text-bold">Add wallet</span> <br>
|
||||
<span class="text-light">Create, join or import</span>
|
||||
<span class="tu text-bold" translate>Add wallet</span> <br>
|
||||
<span class="text-light" translate>Create, join or import</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
@ -42,7 +42,7 @@
|
|||
<i class="fi-power size-21"></i>
|
||||
</div>
|
||||
<div class="col2 m5t m15b">
|
||||
<span class="tu text-bold">Close</span> <br>
|
||||
<span class="tu text-bold" translate>Close</span> <br>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="$root.hasPin" class="buttons-sidebar" title="Close" ng-click="signout()">
|
||||
|
@ -50,8 +50,8 @@
|
|||
<i class="fi-lock size-21"></i>
|
||||
</div>
|
||||
<div class="col2">
|
||||
<span class="tu text-bold">Lock</span> <br>
|
||||
<span class="text-light"> Require pin to unlock</span>
|
||||
<span class="tu text-bold" translate>Lock</span> <br>
|
||||
<span class="text-light" translate>Require pin to unlock</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div ng-init="init()">
|
||||
<header>
|
||||
<div class="left p15" ng-show="!$root.wallet">
|
||||
<span class="db m5t text-italic">You have no wallets</span>
|
||||
<span class="db m5t text-italic" translate>You have no wallets</span>
|
||||
</div>
|
||||
<div ng-show="$root.wallet">
|
||||
<div class="col1">
|
||||
|
@ -43,7 +43,9 @@
|
|||
<div class="col2">
|
||||
<a href class="size-12 wallet-item">
|
||||
<span class="ellipsis name-wallet">{{item.name || item.id}}</span>
|
||||
<span class="size-12 type-wallet"> {{item.requiredCopayers}} of {{item.totalCopayers}} </span>
|
||||
<span class="size-12 type-wallet">{{item.requiredCopayers}}
|
||||
<span translate>of</span> {{item.totalCopayers}}
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
|
@ -53,8 +55,8 @@
|
|||
<i class="fi-plus size-21"></i>
|
||||
</div>
|
||||
<div class="col2">
|
||||
<span class="tu text-bold">Add wallet</span> <br>
|
||||
<span class="text-light">Create, join or import</span>
|
||||
<span class="tu text-bold" translate>Add wallet</span> <br>
|
||||
<span class="text-light" translate>Create, join or import</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<div class="ellipsis p10b size-16 m20r" ng-init="pendingForUs = !tx.signedBy[$root.wallet.getMyCopayerId()] && !tx.rejectedBy[$root.wallet.getMyCopayerId()]">
|
||||
<span class="tx-proposal size-12 m5r"> <i ng-class="{'active':pendingForUs}" class="fi-arrow-right"></i> </span>
|
||||
<span class="text-gray">
|
||||
To:
|
||||
<span translate>To</span>:
|
||||
<span ng-if="tx.merchant">
|
||||
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock"></i> {{tx.merchant.domain}}</span>
|
||||
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock"></i> {{tx.merchant.domain}}</span>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<div ng-show="!$root.starting">
|
||||
<div class="row hide-for-large-up">
|
||||
<div class="large-12 medium-12 small-12 columns">
|
||||
<h1>{{$root.title}}</h1>
|
||||
<h1>{{$root.title|translate}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
@ -18,10 +18,10 @@
|
|||
<small translate data-options="disable_for_touch:true" ng-show="joinForm.connectionId.$pristine" class="has-tip
|
||||
text-gray" tooltip="Paste wallet secret here">Required</small>
|
||||
</label>
|
||||
<span translate class="has-error right size-12" ng-show="joinForm.connectionId.$invalid
|
||||
<span class="has-error right size-12" ng-show="joinForm.connectionId.$invalid
|
||||
&& !joinForm.connectionId.$pristine">
|
||||
<span class="icon-input"><i class="fi-x"></i></span>
|
||||
Wallet Secret is not valid!
|
||||
<span translate>Wallet Secret is not valid!</span>
|
||||
</span>
|
||||
<small class="icon-input right" ng-show="joinForm.connectionId.$valid
|
||||
&& !joinForm.connectionId.$pristine"><i class="fi-check"></i></small>
|
||||
|
@ -60,7 +60,8 @@
|
|||
<label for="ext-master">Master extended private key
|
||||
<input id="ext-master"
|
||||
type="text"
|
||||
placeholder="BIP32 master extended private key (hex)" name="private" ng-model="$parent.private">
|
||||
placeholder="{{'BIP32 master extended private key (hex)'|translate}}"
|
||||
name="private" ng-model="$parent.private">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
<nav class="tab-bar text-right hide-for-large-up">
|
||||
<span ng-click="close()" class="p10 text-white">Close</span>
|
||||
<span ng-click="close()" class="p10 text-white" translate>Close</span>
|
||||
</nav>
|
||||
<div class="modal-mobile">
|
||||
<h1 ng-show="!showForm">Address Book</h1>
|
||||
<h1 ng-show="showForm">Add a new entry</h1>
|
||||
<p translate class="text-gray m15b" ng-show="!showForm && !hasEntry()">Empty. Create an alias for your addresses</p>
|
||||
<h1 ng-show="!showForm" translate>Address Book</h1>
|
||||
<h1 ng-show="showForm" translate>Add a new entry</h1>
|
||||
<p translate class="text-gray m15b" ng-show="!showForm && !hasEntry()" translate>
|
||||
Empty. Create an alias for your addresses
|
||||
</p>
|
||||
<div class="box-notification" ng-show="success">
|
||||
<div class="box-icon success">
|
||||
<i class="size-24 fi-check"></i>
|
||||
</div>
|
||||
<span class="size-14 text-success">
|
||||
{{success}}
|
||||
{{success|translate}}
|
||||
</span>
|
||||
</div>
|
||||
<table class="addressbook line-t" ng-show="!showForm && hasEntry()">
|
||||
|
@ -19,7 +21,7 @@
|
|||
<th translate>Entry</th>
|
||||
<th class="show-for-large-up" ng-class="{'hide-for-small-only' : $root.wallet.isShared()}" ng-show="$root.wallet.isShared()" translate>Creator</th>
|
||||
<th class="show-for-large-up" translate>Date</th>
|
||||
<th class="show-for-large-up">Visible</th>
|
||||
<th class="show-for-large-up" translate>Visible</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -49,16 +51,16 @@
|
|||
<i class="size-24 fi-x"></i>
|
||||
</div>
|
||||
<span class="size-14 text-warning">
|
||||
{{error}}
|
||||
{{error|translate}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="row collapse">
|
||||
<label for="newaddress" class="left"><span translate>Address</span>
|
||||
<small translate ng-hide="!addressBookForm.newaddress.$pristine || newaddress">Required</small>
|
||||
</label>
|
||||
<span translate class="has-error right size-12" ng-show="addressBookForm.newaddress.$invalid && newaddress">
|
||||
<span class="has-error right size-12" ng-show="addressBookForm.newaddress.$invalid && newaddress">
|
||||
<span class="icon-input"><i class="fi-x"></i></span>
|
||||
Not valid
|
||||
<span translate>Not valid</span>
|
||||
</span>
|
||||
<small class="icon-input right" ng-show="!addressBookForm.newaddress.$invalid && newaddress"><i class="fi-check"></i></small>
|
||||
</div>
|
||||
|
@ -80,7 +82,7 @@
|
|||
ng-click="submitAddressBook(addressBookForm)">{{'Add'|translate}}</button>
|
||||
</form>
|
||||
<a ng-show="!showForm" class="button primary expand" ng-disabled="loading" ng-click="toggleForm()">
|
||||
<i class="fi-plus"></i> Add entry
|
||||
<i class="fi-plus"></i> <span translate>Add entry</span>
|
||||
</a>
|
||||
<a class="close-reveal-modal show-for-large-up" ng-click="close()"><i class="fi-x size-18"></i></a>
|
||||
</div>
|
||||
|
|
|
@ -14,23 +14,23 @@
|
|||
<div class="line-b m10v"></div>
|
||||
|
||||
<div class="ellipsis m10v">
|
||||
<i>To:</i> {{md.domain}}
|
||||
<i translate>To:</i> {{md.domain}}
|
||||
</div>
|
||||
|
||||
<div class="m10v">
|
||||
<i>Certified by:</i>
|
||||
<i translate>Certified by:</i>
|
||||
<span ng-show="md.pr.ca"><i class="fi-lock color-greeni"></i> {{md.pr.ca}}</span>
|
||||
<span ng-show="!md.pr.ca"><i class="fi-unlock color-yellowi"></i> Untrusted</span>
|
||||
<span ng-show="!md.pr.ca"><i class="fi-unlock color-yellowi"></i> <span translate>Untrusted</span></span>
|
||||
</div>
|
||||
|
||||
<div ng-if="md.pr.pd.memo" class="m10v lh140">
|
||||
<i>Merchant Message:</i> <span class="text-gray">
|
||||
<i translate>Merchant Message:</i> <span class="text-gray">
|
||||
{{md.pr.pd.memo}}
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-if="md.expirationDate" class="m10v">
|
||||
<i>Expires:</i> {{md.expirationDate | amTimeAgo }}
|
||||
<i translate>Expires:</i> {{md.expirationDate | amTimeAgo }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<nav class="tab-bar text-right hide-for-large-up">
|
||||
<span ng-click="cancel()" class="p10 text-white">Close</span>
|
||||
<span ng-click="cancel()" class="p10 text-white" translate>Close</span>
|
||||
</nav>
|
||||
<div class="modal-mobile text-center" ng-init="addr = address.address">
|
||||
<qrcode size="220" data="{{addr}}"></qrcode>
|
||||
|
@ -19,7 +19,7 @@
|
|||
</div>
|
||||
<div class="text-center m10t" ng-if="isCordova">
|
||||
<button class="primary expand" ng-click="copyAddress(addr)">
|
||||
<i class="fi-clipboard-pencil"></i> Copy to clipboard
|
||||
<i class="fi-clipboard-pencil"></i> <span translate>Copy to clipboard</span>
|
||||
</button>
|
||||
</div>
|
||||
<a class="close-reveal-modal show-for-large-up" ng-click="cancel()"><i class="fi-x size-18"></i></a>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<nav class="tab-bar text-right hide-for-large-up">
|
||||
<span ng-click="cancel()" class="p10 text-white">Close</span>
|
||||
<span ng-click="cancel()" class="p10 text-white" translate>Close</span>
|
||||
</nav>
|
||||
<div class="modal-mobile">
|
||||
<div class="header-modal text-center">
|
||||
<div ng-if="btx.addressTo" class="m10v">
|
||||
<span class="ellipsis">
|
||||
<i>To:</i>
|
||||
<i translate>To:</i>
|
||||
<span ng-if="btx.merchant">
|
||||
<span ng-show="btx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{btx.merchant.domain}}</span>
|
||||
<span ng-show="!btx.merchant.pr.ca"><i class="fi-unlock color-yellowi"></i> {{btx.merchant.domain}}</span>
|
||||
|
@ -75,7 +75,7 @@
|
|||
<small class="ellipsis text-gray m20b text-right" ng-if="btx.txid" > ID: {{btx.txid}} </small>
|
||||
|
||||
<a class="button outline light-gray tiny right" ng-click="$root.openExternalLink('http://' + getShortNetworkName() + '.insight.is/tx/' + btx.txid)" ng-if="btx.txid">
|
||||
See it on the blockchain <i class="icon-arrow-right2 vm"></i>
|
||||
<span translate>See it on the blockchain</span> <i class="icon-arrow-right2 vm"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
|
||||
|
||||
<div class="text-center m10v">
|
||||
{{statusStr}}
|
||||
{{statusStr|translate}}
|
||||
</div>
|
||||
<div class="text-center m10v">
|
||||
<a class="button primary" ng-click="cancel()">OKAY</a>
|
||||
<a class="button primary" ng-click="cancel()" translate>OKAY</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<nav class="tab-bar text-right hide-for-large-up">
|
||||
<span ng-click="cancel()" class="p10 text-white">Close</span>
|
||||
<span ng-click="cancel()" class="p10 text-white" translate>Close</span>
|
||||
</nav>
|
||||
<div class="modal-mobile">
|
||||
<div class="header-modal">
|
||||
|
@ -8,7 +8,7 @@
|
|||
<div class="ellipsis p10b size-16 m20r">
|
||||
<span class="tx-proposal size-12 m5r"> <i ng-class="{'active':pendingForUs}" class="fi-arrow-right"></i> </span>
|
||||
<span class="text-gray">
|
||||
To:
|
||||
<span translate>To:</span>
|
||||
<span ng-if="tx.merchant">
|
||||
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock"></i> {{tx.merchant.domain}}</span>
|
||||
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock"></i> {{tx.merchant.domain}}</span>
|
||||
|
@ -44,7 +44,7 @@
|
|||
|
||||
<div class="m10v line-b size-14" ng-if="tx.merchant">
|
||||
<div class="oh">
|
||||
<p class="left m5b">Merchant Message:</p>
|
||||
<p class="left m5b" translate>Merchant Message:</p>
|
||||
<div class="text-gray text-right m5t size-12" ng-if="tx.merchant && tx.merchant.expirationDate">
|
||||
<span><i>Expires</i>: {{tx.merchant.expirationDate | amTimeAgo }}</span>
|
||||
</div>
|
||||
|
@ -55,7 +55,7 @@
|
|||
</div>
|
||||
|
||||
<div ng-if="tx.actionList[0]" class="m10v">
|
||||
<i>Signatures:</i>
|
||||
<i translate>Signatures:</i>
|
||||
<ul class="tx-copayers m10t" ng-if="tx.actionList[0]">
|
||||
<li ng-repeat="cId in registeredCopayerIds"
|
||||
ng-class="{'bottom-line-copayers':!$last}">
|
||||
|
@ -79,7 +79,7 @@
|
|||
<i class="fi-x size-24"></i>
|
||||
</div>
|
||||
<span class="text-warning size-14">
|
||||
{{error}}
|
||||
{{error|translate}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
@ -119,13 +119,13 @@
|
|||
<a class="button outline light-gray tiny right"
|
||||
ng-click="$root.openExternalLink('http://' + getShortNetworkName() + '.insight.is/tx/' +
|
||||
$root.wallet.txProposals.txps[tx.ntxid].sentTxid)">
|
||||
See it on the blockchain <i class="icon-arrow-right2 vm"></i>
|
||||
<span translate>See it on the blockchain</span> <i class="icon-arrow-right2 vm"></i>
|
||||
</a>
|
||||
<div class="m10t">Transaction sent!</div>
|
||||
<div class="m10t" translate>Transaction sent!</div>
|
||||
</div>
|
||||
<div class="text-center text-warning"
|
||||
ng-show="!$root.wallet.txProposals.txps[tx.ntxid].sentTs &&
|
||||
$root.wallet.txProposals.txps[tx.ntxid].isFinallyRejected($root.wallet.maxRejectCount())">
|
||||
$root.wallet.txProposals.txps[tx.ntxid].isFinallyRejected($root.wallet.maxRejectCount())" translate>
|
||||
Transaction finally rejected
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<nav class="tab-bar text-right hide-for-large-up">
|
||||
<span ng-click="cancel()" class="p10 text-white">Close</span>
|
||||
<span ng-click="cancel()" class="p10 text-white" translate>Close</span>
|
||||
</nav>
|
||||
<div class="modal-mobile" ng-init="setWallets()">
|
||||
|
||||
<h1 class="line-b"> Select a wallet to make the payment</h1>
|
||||
<h1 class="line-b" translate>Select a wallet to make the payment</h1>
|
||||
|
||||
<div class="m20v" ng-show="!wallets[0]">Loading...</div>
|
||||
<div class="m20v" ng-show="!wallets[0]" translate>Loading...</div>
|
||||
<ul class="wallet-selection wallets" ng-show="wallets[0]">
|
||||
<li ng-repeat="item in wallets track by $index" class="nav-item" ng-show="+item.balanceInfo.totalBalanceBTC > 0" ng-click="ok(item)">
|
||||
<div class="col1">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="backup" ng-controller="MoreController">
|
||||
<div class="row show-for-large-up">
|
||||
<div class="large-12 medium-12 small-12 columns">
|
||||
<h1>{{$root.title}}</h1>
|
||||
<h1>{{$root.title|translate}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form name="settingsForm">
|
||||
|
@ -24,32 +24,32 @@
|
|||
</form>
|
||||
<div class="row">
|
||||
<div class="large-8 columns" ng-init="isComplete = wallet.isComplete(); networkName = wallet.getNetworkName()">
|
||||
<h4>Wallet info</h4>
|
||||
<h4 translate>Wallet info</h4>
|
||||
<table>
|
||||
<tr>
|
||||
<td><strong>Name:</strong></td>
|
||||
<td><strong translate>Name:</strong></td>
|
||||
<td>{{wallet.name || wallet.id }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Status:</strong></td>
|
||||
<td><strong translate>Status:</strong></td>
|
||||
<td>{{isComplete ? 'Complete' : 'Waiting for copayers...'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Type:</strong></td>
|
||||
<td><strong translate>Type:</strong></td>
|
||||
<td>{{wallet.requiredCopayers}} of {{wallet.totalCopayers}} - {{networkName}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Balance:</strong></td>
|
||||
<td><strong translate>Balance:</strong></td>
|
||||
<td><span ng-if="isComplete">{{wallet.balanceInfo.totalBalance || 0}} {{wallet.settings.unitName}}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Aprox. size:</strong></td>
|
||||
<td><strong translate>Aprox. size:</strong></td>
|
||||
<td>{{wallet.kb}} kB <span ng-if="wallet.usage">({{wallet.usage}}%)</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="large-4 columns" ng-if="$root.wallet.isShared()">
|
||||
<h4>Copayers</h4>
|
||||
<h4 translate>Copayers</h4>
|
||||
<div class="panel oh">
|
||||
<div ng-include="'views/includes/copayers.html'"></div>
|
||||
</div>
|
||||
|
@ -59,29 +59,33 @@
|
|||
<div class="row" ng-show="!backupWalletPlainText && !error">
|
||||
<div class="large-8 medium-12 small-12 columns">
|
||||
<button class="primary expand" ng-click="downloadWalletBackup()" ng-disabled="loading"
|
||||
ng-show="!isSafari && !isCordova"><i class="fi-download"></i> Download backup</button>
|
||||
ng-show="!isSafari && !isCordova"><i class="fi-download"></i>
|
||||
<span translate>Download backup</span></button>
|
||||
<button class="primary expand" ng-click="viewWalletBackup()" ng-disabled="loading"
|
||||
ng-show="isSafari && !isCordova"><i class="fi-eye"></i> View backup</button>
|
||||
ng-show="isSafari && !isCordova"><i class="fi-eye"></i>
|
||||
<span translate>View backup</span></button>
|
||||
<div ng-show="isCordova">
|
||||
<h4>Backup options</h4>
|
||||
<h4 translate>Backup options</h4>
|
||||
<button class="primary expand"
|
||||
ng-click="copyWalletBackup()"><i class="fi-clipboard-pencil"></i> Copy to clipboard</button>
|
||||
ng-click="copyWalletBackup()"><i class="fi-clipboard-pencil"></i>
|
||||
<span translate>Copy to clipboard</span></button>
|
||||
<button class="primary expand"
|
||||
ng-click="sendWalletBackup()"><i class="fi-mail"></i> Send by email</button>
|
||||
ng-click="sendWalletBackup()"><i class="fi-mail"></i>
|
||||
<span translate>Send by email</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row m20b" ng-show="backupWalletPlainText">
|
||||
<div class="large-12 columns">
|
||||
<h3>Copy backup in a safe place</h3>
|
||||
<h3 translate>Copy backup in a safe place</h3>
|
||||
<div class="input">
|
||||
<textarea class="show-for-large-up" readonly rows="7">{{backupWalletPlainText}}</textarea>
|
||||
<textarea class="hide-for-large-up" rows="12">{{backupWalletPlainText}}</textarea>
|
||||
</div>
|
||||
<div translate class="size-12 text-gray text-right">
|
||||
<div class="size-12 text-gray text-right">
|
||||
<i class="icon-compose"></i>
|
||||
Copy this text as it is in a safe place (notepad or email)
|
||||
<span translate>Copy this text as it is in a safe place (notepad or email)</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -119,15 +123,15 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="text-center" ng-show="confirmDelete">
|
||||
<h2>Are you sure you want to delete this wallet?</h2>
|
||||
<h2 translate>Are you sure you want to delete this wallet?</h2>
|
||||
<div class="row">
|
||||
<div class="large-6 medium-6 small-6 columns">
|
||||
<button class="gray" ng-disabled="loading"
|
||||
ng-click="confirmDelete=!confirmDelete">Cancel</button>
|
||||
ng-click="confirmDelete=!confirmDelete" translate>Cancel</button>
|
||||
</div>
|
||||
<div class="large-6 medium-6 small-6 columns">
|
||||
<button class="warning" ng-disabled="loading" ng-click="deleteWallet()">
|
||||
<i class="fi-trash"></i> Delete
|
||||
<i class="fi-trash"></i> <span translate>Delete</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -149,7 +153,7 @@
|
|||
<textarea>{{priv}}</textarea>
|
||||
<span ng-if="isCordova" class="button outline dark-gray tiny"
|
||||
ng-click="copyText(priv)">
|
||||
<i class="fi-clipboard-pencil"></i> Copy to clipboard
|
||||
<i class="fi-clipboard-pencil"></i> <span translate>Copy to clipboard</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -203,7 +207,7 @@
|
|||
<textarea>{{secret}}</textarea>
|
||||
<span ng-if="isCordova" class="button outline dark-gray tiny"
|
||||
ng-click="copyText(secret)">
|
||||
<i class="fi-clipboard-pencil"></i> Copy to clipboard
|
||||
<i class="fi-clipboard-pencil"></i> <span translate>Copy to clipboard</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -14,9 +14,13 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="large-10 medium-10 columns">
|
||||
<h2>Profile <span class="size-12 text-warning" ng-if="$root.iden.backupNeeded"> [ Needs Backup ]</span></h2>
|
||||
<span translate class="text-gray">It's important to backup your profile so that you can recover it in case
|
||||
of disaster. The backup will include all your profile's wallets</span>
|
||||
<h2>
|
||||
<span translate>Profile</span>
|
||||
<span class="size-12 text-warning" ng-if="$root.iden.backupNeeded">
|
||||
[ <span translate>Needs Backup</span> ]
|
||||
</span>
|
||||
</h2>
|
||||
<span translate class="text-gray">It's important to backup your profile so that you can recover it in case of disaster. The backup will include all your profile's wallets</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -26,29 +30,33 @@
|
|||
<div class="row" ng-show="!backupProfilePlainText">
|
||||
<div class="large-12 columns">
|
||||
<button class="primary expand" ng-click="downloadProfileBackup()" ng-disabled="loading"
|
||||
ng-show="!isSafari && !isCordova"><i class="fi-download"></i> Download backup</button>
|
||||
ng-show="!isSafari && !isCordova"><i class="fi-download"></i>
|
||||
<span translate>Download backup</span></button>
|
||||
<button class="primary expand" ng-click="viewProfileBackup()" ng-disabled="loading"
|
||||
ng-show="isSafari && !isCordova"><i class="fi-eye"></i> View backup</button>
|
||||
ng-show="isSafari && !isCordova"><i class="fi-eye"></i>
|
||||
<span translate>View backup</span></button>
|
||||
<div ng-show="isCordova">
|
||||
<h4>Backup options</h4>
|
||||
<h4 translate>Backup options</h4>
|
||||
<button class="primary expand"
|
||||
ng-click="copyProfileBackup()"><i class="fi-clipboard-pencil"></i> Copy to clipboard</button>
|
||||
ng-click="copyProfileBackup()"><i class="fi-clipboard-pencil"></i>
|
||||
<span translate>Copy to clipboard</span></button>
|
||||
<button class="primary expand"
|
||||
ng-click="sendProfileBackup()"><i class="fi-mail"></i> Send by email</button>
|
||||
ng-click="sendProfileBackup()"><i class="fi-mail"></i>
|
||||
<span translate>Send by email</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row m20b" ng-show="backupProfilePlainText">
|
||||
<div class="large-12 columns">
|
||||
<h3>Copy backup in a safe place</h3>
|
||||
<h3 translate>Copy backup in a safe place</h3>
|
||||
<div class="input">
|
||||
<textarea class="show-for-large-up" readonly rows="5">{{backupProfilePlainText}}</textarea>
|
||||
<textarea class="hide-for-large-up" rows="5">{{backupProfilePlainText}}</textarea>
|
||||
</div>
|
||||
<div translate class="size-12 text-gray text-right">
|
||||
<div class="size-12 text-gray text-right">
|
||||
<i class="icon-compose"></i>
|
||||
Copy this text as it is in a safe place (notepad or email)
|
||||
<span translate>Copy this text as it is in a safe place (notepad or email)</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -58,11 +66,12 @@
|
|||
|
||||
<div class="row size-12 m20b">
|
||||
<div class="large-12 columns">
|
||||
<div ng-if="perItem">
|
||||
<div ng-if="perItem" translate>
|
||||
Your current server usage quotas are: <b>{{perItem}}kB</b> per wallet and up to <b>{{nrWallets}}</b> wallets.
|
||||
</div>
|
||||
<div ng-if="$root.needsEmailConfirmation" class="m10t">
|
||||
<i class="fi-alert"></i> Confirm your email address to increase storage usage limits.
|
||||
<i class="fi-alert"></i>
|
||||
<span translate>Confirm your email address to increase storage usage limits.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -95,15 +104,15 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="text-center" ng-show="confirmDelete">
|
||||
<h2>Are you sure you want to delete this profile?</h2>
|
||||
<h2 translate>Are you sure you want to delete this profile?</h2>
|
||||
<div class="row">
|
||||
<div class="large-6 medium-6 small-6 columns">
|
||||
<button class="gray" ng-disabled="loading"
|
||||
ng-click="confirmDelete=!confirmDelete">Cancel</button>
|
||||
ng-click="confirmDelete=!confirmDelete" translate>Cancel</button>
|
||||
</div>
|
||||
<div class="large-6 medium-6 small-6 columns">
|
||||
<button class="warning" ng-disabled="loading" ng-click="deleteProfile()">
|
||||
<i class="fi-trash"></i> Delete
|
||||
<i class="fi-trash"></i> <span translate>Delete</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="addresses" ng-controller="ReceiveController" ng-init="init()">
|
||||
<div class="row">
|
||||
<div class="large-12 medium-12 small-12 columns">
|
||||
<h1 class="show-for-large-up">{{$root.title}}</h1>
|
||||
<h1 class="show-for-large-up">{{$root.title|translate}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -19,10 +19,11 @@
|
|||
<div class="m10t text-center" ng-show="isCordova">
|
||||
<span class="button outline dark-gray tiny"
|
||||
ng-click="shareAddress(addr)">
|
||||
<i class="fi-share"></i> Share address
|
||||
<i class="fi-share"></i>
|
||||
<span translate>Share address</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="line-t size-12">
|
||||
<div class="line-t size-12" translate>
|
||||
Share this with anyone to have them send you payments. To protect your privacy, new addresses are generated automatically once you use them.
|
||||
</div>
|
||||
</div>
|
||||
|
@ -58,7 +59,7 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="large-6 medium-6 small-6 columns text-right">
|
||||
<a class="button secondary tiny" ng-click="newAddr()" ng-disabled="loading">
|
||||
<a class="button secondary tiny" ng-click="newAddr()" ng-disabled="loading" translate>
|
||||
Generate new address
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -6,8 +6,14 @@
|
|||
<i class="fi-info size-42 m10r"></i>
|
||||
</div>
|
||||
<div>
|
||||
<p class="m0 size-14 text-bold">Available Balance: {{$root.wallet.balanceInfo.availableBalance}} {{$root.wallet.settings.unitName}}</p>
|
||||
<span class="size-12 text-gray">{{$root.wallet.balanceInfo.lockedBalance}} {{$root.wallet.settings.unitName}} in pending transactions</span>
|
||||
<p class="m0 size-14 text-bold">
|
||||
<span translate>Available Balance</span>:
|
||||
{{$root.wallet.balanceInfo.availableBalance}} {{$root.wallet.settings.unitName}}
|
||||
</p>
|
||||
<span class="size-12 text-gray">
|
||||
{{$root.wallet.balanceInfo.lockedBalance}} {{$root.wallet.settings.unitName}}
|
||||
<span translate>in pending transactions</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -16,7 +22,7 @@
|
|||
<div class="large-8 large-centered columns">
|
||||
<div class="row show-for-large-up">
|
||||
<div class="large-7 columns">
|
||||
<h1>{{$root.title}}</h1>
|
||||
<h1>{{$root.title|translate}}</h1>
|
||||
</div>
|
||||
<div class="large-5 columns show-for-large-up text-right"
|
||||
ng-show="(!lockAddress && !_merchantData && !fetchingURL)">
|
||||
|
@ -24,7 +30,7 @@
|
|||
<a class="button radius black tiny m0" ng-click="openScanner()"><i class="fi-camera size-18 vm m5r"></i> Scan QR </a>
|
||||
</div>
|
||||
<div ng-show="showScanner">
|
||||
<a translate class="button radius tiny warning m0" ng-click="cancelScanner()"><i class="fi-x size-18"></i> </a>
|
||||
<a class="button radius tiny warning m0" ng-click="cancelScanner()"><i class="fi-x size-18"></i> </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -32,7 +38,7 @@
|
|||
<div class="box-icon secondary">
|
||||
<i class="fi-bitcoin-circle size-24"></i>
|
||||
</div>
|
||||
<span class="text-secondary size-14">
|
||||
<span class="text-secondary size-14" translate>
|
||||
Fetching Payment Information...
|
||||
</span>
|
||||
</div>
|
||||
|
@ -65,11 +71,11 @@
|
|||
</label>
|
||||
|
||||
<span ng-hide="sendForm.address.$pristine">
|
||||
<span translate class="has-error right size-12" ng-show="sendForm.address.$invalid && _address">
|
||||
<span class="has-error right size-12" ng-show="sendForm.address.$invalid && _address">
|
||||
<span class="icon-input">
|
||||
<i class="fi-x"></i>
|
||||
</span>
|
||||
Not valid
|
||||
<span translate>Not valid</span>
|
||||
</span>
|
||||
<small class="icon-input right" ng-show="!sendForm.address.$invalid">
|
||||
<i class="fi-check"></i>
|
||||
|
@ -101,9 +107,9 @@
|
|||
<div class="row" ng-init="showAlternative = false" ng-hide="hideAmount">
|
||||
<div class="large-12 medium-12 columns">
|
||||
<div class="m5b right" ng-hide="sendForm.amount.$pristine">
|
||||
<span translate class="has-error right size-12" ng-show="sendForm.amount.$invalid">
|
||||
<span class="has-error right size-12" ng-show="sendForm.amount.$invalid">
|
||||
<span class="icon-input"><i class="fi-x"></i></span>
|
||||
Not valid
|
||||
<span translate>Not valid</span>
|
||||
</span>
|
||||
<small class="icon-input right" ng-show="!sendForm.amount.$invalid">
|
||||
<i class="fi-check"></i>
|
||||
|
@ -136,21 +142,27 @@
|
|||
<small translate class="has-error" ng-show="sendForm.comment.$invalid && !sendForm.comment.$pristine">too long!</small>
|
||||
</label>
|
||||
<div class="input">
|
||||
<textarea id="comment" ng-disabled="loading" name="comment" ng-if="isShared" placeholder="Leave a private message to your copayers" ng-maxlength="100" ng-model="_comment" ng-focus="formFocus('msg')" ng-blur="formFocus(false)"></textarea>
|
||||
<textarea id="comment" ng-disabled="loading" name="comment" ng-if="!isShared" placeholder="Add a private comment to identify the transaction" ng-maxlength="100" ng-model="_comment" ng-focus="formFocus('msg')" ng-blur="formFocus(false)"></textarea>
|
||||
<textarea id="comment" ng-disabled="loading" name="comment" ng-if="isShared"
|
||||
placeholder="{{'Leave a private message to your copayers'|translate}}"
|
||||
ng-maxlength="100" ng-model="_comment" ng-focus="formFocus('msg')"
|
||||
ng-blur="formFocus(false)"></textarea>
|
||||
<textarea id="comment" ng-disabled="loading" name="comment" ng-if="!isShared"
|
||||
placeholder="{{'Add a private comment to identify the transaction'|translate}}"
|
||||
ng-maxlength="100" ng-model="_comment" ng-focus="formFocus('msg')"
|
||||
ng-blur="formFocus(false)"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="large-6 medium-6 small-12 columns">
|
||||
<button type="submit" class="button primary expand" ng-disabled="sendForm.$invalid || loading">
|
||||
<button type="submit" class="button primary expand" ng-disabled="sendForm.$invalid || loading" translate>
|
||||
Send
|
||||
</button>
|
||||
</div>
|
||||
<div class="large-4 medium-4 small-12 columns text-right">
|
||||
<a ng-click="resetForm()" class="button expand warning"
|
||||
ng-show="(_merchantData || lockAddress) && !loading">Cancel</a>
|
||||
ng-show="(_merchantData || lockAddress) && !loading" translate>Cancel</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="settings row" ng-controller="SettingsController">
|
||||
<h1 class="hide-for-small-only">{{$root.title}}</h1>
|
||||
<h1 class="hide-for-small-only">{{$root.title|translate}}</h1>
|
||||
<div class="large-5 large-centered medium-7 medium-centered columns">
|
||||
<div class="logo-setup show-for-large-up" id="top">
|
||||
<img src="img/logo-negative-beta.svg" alt="Copay" width="100">
|
||||
|
@ -19,9 +19,9 @@
|
|||
<legend translate>Insight API server</legend>
|
||||
<div class="row collapse">
|
||||
<label class="left" for="insightLivenet">Livenet</label>
|
||||
<div translate class="has-error right size-12" ng-show="settingsForm.insightLivenet.$invalid">
|
||||
<div class="has-error right size-12" ng-show="settingsForm.insightLivenet.$invalid">
|
||||
<span class="icon-input"><i class="fi-x"></i></span>
|
||||
Not valid
|
||||
<span translate>Not valid</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input">
|
||||
|
@ -30,38 +30,33 @@
|
|||
|
||||
<div class="row collapse">
|
||||
<label class="left" for="insightTestnet">Testnet</label>
|
||||
<div translate class="has-error right size-12" ng-show="settingsForm.insightTestnet.$invalid">
|
||||
<div class="has-error right size-12" ng-show="settingsForm.insightTestnet.$invalid">
|
||||
<span class="icon-input"><i class="fi-x"></i></span>
|
||||
Not valid
|
||||
<span translate>Not valid</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input">
|
||||
<input type="text" ng-model="insightTestnet" class="form-control" name="insightTestnet" valid-url required>
|
||||
</div>
|
||||
|
||||
<small translate class="text-gray">
|
||||
Insight API server is open-source software. You can run your own instances, check
|
||||
<a href
|
||||
ng-click="$root.openExternalLink('https://insight.is')">Insight API Homepage</a>
|
||||
<small class="text-gray">
|
||||
<span translate>Insight API server is open-source software. You can run your own instances, check</span>
|
||||
<a href
|
||||
ng-click="$root.openExternalLink('https://insight.is')">Insight API Homepage</a>
|
||||
</small>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend translate>Storage</legend>
|
||||
<label for="insightTestnet">Read and Store Profiles:</label>
|
||||
<label for="insightTestnet" translate>Read and Store Profiles:</label>
|
||||
<select class="form-control" ng-model="selectedStorage" ng-options="o.name for o in availableStorages" required>
|
||||
</select>
|
||||
<small translate class="text-gray">
|
||||
Wallets and profiles are stored encrypted using your password as a key. You can store the encrypted data locally, on this device, or remotely on the cloud (Insight Server).
|
||||
<a href
|
||||
ng-click="$root.openExternalLink('https://github.com/bitpay/copay/tree/master/js/plugins')">
|
||||
More pluggins are welcomed!</a>
|
||||
<small class="text-gray">
|
||||
<span translate>Wallets and profiles are stored encrypted using your password as a key. You can store the encrypted data locally, on this device, or remotely on the cloud (Insight Server).</span>
|
||||
<a translate href
|
||||
ng-click="$root.openExternalLink('https://github.com/bitpay/copay/tree/master/js/plugins')">
|
||||
More pluggins are welcomed!</a>
|
||||
</small>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend translate>Language</legend>
|
||||
<select class="form-control" ng-model="selectedLanguage" ng-options="o.name for o in availableLanguages" required>
|
||||
</select>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend translate>Log level</legend>
|
||||
<select class="form-control" ng-model="selectedLogLevel" ng-options="o.name for o in availableLogLevels" required>
|
||||
|
|
Loading…
Reference in New Issue