JimmyMow
6 years ago
committed by
GitHub
136 changed files with 6999 additions and 1294 deletions
@ -0,0 +1,6 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
expires: 'Expires in' |
|||
}) |
@ -0,0 +1,10 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
received: 'Received payment', |
|||
requested: 'Requested payment', |
|||
type_paid: 'Lightning invoice (paid)', |
|||
type_unpaid: 'Lightning invoice (unpaid)', |
|||
amount: 'Invoice amount' |
|||
}) |
@ -0,0 +1,12 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
copy: 'Copy Request', |
|||
pay_req: 'Payment Request', |
|||
memo: 'Memo', |
|||
request: 'Request', |
|||
save: 'Save as image', |
|||
not_paid: 'Not Paid', |
|||
paid: 'Paid' |
|||
}) |
@ -0,0 +1,8 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
amount: 'Payment amount', |
|||
fee: 'Payment fee', |
|||
type: 'Lightning payment' |
|||
}) |
@ -0,0 +1,8 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
sent: 'Sent', |
|||
fee: 'Fee', |
|||
lightning: 'Lightning Network' |
|||
}) |
@ -0,0 +1,10 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
received: 'Received', |
|||
sent: 'Sent', |
|||
amount: 'Transaction amount', |
|||
fee: 'Transaction fee', |
|||
type: 'On-chain transaction' |
|||
}) |
@ -0,0 +1,9 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
fee: 'Fee', |
|||
on_chain: 'On-Chain', |
|||
received: 'Received', |
|||
sent: 'Sent' |
|||
}) |
@ -0,0 +1,13 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
all: 'All', |
|||
sent: 'Sent', |
|||
requested: 'Requested', |
|||
pending: 'Pending', |
|||
refresh: 'Refresh', |
|||
search: 'Search', |
|||
hide_expired: 'Hide Expired Requests', |
|||
show_expired: 'Show Expired Requests' |
|||
}) |
@ -0,0 +1,11 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
export default defineMessages({ |
|||
online: 'Online', |
|||
offline: 'Offline', |
|||
pending: 'Pending', |
|||
private: 'Private', |
|||
manual_button: 'Connect Manually', |
|||
manual_description: |
|||
"Hm, looks like we can't see that node from here, wanna try to manually connect?" |
|||
}) |
@ -0,0 +1,9 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
title: 'Connect Manually', |
|||
description: 'Please enter the peer’s pubkey@host', |
|||
placeholder: 'pubkey@host', |
|||
submit: 'Submit' |
|||
}) |
@ -1,139 +0,0 @@ |
|||
import React from 'react' |
|||
import PropTypes from 'prop-types' |
|||
import ReactModal from 'react-modal' |
|||
import FaCircle from 'react-icons/lib/fa/circle' |
|||
import MdClose from 'react-icons/lib/md/close' |
|||
|
|||
import { btc } from 'lib/utils' |
|||
|
|||
import styles from './ContactModal.scss' |
|||
|
|||
const ContactModal = ({ |
|||
isOpen, |
|||
channel, |
|||
closeContactModal, |
|||
channelNodes, |
|||
closeChannel, |
|||
closingChannelIds |
|||
}) => { |
|||
if (!channel) { |
|||
return <span /> |
|||
} |
|||
|
|||
const customStyles = { |
|||
overlay: { |
|||
cursor: 'pointer', |
|||
overflowY: 'auto' |
|||
}, |
|||
content: { |
|||
top: 'auto', |
|||
left: '0', |
|||
right: '0', |
|||
bottom: 'auto', |
|||
width: '40%', |
|||
margin: '50px auto', |
|||
borderRadius: 'none', |
|||
padding: '0' |
|||
} |
|||
} |
|||
|
|||
const removeClicked = () => { |
|||
closeChannel({ |
|||
channel_point: channel.channel_point, |
|||
chan_id: channel.chan_id, |
|||
force: !channel.active |
|||
}) |
|||
} |
|||
|
|||
// the remote node for the channel
|
|||
const node = channelNodes.find(node => node.pub_key === channel.remote_pubkey) |
|||
|
|||
return ( |
|||
<ReactModal |
|||
isOpen={isOpen} |
|||
contentLabel="No Overlay Click Modal" |
|||
ariaHideApp |
|||
shouldCloseOnOverlayClick |
|||
onRequestClose={closeContactModal} |
|||
parentSelector={() => document.body} |
|||
style={customStyles} |
|||
> |
|||
{channel && ( |
|||
<div className={styles.container}> |
|||
<header className={styles.header}> |
|||
<div className={`${styles.status} ${channel.active ? styles.online : undefined}`}> |
|||
<FaCircle style={{ verticalAlign: 'top' }} /> |
|||
<span>{channel.active ? 'Online' : 'Offline'}</span> |
|||
</div> |
|||
<div className={styles.closeContainer}> |
|||
<span onClick={closeContactModal}> |
|||
<MdClose /> |
|||
</span> |
|||
</div> |
|||
</header> |
|||
|
|||
<section className={styles.title}> |
|||
{node && <h1>{node.alias}</h1>} |
|||
<h2>{channel.remote_pubkey}</h2> |
|||
</section> |
|||
|
|||
<section className={styles.stats}> |
|||
<div className={styles.pay}> |
|||
<h4>Can Pay</h4> |
|||
<div className={styles.meter}> |
|||
<div |
|||
className={styles.amount} |
|||
style={{ width: `${(channel.local_balance / channel.capacity) * 100}%` }} |
|||
/> |
|||
</div> |
|||
<span>{btc.satoshisToBtc(channel.local_balance)} BTC</span> |
|||
</div> |
|||
|
|||
<div className={styles.pay}> |
|||
<h4>Can Receive</h4> |
|||
<div className={styles.meter}> |
|||
<div |
|||
className={styles.amount} |
|||
style={{ width: `${(channel.remote_balance / channel.capacity) * 100}%` }} |
|||
/> |
|||
</div> |
|||
<span>{btc.satoshisToBtc(channel.remote_balance)} BTC</span> |
|||
</div> |
|||
|
|||
<div className={styles.sent}> |
|||
<h4>Total Bitcoin Sent</h4> |
|||
<p>{btc.satoshisToBtc(channel.total_satoshis_sent)} BTC</p> |
|||
</div> |
|||
<div className={styles.received}> |
|||
<h4>Total Bitcoin Received</h4> |
|||
<p>{btc.satoshisToBtc(channel.total_satoshis_received)} BTC</p> |
|||
</div> |
|||
</section> |
|||
|
|||
<footer> |
|||
{closingChannelIds.includes(channel.chan_id) ? ( |
|||
<span className={styles.inactive}> |
|||
<div className={styles.loading}> |
|||
<div className={styles.spinner} /> |
|||
</div> |
|||
</span> |
|||
) : ( |
|||
<div onClick={removeClicked}>Remove</div> |
|||
)} |
|||
</footer> |
|||
</div> |
|||
)} |
|||
</ReactModal> |
|||
) |
|||
} |
|||
|
|||
ContactModal.propTypes = { |
|||
channel: PropTypes.object, |
|||
isOpen: PropTypes.bool.isRequired, |
|||
closeContactModal: PropTypes.func.isRequired, |
|||
channelNodes: PropTypes.array.isRequired, |
|||
closeChannel: PropTypes.func.isRequired, |
|||
closingChannelIds: PropTypes.array.isRequired |
|||
} |
|||
|
|||
export default ContactModal |
@ -1,151 +0,0 @@ |
|||
@import 'styles/variables.scss'; |
|||
|
|||
.header { |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: flex-end; |
|||
background: $lightgrey; |
|||
padding: 20px; |
|||
|
|||
.status { |
|||
font-size: 12px; |
|||
color: $darkestgrey; |
|||
|
|||
&.online { |
|||
color: $green; |
|||
} |
|||
|
|||
span { |
|||
margin-left: 5px; |
|||
} |
|||
} |
|||
|
|||
.closeContainer { |
|||
background: $lightgrey; |
|||
line-height: 12px; |
|||
|
|||
span { |
|||
color: $darkestgrey; |
|||
cursor: pointer; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.container section { |
|||
margin-bottom: 30px; |
|||
padding: 0 20px; |
|||
|
|||
.pay, |
|||
.receive, |
|||
.sent, |
|||
.received { |
|||
margin: 40px 0; |
|||
} |
|||
} |
|||
|
|||
.container .title { |
|||
margin: 0; |
|||
padding: 30px 20px; |
|||
background: $lightgrey; |
|||
|
|||
h1 { |
|||
color: $secondary; |
|||
font-weight: bold; |
|||
font-size: 16px; |
|||
letter-spacing: 1.1px; |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
h2 { |
|||
font-size: 12px; |
|||
color: $darkestgrey; |
|||
font-weight: 100; |
|||
} |
|||
} |
|||
|
|||
.stats { |
|||
h4 { |
|||
color: $secondary; |
|||
font-weight: bold; |
|||
font-size: 12px; |
|||
} |
|||
|
|||
span { |
|||
font-size: 14px; |
|||
} |
|||
|
|||
p { |
|||
margin-top: 10px; |
|||
color: $darkestgrey; |
|||
} |
|||
|
|||
.meter, |
|||
.amount { |
|||
height: 10px; |
|||
border-radius: 10px; |
|||
} |
|||
|
|||
.meter { |
|||
background: $darkgrey; |
|||
width: 100%; |
|||
margin: 10px 0; |
|||
} |
|||
|
|||
.amount { |
|||
background: $darkestgrey; |
|||
} |
|||
} |
|||
|
|||
.container footer { |
|||
padding: 20px; |
|||
text-align: center; |
|||
|
|||
div { |
|||
color: $red; |
|||
font-size: 18px; |
|||
|
|||
&:hover { |
|||
color: lighten($red, 10%); |
|||
} |
|||
} |
|||
} |
|||
|
|||
@-webkit-keyframes animation-rotate { |
|||
100% { |
|||
-webkit-transform: rotate(360deg); |
|||
} |
|||
} |
|||
|
|||
@-moz-keyframes animation-rotate { |
|||
100% { |
|||
-moz-transform: rotate(360deg); |
|||
} |
|||
} |
|||
|
|||
@-o-keyframes animation-rotate { |
|||
100% { |
|||
-o-transform: rotate(360deg); |
|||
} |
|||
} |
|||
|
|||
@keyframes animation-rotate { |
|||
100% { |
|||
transform: rotate(360deg); |
|||
} |
|||
} |
|||
|
|||
.spinner { |
|||
border: 1px solid rgba(0, 0, 0, 0.1); |
|||
border-left-color: rgba(0, 0, 0, 0.4); |
|||
-webkit-border-radius: 999px; |
|||
-moz-border-radius: 999px; |
|||
border-radius: 999px; |
|||
margin: 0 auto; |
|||
height: 20px; |
|||
width: 20px; |
|||
-webkit-animation: animation-rotate 1000ms linear infinite; |
|||
-moz-animation: animation-rotate 1000ms linear infinite; |
|||
-o-animation: animation-rotate 1000ms linear infinite; |
|||
animation: animation-rotate 1000ms linear infinite; |
|||
} |
@ -1,3 +0,0 @@ |
|||
import ContactModal from './ContactModal' |
|||
|
|||
export default ContactModal |
@ -1,275 +0,0 @@ |
|||
import React from 'react' |
|||
import PropTypes from 'prop-types' |
|||
import ReactModal from 'react-modal' |
|||
import MdClose from 'react-icons/lib/md/close' |
|||
import FaCircle from 'react-icons/lib/fa/circle' |
|||
import FaQuestionCircle from 'react-icons/lib/fa/question-circle' |
|||
import styles from './ContactsForm.scss' |
|||
|
|||
class ContactsForm extends React.Component { |
|||
constructor(props) { |
|||
super(props) |
|||
|
|||
this.state = { |
|||
editing: false |
|||
} |
|||
} |
|||
|
|||
render() { |
|||
const { |
|||
contactsform, |
|||
contactsform: { showErrors }, |
|||
closeContactsForm, |
|||
updateContactFormSearchQuery, |
|||
updateManualFormSearchQuery, |
|||
updateContactCapacity, |
|||
openChannel, |
|||
updateManualFormErrors, |
|||
activeChannelPubkeys, |
|||
nonActiveChannelPubkeys, |
|||
pendingOpenChannelPubkeys, |
|||
filteredNetworkNodes, |
|||
loadingChannelPubkeys, |
|||
showManualForm, |
|||
manualFormIsValid |
|||
} = this.props |
|||
|
|||
const { editing } = this.state |
|||
|
|||
const renderRightSide = node => { |
|||
if (loadingChannelPubkeys.includes(node.pub_key)) { |
|||
return ( |
|||
<span className={styles.inactive}> |
|||
<div className={styles.loading}> |
|||
<div className={styles.spinner} /> |
|||
</div> |
|||
</span> |
|||
) |
|||
} |
|||
|
|||
if (activeChannelPubkeys.includes(node.pub_key)) { |
|||
return ( |
|||
<span className={`${styles.online} ${styles.inactive}`}> |
|||
<FaCircle style={{ verticalAlign: 'top' }} /> <span>Online</span> |
|||
</span> |
|||
) |
|||
} |
|||
|
|||
if (nonActiveChannelPubkeys.includes(node.pub_key)) { |
|||
return ( |
|||
<span className={`${styles.offline} ${styles.inactive}`}> |
|||
<FaCircle style={{ verticalAlign: 'top' }} /> <span>Offline</span> |
|||
</span> |
|||
) |
|||
} |
|||
|
|||
if (pendingOpenChannelPubkeys.includes(node.pub_key)) { |
|||
return ( |
|||
<span className={`${styles.pending} ${styles.inactive}`}> |
|||
<FaCircle style={{ verticalAlign: 'top' }} /> <span>Pending</span> |
|||
</span> |
|||
) |
|||
} |
|||
|
|||
if (!node.addresses.length) { |
|||
return <span className={`${styles.private} ${styles.inactive}`}>Private</span> |
|||
} |
|||
|
|||
return ( |
|||
<span |
|||
className={`${styles.connect} hint--left`} |
|||
data-hint={`Connect with ${contactsform.contactCapacity} BTC`} |
|||
onClick={() => |
|||
openChannel({ |
|||
pubkey: node.pub_key, |
|||
host: node.addresses[0].addr, |
|||
local_amt: contactsform.contactCapacity |
|||
}) |
|||
} |
|||
> |
|||
Connect |
|||
</span> |
|||
) |
|||
} |
|||
|
|||
const inputClicked = () => { |
|||
if (editing) { |
|||
return |
|||
} |
|||
|
|||
this.setState({ editing: true }) |
|||
} |
|||
|
|||
const manualFormSubmit = () => { |
|||
if (!manualFormIsValid.isValid) { |
|||
updateManualFormErrors(manualFormIsValid.errors) |
|||
updateManualFormSearchQuery('') |
|||
return |
|||
} |
|||
// clear any existing errors
|
|||
|
|||
updateManualFormErrors({ manualInput: null }) |
|||
const [pubkey, host] = |
|||
contactsform.manualSearchQuery && contactsform.manualSearchQuery.split('@') |
|||
|
|||
openChannel({ pubkey, host, local_amt: contactsform.contactCapacity }) |
|||
|
|||
updateManualFormSearchQuery('') |
|||
} |
|||
|
|||
const searchUpdated = search => { |
|||
updateContactFormSearchQuery(search) |
|||
|
|||
if (search.includes('@') && search.split('@')[0].length === 66) { |
|||
updateManualFormSearchQuery(search) |
|||
} |
|||
} |
|||
|
|||
return ( |
|||
<div> |
|||
<ReactModal |
|||
isOpen={contactsform.isOpen} |
|||
contentLabel="No Overlay Click Modal" |
|||
ariaHideApp |
|||
shouldCloseOnOverlayClick |
|||
onRequestClose={() => closeContactsForm} |
|||
parentSelector={() => document.body} |
|||
className={styles.modal} |
|||
> |
|||
<header> |
|||
<div> |
|||
<h1>Add Contact</h1> |
|||
</div> |
|||
<div onClick={closeContactsForm} className={styles.modalClose}> |
|||
<MdClose /> |
|||
</div> |
|||
</header> |
|||
|
|||
<div className={styles.form}> |
|||
<div className={styles.search}> |
|||
<input |
|||
type="text" |
|||
placeholder="Find contact by alias or pubkey" |
|||
className={styles.searchInput} |
|||
value={contactsform.searchQuery} |
|||
onChange={event => searchUpdated(event.target.value)} |
|||
/> |
|||
</div> |
|||
|
|||
<ul className={styles.networkResults}> |
|||
{filteredNetworkNodes.map(node => ( |
|||
<li key={node.pub_key}> |
|||
<section> |
|||
{node.alias.length > 0 ? ( |
|||
<h2> |
|||
<span>{node.alias.trim()}</span> |
|||
<span> |
|||
({node.pub_key.substr(0, 10)} |
|||
... |
|||
{node.pub_key.substr(node.pub_key.length - 10)}) |
|||
</span> |
|||
</h2> |
|||
) : ( |
|||
<h2> |
|||
<span>{node.pub_key}</span> |
|||
</h2> |
|||
)} |
|||
</section> |
|||
<section>{renderRightSide(node)}</section> |
|||
</li> |
|||
))} |
|||
</ul> |
|||
</div> |
|||
|
|||
{showManualForm && ( |
|||
<div className={styles.manualForm}> |
|||
<h2> |
|||
Hm, looks like we can’t see that contact from here. Want to try and manually |
|||
connect? |
|||
</h2> |
|||
<section> |
|||
<input |
|||
type="text" |
|||
placeholder="pubkey@host" |
|||
value={contactsform.manualSearchQuery} |
|||
onChange={event => updateManualFormSearchQuery(event.target.value)} |
|||
/> |
|||
<div className={styles.submit} onClick={manualFormSubmit}> |
|||
Submit |
|||
</div> |
|||
|
|||
{loadingChannelPubkeys.length > 0 && ( |
|||
<div className={styles.manualFormSpinner}> |
|||
<div className={styles.loading}> |
|||
<div className={styles.spinner} /> |
|||
</div> |
|||
</div> |
|||
)} |
|||
</section> |
|||
|
|||
<section |
|||
className={`${styles.errorMessage} ${ |
|||
showErrors.manualInput ? styles.active : undefined |
|||
}`}
|
|||
> |
|||
{showErrors.manualInput && ( |
|||
<span>{manualFormIsValid && manualFormIsValid.errors.manualInput}</span> |
|||
)} |
|||
</section> |
|||
</div> |
|||
)} |
|||
|
|||
<footer className={styles.footer}> |
|||
<div> |
|||
<span>Use</span> |
|||
<span className={styles.amount}> |
|||
<input |
|||
type="text" |
|||
value={contactsform.contactCapacity} |
|||
onChange={event => updateContactCapacity(event.target.value)} |
|||
onClick={inputClicked} |
|||
onKeyPress={event => event.charCode === 13 && this.setState({ editing: false })} |
|||
readOnly={!editing} |
|||
style={{ |
|||
width: `${editing ? 20 : contactsform.contactCapacity.toString().length + 1}%` |
|||
}} |
|||
/> |
|||
</span> |
|||
<span className={styles.caption}> |
|||
BTC per contact |
|||
<i |
|||
data-hint="You aren't spending anything, just moving money onto the Lightning Network" |
|||
className="hint--top" |
|||
> |
|||
<FaQuestionCircle style={{ verticalAlign: 'top' }} /> |
|||
</i> |
|||
</span> |
|||
</div> |
|||
</footer> |
|||
</ReactModal> |
|||
</div> |
|||
) |
|||
} |
|||
} |
|||
|
|||
ContactsForm.propTypes = { |
|||
contactsform: PropTypes.object.isRequired, |
|||
closeContactsForm: PropTypes.func.isRequired, |
|||
updateContactFormSearchQuery: PropTypes.func.isRequired, |
|||
updateManualFormSearchQuery: PropTypes.func.isRequired, |
|||
manualFormIsValid: PropTypes.shape({ |
|||
errors: PropTypes.object, |
|||
isValid: PropTypes.bool |
|||
}).isRequired, |
|||
updateContactCapacity: PropTypes.func.isRequired, |
|||
updateManualFormErrors: PropTypes.func.isRequired, |
|||
openChannel: PropTypes.func.isRequired, |
|||
activeChannelPubkeys: PropTypes.array.isRequired, |
|||
nonActiveChannelPubkeys: PropTypes.array.isRequired, |
|||
pendingOpenChannelPubkeys: PropTypes.array.isRequired, |
|||
filteredNetworkNodes: PropTypes.array.isRequired, |
|||
loadingChannelPubkeys: PropTypes.array.isRequired, |
|||
showManualForm: PropTypes.bool.isRequired |
|||
} |
|||
|
|||
export default ContactsForm |
@ -1,253 +0,0 @@ |
|||
@import 'styles/variables.scss'; |
|||
|
|||
.modal { |
|||
position: absolute; |
|||
width: 50%; |
|||
margin: 50px auto; |
|||
top: auto; |
|||
left: 0; |
|||
right: 0; |
|||
bottom: auto; |
|||
background: $white; |
|||
outline: none; |
|||
z-index: -2; |
|||
border: 1px solid $darkgrey; |
|||
|
|||
header { |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
padding: 15px; |
|||
border-bottom: 1px solid $darkgrey; |
|||
|
|||
h1, |
|||
svg { |
|||
font-size: 22px; |
|||
} |
|||
|
|||
svg { |
|||
cursor: pointer; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.form { |
|||
padding: 30px 15px; |
|||
|
|||
.search { |
|||
.searchInput { |
|||
width: calc(100% - 30px); |
|||
padding: 10px 15px; |
|||
outline: 0; |
|||
border: 0; |
|||
background: $lightgrey; |
|||
color: $darkestgrey; |
|||
border-radius: 5px; |
|||
font-size: 16px; |
|||
} |
|||
} |
|||
|
|||
.networkResults { |
|||
overflow-y: auto; |
|||
height: 250px; |
|||
margin-top: 30px; |
|||
padding: 20px 0; |
|||
|
|||
li { |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
padding: 10px 0; |
|||
|
|||
h2 { |
|||
font-size: 16px; |
|||
font-weight: bold; |
|||
letter-spacing: 1.3px; |
|||
|
|||
span { |
|||
display: inline-block; |
|||
vertical-align: middle; |
|||
|
|||
&:nth-child(1) { |
|||
font-size: 14px; |
|||
font-weight: bold; |
|||
letter-spacing: 1.3px; |
|||
} |
|||
|
|||
&:nth-child(2) { |
|||
color: $darkestgrey; |
|||
font-size: 12px; |
|||
line-height: 14px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.connect { |
|||
cursor: pointer; |
|||
color: $darkestgrey; |
|||
transition: all 0.25s; |
|||
font-size: 12px; |
|||
|
|||
&:hover { |
|||
color: $main; |
|||
} |
|||
} |
|||
|
|||
.inactive { |
|||
font-size: 12px; |
|||
display: inline-block; |
|||
vertical-align: top; |
|||
|
|||
&.online { |
|||
color: $green; |
|||
} |
|||
|
|||
&.offline { |
|||
color: $darkestgrey; |
|||
} |
|||
|
|||
&.pending { |
|||
color: $orange; |
|||
} |
|||
|
|||
&.private { |
|||
color: darken($darkestgrey, 50%); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.manualForm { |
|||
position: relative; |
|||
background: $lightgrey; |
|||
color: $darkestgrey; |
|||
padding: 30px 15px; |
|||
|
|||
h2 { |
|||
font-size: 16px; |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
input { |
|||
border: 0; |
|||
outline: 0; |
|||
background: transparent; |
|||
color: $darkestgrey; |
|||
border-bottom: 1px solid $darkestgrey; |
|||
padding: 10px 5px; |
|||
width: 80%; |
|||
} |
|||
|
|||
.submit { |
|||
display: inline-block; |
|||
vertical-align: middle; |
|||
width: 15%; |
|||
margin-left: 2.5%; |
|||
font-size: 12px; |
|||
|
|||
&:hover { |
|||
cursor: pointer; |
|||
color: $main; |
|||
} |
|||
} |
|||
|
|||
.manualFormSpinner { |
|||
position: absolute; |
|||
right: 0; |
|||
top: 40%; |
|||
padding: 0 10px; |
|||
} |
|||
} |
|||
|
|||
.errorMessage { |
|||
margin: 10px 0; |
|||
min-height: 20px; |
|||
color: $red; |
|||
opacity: 0; |
|||
transition: all 0.25s ease; |
|||
|
|||
&.active { |
|||
opacity: 1; |
|||
} |
|||
} |
|||
|
|||
.footer { |
|||
padding: 10px 15px; |
|||
border-top: 1px solid $darkgrey; |
|||
font-size: 14px; |
|||
|
|||
span { |
|||
&.amount { |
|||
&:hover { |
|||
input { |
|||
border: 1px solid $darkgrey; |
|||
cursor: text; |
|||
} |
|||
} |
|||
|
|||
input { |
|||
border: 1px solid transparent; |
|||
padding: 0; |
|||
outline: 0; |
|||
font-weight: bold; |
|||
font-size: 14px; |
|||
line-height: 14px; |
|||
transition: all 0.25s; |
|||
|
|||
&.isEditing { |
|||
width: 100%; |
|||
border-bottom: 1px solid $darkgrey; |
|||
} |
|||
} |
|||
} |
|||
|
|||
&:nth-child(2) { |
|||
margin-left: 2px; |
|||
} |
|||
} |
|||
|
|||
.caption svg { |
|||
font-size: 10px; |
|||
color: $darkestgrey; |
|||
} |
|||
} |
|||
|
|||
@-webkit-keyframes animation-rotate { |
|||
100% { |
|||
-webkit-transform: rotate(360deg); |
|||
} |
|||
} |
|||
|
|||
@-moz-keyframes animation-rotate { |
|||
100% { |
|||
-moz-transform: rotate(360deg); |
|||
} |
|||
} |
|||
|
|||
@-o-keyframes animation-rotate { |
|||
100% { |
|||
-o-transform: rotate(360deg); |
|||
} |
|||
} |
|||
|
|||
@keyframes animation-rotate { |
|||
100% { |
|||
transform: rotate(360deg); |
|||
} |
|||
} |
|||
|
|||
.spinner { |
|||
border: 1px solid rgba(0, 0, 0, 0.1); |
|||
border-left-color: rgba(0, 0, 0, 0.4); |
|||
-webkit-border-radius: 999px; |
|||
-moz-border-radius: 999px; |
|||
border-radius: 999px; |
|||
margin: 0 auto; |
|||
height: 20px; |
|||
width: 20px; |
|||
-webkit-animation: animation-rotate 1000ms linear infinite; |
|||
-moz-animation: animation-rotate 1000ms linear infinite; |
|||
-o-animation: animation-rotate 1000ms linear infinite; |
|||
animation: animation-rotate 1000ms linear infinite; |
|||
} |
@ -1,3 +0,0 @@ |
|||
import ContactsForm from './ContactsForm' |
|||
|
|||
export default ContactsForm |
@ -0,0 +1,16 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
title: 'My Network', |
|||
loading: 'loading', |
|||
pending: 'pending', |
|||
closing: 'closing', |
|||
offline: 'offline', |
|||
online: 'online', |
|||
refresh: 'Refresh', |
|||
open_channel: 'Open a channel', |
|||
pay_limit: 'Pay Limit', |
|||
req_limit: 'Request Limit', |
|||
search_placeholder: 'search by alias or pubkey' |
|||
}) |
@ -0,0 +1,11 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
title: 'Add Funds to Network', |
|||
description: |
|||
"Opening a channel will help you send and receive money on the Lightning Network. You aren't spending any money, rather moving the money you plan to use onto the network.", |
|||
submit: 'Submit', |
|||
duplicate_warnig: |
|||
'You currently have {activeChannels, plural, zero {no active channels} one {1 active channel} other {{activeChannels} active channels}} open to {aliasMsg, select, this_node {this node} other {{aliasMsg}}} with a capacity of' |
|||
}) |
@ -0,0 +1,8 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
connect: 'Connect', |
|||
empty_description: |
|||
"Hmmm, looks like you don't have any channels yet. Here are some suggested nodes to open a channel with to get started" |
|||
}) |
@ -0,0 +1,11 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
title: 'Make Payment', |
|||
destination: 'Destination', |
|||
amount: 'Amount', |
|||
request_placeholder: 'Paste payment request or bitcoin address here', |
|||
pay: 'Pay', |
|||
onchain_description: 'On-Chain (~10 minutes)' |
|||
}) |
@ -0,0 +1,9 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
export default defineMessages({ |
|||
title: 'Request Payment', |
|||
amount: 'Amount', |
|||
memo: 'Memo', |
|||
details: 'Details about the request', |
|||
request: 'Request' |
|||
}) |
@ -0,0 +1,6 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
loading: 'loading' |
|||
}) |
@ -0,0 +1,7 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
enable: 'Enable', |
|||
disable: 'Disable' |
|||
}) |
@ -0,0 +1,10 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
btcpay_description: |
|||
"Paste the full content of your BTCPay Server connection config file. This can be found by clicking the link entitled 'Click here to open the configuration file' in your BTCPay Server gRPC settings.", |
|||
btcpay_error: 'Invalid connection string.', |
|||
connection_string_label: 'Connection String', |
|||
connection_string_placeholder: 'BTCPay Server Connection String' |
|||
}) |
@ -0,0 +1,7 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
verify_host_title: 'Are you sure you want to connect to', |
|||
verify_host_description: 'Please check the hostname carefully.' |
|||
}) |
@ -0,0 +1,10 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
hostname_title: 'Host', |
|||
hostname_description: 'Hostname and port of the Lnd gRPC interface. Example: localhost:10009', |
|||
cert_title: 'TLS Certificate', |
|||
cert_description: 'Path to the lnd tls cert. Example: /path/to/tls.cert', |
|||
macaroon_description: 'Path to the lnd macaroon file. Example: /path/to/admin.macaroon' |
|||
}) |
@ -0,0 +1,14 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
default: 'Default', |
|||
default_description: |
|||
'By selecting the defualt mode we will do everything for you. Just click and go!', |
|||
only: 'only', |
|||
custom: 'Custom', |
|||
custom_description: |
|||
'Connect to your own node. You will need to provide your own connection settings so this is for advanced users only.', |
|||
btcpay_description: |
|||
'Connect to your own BTCPay Server instance to access your BTCPay Server wallet.' |
|||
}) |
@ -0,0 +1,8 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
help: 'Need Help?', |
|||
next: 'Next', |
|||
back: 'back' |
|||
}) |
@ -0,0 +1,7 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
password_placeholder: 'Password', |
|||
unlock: 'Unlock' |
|||
}) |
@ -0,0 +1,10 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
password_placeholder: 'Password', |
|||
password_confirm_placeholder: 'Confirm Password', |
|||
password_error_match: 'Passwords do not match', |
|||
password_error_length: 'Password must be at least {passwordMinLength} characters long', |
|||
unlock: 'Unlock' |
|||
}) |
@ -0,0 +1,6 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
word_placeholder: 'word' |
|||
}) |
@ -0,0 +1,7 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
signup_create: 'Create new wallet', |
|||
signup_import: 'Import existing wallet' |
|||
}) |
@ -0,0 +1,17 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
grab_coffee: |
|||
'It looks like this could take some time - you might want to grab a coffee or try again later!', |
|||
waiting_for_peers: 'Waiting for peers…', |
|||
preparing: 'Preparing…', |
|||
sync_title: 'Welcome back to your Zap wallet!', |
|||
sync_description: |
|||
'Please wait a while whilst we fetch all of your latest data from the blockchain.', |
|||
fund_title: 'Fund your Zap wallet', |
|||
fund_description: 'Might as well fund your wallet while you’re waiting to sync.', |
|||
sync_caption: 'Syncing to the blockchain', |
|||
block_progress: 'Block {currentBlock} of {totalBlocks}', |
|||
filter_progress: 'Commitment Filter {currentFilter} of {totalFilters}' |
|||
}) |
@ -0,0 +1,35 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
connection_title: 'How do you want to connect to the Lightning Network?', |
|||
connection_description: |
|||
'By default Zap will spin up a node for you and handle all the nerdy stuff in the background. However you can also setup a custom node connection and use Zap to control a remote node if you desire (for advanced users).', |
|||
connection_details_custom_title: 'Connection details', |
|||
connection_details_custom_description: 'Enter the connection details for your Lightning node.', |
|||
btcpay_title: 'BTCPay Server', |
|||
btcpay_description: 'Enter the connection details for your BTCPay Server node.', |
|||
confirm_connection_title: 'Confirm connection', |
|||
confirm_connection_description: 'Confirm the connection details for your Lightning node.', |
|||
alias_title: 'What should we call you?', |
|||
alias_description: 'Set your nickname to help others connect with you on the Lightning Network', |
|||
autopilot_title: 'Autopilot', |
|||
autopilot_description: |
|||
'Autopilot is an automatic network manager. Instead of manually adding people to build your network to make payments, enable autopilot to automatically connect you to the Lightning Network using 60% of your balance.', |
|||
create_wallet_password_title: 'Welcome!', |
|||
create_wallet_password_description: |
|||
'Looks like you are new here. Set a password to encrypt your wallet. This password will be needed to unlock Zap in the future', |
|||
signup_title: "Alright, let's get set up", |
|||
signup_description: 'Would you like to create a new wallet or import an existing one?', |
|||
login_title: 'Welcome back!', |
|||
login_description: |
|||
'It looks like you already have a wallet (wallet found at: `{walletDir}`). Please enter your wallet password to unlock it.', |
|||
import_title: 'Import your seed', |
|||
import_description: "Recovering a wallet, nice. You don't need anyone else, you got yourself :)", |
|||
save_seed_title: 'Save your wallet seed', |
|||
save_seed_description: |
|||
'Please save these 24 words securely! This will allow you to recover your wallet in the future', |
|||
retype_seed_title: 'Retype your seed', |
|||
retype_seed_description: |
|||
"Your seed is important! If you lose your seed you'll have no way to recover your wallet. To make sure that you have properly saved your seed, please retype words {word1}, {word2} & {word3}" |
|||
}) |
@ -0,0 +1,6 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
title: 'Fiat Currency' |
|||
}) |
@ -0,0 +1,49 @@ |
|||
import React from 'react' |
|||
import PropTypes from 'prop-types' |
|||
import FaAngleLeft from 'react-icons/lib/fa/angle-left' |
|||
import { getLanguageName } from 'lib/utils/i18n' |
|||
import Isvg from 'react-inlinesvg' |
|||
import checkIcon from 'icons/check.svg' |
|||
|
|||
import { FormattedMessage } from 'react-intl' |
|||
import messages from './messages' |
|||
|
|||
import styles from './Locale.scss' |
|||
|
|||
const Translate = ({ locales, disableSubMenu, currentLocale, setLocale }) => { |
|||
const changeLocale = lng => { |
|||
setLocale(lng) |
|||
} |
|||
|
|||
return ( |
|||
<div> |
|||
<header className={styles.submenuHeader} onClick={disableSubMenu}> |
|||
<FaAngleLeft /> |
|||
<FormattedMessage {...messages.title} /> |
|||
</header> |
|||
<ul className={styles.locales}> |
|||
{Object.keys(locales).map(lang => { |
|||
return ( |
|||
<li |
|||
key={lang} |
|||
className={currentLocale === lang ? styles.active : ''} |
|||
onClick={() => changeLocale(lang)} |
|||
> |
|||
<span>{getLanguageName(lang)}</span> |
|||
{currentLocale === lang && <Isvg src={checkIcon} />} |
|||
</li> |
|||
) |
|||
})} |
|||
</ul> |
|||
</div> |
|||
) |
|||
} |
|||
|
|||
Translate.propTypes = { |
|||
locales: PropTypes.object.isRequired, |
|||
currentLocale: PropTypes.string.isRequired, |
|||
setLocale: PropTypes.func.isRequired, |
|||
disableSubMenu: PropTypes.func.isRequired |
|||
} |
|||
|
|||
export default Translate |
@ -0,0 +1,42 @@ |
|||
@import '../../../styles/variables.scss'; |
|||
|
|||
.submenuHeader { |
|||
padding: 20px; |
|||
background: lighten(#1d1f27, 20%); |
|||
font-size: 10px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: end; |
|||
align-items: center; |
|||
transition: all 0.25s; |
|||
|
|||
&:hover { |
|||
background: lighten(#1d1f27, 10%); |
|||
} |
|||
} |
|||
|
|||
.locales { |
|||
height: 300px; |
|||
overflow-y: scroll; |
|||
|
|||
li { |
|||
background: #191919; |
|||
cursor: pointer; |
|||
border-bottom: 1px solid #0f0f0f; |
|||
transition: 0.25s hover; |
|||
|
|||
&.active { |
|||
background: #0f0f0f; |
|||
|
|||
svg { |
|||
height: 10px; |
|||
width: 10px; |
|||
color: $green; |
|||
} |
|||
} |
|||
|
|||
span:nth-child(1) { |
|||
line-height: 12px; |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,3 @@ |
|||
import Locale from './Locale' |
|||
|
|||
export default Locale |
@ -0,0 +1,6 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
title: 'Language' |
|||
}) |
@ -0,0 +1,7 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
fiat: 'Fiat Currency', |
|||
locale: 'Language' |
|||
}) |
@ -0,0 +1,9 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
export default defineMessages({ |
|||
node_public_key: 'Node Public Key', |
|||
node_pubkey: 'Node Pubkey', |
|||
bitcoin_address: 'Bitcoin Address', |
|||
copy_address: 'Copy address', |
|||
copy_pubkey: 'Copy Pubkey' |
|||
}) |
@ -0,0 +1,10 @@ |
|||
import { defineMessages } from 'react-intl' |
|||
|
|||
/* eslint-disable max-len */ |
|||
export default defineMessages({ |
|||
pay: 'Pay', |
|||
request: 'Request', |
|||
sending_tx: 'Sending your transaction…', |
|||
payment_success: 'Successfully sent payment', |
|||
transaction_success: 'Successfully sent transaction' |
|||
}) |
@ -1,21 +1,33 @@ |
|||
import React from 'react' |
|||
import { render } from 'react-dom' |
|||
import { AppContainer } from 'react-hot-loader' |
|||
import ReactDOM from 'react-dom' |
|||
import { Provider } from 'react-intl-redux' |
|||
import jstz from 'jstimezonedetect' |
|||
|
|||
import Root from './containers/Root' |
|||
import { configureStore, history } from './store/configureStore' |
|||
import './styles/app.global.scss' |
|||
|
|||
const store = configureStore() |
|||
import { translationMessages, getLocale } from './lib/utils/i18n' |
|||
|
|||
const locale = getLocale() |
|||
const initialState = { |
|||
intl: { |
|||
locale, |
|||
messages: translationMessages[locale], |
|||
timeZone: jstz.determine().name() |
|||
} |
|||
} |
|||
|
|||
render( |
|||
<AppContainer> |
|||
<Root store={store} history={history} /> |
|||
</AppContainer>, |
|||
document.getElementById('root') |
|||
) |
|||
const store = configureStore(initialState) |
|||
const MOUNT_NODE = document.getElementById('root') |
|||
|
|||
if (module.hot) { |
|||
module.hot.accept('./containers/Root', () => { |
|||
render(<Root store={store} history={history} />, document.getElementById('root')) |
|||
}) |
|||
const render = () => { |
|||
ReactDOM.render( |
|||
<Provider store={store}> |
|||
<Root history={history} /> |
|||
</Provider>, |
|||
MOUNT_NODE |
|||
) |
|||
} |
|||
|
|||
render() |
|||
|
@ -0,0 +1,211 @@ |
|||
import { app, remote } from 'electron' |
|||
import { addLocaleData } from 'react-intl' |
|||
import Store from 'electron-store' |
|||
import get from 'lodash.get' |
|||
import { lookup } from 'country-data-lookup' |
|||
import createDebug from 'debug' |
|||
|
|||
// Load locale data.
|
|||
import bg from 'react-intl/locale-data/bg' |
|||
import cs from 'react-intl/locale-data/cs' |
|||
import de from 'react-intl/locale-data/de' |
|||
import el from 'react-intl/locale-data/el' |
|||
import en from 'react-intl/locale-data/en' |
|||
import es from 'react-intl/locale-data/es' |
|||
import fr from 'react-intl/locale-data/fr' |
|||
import ga from 'react-intl/locale-data/ga' |
|||
import hr from 'react-intl/locale-data/hr' |
|||
import ja from 'react-intl/locale-data/ja' |
|||
import nl from 'react-intl/locale-data/nl' |
|||
import pt from 'react-intl/locale-data/pt' |
|||
import ro from 'react-intl/locale-data/ro' |
|||
import ru from 'react-intl/locale-data/ru' |
|||
import sv from 'react-intl/locale-data/sv' |
|||
import tr from 'react-intl/locale-data/tr' |
|||
import uk from 'react-intl/locale-data/uk' |
|||
import zh from 'react-intl/locale-data/zh' |
|||
|
|||
// Load translation data.
|
|||
import bgTranslationMessages from '../../translations/bg-BG.json' |
|||
import csTranslationMessages from '../../translations/cs-CZ.json' |
|||
import deTranslationMessages from '../../translations/de-DE.json' |
|||
import elTranslationMessages from '../../translations/el-GR.json' |
|||
import enTranslationMessages from '../../translations/en.json' |
|||
import esTranslationMessages from '../../translations/es-ES.json' |
|||
import frTranslationMessages from '../../translations/fr-FR.json' |
|||
import gaTranslationMessages from '../../translations/ga-IE.json' |
|||
import hrTranslationMessages from '../../translations/hr-HR.json' |
|||
import jaTranslationMessages from '../../translations/ja-JP.json' |
|||
import nlTranslationMessages from '../../translations/nl-NL.json' |
|||
import ptTranslationMessages from '../../translations/pt-BR.json' |
|||
import roTranslationMessages from '../../translations/ro-RO.json' |
|||
import ruTranslationMessages from '../../translations/ru-RU.json' |
|||
import svTranslationMessages from '../../translations/sv-SE.json' |
|||
import trTranslationMessages from '../../translations/tr-TR.json' |
|||
import ukTranslationMessages from '../../translations/uk-UA.json' |
|||
import zhCNTranslationMessages from '../../translations/zh-CN.json' |
|||
import zhTWTranslationMessages from '../../translations/zh-TW.json' |
|||
|
|||
const debug = createDebug('zap:i18n') |
|||
|
|||
// Add locale data.
|
|||
addLocaleData([ |
|||
...bg, |
|||
...cs, |
|||
...de, |
|||
...el, |
|||
...en, |
|||
...es, |
|||
...fr, |
|||
...ga, |
|||
...hr, |
|||
...ja, |
|||
...nl, |
|||
...pt, |
|||
...ro, |
|||
...ru, |
|||
...sv, |
|||
...tr, |
|||
...uk, |
|||
...zh |
|||
]) |
|||
|
|||
// Defaine list of language that we will support.
|
|||
export const locales = [ |
|||
'bg', |
|||
'cs', |
|||
'de', |
|||
'el', |
|||
'en', |
|||
'es', |
|||
'fr', |
|||
'ga', |
|||
'hr', |
|||
'ja', |
|||
'nl', |
|||
'pt', |
|||
'ro', |
|||
'ru', |
|||
'sv', |
|||
'tr', |
|||
'uk', |
|||
'zh-CN', |
|||
'zh-TW' |
|||
] |
|||
|
|||
// Defaine list of currencies that we will support.
|
|||
export const currencies = [ |
|||
'USD', |
|||
'EUR', |
|||
'JPY', |
|||
'GBP', |
|||
'CAD', |
|||
'KRW', |
|||
'AUD', |
|||
'BRL', |
|||
'CHF', |
|||
'CLP', |
|||
'CNY', |
|||
'DKK', |
|||
'HKD', |
|||
'INR', |
|||
'ISK', |
|||
'NZD', |
|||
'PLN', |
|||
'RUB', |
|||
'SEK', |
|||
'SGD', |
|||
'THB', |
|||
'TWB' |
|||
] |
|||
|
|||
// Collate all translations.
|
|||
export const translationMessages = { |
|||
en: enTranslationMessages, |
|||
bg: bgTranslationMessages, |
|||
'zh-CN': zhCNTranslationMessages, |
|||
'zh-TW': zhTWTranslationMessages, |
|||
hr: hrTranslationMessages, |
|||
cs: csTranslationMessages, |
|||
nl: nlTranslationMessages, |
|||
fr: frTranslationMessages, |
|||
ga: gaTranslationMessages, |
|||
de: deTranslationMessages, |
|||
el: elTranslationMessages, |
|||
ja: jaTranslationMessages, |
|||
pt: ptTranslationMessages, |
|||
ro: roTranslationMessages, |
|||
ru: ruTranslationMessages, |
|||
es: esTranslationMessages, |
|||
sv: svTranslationMessages, |
|||
tr: trTranslationMessages, |
|||
uk: ukTranslationMessages |
|||
} |
|||
|
|||
/** |
|||
* Get the most appropriate language code. |
|||
* @return {string} Language code. |
|||
*/ |
|||
export const getLocale = () => { |
|||
const store = new Store({ name: 'settings' }) |
|||
const userLocale = store.get('locale') |
|||
if (userLocale) { |
|||
debug('Determined locale as %s from settings', userLocale) |
|||
return userLocale |
|||
} |
|||
const defaultLocale = (app || remote.app).getLocale() || 'en-US' |
|||
const language = defaultLocale.toLowerCase().split(/[_-]+/)[0] |
|||
let locale = 'en' |
|||
if (locales.includes(language)) { |
|||
locale = language |
|||
} |
|||
if (locales.includes(defaultLocale)) { |
|||
locale = userLocale |
|||
} |
|||
debug('Determined locale as %s', locale) |
|||
return locale |
|||
} |
|||
|
|||
/** |
|||
* Get the most appropriate language code. |
|||
* @return {string} Language code. |
|||
*/ |
|||
export const getLanguageName = lang => { |
|||
const customNames = { |
|||
el: 'Greek', |
|||
'zh-CN': 'Chinese (Simplified, PRC)', |
|||
'zh-TW': 'Chinese (Traditional, Taiwan)' |
|||
} |
|||
if (customNames[lang]) { |
|||
return customNames[lang] |
|||
} |
|||
|
|||
const language = lang.toLowerCase().split(/[_-]+/)[0] |
|||
const data = lookup.languages({ alpha2: language }) |
|||
const name = get(data, '[0]name', language) |
|||
debug('Determined language as %s', name) |
|||
return name |
|||
} |
|||
|
|||
/** |
|||
* Get the most appropriate currency code. |
|||
* @return {string} Currency code. |
|||
*/ |
|||
export const getCurrency = () => { |
|||
const store = new Store({ name: 'settings' }) |
|||
const userCurrency = store.get('fiatTicker') |
|||
if (userCurrency) { |
|||
debug('Determined currency as %s from settings', userCurrency) |
|||
return userCurrency |
|||
} |
|||
const defaultLocale = (app || remote.app).getLocale() || 'en-US' |
|||
const country = defaultLocale.split(/[_-]+/)[1] |
|||
const data = lookup.countries({ alpha2: country }) |
|||
const detectedCurrency = get(data, '[0]currencies[0]', 'USD') |
|||
let currency = 'USD' |
|||
if (currencies.includes(detectedCurrency)) { |
|||
currency = detectedCurrency |
|||
} |
|||
debug('Determined currency as %s', currency) |
|||
return currency |
|||
} |
@ -0,0 +1,40 @@ |
|||
import Store from 'electron-store' |
|||
import { updateIntl } from 'react-intl-redux' |
|||
import { ipcRenderer } from 'electron' |
|||
import { translationMessages } from 'lib/utils/i18n' |
|||
|
|||
// Settings store
|
|||
const store = new Store({ name: 'settings' }) |
|||
|
|||
// ------------------------------------
|
|||
// Actions
|
|||
// ------------------------------------
|
|||
|
|||
export const setLocale = locale => (dispatch, getState) => { |
|||
const state = getState() |
|||
|
|||
// Switch the active locale.
|
|||
dispatch( |
|||
updateIntl({ |
|||
locale, |
|||
messages: state.locale[locale] |
|||
}) |
|||
) |
|||
|
|||
// Save the new locale sa our language preference.
|
|||
store.set('locale', locale) |
|||
|
|||
// Let the main process know the locale has changed.
|
|||
ipcRenderer.send('setLocale', locale) |
|||
} |
|||
|
|||
export const receiveLocale = (event, locale) => dispatch => { |
|||
dispatch(setLocale(locale)) |
|||
} |
|||
|
|||
// ------------------------------------
|
|||
// Reducer
|
|||
// ------------------------------------
|
|||
export default function localeReducer(state = translationMessages) { |
|||
return state |
|||
} |
@ -0,0 +1,157 @@ |
|||
{ |
|||
"components.Activity.Countdown.expires": "", |
|||
"components.Activity.Invoice.amount": "", |
|||
"components.Activity.Invoice.received": "", |
|||
"components.Activity.Invoice.requested": "", |
|||
"components.Activity.Invoice.type_paid": "", |
|||
"components.Activity.Invoice.type_unpaid": "", |
|||
"components.Activity.InvoiceModal.copy": "", |
|||
"components.Activity.InvoiceModal.memo": "", |
|||
"components.Activity.InvoiceModal.not_paid": "", |
|||
"components.Activity.InvoiceModal.paid": "", |
|||
"components.Activity.InvoiceModal.pay_req": "", |
|||
"components.Activity.InvoiceModal.request": "", |
|||
"components.Activity.InvoiceModal.save": "", |
|||
"components.Activity.Payment.amount": "", |
|||
"components.Activity.Payment.fee": "", |
|||
"components.Activity.Payment.type": "", |
|||
"components.Activity.PaymentModal.fee": "", |
|||
"components.Activity.PaymentModal.lightning": "", |
|||
"components.Activity.PaymentModal.sent": "", |
|||
"components.Activity.Transaction.amount": "", |
|||
"components.Activity.Transaction.fee": "", |
|||
"components.Activity.Transaction.received": "", |
|||
"components.Activity.Transaction.sent": "", |
|||
"components.Activity.Transaction.type": "", |
|||
"components.Activity.TransactionModal.fee": "", |
|||
"components.Activity.TransactionModal.on_chain": "", |
|||
"components.Activity.TransactionModal.received": "", |
|||
"components.Activity.TransactionModal.sent": "", |
|||
"components.Activity.all": "", |
|||
"components.Activity.hide_expired": "", |
|||
"components.Activity.pending": "", |
|||
"components.Activity.refresh": "", |
|||
"components.Activity.requested": "", |
|||
"components.Activity.search": "", |
|||
"components.Activity.sent": "", |
|||
"components.Activity.show_expired": "", |
|||
"components.Contacts.AddChannel.manual_button": "", |
|||
"components.Contacts.AddChannel.manual_description": "", |
|||
"components.Contacts.AddChannel.offline": "", |
|||
"components.Contacts.AddChannel.online": "", |
|||
"components.Contacts.AddChannel.pending": "", |
|||
"components.Contacts.AddChannel.private": "", |
|||
"components.Contacts.ConnectManually.description": "", |
|||
"components.Contacts.ConnectManually.placeholder": "", |
|||
"components.Contacts.ConnectManually.submit": "", |
|||
"components.Contacts.ConnectManually.title": "", |
|||
"components.Contacts.Network.closing": "", |
|||
"components.Contacts.Network.loading": "", |
|||
"components.Contacts.Network.offline": "", |
|||
"components.Contacts.Network.online": "", |
|||
"components.Contacts.Network.open_channel": "", |
|||
"components.Contacts.Network.pay_limit": "", |
|||
"components.Contacts.Network.pending": "", |
|||
"components.Contacts.Network.refresh": "", |
|||
"components.Contacts.Network.req_limit": "", |
|||
"components.Contacts.Network.search_placeholder": "", |
|||
"components.Contacts.Network.title": "", |
|||
"components.Contacts.SubmitChannelForm.description": "", |
|||
"components.Contacts.SubmitChannelForm.duplicate_warnig": "", |
|||
"components.Contacts.SubmitChannelForm.submit": "", |
|||
"components.Contacts.SubmitChannelForm.title": "", |
|||
"components.Contacts.SuggestedNodes.connect": "", |
|||
"components.Contacts.SuggestedNodes.empty_description": "", |
|||
"components.Form.Pay.amount": "", |
|||
"components.Form.Pay.destination": "", |
|||
"components.Form.Pay.onchain_description": "", |
|||
"components.Form.Pay.pay": "", |
|||
"components.Form.Pay.request_placeholder": "", |
|||
"components.Form.Pay.title": "", |
|||
"components.Form.Request.amount": "", |
|||
"components.Form.Request.details": "", |
|||
"components.Form.Request.memo": "", |
|||
"components.Form.Request.request": "", |
|||
"components.Form.Request.title": "", |
|||
"components.LoadingBolt.loading": "", |
|||
"components.Onboarding.Autopilot.disable": "", |
|||
"components.Onboarding.Autopilot.enable": "", |
|||
"components.Onboarding.BtcPayServer.btcpay_description": "", |
|||
"components.Onboarding.BtcPayServer.btcpay_error": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_label": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_placeholder": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_description": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_title": "", |
|||
"components.Onboarding.ConnectionDetails.cert_description": "", |
|||
"components.Onboarding.ConnectionDetails.cert_title": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_description": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_title": "", |
|||
"components.Onboarding.ConnectionDetails.macaroon_description": "", |
|||
"components.Onboarding.ConnectionType.btcpay_description": "", |
|||
"components.Onboarding.ConnectionType.custom": "", |
|||
"components.Onboarding.ConnectionType.custom_description": "", |
|||
"components.Onboarding.ConnectionType.default": "", |
|||
"components.Onboarding.ConnectionType.default_description": "", |
|||
"components.Onboarding.ConnectionType.only": "", |
|||
"components.Onboarding.FormContainer.back": "", |
|||
"components.Onboarding.FormContainer.help": "", |
|||
"components.Onboarding.FormContainer.next": "", |
|||
"components.Onboarding.Login.password_placeholder": "", |
|||
"components.Onboarding.Login.unlock": "", |
|||
"components.Onboarding.NewWalletPassword.password_confirm_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_length": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_match": "", |
|||
"components.Onboarding.NewWalletPassword.password_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.unlock": "", |
|||
"components.Onboarding.RecoverForm.word_placeholder": "", |
|||
"components.Onboarding.Signup.signup_create": "", |
|||
"components.Onboarding.Signup.signup_import": "", |
|||
"components.Onboarding.Syncing.block_progress": "", |
|||
"components.Onboarding.Syncing.filter_progress": "", |
|||
"components.Onboarding.Syncing.fund_description": "", |
|||
"components.Onboarding.Syncing.fund_title": "", |
|||
"components.Onboarding.Syncing.grab_coffee": "", |
|||
"components.Onboarding.Syncing.preparing": "", |
|||
"components.Onboarding.Syncing.sync_caption": "", |
|||
"components.Onboarding.Syncing.sync_description": "", |
|||
"components.Onboarding.Syncing.sync_title": "", |
|||
"components.Onboarding.Syncing.waiting_for_peers": "", |
|||
"components.Onboarding.alias_description": "", |
|||
"components.Onboarding.alias_title": "", |
|||
"components.Onboarding.autopilot_description": "", |
|||
"components.Onboarding.autopilot_title": "", |
|||
"components.Onboarding.btcpay_description": "", |
|||
"components.Onboarding.btcpay_title": "", |
|||
"components.Onboarding.confirm_connection_description": "", |
|||
"components.Onboarding.confirm_connection_title": "", |
|||
"components.Onboarding.connection_description": "", |
|||
"components.Onboarding.connection_details_custom_description": "", |
|||
"components.Onboarding.connection_details_custom_title": "", |
|||
"components.Onboarding.connection_title": "", |
|||
"components.Onboarding.create_wallet_password_description": "", |
|||
"components.Onboarding.create_wallet_password_title": "", |
|||
"components.Onboarding.import_description": "", |
|||
"components.Onboarding.import_title": "", |
|||
"components.Onboarding.login_description": "", |
|||
"components.Onboarding.login_title": "", |
|||
"components.Onboarding.retype_seed_description": "", |
|||
"components.Onboarding.retype_seed_title": "", |
|||
"components.Onboarding.save_seed_description": "", |
|||
"components.Onboarding.save_seed_title": "", |
|||
"components.Onboarding.signup_description": "", |
|||
"components.Onboarding.signup_title": "", |
|||
"components.Settings.Fiat.title": "", |
|||
"components.Settings.Locale.title": "", |
|||
"components.Settings.Menu.fiat": "", |
|||
"components.Settings.Menu.locale": "", |
|||
"components.Wallet.ReceiveModal.bitcoin_address": "", |
|||
"components.Wallet.ReceiveModal.copy_address": "", |
|||
"components.Wallet.ReceiveModal.copy_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_public_key": "", |
|||
"components.Wallet.pay": "", |
|||
"components.Wallet.payment_success": "", |
|||
"components.Wallet.request": "", |
|||
"components.Wallet.sending_tx": "", |
|||
"components.Wallet.transaction_success": "" |
|||
} |
@ -0,0 +1,157 @@ |
|||
{ |
|||
"components.Activity.Countdown.expires": "", |
|||
"components.Activity.Invoice.amount": "", |
|||
"components.Activity.Invoice.received": "", |
|||
"components.Activity.Invoice.requested": "", |
|||
"components.Activity.Invoice.type_paid": "", |
|||
"components.Activity.Invoice.type_unpaid": "", |
|||
"components.Activity.InvoiceModal.copy": "", |
|||
"components.Activity.InvoiceModal.memo": "", |
|||
"components.Activity.InvoiceModal.not_paid": "", |
|||
"components.Activity.InvoiceModal.paid": "", |
|||
"components.Activity.InvoiceModal.pay_req": "", |
|||
"components.Activity.InvoiceModal.request": "", |
|||
"components.Activity.InvoiceModal.save": "", |
|||
"components.Activity.Payment.amount": "", |
|||
"components.Activity.Payment.fee": "", |
|||
"components.Activity.Payment.type": "", |
|||
"components.Activity.PaymentModal.fee": "", |
|||
"components.Activity.PaymentModal.lightning": "", |
|||
"components.Activity.PaymentModal.sent": "", |
|||
"components.Activity.Transaction.amount": "", |
|||
"components.Activity.Transaction.fee": "", |
|||
"components.Activity.Transaction.received": "", |
|||
"components.Activity.Transaction.sent": "", |
|||
"components.Activity.Transaction.type": "", |
|||
"components.Activity.TransactionModal.fee": "", |
|||
"components.Activity.TransactionModal.on_chain": "", |
|||
"components.Activity.TransactionModal.received": "", |
|||
"components.Activity.TransactionModal.sent": "", |
|||
"components.Activity.all": "", |
|||
"components.Activity.hide_expired": "", |
|||
"components.Activity.pending": "قيد الانتظار", |
|||
"components.Activity.refresh": "", |
|||
"components.Activity.requested": "", |
|||
"components.Activity.search": "", |
|||
"components.Activity.sent": "", |
|||
"components.Activity.show_expired": "", |
|||
"components.Contacts.AddChannel.manual_button": "", |
|||
"components.Contacts.AddChannel.manual_description": "", |
|||
"components.Contacts.AddChannel.offline": "غير متصل", |
|||
"components.Contacts.AddChannel.online": "متصل", |
|||
"components.Contacts.AddChannel.pending": "قيد الانتظار", |
|||
"components.Contacts.AddChannel.private": "", |
|||
"components.Contacts.ConnectManually.description": "", |
|||
"components.Contacts.ConnectManually.placeholder": "", |
|||
"components.Contacts.ConnectManually.submit": "", |
|||
"components.Contacts.ConnectManually.title": "", |
|||
"components.Contacts.Network.closing": "إغلاق", |
|||
"components.Contacts.Network.loading": "", |
|||
"components.Contacts.Network.offline": "غير متصل", |
|||
"components.Contacts.Network.online": "متصل", |
|||
"components.Contacts.Network.open_channel": "", |
|||
"components.Contacts.Network.pay_limit": "", |
|||
"components.Contacts.Network.pending": "قيد الانتظار", |
|||
"components.Contacts.Network.refresh": "", |
|||
"components.Contacts.Network.req_limit": "", |
|||
"components.Contacts.Network.search_placeholder": "", |
|||
"components.Contacts.Network.title": "", |
|||
"components.Contacts.SubmitChannelForm.description": "", |
|||
"components.Contacts.SubmitChannelForm.duplicate_warnig": "", |
|||
"components.Contacts.SubmitChannelForm.submit": "", |
|||
"components.Contacts.SubmitChannelForm.title": "", |
|||
"components.Contacts.SuggestedNodes.connect": "", |
|||
"components.Contacts.SuggestedNodes.empty_description": "", |
|||
"components.Form.Pay.amount": "المبلغ", |
|||
"components.Form.Pay.destination": "", |
|||
"components.Form.Pay.onchain_description": "", |
|||
"components.Form.Pay.pay": "", |
|||
"components.Form.Pay.request_placeholder": "", |
|||
"components.Form.Pay.title": "", |
|||
"components.Form.Request.amount": "المبلغ", |
|||
"components.Form.Request.details": "", |
|||
"components.Form.Request.memo": "", |
|||
"components.Form.Request.request": "", |
|||
"components.Form.Request.title": "", |
|||
"components.LoadingBolt.loading": "", |
|||
"components.Onboarding.Autopilot.disable": "", |
|||
"components.Onboarding.Autopilot.enable": "", |
|||
"components.Onboarding.BtcPayServer.btcpay_description": "", |
|||
"components.Onboarding.BtcPayServer.btcpay_error": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_label": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_placeholder": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_description": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_title": "", |
|||
"components.Onboarding.ConnectionDetails.cert_description": "", |
|||
"components.Onboarding.ConnectionDetails.cert_title": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_description": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_title": "", |
|||
"components.Onboarding.ConnectionDetails.macaroon_description": "", |
|||
"components.Onboarding.ConnectionType.btcpay_description": "", |
|||
"components.Onboarding.ConnectionType.custom": "", |
|||
"components.Onboarding.ConnectionType.custom_description": "", |
|||
"components.Onboarding.ConnectionType.default": "", |
|||
"components.Onboarding.ConnectionType.default_description": "", |
|||
"components.Onboarding.ConnectionType.only": "", |
|||
"components.Onboarding.FormContainer.back": "", |
|||
"components.Onboarding.FormContainer.help": "تحتاج مساعدة؟", |
|||
"components.Onboarding.FormContainer.next": "", |
|||
"components.Onboarding.Login.password_placeholder": "", |
|||
"components.Onboarding.Login.unlock": "", |
|||
"components.Onboarding.NewWalletPassword.password_confirm_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_length": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_match": "", |
|||
"components.Onboarding.NewWalletPassword.password_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.unlock": "", |
|||
"components.Onboarding.RecoverForm.word_placeholder": "", |
|||
"components.Onboarding.Signup.signup_create": "", |
|||
"components.Onboarding.Signup.signup_import": "", |
|||
"components.Onboarding.Syncing.block_progress": "", |
|||
"components.Onboarding.Syncing.filter_progress": "", |
|||
"components.Onboarding.Syncing.fund_description": "", |
|||
"components.Onboarding.Syncing.fund_title": "", |
|||
"components.Onboarding.Syncing.grab_coffee": "", |
|||
"components.Onboarding.Syncing.preparing": "", |
|||
"components.Onboarding.Syncing.sync_caption": "", |
|||
"components.Onboarding.Syncing.sync_description": "", |
|||
"components.Onboarding.Syncing.sync_title": "", |
|||
"components.Onboarding.Syncing.waiting_for_peers": "", |
|||
"components.Onboarding.alias_description": "", |
|||
"components.Onboarding.alias_title": "", |
|||
"components.Onboarding.autopilot_description": "", |
|||
"components.Onboarding.autopilot_title": "", |
|||
"components.Onboarding.btcpay_description": "", |
|||
"components.Onboarding.btcpay_title": "", |
|||
"components.Onboarding.confirm_connection_description": "", |
|||
"components.Onboarding.confirm_connection_title": "", |
|||
"components.Onboarding.connection_description": "", |
|||
"components.Onboarding.connection_details_custom_description": "", |
|||
"components.Onboarding.connection_details_custom_title": "", |
|||
"components.Onboarding.connection_title": "", |
|||
"components.Onboarding.create_wallet_password_description": "", |
|||
"components.Onboarding.create_wallet_password_title": "", |
|||
"components.Onboarding.import_description": "", |
|||
"components.Onboarding.import_title": "", |
|||
"components.Onboarding.login_description": "", |
|||
"components.Onboarding.login_title": "", |
|||
"components.Onboarding.retype_seed_description": "", |
|||
"components.Onboarding.retype_seed_title": "", |
|||
"components.Onboarding.save_seed_description": "", |
|||
"components.Onboarding.save_seed_title": "", |
|||
"components.Onboarding.signup_description": "", |
|||
"components.Onboarding.signup_title": "", |
|||
"components.Settings.Fiat.title": "", |
|||
"components.Settings.Locale.title": "", |
|||
"components.Settings.Menu.fiat": "", |
|||
"components.Settings.Menu.locale": "", |
|||
"components.Wallet.ReceiveModal.bitcoin_address": "", |
|||
"components.Wallet.ReceiveModal.copy_address": "", |
|||
"components.Wallet.ReceiveModal.copy_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_public_key": "", |
|||
"components.Wallet.pay": "", |
|||
"components.Wallet.payment_success": "", |
|||
"components.Wallet.request": "", |
|||
"components.Wallet.sending_tx": "", |
|||
"components.Wallet.transaction_success": "" |
|||
} |
@ -0,0 +1,157 @@ |
|||
{ |
|||
"components.Activity.Countdown.expires": "", |
|||
"components.Activity.Invoice.amount": "Сума", |
|||
"components.Activity.Invoice.received": "Получени", |
|||
"components.Activity.Invoice.requested": "Заявени", |
|||
"components.Activity.Invoice.type_paid": "", |
|||
"components.Activity.Invoice.type_unpaid": "", |
|||
"components.Activity.InvoiceModal.copy": "", |
|||
"components.Activity.InvoiceModal.memo": "Бележка", |
|||
"components.Activity.InvoiceModal.not_paid": "Не платени", |
|||
"components.Activity.InvoiceModal.paid": "Платени", |
|||
"components.Activity.InvoiceModal.pay_req": "Заявка за плащане", |
|||
"components.Activity.InvoiceModal.request": "Заявка", |
|||
"components.Activity.InvoiceModal.save": "Запази като изображение", |
|||
"components.Activity.Payment.amount": "Сума", |
|||
"components.Activity.Payment.fee": "Такса", |
|||
"components.Activity.Payment.type": "", |
|||
"components.Activity.PaymentModal.fee": "Такса", |
|||
"components.Activity.PaymentModal.lightning": "", |
|||
"components.Activity.PaymentModal.sent": "Изпратени", |
|||
"components.Activity.Transaction.amount": "Сума", |
|||
"components.Activity.Transaction.fee": "Такса", |
|||
"components.Activity.Transaction.received": "Получени", |
|||
"components.Activity.Transaction.sent": "Изпратени", |
|||
"components.Activity.Transaction.type": "", |
|||
"components.Activity.TransactionModal.fee": "Такса", |
|||
"components.Activity.TransactionModal.on_chain": "On-Chain", |
|||
"components.Activity.TransactionModal.received": "Получени", |
|||
"components.Activity.TransactionModal.sent": "Изпратени", |
|||
"components.Activity.all": "Всички", |
|||
"components.Activity.hide_expired": "", |
|||
"components.Activity.pending": "Чакащи", |
|||
"components.Activity.refresh": "Обновяване", |
|||
"components.Activity.requested": "Заявени", |
|||
"components.Activity.search": "Търсене", |
|||
"components.Activity.sent": "Изпратени", |
|||
"components.Activity.show_expired": "", |
|||
"components.Contacts.AddChannel.manual_button": "Свържи се ръчно", |
|||
"components.Contacts.AddChannel.manual_description": "Хм изглежда, че не можем да видим този възел от тук, искате ли да опитате да се свържете ръчно?", |
|||
"components.Contacts.AddChannel.offline": "Неактивни", |
|||
"components.Contacts.AddChannel.online": "", |
|||
"components.Contacts.AddChannel.pending": "Чакащи", |
|||
"components.Contacts.AddChannel.private": "", |
|||
"components.Contacts.ConnectManually.description": "Моля, въведете pubkey@host на възела към който искате да се свържете", |
|||
"components.Contacts.ConnectManually.placeholder": "pubkey@host", |
|||
"components.Contacts.ConnectManually.submit": "Свържи се", |
|||
"components.Contacts.ConnectManually.title": "Свържи се ръчно", |
|||
"components.Contacts.Network.closing": "Затварящи се", |
|||
"components.Contacts.Network.loading": "", |
|||
"components.Contacts.Network.offline": "Неактивни", |
|||
"components.Contacts.Network.online": "", |
|||
"components.Contacts.Network.open_channel": "Отвори канал", |
|||
"components.Contacts.Network.pay_limit": "", |
|||
"components.Contacts.Network.pending": "Чакащи", |
|||
"components.Contacts.Network.refresh": "Обновяване", |
|||
"components.Contacts.Network.req_limit": "", |
|||
"components.Contacts.Network.search_placeholder": "", |
|||
"components.Contacts.Network.title": "Моята мрежа", |
|||
"components.Contacts.SubmitChannelForm.description": "Отварянето на канал ще ви позволи да изпращате и получавате пари в Lightning мрежата. Вие не харчите пари, а по-скоро ги премествате в мрежата, където може да ги използвате.", |
|||
"components.Contacts.SubmitChannelForm.duplicate_warnig": "", |
|||
"components.Contacts.SubmitChannelForm.submit": "Създай Канал", |
|||
"components.Contacts.SubmitChannelForm.title": "Добавете средства към мрежа", |
|||
"components.Contacts.SuggestedNodes.connect": "", |
|||
"components.Contacts.SuggestedNodes.empty_description": "Хмм, изглежда, че все още нямате отворени канали. Ето някои предложения за възли, към които да отворите канал за да започнете", |
|||
"components.Form.Pay.amount": "Сума", |
|||
"components.Form.Pay.destination": "Дестинация", |
|||
"components.Form.Pay.onchain_description": "", |
|||
"components.Form.Pay.pay": "Плати", |
|||
"components.Form.Pay.request_placeholder": "Поставете заявката за плащане или bitcoin адресът тук", |
|||
"components.Form.Pay.title": "", |
|||
"components.Form.Request.amount": "Сума", |
|||
"components.Form.Request.details": "Подробности относно заявката", |
|||
"components.Form.Request.memo": "Бележка", |
|||
"components.Form.Request.request": "Заяви плащане", |
|||
"components.Form.Request.title": "Заявка за плащане", |
|||
"components.LoadingBolt.loading": "", |
|||
"components.Onboarding.Autopilot.disable": "Забрани", |
|||
"components.Onboarding.Autopilot.enable": "Разреши", |
|||
"components.Onboarding.BtcPayServer.btcpay_description": "Поставете цялото съдържание на вашия BTCPay Server connection конфигурационен файл. Той може да бъде намерен, като щракнете върху връзката наречена "Click here to open the configuration file." в настройките на BTCPay Server gRPC.", |
|||
"components.Onboarding.BtcPayServer.btcpay_error": "Невалиден текст за свързване.", |
|||
"components.Onboarding.BtcPayServer.connection_string_label": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_placeholder": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_description": "Моля, проверете името на хоста внимателно.", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_title": "Сигурни ли сте, че искате да се свържете към", |
|||
"components.Onboarding.ConnectionDetails.cert_description": "Път до lnd tls сертификата. Пример: /path/to/tls.cert", |
|||
"components.Onboarding.ConnectionDetails.cert_title": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_description": "Име на хост и порт на Lnd gRPC интерфейса. Пример: localhost:10009", |
|||
"components.Onboarding.ConnectionDetails.hostname_title": "", |
|||
"components.Onboarding.ConnectionDetails.macaroon_description": "Път до lnd macaroon файла. Пример: /path/to/admin.macaroon", |
|||
"components.Onboarding.ConnectionType.btcpay_description": "Поставете цялото съдържание на вашия BTCPay Server connection конфигурационен файл. Той може да бъде намерен, като щракнете върху връзката наречена "Click here to open the configuration file." в настройките на BTCPay Server gRPC.", |
|||
"components.Onboarding.ConnectionType.custom": "Ръчна настройка", |
|||
"components.Onboarding.ConnectionType.custom_description": "", |
|||
"components.Onboarding.ConnectionType.default": "По подразбиране", |
|||
"components.Onboarding.ConnectionType.default_description": "", |
|||
"components.Onboarding.ConnectionType.only": "", |
|||
"components.Onboarding.FormContainer.back": "Назад", |
|||
"components.Onboarding.FormContainer.help": "Нужда от помощ?", |
|||
"components.Onboarding.FormContainer.next": "Напред", |
|||
"components.Onboarding.Login.password_placeholder": "", |
|||
"components.Onboarding.Login.unlock": "Отключи", |
|||
"components.Onboarding.NewWalletPassword.password_confirm_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_length": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_match": "", |
|||
"components.Onboarding.NewWalletPassword.password_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.unlock": "Отключи", |
|||
"components.Onboarding.RecoverForm.word_placeholder": "дума", |
|||
"components.Onboarding.Signup.signup_create": "Създай нов портфейл", |
|||
"components.Onboarding.Signup.signup_import": "Възстановяване на съществуващ портфейл", |
|||
"components.Onboarding.Syncing.block_progress": "", |
|||
"components.Onboarding.Syncing.filter_progress": "", |
|||
"components.Onboarding.Syncing.fund_description": "Можете да внесете пари във вашия портфейл докато чакате синхронизирането.", |
|||
"components.Onboarding.Syncing.fund_title": "Внеси пари в Zap портфейла", |
|||
"components.Onboarding.Syncing.grab_coffee": "Изглежда, че зареждането може да отнеме повече време. По-добре си направи едно кафе и опитай по-късно!", |
|||
"components.Onboarding.Syncing.preparing": "Подготвяне…", |
|||
"components.Onboarding.Syncing.sync_caption": "Синхронизиране с blockchain-a", |
|||
"components.Onboarding.Syncing.sync_description": "Моля, изчакайте известно време, докато ние зареждаме последните данни от blockchain.", |
|||
"components.Onboarding.Syncing.sync_title": "Добре дошъл отново в Zap портфейла!", |
|||
"components.Onboarding.Syncing.waiting_for_peers": "Изчакване за връзки…", |
|||
"components.Onboarding.alias_description": "Задайте псевдоним, с който ще ви разпознават, в Lightning мрежата", |
|||
"components.Onboarding.alias_title": "Как да ви наричаме?", |
|||
"components.Onboarding.autopilot_description": "Автопилотът е автоматичен мрежови мениджър. Вместо ръчно да изграждате мрежа от хора за извършване на плащания, разрешете автопилота за да може автоматично да се свържете към Lightning мрежата използвайки 60 % от вашия баланс.", |
|||
"components.Onboarding.autopilot_title": "", |
|||
"components.Onboarding.btcpay_description": "Поставете цялото съдържание на вашия BTCPay Server connection конфигурационен файл. Той може да бъде намерен, като щракнете върху връзката наречена "Click here to open the configuration file." в настройките на BTCPay Server gRPC.", |
|||
"components.Onboarding.btcpay_title": "", |
|||
"components.Onboarding.confirm_connection_description": "", |
|||
"components.Onboarding.confirm_connection_title": "", |
|||
"components.Onboarding.connection_description": "По подразбиране Zap ще направи възел към мрежата и ще направи настройките автоматично. Също така, може да настройте и ръчна връзка и да използвате Zap за дистанционно контролиране на възел, ако желаете (за напреднали потребители).", |
|||
"components.Onboarding.connection_details_custom_description": "", |
|||
"components.Onboarding.connection_details_custom_title": "", |
|||
"components.Onboarding.connection_title": "Как искате да се свържете към Lightning мрежата?", |
|||
"components.Onboarding.create_wallet_password_description": "", |
|||
"components.Onboarding.create_wallet_password_title": "", |
|||
"components.Onboarding.import_description": "Добре, възстановяване на портфейла. Никой не ти е нужен, ще се справиш сам :)", |
|||
"components.Onboarding.import_title": "Възстановете вашия seed", |
|||
"components.Onboarding.login_description": "Изглежда, че вече имате портфейл. (намерихме един в `{walletDir}`). Моля, въведете паролата на портфейла си, за да го отключите.", |
|||
"components.Onboarding.login_title": "Добре дошъл отново!", |
|||
"components.Onboarding.retype_seed_description": "Вашите seed думи са важни! Ако ги загубите, няма да можете да възстановите портфейла си. За да се уверите, че правилно сте въвели вашите seed думи, моля въведете ги отново {word1}, {word2} & {word3}", |
|||
"components.Onboarding.retype_seed_title": "Въведете отново вашите seed думи", |
|||
"components.Onboarding.save_seed_description": "Моля, запазете тези 24 думи на сигурно място. Те ще ви помогнат да възстановите портфейла си в бъдеще", |
|||
"components.Onboarding.save_seed_title": "Запазете seed думите на портфейла ви", |
|||
"components.Onboarding.signup_description": "Искате ли да създадете нов портфейл или да възстановите съществуващ такъв?", |
|||
"components.Onboarding.signup_title": "Добре, нека направим някои настройки", |
|||
"components.Settings.Fiat.title": "Fiat валута", |
|||
"components.Settings.Locale.title": "Език", |
|||
"components.Settings.Menu.fiat": "Fiat валута", |
|||
"components.Settings.Menu.locale": "Език", |
|||
"components.Wallet.ReceiveModal.bitcoin_address": "Bitcoin адрес", |
|||
"components.Wallet.ReceiveModal.copy_address": "", |
|||
"components.Wallet.ReceiveModal.copy_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_public_key": "Публичния ключ на възела", |
|||
"components.Wallet.pay": "Плати", |
|||
"components.Wallet.payment_success": "Успешно изпратено плащане", |
|||
"components.Wallet.request": "Заяви", |
|||
"components.Wallet.sending_tx": "Изпращане на вашата транзакция…", |
|||
"components.Wallet.transaction_success": "Успешно изпратена транзакция" |
|||
} |
@ -0,0 +1,157 @@ |
|||
{ |
|||
"components.Activity.Countdown.expires": "", |
|||
"components.Activity.Invoice.amount": "", |
|||
"components.Activity.Invoice.received": "", |
|||
"components.Activity.Invoice.requested": "", |
|||
"components.Activity.Invoice.type_paid": "", |
|||
"components.Activity.Invoice.type_unpaid": "", |
|||
"components.Activity.InvoiceModal.copy": "", |
|||
"components.Activity.InvoiceModal.memo": "", |
|||
"components.Activity.InvoiceModal.not_paid": "", |
|||
"components.Activity.InvoiceModal.paid": "", |
|||
"components.Activity.InvoiceModal.pay_req": "", |
|||
"components.Activity.InvoiceModal.request": "", |
|||
"components.Activity.InvoiceModal.save": "", |
|||
"components.Activity.Payment.amount": "", |
|||
"components.Activity.Payment.fee": "", |
|||
"components.Activity.Payment.type": "", |
|||
"components.Activity.PaymentModal.fee": "", |
|||
"components.Activity.PaymentModal.lightning": "", |
|||
"components.Activity.PaymentModal.sent": "", |
|||
"components.Activity.Transaction.amount": "", |
|||
"components.Activity.Transaction.fee": "", |
|||
"components.Activity.Transaction.received": "", |
|||
"components.Activity.Transaction.sent": "", |
|||
"components.Activity.Transaction.type": "", |
|||
"components.Activity.TransactionModal.fee": "", |
|||
"components.Activity.TransactionModal.on_chain": "", |
|||
"components.Activity.TransactionModal.received": "", |
|||
"components.Activity.TransactionModal.sent": "", |
|||
"components.Activity.all": "", |
|||
"components.Activity.hide_expired": "", |
|||
"components.Activity.pending": "", |
|||
"components.Activity.refresh": "", |
|||
"components.Activity.requested": "", |
|||
"components.Activity.search": "", |
|||
"components.Activity.sent": "", |
|||
"components.Activity.show_expired": "", |
|||
"components.Contacts.AddChannel.manual_button": "", |
|||
"components.Contacts.AddChannel.manual_description": "", |
|||
"components.Contacts.AddChannel.offline": "", |
|||
"components.Contacts.AddChannel.online": "", |
|||
"components.Contacts.AddChannel.pending": "", |
|||
"components.Contacts.AddChannel.private": "", |
|||
"components.Contacts.ConnectManually.description": "", |
|||
"components.Contacts.ConnectManually.placeholder": "", |
|||
"components.Contacts.ConnectManually.submit": "", |
|||
"components.Contacts.ConnectManually.title": "", |
|||
"components.Contacts.Network.closing": "", |
|||
"components.Contacts.Network.loading": "", |
|||
"components.Contacts.Network.offline": "", |
|||
"components.Contacts.Network.online": "", |
|||
"components.Contacts.Network.open_channel": "", |
|||
"components.Contacts.Network.pay_limit": "", |
|||
"components.Contacts.Network.pending": "", |
|||
"components.Contacts.Network.refresh": "", |
|||
"components.Contacts.Network.req_limit": "", |
|||
"components.Contacts.Network.search_placeholder": "", |
|||
"components.Contacts.Network.title": "", |
|||
"components.Contacts.SubmitChannelForm.description": "", |
|||
"components.Contacts.SubmitChannelForm.duplicate_warnig": "", |
|||
"components.Contacts.SubmitChannelForm.submit": "", |
|||
"components.Contacts.SubmitChannelForm.title": "", |
|||
"components.Contacts.SuggestedNodes.connect": "", |
|||
"components.Contacts.SuggestedNodes.empty_description": "", |
|||
"components.Form.Pay.amount": "", |
|||
"components.Form.Pay.destination": "", |
|||
"components.Form.Pay.onchain_description": "", |
|||
"components.Form.Pay.pay": "", |
|||
"components.Form.Pay.request_placeholder": "", |
|||
"components.Form.Pay.title": "", |
|||
"components.Form.Request.amount": "", |
|||
"components.Form.Request.details": "", |
|||
"components.Form.Request.memo": "", |
|||
"components.Form.Request.request": "", |
|||
"components.Form.Request.title": "", |
|||
"components.LoadingBolt.loading": "", |
|||
"components.Onboarding.Autopilot.disable": "", |
|||
"components.Onboarding.Autopilot.enable": "", |
|||
"components.Onboarding.BtcPayServer.btcpay_description": "", |
|||
"components.Onboarding.BtcPayServer.btcpay_error": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_label": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_placeholder": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_description": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_title": "", |
|||
"components.Onboarding.ConnectionDetails.cert_description": "", |
|||
"components.Onboarding.ConnectionDetails.cert_title": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_description": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_title": "", |
|||
"components.Onboarding.ConnectionDetails.macaroon_description": "", |
|||
"components.Onboarding.ConnectionType.btcpay_description": "", |
|||
"components.Onboarding.ConnectionType.custom": "", |
|||
"components.Onboarding.ConnectionType.custom_description": "", |
|||
"components.Onboarding.ConnectionType.default": "", |
|||
"components.Onboarding.ConnectionType.default_description": "", |
|||
"components.Onboarding.ConnectionType.only": "", |
|||
"components.Onboarding.FormContainer.back": "", |
|||
"components.Onboarding.FormContainer.help": "", |
|||
"components.Onboarding.FormContainer.next": "", |
|||
"components.Onboarding.Login.password_placeholder": "", |
|||
"components.Onboarding.Login.unlock": "", |
|||
"components.Onboarding.NewWalletPassword.password_confirm_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_length": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_match": "", |
|||
"components.Onboarding.NewWalletPassword.password_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.unlock": "", |
|||
"components.Onboarding.RecoverForm.word_placeholder": "", |
|||
"components.Onboarding.Signup.signup_create": "", |
|||
"components.Onboarding.Signup.signup_import": "", |
|||
"components.Onboarding.Syncing.block_progress": "", |
|||
"components.Onboarding.Syncing.filter_progress": "", |
|||
"components.Onboarding.Syncing.fund_description": "", |
|||
"components.Onboarding.Syncing.fund_title": "", |
|||
"components.Onboarding.Syncing.grab_coffee": "", |
|||
"components.Onboarding.Syncing.preparing": "", |
|||
"components.Onboarding.Syncing.sync_caption": "", |
|||
"components.Onboarding.Syncing.sync_description": "", |
|||
"components.Onboarding.Syncing.sync_title": "", |
|||
"components.Onboarding.Syncing.waiting_for_peers": "", |
|||
"components.Onboarding.alias_description": "", |
|||
"components.Onboarding.alias_title": "", |
|||
"components.Onboarding.autopilot_description": "", |
|||
"components.Onboarding.autopilot_title": "", |
|||
"components.Onboarding.btcpay_description": "", |
|||
"components.Onboarding.btcpay_title": "", |
|||
"components.Onboarding.confirm_connection_description": "", |
|||
"components.Onboarding.confirm_connection_title": "", |
|||
"components.Onboarding.connection_description": "", |
|||
"components.Onboarding.connection_details_custom_description": "", |
|||
"components.Onboarding.connection_details_custom_title": "", |
|||
"components.Onboarding.connection_title": "", |
|||
"components.Onboarding.create_wallet_password_description": "", |
|||
"components.Onboarding.create_wallet_password_title": "", |
|||
"components.Onboarding.import_description": "", |
|||
"components.Onboarding.import_title": "", |
|||
"components.Onboarding.login_description": "", |
|||
"components.Onboarding.login_title": "", |
|||
"components.Onboarding.retype_seed_description": "", |
|||
"components.Onboarding.retype_seed_title": "", |
|||
"components.Onboarding.save_seed_description": "", |
|||
"components.Onboarding.save_seed_title": "", |
|||
"components.Onboarding.signup_description": "", |
|||
"components.Onboarding.signup_title": "", |
|||
"components.Settings.Fiat.title": "", |
|||
"components.Settings.Locale.title": "", |
|||
"components.Settings.Menu.fiat": "", |
|||
"components.Settings.Menu.locale": "", |
|||
"components.Wallet.ReceiveModal.bitcoin_address": "", |
|||
"components.Wallet.ReceiveModal.copy_address": "", |
|||
"components.Wallet.ReceiveModal.copy_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_public_key": "", |
|||
"components.Wallet.pay": "", |
|||
"components.Wallet.payment_success": "", |
|||
"components.Wallet.request": "", |
|||
"components.Wallet.sending_tx": "", |
|||
"components.Wallet.transaction_success": "" |
|||
} |
@ -0,0 +1,157 @@ |
|||
{ |
|||
"components.Activity.Countdown.expires": "", |
|||
"components.Activity.Invoice.amount": "Částka", |
|||
"components.Activity.Invoice.received": "Přijato", |
|||
"components.Activity.Invoice.requested": "Vyžádáno", |
|||
"components.Activity.Invoice.type_paid": "", |
|||
"components.Activity.Invoice.type_unpaid": "", |
|||
"components.Activity.InvoiceModal.copy": "", |
|||
"components.Activity.InvoiceModal.memo": "Poznámka", |
|||
"components.Activity.InvoiceModal.not_paid": "Nezaplaceno", |
|||
"components.Activity.InvoiceModal.paid": "Zaplaceno", |
|||
"components.Activity.InvoiceModal.pay_req": "Žádost o platbu", |
|||
"components.Activity.InvoiceModal.request": "Vyžádat", |
|||
"components.Activity.InvoiceModal.save": "Uložit jako obrázek", |
|||
"components.Activity.Payment.amount": "Částka", |
|||
"components.Activity.Payment.fee": "Poplatek", |
|||
"components.Activity.Payment.type": "", |
|||
"components.Activity.PaymentModal.fee": "Poplatek", |
|||
"components.Activity.PaymentModal.lightning": "", |
|||
"components.Activity.PaymentModal.sent": "Odesláno", |
|||
"components.Activity.Transaction.amount": "Částka", |
|||
"components.Activity.Transaction.fee": "Poplatek", |
|||
"components.Activity.Transaction.received": "Přijato", |
|||
"components.Activity.Transaction.sent": "Odesláno", |
|||
"components.Activity.Transaction.type": "", |
|||
"components.Activity.TransactionModal.fee": "Poplatek", |
|||
"components.Activity.TransactionModal.on_chain": "On-Chain", |
|||
"components.Activity.TransactionModal.received": "Přijato", |
|||
"components.Activity.TransactionModal.sent": "Odesláno", |
|||
"components.Activity.all": "Všechny", |
|||
"components.Activity.hide_expired": "", |
|||
"components.Activity.pending": "Čekající", |
|||
"components.Activity.refresh": "Aktualizovat", |
|||
"components.Activity.requested": "Vyžádáno", |
|||
"components.Activity.search": "Hledat", |
|||
"components.Activity.sent": "Odesláno", |
|||
"components.Activity.show_expired": "", |
|||
"components.Contacts.AddChannel.manual_button": "Propojit ručně", |
|||
"components.Contacts.AddChannel.manual_description": "Hm, vypadá to, že takhle uzel neuvidíme. Chcete se zkusit připojit manuálně?", |
|||
"components.Contacts.AddChannel.offline": "Offline", |
|||
"components.Contacts.AddChannel.online": "", |
|||
"components.Contacts.AddChannel.pending": "Čekající", |
|||
"components.Contacts.AddChannel.private": "", |
|||
"components.Contacts.ConnectManually.description": "Prosím zadejte údaj o uzlu: pubkey@host", |
|||
"components.Contacts.ConnectManually.placeholder": "pubkey@host", |
|||
"components.Contacts.ConnectManually.submit": "Odeslat", |
|||
"components.Contacts.ConnectManually.title": "Propojit ručně", |
|||
"components.Contacts.Network.closing": "Uzavírané", |
|||
"components.Contacts.Network.loading": "", |
|||
"components.Contacts.Network.offline": "Offline", |
|||
"components.Contacts.Network.online": "", |
|||
"components.Contacts.Network.open_channel": "Otevřít kanál", |
|||
"components.Contacts.Network.pay_limit": "", |
|||
"components.Contacts.Network.pending": "Čekající", |
|||
"components.Contacts.Network.refresh": "Aktualizovat", |
|||
"components.Contacts.Network.req_limit": "", |
|||
"components.Contacts.Network.search_placeholder": "", |
|||
"components.Contacts.Network.title": "Moje síť", |
|||
"components.Contacts.SubmitChannelForm.description": "Otevření kanálu vám pomůže odesílat a přijímat peníze přes Lightning Network. Neutrácíte tím žádné peníze, ale přesouváte tolik, kolik plánujete v síti použít.", |
|||
"components.Contacts.SubmitChannelForm.duplicate_warnig": "", |
|||
"components.Contacts.SubmitChannelForm.submit": "Odeslat", |
|||
"components.Contacts.SubmitChannelForm.title": "Přidat prostředky do sítě", |
|||
"components.Contacts.SuggestedNodes.connect": "", |
|||
"components.Contacts.SuggestedNodes.empty_description": "Hmmm, vypadá to, že zatím nemáte žádné otevřené kanály. Pro začátek navrhujeme otevřít kanál k některému z navrhovaných uzlů", |
|||
"components.Form.Pay.amount": "Částka", |
|||
"components.Form.Pay.destination": "Cíl", |
|||
"components.Form.Pay.onchain_description": "", |
|||
"components.Form.Pay.pay": "Zaplatit", |
|||
"components.Form.Pay.request_placeholder": "Vložte žádost o platbu nebo bitcoinovou adresu", |
|||
"components.Form.Pay.title": "", |
|||
"components.Form.Request.amount": "Částka", |
|||
"components.Form.Request.details": "Podrobnosti o žádosti", |
|||
"components.Form.Request.memo": "Poznámka", |
|||
"components.Form.Request.request": "Vyžádat", |
|||
"components.Form.Request.title": "Vyžádat platbu", |
|||
"components.LoadingBolt.loading": "", |
|||
"components.Onboarding.Autopilot.disable": "Zakázat", |
|||
"components.Onboarding.Autopilot.enable": "Povolit", |
|||
"components.Onboarding.BtcPayServer.btcpay_description": "Vložce celý obsah konfiguračního souboru vašeho BTCPay serveru. Naleznete ho po kliknutí na odkaz s názvem"Klikněte zde pro otevření konfiguračního souboru." v nastavení gRPC vašeho BTCPay serveru.", |
|||
"components.Onboarding.BtcPayServer.btcpay_error": "Neplatný připojovací řetězec.", |
|||
"components.Onboarding.BtcPayServer.connection_string_label": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_placeholder": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_description": "Prosím, pečlivě zkontrolujte název hositele.", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_title": "Jste si jistí, že chcete připojit k", |
|||
"components.Onboarding.ConnectionDetails.cert_description": "Cesta k certifikátu lnd tls. Příklad /path/to/tls.cert", |
|||
"components.Onboarding.ConnectionDetails.cert_title": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_description": "Název hostitele a portu rozhraní Lnd gRPC. Příklad: localhost:10009", |
|||
"components.Onboarding.ConnectionDetails.hostname_title": "", |
|||
"components.Onboarding.ConnectionDetails.macaroon_description": "Cesta k souboru lnd macaroon. Příklad: /path/to/admin.macaroon", |
|||
"components.Onboarding.ConnectionType.btcpay_description": "Vložce celý obsah konfiguračního souboru vašeho BTCPay serveru. Naleznete ho po kliknutí na odkaz s názvem"Klikněte zde pro otevření konfiguračního souboru." v nastavení gRPC vašeho BTCPay serveru.", |
|||
"components.Onboarding.ConnectionType.custom": "Vlastní", |
|||
"components.Onboarding.ConnectionType.custom_description": "", |
|||
"components.Onboarding.ConnectionType.default": "Výchozí", |
|||
"components.Onboarding.ConnectionType.default_description": "", |
|||
"components.Onboarding.ConnectionType.only": "", |
|||
"components.Onboarding.FormContainer.back": "Zpět", |
|||
"components.Onboarding.FormContainer.help": "Potřebujete poradit?", |
|||
"components.Onboarding.FormContainer.next": "Další", |
|||
"components.Onboarding.Login.password_placeholder": "", |
|||
"components.Onboarding.Login.unlock": "Odemknout", |
|||
"components.Onboarding.NewWalletPassword.password_confirm_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_length": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_match": "", |
|||
"components.Onboarding.NewWalletPassword.password_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.unlock": "Odemknout", |
|||
"components.Onboarding.RecoverForm.word_placeholder": "slovo", |
|||
"components.Onboarding.Signup.signup_create": "Vytvořit novou peněženku", |
|||
"components.Onboarding.Signup.signup_import": "Importovat existující peněženku", |
|||
"components.Onboarding.Syncing.block_progress": "", |
|||
"components.Onboarding.Syncing.filter_progress": "", |
|||
"components.Onboarding.Syncing.fund_description": "Během sycnrhonizace si zatím můžete dobít vaši peněženku.", |
|||
"components.Onboarding.Syncing.fund_title": "Dobijte vaši Zap peněženku", |
|||
"components.Onboarding.Syncing.grab_coffee": "Vypadá to, že to nějakou dobu potrvá - dejte si kávu a nebo to zkuste později!", |
|||
"components.Onboarding.Syncing.preparing": "Příprava…", |
|||
"components.Onboarding.Syncing.sync_caption": "Synchronizace blockchainu", |
|||
"components.Onboarding.Syncing.sync_description": "Prosím čekejte, načítají se aktuální data z blockhainu.", |
|||
"components.Onboarding.Syncing.sync_title": "Vítejte zpět do peněženky Zap!", |
|||
"components.Onboarding.Syncing.waiting_for_peers": "Čekání na peery…", |
|||
"components.Onboarding.alias_description": "Zvolte si přezdívku, aby vás ostatní našli rychleji na Lightning Network", |
|||
"components.Onboarding.alias_title": "Jak vám máme říkat?", |
|||
"components.Onboarding.autopilot_description": "Autopilot je váš automatický manažer spojení. Místo manuálního přidávání lidí za vás autopilot automaticky vytvoří spojení do Lightning Network. Využije k tomu 60 % vašich prostředků.", |
|||
"components.Onboarding.autopilot_title": "", |
|||
"components.Onboarding.btcpay_description": "Vložce celý obsah konfiguračního souboru vašeho BTCPay serveru. Naleznete ho po kliknutí na odkaz s názvem"Klikněte zde pro otevření konfiguračního souboru." v nastavení gRPC vašeho BTCPay serveru.", |
|||
"components.Onboarding.btcpay_title": "", |
|||
"components.Onboarding.confirm_connection_description": "", |
|||
"components.Onboarding.confirm_connection_title": "", |
|||
"components.Onboarding.connection_description": "Zap automaticky vybere uzel a všechnu práci udělá v pozadí za vás. Můžete nicméně nastavit vlastní spojení a použít Zap ke kontrole vzdáleného uzlu (pro pokročilé uživatele).", |
|||
"components.Onboarding.connection_details_custom_description": "", |
|||
"components.Onboarding.connection_details_custom_title": "", |
|||
"components.Onboarding.connection_title": "Jak se chcete připojit k Lightning Network?", |
|||
"components.Onboarding.create_wallet_password_description": "", |
|||
"components.Onboarding.create_wallet_password_title": "", |
|||
"components.Onboarding.import_description": "Peněženka se obnovuje, skvělé. Nepotřebujete nikoho jiného, máte sebe :)", |
|||
"components.Onboarding.import_title": "Importovat seed", |
|||
"components.Onboarding.login_description": "Vypadá to, že už jednu peněženku máte (našli jsme ji zde: `{walletDir}`). Prosím, zadejte heslo pro její odemknutí.", |
|||
"components.Onboarding.login_title": "Vítejte zpět!", |
|||
"components.Onboarding.retype_seed_description": "Váš seed je důležitý! Když ho ztratíte, nepůjde obnovit peněženku. Abychom se ujistili, že jste si ho správně opsali, zadejte slova znovu {word1}, {word2} & {word3}", |
|||
"components.Onboarding.retype_seed_title": "Zadejte znovu seed", |
|||
"components.Onboarding.save_seed_description": "Prosím, uložte těchto 24 slov bezpečně! Umožní vám v budoucnu obnovit peněženku", |
|||
"components.Onboarding.save_seed_title": "Uložit seed peněženky", |
|||
"components.Onboarding.signup_description": "Chcete vytvořit novou peněženku nebo importovat existující?", |
|||
"components.Onboarding.signup_title": "Pojďme vše nastavit", |
|||
"components.Settings.Fiat.title": "Fiat měna", |
|||
"components.Settings.Locale.title": "Jazyk", |
|||
"components.Settings.Menu.fiat": "Fiat měna", |
|||
"components.Settings.Menu.locale": "Jazyk", |
|||
"components.Wallet.ReceiveModal.bitcoin_address": "Bitcoinová adresa", |
|||
"components.Wallet.ReceiveModal.copy_address": "", |
|||
"components.Wallet.ReceiveModal.copy_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_public_key": "Veřejný klíč uzlu", |
|||
"components.Wallet.pay": "Zaplatit", |
|||
"components.Wallet.payment_success": "Platba úspěšně odeslána", |
|||
"components.Wallet.request": "Vyžádat", |
|||
"components.Wallet.sending_tx": "Probíhá odesílání vaší transakce…", |
|||
"components.Wallet.transaction_success": "Transakce úspěšně odeslána" |
|||
} |
@ -0,0 +1,157 @@ |
|||
{ |
|||
"components.Activity.Countdown.expires": "", |
|||
"components.Activity.Invoice.amount": "", |
|||
"components.Activity.Invoice.received": "", |
|||
"components.Activity.Invoice.requested": "", |
|||
"components.Activity.Invoice.type_paid": "", |
|||
"components.Activity.Invoice.type_unpaid": "", |
|||
"components.Activity.InvoiceModal.copy": "", |
|||
"components.Activity.InvoiceModal.memo": "Memo", |
|||
"components.Activity.InvoiceModal.not_paid": "", |
|||
"components.Activity.InvoiceModal.paid": "", |
|||
"components.Activity.InvoiceModal.pay_req": "Anmodning om betaling", |
|||
"components.Activity.InvoiceModal.request": "", |
|||
"components.Activity.InvoiceModal.save": "", |
|||
"components.Activity.Payment.amount": "", |
|||
"components.Activity.Payment.fee": "", |
|||
"components.Activity.Payment.type": "", |
|||
"components.Activity.PaymentModal.fee": "Gebyr", |
|||
"components.Activity.PaymentModal.lightning": "", |
|||
"components.Activity.PaymentModal.sent": "", |
|||
"components.Activity.Transaction.amount": "", |
|||
"components.Activity.Transaction.fee": "", |
|||
"components.Activity.Transaction.received": "", |
|||
"components.Activity.Transaction.sent": "", |
|||
"components.Activity.Transaction.type": "", |
|||
"components.Activity.TransactionModal.fee": "Gebyr", |
|||
"components.Activity.TransactionModal.on_chain": "", |
|||
"components.Activity.TransactionModal.received": "", |
|||
"components.Activity.TransactionModal.sent": "", |
|||
"components.Activity.all": "", |
|||
"components.Activity.hide_expired": "", |
|||
"components.Activity.pending": "", |
|||
"components.Activity.refresh": "", |
|||
"components.Activity.requested": "", |
|||
"components.Activity.search": "", |
|||
"components.Activity.sent": "", |
|||
"components.Activity.show_expired": "", |
|||
"components.Contacts.AddChannel.manual_button": "", |
|||
"components.Contacts.AddChannel.manual_description": "", |
|||
"components.Contacts.AddChannel.offline": "Offline", |
|||
"components.Contacts.AddChannel.online": "Online", |
|||
"components.Contacts.AddChannel.pending": "", |
|||
"components.Contacts.AddChannel.private": "", |
|||
"components.Contacts.ConnectManually.description": "", |
|||
"components.Contacts.ConnectManually.placeholder": "", |
|||
"components.Contacts.ConnectManually.submit": "", |
|||
"components.Contacts.ConnectManually.title": "", |
|||
"components.Contacts.Network.closing": "lukker", |
|||
"components.Contacts.Network.loading": "", |
|||
"components.Contacts.Network.offline": "offline", |
|||
"components.Contacts.Network.online": "online", |
|||
"components.Contacts.Network.open_channel": "", |
|||
"components.Contacts.Network.pay_limit": "", |
|||
"components.Contacts.Network.pending": "", |
|||
"components.Contacts.Network.refresh": "", |
|||
"components.Contacts.Network.req_limit": "", |
|||
"components.Contacts.Network.search_placeholder": "", |
|||
"components.Contacts.Network.title": "", |
|||
"components.Contacts.SubmitChannelForm.description": "", |
|||
"components.Contacts.SubmitChannelForm.duplicate_warnig": "", |
|||
"components.Contacts.SubmitChannelForm.submit": "", |
|||
"components.Contacts.SubmitChannelForm.title": "", |
|||
"components.Contacts.SuggestedNodes.connect": "Tilslut", |
|||
"components.Contacts.SuggestedNodes.empty_description": "", |
|||
"components.Form.Pay.amount": "Beløb", |
|||
"components.Form.Pay.destination": "", |
|||
"components.Form.Pay.onchain_description": "", |
|||
"components.Form.Pay.pay": "", |
|||
"components.Form.Pay.request_placeholder": "", |
|||
"components.Form.Pay.title": "", |
|||
"components.Form.Request.amount": "Beløb", |
|||
"components.Form.Request.details": "", |
|||
"components.Form.Request.memo": "Memo", |
|||
"components.Form.Request.request": "", |
|||
"components.Form.Request.title": "", |
|||
"components.LoadingBolt.loading": "", |
|||
"components.Onboarding.Autopilot.disable": "", |
|||
"components.Onboarding.Autopilot.enable": "", |
|||
"components.Onboarding.BtcPayServer.btcpay_description": "", |
|||
"components.Onboarding.BtcPayServer.btcpay_error": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_label": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_placeholder": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_description": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_title": "", |
|||
"components.Onboarding.ConnectionDetails.cert_description": "", |
|||
"components.Onboarding.ConnectionDetails.cert_title": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_description": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_title": "", |
|||
"components.Onboarding.ConnectionDetails.macaroon_description": "", |
|||
"components.Onboarding.ConnectionType.btcpay_description": "", |
|||
"components.Onboarding.ConnectionType.custom": "", |
|||
"components.Onboarding.ConnectionType.custom_description": "", |
|||
"components.Onboarding.ConnectionType.default": "", |
|||
"components.Onboarding.ConnectionType.default_description": "", |
|||
"components.Onboarding.ConnectionType.only": "", |
|||
"components.Onboarding.FormContainer.back": "", |
|||
"components.Onboarding.FormContainer.help": "Brug for hjælp?", |
|||
"components.Onboarding.FormContainer.next": "Næste", |
|||
"components.Onboarding.Login.password_placeholder": "", |
|||
"components.Onboarding.Login.unlock": "", |
|||
"components.Onboarding.NewWalletPassword.password_confirm_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_length": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_match": "", |
|||
"components.Onboarding.NewWalletPassword.password_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.unlock": "", |
|||
"components.Onboarding.RecoverForm.word_placeholder": "", |
|||
"components.Onboarding.Signup.signup_create": "", |
|||
"components.Onboarding.Signup.signup_import": "", |
|||
"components.Onboarding.Syncing.block_progress": "", |
|||
"components.Onboarding.Syncing.filter_progress": "", |
|||
"components.Onboarding.Syncing.fund_description": "", |
|||
"components.Onboarding.Syncing.fund_title": "", |
|||
"components.Onboarding.Syncing.grab_coffee": "", |
|||
"components.Onboarding.Syncing.preparing": "", |
|||
"components.Onboarding.Syncing.sync_caption": "", |
|||
"components.Onboarding.Syncing.sync_description": "", |
|||
"components.Onboarding.Syncing.sync_title": "", |
|||
"components.Onboarding.Syncing.waiting_for_peers": "", |
|||
"components.Onboarding.alias_description": "", |
|||
"components.Onboarding.alias_title": "", |
|||
"components.Onboarding.autopilot_description": "", |
|||
"components.Onboarding.autopilot_title": "", |
|||
"components.Onboarding.btcpay_description": "", |
|||
"components.Onboarding.btcpay_title": "", |
|||
"components.Onboarding.confirm_connection_description": "", |
|||
"components.Onboarding.confirm_connection_title": "", |
|||
"components.Onboarding.connection_description": "", |
|||
"components.Onboarding.connection_details_custom_description": "", |
|||
"components.Onboarding.connection_details_custom_title": "", |
|||
"components.Onboarding.connection_title": "", |
|||
"components.Onboarding.create_wallet_password_description": "", |
|||
"components.Onboarding.create_wallet_password_title": "", |
|||
"components.Onboarding.import_description": "", |
|||
"components.Onboarding.import_title": "", |
|||
"components.Onboarding.login_description": "", |
|||
"components.Onboarding.login_title": "", |
|||
"components.Onboarding.retype_seed_description": "", |
|||
"components.Onboarding.retype_seed_title": "", |
|||
"components.Onboarding.save_seed_description": "", |
|||
"components.Onboarding.save_seed_title": "", |
|||
"components.Onboarding.signup_description": "", |
|||
"components.Onboarding.signup_title": "", |
|||
"components.Settings.Fiat.title": "", |
|||
"components.Settings.Locale.title": "", |
|||
"components.Settings.Menu.fiat": "", |
|||
"components.Settings.Menu.locale": "", |
|||
"components.Wallet.ReceiveModal.bitcoin_address": "", |
|||
"components.Wallet.ReceiveModal.copy_address": "", |
|||
"components.Wallet.ReceiveModal.copy_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_public_key": "", |
|||
"components.Wallet.pay": "", |
|||
"components.Wallet.payment_success": "", |
|||
"components.Wallet.request": "", |
|||
"components.Wallet.sending_tx": "", |
|||
"components.Wallet.transaction_success": "" |
|||
} |
@ -0,0 +1,157 @@ |
|||
{ |
|||
"components.Activity.Countdown.expires": "Ablaufend in", |
|||
"components.Activity.Invoice.amount": "Betrag", |
|||
"components.Activity.Invoice.received": "Erhaltene Zahlung", |
|||
"components.Activity.Invoice.requested": "Angeforderte Zahlung", |
|||
"components.Activity.Invoice.type_paid": "Lightning Rechnung (bezahlt)", |
|||
"components.Activity.Invoice.type_unpaid": "Lightning Rechnung (nicht bezahlt)", |
|||
"components.Activity.InvoiceModal.copy": "Rechnungsanfrage kopieren", |
|||
"components.Activity.InvoiceModal.memo": "Memo", |
|||
"components.Activity.InvoiceModal.not_paid": "Nicht bezahlt", |
|||
"components.Activity.InvoiceModal.paid": "Bezahlt", |
|||
"components.Activity.InvoiceModal.pay_req": "Zahlungsanfrage", |
|||
"components.Activity.InvoiceModal.request": "Anfrage", |
|||
"components.Activity.InvoiceModal.save": "Als Bild speichern", |
|||
"components.Activity.Payment.amount": "Betrag", |
|||
"components.Activity.Payment.fee": "Gebühr", |
|||
"components.Activity.Payment.type": "Lightning Zahlung", |
|||
"components.Activity.PaymentModal.fee": "Gebühr", |
|||
"components.Activity.PaymentModal.lightning": "Lightning Network", |
|||
"components.Activity.PaymentModal.sent": "Gesendet", |
|||
"components.Activity.Transaction.amount": "Betrag", |
|||
"components.Activity.Transaction.fee": "Gebühr", |
|||
"components.Activity.Transaction.received": "Erhalten", |
|||
"components.Activity.Transaction.sent": "Gesendet", |
|||
"components.Activity.Transaction.type": "Transaktion im Bitcoin Netzwerk", |
|||
"components.Activity.TransactionModal.fee": "Gebühr", |
|||
"components.Activity.TransactionModal.on_chain": "On-Chain", |
|||
"components.Activity.TransactionModal.received": "Erhalten", |
|||
"components.Activity.TransactionModal.sent": "Gesendet", |
|||
"components.Activity.all": "Alle", |
|||
"components.Activity.hide_expired": "Verstecke abgelaufene Anfragen", |
|||
"components.Activity.pending": "Ausstehend", |
|||
"components.Activity.refresh": "Aktualisieren", |
|||
"components.Activity.requested": "Angefragt", |
|||
"components.Activity.search": "Suche", |
|||
"components.Activity.sent": "Gesendet", |
|||
"components.Activity.show_expired": "Zeige abgelaufene Anfragen", |
|||
"components.Contacts.AddChannel.manual_button": "Manuell verbinden", |
|||
"components.Contacts.AddChannel.manual_description": "Hm, offenbar können wir diesen Node nicht erreichen. Möchtest du dich manuell verbinden?", |
|||
"components.Contacts.AddChannel.offline": "Offline", |
|||
"components.Contacts.AddChannel.online": "Online", |
|||
"components.Contacts.AddChannel.pending": "Ausstehend", |
|||
"components.Contacts.AddChannel.private": "Privat", |
|||
"components.Contacts.ConnectManually.description": "Bitte pubkey@host des Peers einfügen", |
|||
"components.Contacts.ConnectManually.placeholder": "pubkey@host", |
|||
"components.Contacts.ConnectManually.submit": "Senden", |
|||
"components.Contacts.ConnectManually.title": "Manuell verbinden", |
|||
"components.Contacts.Network.closing": "Schließen", |
|||
"components.Contacts.Network.loading": "lädt", |
|||
"components.Contacts.Network.offline": "Offline", |
|||
"components.Contacts.Network.online": "online", |
|||
"components.Contacts.Network.open_channel": "Zahlungskanal öffnen", |
|||
"components.Contacts.Network.pay_limit": "Limit für Zahlungen", |
|||
"components.Contacts.Network.pending": "Ausstehend", |
|||
"components.Contacts.Network.refresh": "Aktualisieren", |
|||
"components.Contacts.Network.req_limit": "Anfragelimit", |
|||
"components.Contacts.Network.search_placeholder": "suche anhand alias oder öffentlichen schlüssel", |
|||
"components.Contacts.Network.title": "Mein Netzwerk", |
|||
"components.Contacts.SubmitChannelForm.description": "Das Öffnen eines Zahlungskanals hilft dir Zahlungen über das Lightning Netzwerk zu senden und zu empfangen. Du gibst dabei kein Geld aus, sondern speicherst Geld im Netzwerk, das du später nutzen kannst.", |
|||
"components.Contacts.SubmitChannelForm.duplicate_warnig": "Sie haben derzeit {activeChannels, plural, zero {keine aktiven kanäle} one {1 aktive(r) kanäle} other {{activeChannels} aktive kanäle}} gegenüber {aliasMsg, select, this_node {node} other{{aliasMsg}}} geöffnet mit einer Kapazität von", |
|||
"components.Contacts.SubmitChannelForm.submit": "Senden", |
|||
"components.Contacts.SubmitChannelForm.title": "Guthaben dem Netzwerk hinzufügen", |
|||
"components.Contacts.SuggestedNodes.connect": "Verbinden", |
|||
"components.Contacts.SuggestedNodes.empty_description": "Hmmm, sieht so aus als hättest Du noch keine Zahlungskanäle. Hier sind einige empfohlene Nodes, mit denen Du einen Kanal öffnen kannst um loszulegen", |
|||
"components.Form.Pay.amount": "Betrag", |
|||
"components.Form.Pay.destination": "Ziel", |
|||
"components.Form.Pay.onchain_description": "Im Bitcoin Netzwerk (~10 Minuten)", |
|||
"components.Form.Pay.pay": "Bezahlen", |
|||
"components.Form.Pay.request_placeholder": "Füge Zahlungsanfrage oder Bitcoin Adresse ein", |
|||
"components.Form.Pay.title": "Zahlung ausführen", |
|||
"components.Form.Request.amount": "Betrag", |
|||
"components.Form.Request.details": "Details zur Anfrage", |
|||
"components.Form.Request.memo": "Memo", |
|||
"components.Form.Request.request": "Anforderung", |
|||
"components.Form.Request.title": "Zahlung anfordern", |
|||
"components.LoadingBolt.loading": "lädt", |
|||
"components.Onboarding.Autopilot.disable": "Aus", |
|||
"components.Onboarding.Autopilot.enable": "An", |
|||
"components.Onboarding.BtcPayServer.btcpay_description": "Füge den gesamten Inhalt deiner BTCPay Server connection config Datei ein. Du findest diese unter folgendem Link " Klicke hier um die Konfigurationsdatei " in deinen BTCPay Server gRPC Einstellungen zu öffnen.", |
|||
"components.Onboarding.BtcPayServer.btcpay_error": "Ungültiger Verbindungsstring.", |
|||
"components.Onboarding.BtcPayServer.connection_string_label": "Zeichenfolge der Verbindung", |
|||
"components.Onboarding.BtcPayServer.connection_string_placeholder": "Verbindungszeichenfolge des BTCPay Server", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_description": "Bitte überprüfe den Hostnamen sorgfältig.", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_title": "Willst du wirklich eine Verbindung zu .............. herstellen", |
|||
"components.Onboarding.ConnectionDetails.cert_description": "Pfad zum lnd tls cert. Beispiel: /path/to/tls.cert", |
|||
"components.Onboarding.ConnectionDetails.cert_title": "TLS-Zertifikat", |
|||
"components.Onboarding.ConnectionDetails.hostname_description": "Hostname und Port des Lnd gRPC Interface. Beispiel: localhost:10009", |
|||
"components.Onboarding.ConnectionDetails.hostname_title": "Betreiber", |
|||
"components.Onboarding.ConnectionDetails.macaroon_description": "Pfad zur lnd macaroon Datei. Beispiel: /path/to/admin.macaroon", |
|||
"components.Onboarding.ConnectionType.btcpay_description": "Füge den gesamten Inhalt deiner BTCPay Server connection config Datei ein. Du findest diese unter folgendem Link " Klicke hier um die Konfigurationsdatei " in deinen BTCPay Server gRPC Einstellungen zu öffnen.", |
|||
"components.Onboarding.ConnectionType.custom": "Benutzerdefiniert", |
|||
"components.Onboarding.ConnectionType.custom_description": "Verbinden Sie sich mit Ihrem eigenen Node. Sie werden Ihre eigenen Verbindungsinformationen benötigen. Nur für fortgeschrittene Benutzer.", |
|||
"components.Onboarding.ConnectionType.default": "Voreingestellt", |
|||
"components.Onboarding.ConnectionType.default_description": "Durch die Auswahl des Standardmodus wird alles automatisch für Sie getan. Einfach klicken und los!", |
|||
"components.Onboarding.ConnectionType.only": "nur", |
|||
"components.Onboarding.FormContainer.back": "Zurück", |
|||
"components.Onboarding.FormContainer.help": "Brauchst du Hilfe?", |
|||
"components.Onboarding.FormContainer.next": "Weiter", |
|||
"components.Onboarding.Login.password_placeholder": "Passwort", |
|||
"components.Onboarding.Login.unlock": "Entsperren", |
|||
"components.Onboarding.NewWalletPassword.password_confirm_placeholder": "Passwort bestätigen", |
|||
"components.Onboarding.NewWalletPassword.password_error_length": "Das Passwort muss mindestens {passwordMinLength} Zeichen lang sein", |
|||
"components.Onboarding.NewWalletPassword.password_error_match": "Die Passwörter stimmen nicht überein", |
|||
"components.Onboarding.NewWalletPassword.password_placeholder": "Passwort", |
|||
"components.Onboarding.NewWalletPassword.unlock": "Entsperren", |
|||
"components.Onboarding.RecoverForm.word_placeholder": "wort", |
|||
"components.Onboarding.Signup.signup_create": "Neues Wallet erstellen", |
|||
"components.Onboarding.Signup.signup_import": "Bestehendes Wallet importieren", |
|||
"components.Onboarding.Syncing.block_progress": "Block {currentBlock} von {totalBlocks}", |
|||
"components.Onboarding.Syncing.filter_progress": "Überweisungsfilter {currentFilter} von {totalFilters}", |
|||
"components.Onboarding.Syncing.fund_description": "Während der Synchronisation kannst du gleich dein Wallet aufladen.", |
|||
"components.Onboarding.Syncing.fund_title": "Lade dein Zap Wallet auf", |
|||
"components.Onboarding.Syncing.grab_coffee": "Sieht aus als könnte dies eine Weile dauern. Schnapp dir einen Kaffee oder versuche es später erneut!", |
|||
"components.Onboarding.Syncing.preparing": "Wird vorbereitet…", |
|||
"components.Onboarding.Syncing.sync_caption": "Synchronisierung mit der Blockchain", |
|||
"components.Onboarding.Syncing.sync_description": "Bitte hab Geduld während wir deine aktuellen Daten aus der Blockchain sammeln.", |
|||
"components.Onboarding.Syncing.sync_title": "Willkommen zurück in deiner Zap Wallet!", |
|||
"components.Onboarding.Syncing.waiting_for_peers": "Warte auf Verbindungen…", |
|||
"components.Onboarding.alias_description": "Gib deinen Benutzernamen ein, um anderen zu helfen, sich mit dir über das Lightning Network zu verbinden", |
|||
"components.Onboarding.alias_title": "Wie sollen wir dich nennen?", |
|||
"components.Onboarding.autopilot_description": "Autopilot ist ein automatischer Netzwerkverwalter. Anstatt manuell neue Leute hinzuzufügen um dein Zahlungsnetzwerk zu kreieren, kannst du Autopilot aktivieren um automatisch 60% deines Guthabens für Verbindungen zum Lightning Netzwerk zu verwenden.", |
|||
"components.Onboarding.autopilot_title": "Autopilot", |
|||
"components.Onboarding.btcpay_description": "Füge den gesamten Inhalt deiner BTCPay Server connection config Datei ein. Du findest diese unter folgendem Link " Klicke hier um die Konfigurationsdatei " in deinen BTCPay Server gRPC Einstellungen zu öffnen.", |
|||
"components.Onboarding.btcpay_title": "BTCPay Server", |
|||
"components.Onboarding.confirm_connection_description": "Bestätigen Sie die Verbindungsinformationen für Ihren Lightning Node.", |
|||
"components.Onboarding.confirm_connection_title": "Verbindung bestätigen", |
|||
"components.Onboarding.connection_description": "Standardmässig setzt Zap für dich einen Node auf und übernimmt die komplizierten Dinge im Hintergrund. Du hast jedoch die Möglichkeit, eine benutzerdefinierte Verbindung zu einem Node aufzubauen und diesen über Zap fernzuverwalten (für erfahrene Nutzer).", |
|||
"components.Onboarding.connection_details_custom_description": "Geben Sie die Verbindungsdaten für Ihren Lightning Node an.", |
|||
"components.Onboarding.connection_details_custom_title": "Verbindungsdetails", |
|||
"components.Onboarding.connection_title": "Wie möchtest Du Dich mit dem Lightning Network verbinden?", |
|||
"components.Onboarding.create_wallet_password_description": "Sieht aus als wären Sie neu. Erstellen Sie ein Passwort um Ihre Geldbörse zu verschlüsseln. Dieses Passwort wird benötigt um Zap in der Zukunft zu entsperren", |
|||
"components.Onboarding.create_wallet_password_title": "Willkommen!", |
|||
"components.Onboarding.import_description": "Wallet wiederhergestellt, toll! Du brauchst niemand anderen, du hast alles unter deiner Kontrolle :)", |
|||
"components.Onboarding.import_title": "Importiere deinen Seed", |
|||
"components.Onboarding.login_description": "Offenbar hast du bereits ein Wallet (wir haben eines gefunden: `{walletDir}`). Bitte gib dein Passwort ein um es zu entsperren.", |
|||
"components.Onboarding.login_title": "Willkommen zurück!", |
|||
"components.Onboarding.retype_seed_description": "Dein Seed ist wichtig! Wenn du deinen Seed verlierst, gibt es keine Möglichkeit dein Wallet wiederherzustellen. Um sicher zu gehen, dass du deinen Seed korrekt gespeichert hast, tippe folgende Wörter noch einmal ein {word1}, {word2} & {word3}", |
|||
"components.Onboarding.retype_seed_title": "Tippe deinen Seed noch einmal ein", |
|||
"components.Onboarding.save_seed_description": "Bitte bewahre diese 24 Wörter unbedingt sicher auf! Du brauchst diese Wörter um dein Wallet in Zukunft wiederherzustellen", |
|||
"components.Onboarding.save_seed_title": "Schreibe deinen (Wallet) Seed auf ein Blatt Papier und bewahre es an einem sicheren Ort auf", |
|||
"components.Onboarding.signup_description": "Möchtest du ein neues Wallet aufsetzen oder ein bestehendes importieren?", |
|||
"components.Onboarding.signup_title": "Ok, legen wir los", |
|||
"components.Settings.Fiat.title": "Fiat-Währung", |
|||
"components.Settings.Locale.title": "Sprache", |
|||
"components.Settings.Menu.fiat": "Fiat-Währung", |
|||
"components.Settings.Menu.locale": "Sprache", |
|||
"components.Wallet.ReceiveModal.bitcoin_address": "Bitcoin Adresse", |
|||
"components.Wallet.ReceiveModal.copy_address": "Kopiere Adresse", |
|||
"components.Wallet.ReceiveModal.copy_pubkey": "Public Key kopieren", |
|||
"components.Wallet.ReceiveModal.node_pubkey": "Node öffentlicher Schlüssel", |
|||
"components.Wallet.ReceiveModal.node_public_key": "Node Public Key", |
|||
"components.Wallet.pay": "Bezahlen", |
|||
"components.Wallet.payment_success": "Zahlung erfolgreich gesendet", |
|||
"components.Wallet.request": "Anfrage", |
|||
"components.Wallet.sending_tx": "Sende deine Transaktion…", |
|||
"components.Wallet.transaction_success": "Transaktion erfolgreich gesendet" |
|||
} |
@ -0,0 +1,157 @@ |
|||
{ |
|||
"components.Activity.Countdown.expires": "", |
|||
"components.Activity.Invoice.amount": "Ποσό", |
|||
"components.Activity.Invoice.received": "Έλαβε", |
|||
"components.Activity.Invoice.requested": "Ζητείται", |
|||
"components.Activity.Invoice.type_paid": "", |
|||
"components.Activity.Invoice.type_unpaid": "", |
|||
"components.Activity.InvoiceModal.copy": "", |
|||
"components.Activity.InvoiceModal.memo": "Τιμολόγιο", |
|||
"components.Activity.InvoiceModal.not_paid": "Δεν καταβάλλεται", |
|||
"components.Activity.InvoiceModal.paid": "Καταβάλλεται", |
|||
"components.Activity.InvoiceModal.pay_req": "Αίτηση πληρωμής", |
|||
"components.Activity.InvoiceModal.request": "Ζητείται", |
|||
"components.Activity.InvoiceModal.save": "Αποθηκεύστε ως εικόνα", |
|||
"components.Activity.Payment.amount": "Ποσό", |
|||
"components.Activity.Payment.fee": "Αμοιβή", |
|||
"components.Activity.Payment.type": "", |
|||
"components.Activity.PaymentModal.fee": "Αμοιβή", |
|||
"components.Activity.PaymentModal.lightning": "", |
|||
"components.Activity.PaymentModal.sent": "Αποστέλλονται", |
|||
"components.Activity.Transaction.amount": "Ποσό", |
|||
"components.Activity.Transaction.fee": "Αμοιβή", |
|||
"components.Activity.Transaction.received": "Έλαβε", |
|||
"components.Activity.Transaction.sent": "Αποστέλλονται", |
|||
"components.Activity.Transaction.type": "", |
|||
"components.Activity.TransactionModal.fee": "Αμοιβή", |
|||
"components.Activity.TransactionModal.on_chain": "Στο blockchain", |
|||
"components.Activity.TransactionModal.received": "Έλαβε", |
|||
"components.Activity.TransactionModal.sent": "Αποστέλλονται", |
|||
"components.Activity.all": "Ολα", |
|||
"components.Activity.hide_expired": "", |
|||
"components.Activity.pending": "Εκκρεμής", |
|||
"components.Activity.refresh": "Ανανέωση", |
|||
"components.Activity.requested": "Ζητείται", |
|||
"components.Activity.search": "Αναζήτηση", |
|||
"components.Activity.sent": "Απεσταλμένα", |
|||
"components.Activity.show_expired": "", |
|||
"components.Contacts.AddChannel.manual_button": "Συνδέστε μη αυτόματα", |
|||
"components.Contacts.AddChannel.manual_description": "Χμμμ, μοιάζει να μην βλέπουμε τον κόμβο από εδώ, να προσπαθήσουμε να συνδεθούμε χειροκίνητα;", |
|||
"components.Contacts.AddChannel.offline": "Χωρίς σύνδεση", |
|||
"components.Contacts.AddChannel.online": "Σε απευθείας σύνδεση", |
|||
"components.Contacts.AddChannel.pending": "Εκκρεμής", |
|||
"components.Contacts.AddChannel.private": "", |
|||
"components.Contacts.ConnectManually.description": "Παρακαλώ εισάγετε την pubkey@host του ομότιμου", |
|||
"components.Contacts.ConnectManually.placeholder": "pubkey@host", |
|||
"components.Contacts.ConnectManually.submit": "Υποβάλουν", |
|||
"components.Contacts.ConnectManually.title": "Συνδέστε μη αυτόματα", |
|||
"components.Contacts.Network.closing": "Κλείσιμο", |
|||
"components.Contacts.Network.loading": "", |
|||
"components.Contacts.Network.offline": "Χωρίς σύνδεση", |
|||
"components.Contacts.Network.online": "σε απευθείας σύνδεση", |
|||
"components.Contacts.Network.open_channel": "Ανοίξει ένα κανάλι", |
|||
"components.Contacts.Network.pay_limit": "", |
|||
"components.Contacts.Network.pending": "Εκκρεμής", |
|||
"components.Contacts.Network.refresh": "Ανανέωση", |
|||
"components.Contacts.Network.req_limit": "", |
|||
"components.Contacts.Network.search_placeholder": "", |
|||
"components.Contacts.Network.title": "Δίκτυο μου", |
|||
"components.Contacts.SubmitChannelForm.description": "Το άνοιγμα ενός καναλιού θα σας βοηθήσει να στείλετε και να λάβετε χρήματα στο δίκτυο Lightning. Δεν ξοδεύετε χρήματα, αλλά μεταφέρετε τα χρήματα που σκοπεύετε να χρησιμοποιήσετε στο δίκτυο.", |
|||
"components.Contacts.SubmitChannelForm.duplicate_warnig": "", |
|||
"components.Contacts.SubmitChannelForm.submit": "Υποβάλουν", |
|||
"components.Contacts.SubmitChannelForm.title": "Προσθήκη πόρων στο δίκτυο", |
|||
"components.Contacts.SuggestedNodes.connect": "Συνδέω-συωδεομαι", |
|||
"components.Contacts.SuggestedNodes.empty_description": "Χμμμ, μοιάζει ότι δεν έχετε ακόμα κανάλια. Ακολουθούν ορισμένοι προτεινόμενοι κόμβοι για να ανοίξετε ένα κανάλι για να ξεκινήσετε", |
|||
"components.Form.Pay.amount": "Ποσό", |
|||
"components.Form.Pay.destination": "Προορισμός", |
|||
"components.Form.Pay.onchain_description": "", |
|||
"components.Form.Pay.pay": "Πληρώσει", |
|||
"components.Form.Pay.request_placeholder": "Επικολλήστε το αίτημα ή το bitcoin διεύθυνση πληρωμής εδώ", |
|||
"components.Form.Pay.title": "", |
|||
"components.Form.Request.amount": "Ποσό", |
|||
"components.Form.Request.details": "Λεπτομέρειες σχετικά με την αίτηση", |
|||
"components.Form.Request.memo": "Τιμολόγιο", |
|||
"components.Form.Request.request": "Ζητείται", |
|||
"components.Form.Request.title": "Αίτηση πληρωμής", |
|||
"components.LoadingBolt.loading": "", |
|||
"components.Onboarding.Autopilot.disable": "Απενεργοποίηση", |
|||
"components.Onboarding.Autopilot.enable": "Ενεργοποίηση", |
|||
"components.Onboarding.BtcPayServer.btcpay_description": "Επικολλήστε το πλήρες περιεχόμενο του αρχείου ρύθμισης σύνδεσης BTCPay Server. Αυτό μπορεί να βρεθεί κάνοντας κλικ στον σύνδεσμο με τίτλο \"Κάντε κλικ εδώ για να ανοίξετε το αρχείο ρυθμίσεων\" στις ρυθμίσεις gRPC του διακομιστή BTCPay.", |
|||
"components.Onboarding.BtcPayServer.btcpay_error": "Μη έγκυρη συμβολοσειρά σύνδεσης.", |
|||
"components.Onboarding.BtcPayServer.connection_string_label": "", |
|||
"components.Onboarding.BtcPayServer.connection_string_placeholder": "", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_description": "Ελέγξτε προσεκτικά το όνομα του κεντρικού υπολογιστή.", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_title": "Είστε βέβαιοι ότι θέλετε να συνδεθείτε προς", |
|||
"components.Onboarding.ConnectionDetails.cert_description": "Διαδρομή προς το αρχείο macaroon. Παράδειγμα: /path/to/tls.cert", |
|||
"components.Onboarding.ConnectionDetails.cert_title": "", |
|||
"components.Onboarding.ConnectionDetails.hostname_description": "Όνομα κεντρικού υπολογιστή και θύρα της διεπαφής Lnd gRPC. Παράδειγμα: localhost:10009", |
|||
"components.Onboarding.ConnectionDetails.hostname_title": "", |
|||
"components.Onboarding.ConnectionDetails.macaroon_description": "Διαδρομή προς το αρχείο macaroon. Παράδειγμα: /path/to/admin.macaroon", |
|||
"components.Onboarding.ConnectionType.btcpay_description": "Επικολλήστε το πλήρες περιεχόμενο του αρχείου ρύθμισης σύνδεσης BTCPay Server. Αυτό μπορεί να βρεθεί κάνοντας κλικ στον σύνδεσμο με τίτλο \"Κάντε κλικ εδώ για να ανοίξετε το αρχείο ρυθμίσεων\" στις ρυθμίσεις gRPC του διακομιστή BTCPay.", |
|||
"components.Onboarding.ConnectionType.custom": "Προσαρμοσμένη", |
|||
"components.Onboarding.ConnectionType.custom_description": "", |
|||
"components.Onboarding.ConnectionType.default": "Προεπιλογή", |
|||
"components.Onboarding.ConnectionType.default_description": "", |
|||
"components.Onboarding.ConnectionType.only": "", |
|||
"components.Onboarding.FormContainer.back": "Πίσω", |
|||
"components.Onboarding.FormContainer.help": "Χρειάζεστε βοήθεια;", |
|||
"components.Onboarding.FormContainer.next": "Επόμενη", |
|||
"components.Onboarding.Login.password_placeholder": "", |
|||
"components.Onboarding.Login.unlock": "Ξεκλειδώσετε", |
|||
"components.Onboarding.NewWalletPassword.password_confirm_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_length": "", |
|||
"components.Onboarding.NewWalletPassword.password_error_match": "", |
|||
"components.Onboarding.NewWalletPassword.password_placeholder": "", |
|||
"components.Onboarding.NewWalletPassword.unlock": "Ξεκλειδώσετε", |
|||
"components.Onboarding.RecoverForm.word_placeholder": "λέξη", |
|||
"components.Onboarding.Signup.signup_create": "Δημιουργήστε νέο πορτοφόλι", |
|||
"components.Onboarding.Signup.signup_import": "Εισαγωγή υπάρχουσας πορτοφόλι", |
|||
"components.Onboarding.Syncing.block_progress": "", |
|||
"components.Onboarding.Syncing.filter_progress": "", |
|||
"components.Onboarding.Syncing.fund_description": "Μπορεί επίσης να χρηματοδοτήσει το πορτοφόλι σας ενώ περιμένετε να συγχρονιστεί.", |
|||
"components.Onboarding.Syncing.fund_title": "Χρηματοδοτήστε το πορτοφόλι σας Zap", |
|||
"components.Onboarding.Syncing.grab_coffee": "Αυτό μπορεί να διαρκέσει λίγο. Μπορεί να θέλετε να πιείτε έναν καφέ ή να δοκιμάσετε αργότερα!", |
|||
"components.Onboarding.Syncing.preparing": "Προετοιμασία…", |
|||
"components.Onboarding.Syncing.sync_caption": "Συγχρονισμός με το blockchain", |
|||
"components.Onboarding.Syncing.sync_description": "Παρακαλώ περιμένετε λίγο ενώ φέρουμε όλα τα τελευταία σας δεδομένα από το blockchain.", |
|||
"components.Onboarding.Syncing.sync_title": "Καλώς ήρθατε πίσω στο πορτοφόλι σας Zap!", |
|||
"components.Onboarding.Syncing.waiting_for_peers": "Αναμονή για συνομηλίκους…", |
|||
"components.Onboarding.alias_description": "Ορίστε το ψευδώνυμό σας για να βοηθήσει άλλους να συνδεθεί μαζί σας στο δίκτυο Lightning", |
|||
"components.Onboarding.alias_title": "Τι να σας καλέσουμε;", |
|||
"components.Onboarding.autopilot_description": "Ο αυτόματος πιλότος είναι ένας αυτόματος διαχειριστής δικτύου. Αντί να προσθέσετε με μη αυτόματα άτομα για να δημιουργήσετε το δίκτυό σας για να πραγματοποιήσετε πληρωμές, ενεργοποιήστε τον αυτόματο πιλότο για αυτόματη σύνδεση στο δίκτυο Lightning Network χρησιμοποιώντας το 60% του υπολοίπου σας.", |
|||
"components.Onboarding.autopilot_title": "", |
|||
"components.Onboarding.btcpay_description": "Επικολλήστε το πλήρες περιεχόμενο του αρχείου ρύθμισης σύνδεσης BTCPay Server. Αυτό μπορεί να βρεθεί κάνοντας κλικ στον σύνδεσμο με τίτλο \"Κάντε κλικ εδώ για να ανοίξετε το αρχείο ρυθμίσεων\" στις ρυθμίσεις gRPC του διακομιστή BTCPay.", |
|||
"components.Onboarding.btcpay_title": "", |
|||
"components.Onboarding.confirm_connection_description": "", |
|||
"components.Onboarding.confirm_connection_title": "", |
|||
"components.Onboarding.connection_description": "Από προεπιλογή, το Zap θα περιστρέψει έναν κόμβο για σας και θα χειριστεί όλα τα αστεία πράγματα στο παρασκήνιο. Ωστόσο, μπορείτε επίσης να ρυθμίσετε μια προσαρμοσμένη σύνδεση κόμβου και να χρησιμοποιήσετε το Zap για να ελέγξετε έναν απομακρυσμένο κόμβο εάν το επιθυμείτε (για προχωρημένους χρήστες).", |
|||
"components.Onboarding.connection_details_custom_description": "", |
|||
"components.Onboarding.connection_details_custom_title": "", |
|||
"components.Onboarding.connection_title": "Πώς θέλετε να συνδέσετε στο δίκτυο Lightning;", |
|||
"components.Onboarding.create_wallet_password_description": "", |
|||
"components.Onboarding.create_wallet_password_title": "", |
|||
"components.Onboarding.import_description": "Ανακτώντας ένα πορτοφόλι, ωραία. Δεν χρειάζεται κάποιος άλλος, έχεις τον εαυτό σας :)", |
|||
"components.Onboarding.import_title": "Εισαγάγετε το σπόρο σας", |
|||
"components.Onboarding.login_description": "Φαίνεται ότι έχετε ήδη ένα πορτοφόλι (we found one at `{walletDir}`). Εισαγάγετε τον κωδικό πρόσβασης πορτοφολιού για να το ξεκλειδώσετε.", |
|||
"components.Onboarding.login_title": "Καλωσόρισες ξανά!", |
|||
"components.Onboarding.retype_seed_description": "Το σπόρο σας είναι σημαντική! Αν χάσετε το σπόρο σας, θα έχετε δεν υπάρχει τρόπος να ανακτήσετε το πορτοφόλι σας. Για να βεβαιωθείτε ότι έχετε αποθηκεύσει σωστά το σπόρο σας, Παρακαλούμε πληκτρολογήστε λέξεις {word1}, {word2} & {word3}", |
|||
"components.Onboarding.retype_seed_title": "Πληκτρολογήστε ξανά το σπόρο σας", |
|||
"components.Onboarding.save_seed_description": "Παρακαλώ αποθηκεύστε με ασφάλεια τα λόγια αυτά 24! Αυτό θα σας επιτρέψει να ανακτήσετε το πορτοφόλι σας στο μέλλον", |
|||
"components.Onboarding.save_seed_title": "Αποθηκεύσετε το σπόρο σας πορτοφόλι", |
|||
"components.Onboarding.signup_description": "Θα θέλατε να δημιουργήσετε ένα νέο πορτοφόλι ή την εισαγωγή μιας υπάρχουσας;", |
|||
"components.Onboarding.signup_title": "Εντάξει, Ας πάρουν συσταθεί", |
|||
"components.Settings.Fiat.title": "Κυβερνητικό νόμισμα", |
|||
"components.Settings.Locale.title": "Γλώσσα", |
|||
"components.Settings.Menu.fiat": "Κυβερνητικό νόμισμα", |
|||
"components.Settings.Menu.locale": "Γλώσσα", |
|||
"components.Wallet.ReceiveModal.bitcoin_address": "Διεύθυνση Bitcoin", |
|||
"components.Wallet.ReceiveModal.copy_address": "", |
|||
"components.Wallet.ReceiveModal.copy_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_pubkey": "", |
|||
"components.Wallet.ReceiveModal.node_public_key": "Κόμβος δημόσιου κλειδιού", |
|||
"components.Wallet.pay": "Αποστολή πληρωμής", |
|||
"components.Wallet.payment_success": "Η πληρωμή έγινε με επιτυχία", |
|||
"components.Wallet.request": "Αίτηση πληρωμής", |
|||
"components.Wallet.sending_tx": "Αποστολή της συναλλαγής σας…", |
|||
"components.Wallet.transaction_success": "Η συναλλαγή στάλθηκε με επιτυχία" |
|||
} |
@ -0,0 +1,157 @@ |
|||
{ |
|||
"components.Activity.Countdown.expires": "Expires in", |
|||
"components.Activity.Invoice.amount": "Invoice amount", |
|||
"components.Activity.Invoice.received": "Received payment", |
|||
"components.Activity.Invoice.requested": "Requested payment", |
|||
"components.Activity.Invoice.type_paid": "Lightning invoice (paid)", |
|||
"components.Activity.Invoice.type_unpaid": "Lightning invoice (unpaid)", |
|||
"components.Activity.InvoiceModal.copy": "Copy Request", |
|||
"components.Activity.InvoiceModal.memo": "Memo", |
|||
"components.Activity.InvoiceModal.not_paid": "Not Paid", |
|||
"components.Activity.InvoiceModal.paid": "Paid", |
|||
"components.Activity.InvoiceModal.pay_req": "Payment Request", |
|||
"components.Activity.InvoiceModal.request": "Request", |
|||
"components.Activity.InvoiceModal.save": "Save as image", |
|||
"components.Activity.Payment.amount": "Payment amount", |
|||
"components.Activity.Payment.fee": "Payment fee", |
|||
"components.Activity.Payment.type": "Lightning payment", |
|||
"components.Activity.PaymentModal.fee": "Fee", |
|||
"components.Activity.PaymentModal.lightning": "Lightning Network", |
|||
"components.Activity.PaymentModal.sent": "Sent", |
|||
"components.Activity.Transaction.amount": "Transaction amount", |
|||
"components.Activity.Transaction.fee": "Transaction fee", |
|||
"components.Activity.Transaction.received": "Received", |
|||
"components.Activity.Transaction.sent": "Sent", |
|||
"components.Activity.Transaction.type": "On-chain transaction", |
|||
"components.Activity.TransactionModal.fee": "Fee", |
|||
"components.Activity.TransactionModal.on_chain": "On-Chain", |
|||
"components.Activity.TransactionModal.received": "Received", |
|||
"components.Activity.TransactionModal.sent": "Sent", |
|||
"components.Activity.all": "All", |
|||
"components.Activity.hide_expired": "Hide Expired Requests", |
|||
"components.Activity.pending": "Pending", |
|||
"components.Activity.refresh": "Refresh", |
|||
"components.Activity.requested": "Requested", |
|||
"components.Activity.search": "Search", |
|||
"components.Activity.sent": "Sent", |
|||
"components.Activity.show_expired": "Show Expired Requests", |
|||
"components.Contacts.AddChannel.manual_button": "Connect Manually", |
|||
"components.Contacts.AddChannel.manual_description": "Hm, looks like we can't see that node from here, wanna try to manually connect?", |
|||
"components.Contacts.AddChannel.offline": "Offline", |
|||
"components.Contacts.AddChannel.online": "Online", |
|||
"components.Contacts.AddChannel.pending": "Pending", |
|||
"components.Contacts.AddChannel.private": "Private", |
|||
"components.Contacts.ConnectManually.description": "Please enter the peer’s pubkey@host", |
|||
"components.Contacts.ConnectManually.placeholder": "pubkey@host", |
|||
"components.Contacts.ConnectManually.submit": "Submit", |
|||
"components.Contacts.ConnectManually.title": "Connect Manually", |
|||
"components.Contacts.Network.closing": "closing", |
|||
"components.Contacts.Network.loading": "loading", |
|||
"components.Contacts.Network.offline": "offline", |
|||
"components.Contacts.Network.online": "online", |
|||
"components.Contacts.Network.open_channel": "Open a channel", |
|||
"components.Contacts.Network.pay_limit": "Pay Limit", |
|||
"components.Contacts.Network.pending": "pending", |
|||
"components.Contacts.Network.refresh": "Refresh", |
|||
"components.Contacts.Network.req_limit": "Request Limit", |
|||
"components.Contacts.Network.search_placeholder": "search by alias or pubkey", |
|||
"components.Contacts.Network.title": "My Network", |
|||
"components.Contacts.SubmitChannelForm.description": "Opening a channel will help you send and receive money on the Lightning Network. You aren't spending any money, rather moving the money you plan to use onto the network.", |
|||
"components.Contacts.SubmitChannelForm.duplicate_warnig": "You currently have {activeChannels, plural, zero {no active channels} one {1 active channel} other {{activeChannels} active channels}} open to {aliasMsg, select, this_node {this node} other {{aliasMsg}}} with a capacity of", |
|||
"components.Contacts.SubmitChannelForm.submit": "Submit", |
|||
"components.Contacts.SubmitChannelForm.title": "Add Funds to Network", |
|||
"components.Contacts.SuggestedNodes.connect": "Connect", |
|||
"components.Contacts.SuggestedNodes.empty_description": "Hmmm, looks like you don't have any channels yet. Here are some suggested nodes to open a channel with to get started", |
|||
"components.Form.Pay.amount": "Amount", |
|||
"components.Form.Pay.destination": "Destination", |
|||
"components.Form.Pay.onchain_description": "On-Chain (~10 minutes)", |
|||
"components.Form.Pay.pay": "Pay", |
|||
"components.Form.Pay.request_placeholder": "Paste payment request or bitcoin address here", |
|||
"components.Form.Pay.title": "Make Payment", |
|||
"components.Form.Request.amount": "Amount", |
|||
"components.Form.Request.details": "Details about the request", |
|||
"components.Form.Request.memo": "Memo", |
|||
"components.Form.Request.request": "Request", |
|||
"components.Form.Request.title": "Request Payment", |
|||
"components.LoadingBolt.loading": "loading", |
|||
"components.Onboarding.Autopilot.disable": "Disable", |
|||
"components.Onboarding.Autopilot.enable": "Enable", |
|||
"components.Onboarding.BtcPayServer.btcpay_description": "Paste the full content of your BTCPay Server connection config file. This can be found by clicking the link entitled 'Click here to open the configuration file' in your BTCPay Server gRPC settings.", |
|||
"components.Onboarding.BtcPayServer.btcpay_error": "Invalid connection string.", |
|||
"components.Onboarding.BtcPayServer.connection_string_label": "Connection String", |
|||
"components.Onboarding.BtcPayServer.connection_string_placeholder": "BTCPay Server Connection String", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_description": "Please check the hostname carefully.", |
|||
"components.Onboarding.ConnectionConfirm.verify_host_title": "Are you sure you want to connect to", |
|||
"components.Onboarding.ConnectionDetails.cert_description": "Path to the lnd tls cert. Example: /path/to/tls.cert", |
|||
"components.Onboarding.ConnectionDetails.cert_title": "TLS Certificate", |
|||
"components.Onboarding.ConnectionDetails.hostname_description": "Hostname and port of the Lnd gRPC interface. Example: localhost:10009", |
|||
"components.Onboarding.ConnectionDetails.hostname_title": "Host", |
|||
"components.Onboarding.ConnectionDetails.macaroon_description": "Path to the lnd macaroon file. Example: /path/to/admin.macaroon", |
|||
"components.Onboarding.ConnectionType.btcpay_description": "Connect to your own BTCPay Server instance to access your BTCPay Server wallet.", |
|||
"components.Onboarding.ConnectionType.custom": "Custom", |
|||
"components.Onboarding.ConnectionType.custom_description": "Connect to your own node. You will need to provide your own connection settings so this is for advanced users only.", |
|||
"components.Onboarding.ConnectionType.default": "Default", |
|||
"components.Onboarding.ConnectionType.default_description": "By selecting the defualt mode we will do everything for you. Just click and go!", |
|||
"components.Onboarding.ConnectionType.only": "only", |
|||
"components.Onboarding.FormContainer.back": "back", |
|||
"components.Onboarding.FormContainer.help": "Need Help?", |
|||
"components.Onboarding.FormContainer.next": "Next", |
|||
"components.Onboarding.Login.password_placeholder": "Password", |
|||
"components.Onboarding.Login.unlock": "Unlock", |
|||
"components.Onboarding.NewWalletPassword.password_confirm_placeholder": "Confirm Password", |
|||
"components.Onboarding.NewWalletPassword.password_error_length": "Password must be at least {passwordMinLength} characters long", |
|||
"components.Onboarding.NewWalletPassword.password_error_match": "Passwords do not match", |
|||
"components.Onboarding.NewWalletPassword.password_placeholder": "Password", |
|||
"components.Onboarding.NewWalletPassword.unlock": "Unlock", |
|||
"components.Onboarding.RecoverForm.word_placeholder": "word", |
|||
"components.Onboarding.Signup.signup_create": "Create new wallet", |
|||
"components.Onboarding.Signup.signup_import": "Import existing wallet", |
|||
"components.Onboarding.Syncing.block_progress": "Block {currentBlock} of {totalBlocks}", |
|||
"components.Onboarding.Syncing.filter_progress": "Commitment Filter {currentFilter} of {totalFilters}", |
|||
"components.Onboarding.Syncing.fund_description": "Might as well fund your wallet while you’re waiting to sync.", |
|||
"components.Onboarding.Syncing.fund_title": "Fund your Zap wallet", |
|||
"components.Onboarding.Syncing.grab_coffee": "It looks like this could take some time - you might want to grab a coffee or try again later!", |
|||
"components.Onboarding.Syncing.preparing": "Preparing…", |
|||
"components.Onboarding.Syncing.sync_caption": "Syncing to the blockchain", |
|||
"components.Onboarding.Syncing.sync_description": "Please wait a while whilst we fetch all of your latest data from the blockchain.", |
|||
"components.Onboarding.Syncing.sync_title": "Welcome back to your Zap wallet!", |
|||
"components.Onboarding.Syncing.waiting_for_peers": "Waiting for peers…", |
|||
"components.Onboarding.alias_description": "Set your nickname to help others connect with you on the Lightning Network", |
|||
"components.Onboarding.alias_title": "What should we call you?", |
|||
"components.Onboarding.autopilot_description": "Autopilot is an automatic network manager. Instead of manually adding people to build your network to make payments, enable autopilot to automatically connect you to the Lightning Network using 60% of your balance.", |
|||
"components.Onboarding.autopilot_title": "Autopilot", |
|||
"components.Onboarding.btcpay_description": "Enter the connection details for your BTCPay Server node.", |
|||
"components.Onboarding.btcpay_title": "BTCPay Server", |
|||
"components.Onboarding.confirm_connection_description": "Confirm the connection details for your Lightning node.", |
|||
"components.Onboarding.confirm_connection_title": "Confirm connection", |
|||
"components.Onboarding.connection_description": "By default Zap will spin up a node for you and handle all the nerdy stuff in the background. However you can also setup a custom node connection and use Zap to control a remote node if you desire (for advanced users).", |
|||
"components.Onboarding.connection_details_custom_description": "Enter the connection details for your Lightning node.", |
|||
"components.Onboarding.connection_details_custom_title": "Connection details", |
|||
"components.Onboarding.connection_title": "How do you want to connect to the Lightning Network?", |
|||
"components.Onboarding.create_wallet_password_description": "Looks like you are new here. Set a password to encrypt your wallet. This password will be needed to unlock Zap in the future", |
|||
"components.Onboarding.create_wallet_password_title": "Welcome!", |
|||
"components.Onboarding.import_description": "Recovering a wallet, nice. You don't need anyone else, you got yourself :)", |
|||
"components.Onboarding.import_title": "Import your seed", |
|||
"components.Onboarding.login_description": "It looks like you already have a wallet (wallet found at: `{walletDir}`). Please enter your wallet password to unlock it.", |
|||
"components.Onboarding.login_title": "Welcome back!", |
|||
"components.Onboarding.retype_seed_description": "Your seed is important! If you lose your seed you'll have no way to recover your wallet. To make sure that you have properly saved your seed, please retype words {word1}, {word2} & {word3}", |
|||
"components.Onboarding.retype_seed_title": "Retype your seed", |
|||
"components.Onboarding.save_seed_description": "Please save these 24 words securely! This will allow you to recover your wallet in the future", |
|||
"components.Onboarding.save_seed_title": "Save your wallet seed", |
|||
"components.Onboarding.signup_description": "Would you like to create a new wallet or import an existing one?", |
|||
"components.Onboarding.signup_title": "Alright, let's get set up", |
|||
"components.Settings.Fiat.title": "Fiat Currency", |
|||
"components.Settings.Locale.title": "Language", |
|||
"components.Settings.Menu.fiat": "Fiat Currency", |
|||
"components.Settings.Menu.locale": "Language", |
|||
"components.Wallet.ReceiveModal.bitcoin_address": "Bitcoin Address", |
|||
"components.Wallet.ReceiveModal.copy_address": "Copy address", |
|||
"components.Wallet.ReceiveModal.copy_pubkey": "Copy Pubkey", |
|||
"components.Wallet.ReceiveModal.node_pubkey": "Node Pubkey", |
|||
"components.Wallet.ReceiveModal.node_public_key": "Node Public Key", |
|||
"components.Wallet.pay": "Pay", |
|||
"components.Wallet.payment_success": "Successfully sent payment", |
|||
"components.Wallet.request": "Request", |
|||
"components.Wallet.sending_tx": "Sending your transaction…", |
|||
"components.Wallet.transaction_success": "Successfully sent transaction" |
|||
} |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue