mirror of
https://github.com/RoboSats/robosats.git
synced 2025-01-18 20:21:35 +00:00
Improve preliminary sats summary, add taker satoshis (#429)
* Improve preliminary sats summary, add taker satoshis * Collect phrases
This commit is contained in:
parent
f4dc15d38a
commit
b227df7c7c
@ -267,11 +267,14 @@ class OrderView(viewsets.ViewSet):
|
||||
|
||||
# 3.b) Non participants can view details (but only if PUB)
|
||||
if not data["is_participant"] and order.status == Order.Status.PUB:
|
||||
data["price_now"], data["premium_now"] = Logics.price_and_premium_now(order)
|
||||
data["satoshis_now"] = Logics.satoshis_now(order)
|
||||
return Response(data, status=status.HTTP_200_OK)
|
||||
|
||||
# 4) If order is between public and WF2
|
||||
if order.status >= Order.Status.PUB and order.status < Order.Status.WF2:
|
||||
data["price_now"], data["premium_now"] = Logics.price_and_premium_now(order)
|
||||
data["satoshis_now"] = Logics.satoshis_now(order)
|
||||
|
||||
# 4. a) If maker and Public/Paused, add premium percentile
|
||||
# num similar orders, and maker information to enable telegram notifications.
|
||||
@ -294,6 +297,7 @@ class OrderView(viewsets.ViewSet):
|
||||
data["is_fiat_sent"] = order.is_fiat_sent
|
||||
data["is_disputed"] = order.is_disputed
|
||||
data["ur_nick"] = request.user.username
|
||||
data["satoshis_now"] = order.last_satoshis
|
||||
|
||||
# Add whether hold invoices are LOCKED (ACCEPTED)
|
||||
# Is there a maker bond? If so, True if locked, False otherwise
|
||||
|
@ -1,4 +1,4 @@
|
||||
import React, { useState, useMemo } from 'react';
|
||||
import React, { useState, useMemo, useEffect } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import {
|
||||
Dialog,
|
||||
@ -13,6 +13,7 @@ import {
|
||||
TextField,
|
||||
useTheme,
|
||||
Typography,
|
||||
FormHelperText,
|
||||
} from '@mui/material';
|
||||
|
||||
import Countdown from 'react-countdown';
|
||||
@ -23,12 +24,14 @@ import { apiClient } from '../../services/api';
|
||||
import { Order } from '../../models';
|
||||
import { ConfirmationDialog } from '../Dialogs';
|
||||
import { LoadingButton } from '@mui/lab';
|
||||
import { computeSats, pn } from '../../utils';
|
||||
|
||||
interface TakeButtonProps {
|
||||
order: Order;
|
||||
setOrder: (state: Order) => void;
|
||||
baseUrl: string;
|
||||
hasRobot: boolean;
|
||||
info: Info;
|
||||
}
|
||||
|
||||
interface OpenDialogsProps {
|
||||
@ -37,7 +40,7 @@ interface OpenDialogsProps {
|
||||
}
|
||||
const closeAll = { inactiveMaker: false, confirmation: false };
|
||||
|
||||
const TakeButton = ({ order, setOrder, baseUrl, hasRobot }: TakeButtonProps): JSX.Element => {
|
||||
const TakeButton = ({ order, setOrder, baseUrl, hasRobot, info }: TakeButtonProps): JSX.Element => {
|
||||
const { t } = useTranslation();
|
||||
const theme = useTheme();
|
||||
|
||||
@ -45,6 +48,25 @@ const TakeButton = ({ order, setOrder, baseUrl, hasRobot }: TakeButtonProps): JS
|
||||
const [badRequest, setBadRequest] = useState<string>('');
|
||||
const [loadingTake, setLoadingTake] = useState<boolean>(false);
|
||||
const [open, setOpen] = useState<OpenDialogsProps>(closeAll);
|
||||
const [satoshis, setSatoshis] = useState<string>('');
|
||||
|
||||
const satoshisNow = () => {
|
||||
const tradeFee = info.taker_fee;
|
||||
const defaultRoutingBudget = 0.001;
|
||||
const btc_now = order.satoshis_now / 100000000;
|
||||
const rate = order.amount ? order.amount / btc_now : order.max_amount / btc_now;
|
||||
const satoshis = computeSats({
|
||||
amount: Number(takeAmount),
|
||||
routingBudget: order.is_buyer ? defaultRoutingBudget : 0,
|
||||
fee: tradeFee,
|
||||
rate: rate,
|
||||
});
|
||||
return satoshis;
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
setSatoshis(satoshisNow());
|
||||
}, [order.satoshis_now, takeAmount]);
|
||||
|
||||
const currencyCode: string = order.currency == 1000 ? 'Sats' : currencies[`${order.currency}`];
|
||||
|
||||
@ -139,74 +161,91 @@ const TakeButton = ({ order, setOrder, baseUrl, hasRobot }: TakeButtonProps): JS
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Grid container direction='row' alignItems='flex-start' justifyContent='space-evenly'>
|
||||
<Grid item sx={{ width: '12em' }}>
|
||||
<Tooltip
|
||||
placement='top'
|
||||
enterTouchDelay={500}
|
||||
enterDelay={700}
|
||||
enterNextDelay={2000}
|
||||
title={t('Enter amount of fiat to exchange for bitcoin')}
|
||||
>
|
||||
<TextField
|
||||
error={takeAmount === '' ? false : invalidTakeAmount}
|
||||
helperText={amountHelperText}
|
||||
label={t('Amount {{currencyCode}}', { currencyCode })}
|
||||
size='small'
|
||||
type='number'
|
||||
required={true}
|
||||
value={takeAmount}
|
||||
inputProps={{
|
||||
min: order.min_amount,
|
||||
max: order.max_amount,
|
||||
style: { textAlign: 'center' },
|
||||
}}
|
||||
onChange={handleTakeAmountChange}
|
||||
/>
|
||||
</Tooltip>
|
||||
</Grid>
|
||||
<Grid item>
|
||||
<div
|
||||
style={{
|
||||
display: invalidTakeAmount ? '' : 'none',
|
||||
}}
|
||||
>
|
||||
<Grid container direction='column' alignItems='center'>
|
||||
<Grid
|
||||
item
|
||||
container
|
||||
direction='row'
|
||||
alignItems='flex-start'
|
||||
justifyContent='space-evenly'
|
||||
>
|
||||
<Grid item sx={{ width: '12em' }}>
|
||||
<Tooltip
|
||||
placement='top'
|
||||
enterTouchDelay={0}
|
||||
enterDelay={500}
|
||||
enterNextDelay={1200}
|
||||
title={t('You must specify an amount first')}
|
||||
enterTouchDelay={500}
|
||||
enterDelay={700}
|
||||
enterNextDelay={2000}
|
||||
title={t('Enter amount of fiat to exchange for bitcoin')}
|
||||
>
|
||||
<div>
|
||||
<LoadingButton
|
||||
loading={loadingTake}
|
||||
sx={{ height: '2.8em' }}
|
||||
variant='outlined'
|
||||
color='primary'
|
||||
disabled={true}
|
||||
>
|
||||
{t('Take Order')}
|
||||
</LoadingButton>
|
||||
</div>
|
||||
<TextField
|
||||
error={takeAmount === '' ? false : invalidTakeAmount}
|
||||
helperText={amountHelperText}
|
||||
label={t('Amount {{currencyCode}}', { currencyCode })}
|
||||
size='small'
|
||||
type='number'
|
||||
required={true}
|
||||
value={takeAmount}
|
||||
inputProps={{
|
||||
min: order.min_amount,
|
||||
max: order.max_amount,
|
||||
style: { textAlign: 'center' },
|
||||
}}
|
||||
onChange={handleTakeAmountChange}
|
||||
/>
|
||||
</Tooltip>
|
||||
</div>
|
||||
<div
|
||||
style={{
|
||||
display: invalidTakeAmount ? 'none' : '',
|
||||
}}
|
||||
>
|
||||
<LoadingButton
|
||||
loading={loadingTake}
|
||||
sx={{ height: '2.8em' }}
|
||||
variant='outlined'
|
||||
color='primary'
|
||||
onClick={onTakeOrderClicked}
|
||||
</Grid>
|
||||
<Grid item>
|
||||
<div
|
||||
style={{
|
||||
display: invalidTakeAmount ? '' : 'none',
|
||||
}}
|
||||
>
|
||||
{t('Take Order')}
|
||||
</LoadingButton>
|
||||
</div>
|
||||
<Tooltip
|
||||
placement='top'
|
||||
enterTouchDelay={0}
|
||||
enterDelay={500}
|
||||
enterNextDelay={1200}
|
||||
title={t('You must specify an amount first')}
|
||||
>
|
||||
<div>
|
||||
<LoadingButton
|
||||
loading={loadingTake}
|
||||
sx={{ height: '2.8em' }}
|
||||
variant='outlined'
|
||||
color='primary'
|
||||
disabled={true}
|
||||
>
|
||||
{t('Take Order')}
|
||||
</LoadingButton>
|
||||
</div>
|
||||
</Tooltip>
|
||||
</div>
|
||||
<div
|
||||
style={{
|
||||
display: invalidTakeAmount ? 'none' : '',
|
||||
}}
|
||||
>
|
||||
<LoadingButton
|
||||
loading={loadingTake}
|
||||
sx={{ height: '2.8em' }}
|
||||
variant='outlined'
|
||||
color='primary'
|
||||
onClick={onTakeOrderClicked}
|
||||
>
|
||||
{t('Take Order')}
|
||||
</LoadingButton>
|
||||
</div>
|
||||
</Grid>
|
||||
</Grid>
|
||||
{satoshis != '0' && satoshis != '' && !invalidTakeAmount ? (
|
||||
<Grid item>
|
||||
<FormHelperText sx={{ position: 'relative', top: '0.15em' }}>
|
||||
{order.type === 1
|
||||
? t('You will receive {{satoshis}} Sats (Approx)', { satoshis })
|
||||
: t('You will send {{satoshis}} Sats (Approx)', { satoshis })}
|
||||
</FormHelperText>
|
||||
</Grid>
|
||||
) : null}
|
||||
</Grid>
|
||||
</Box>
|
||||
);
|
||||
|
@ -57,7 +57,7 @@ const OrderDetails = ({
|
||||
const theme = useTheme();
|
||||
|
||||
const currencyCode: string = currencies[`${order.currency}`];
|
||||
const [showSwapDetails, setShowSwapDetails] = useState<boolean>(false);
|
||||
const [showSatsDetails, setShowSatsDetails] = useState<boolean>(false);
|
||||
|
||||
const amountString = useMemo(() => {
|
||||
// precision to 8 decimal if currency is BTC otherwise 4 decimals
|
||||
@ -71,11 +71,13 @@ const OrderDetails = ({
|
||||
) + ' Sats'
|
||||
);
|
||||
} else {
|
||||
return amountToString(
|
||||
order.amount,
|
||||
order.amount ? false : order.has_range,
|
||||
order.min_amount,
|
||||
order.max_amount,
|
||||
return (
|
||||
amountToString(
|
||||
order.amount,
|
||||
order.amount ? false : order.has_range,
|
||||
order.min_amount,
|
||||
order.max_amount,
|
||||
) + ` ${currencyCode}`
|
||||
);
|
||||
}
|
||||
}, [order.currency, order.amount, order.min_amount, order.max_amount, order.has_range]);
|
||||
@ -141,70 +143,76 @@ const OrderDetails = ({
|
||||
}
|
||||
};
|
||||
|
||||
const swap = useMemo(() => {
|
||||
const satsSummary = useMemo(() => {
|
||||
let send: string = '';
|
||||
let receive: string = '';
|
||||
let swapSats: string = '';
|
||||
let sats: string = '';
|
||||
|
||||
const isSwapIn = (order.type == 0 && order.is_maker) || (order.type == 1 && !order.is_maker);
|
||||
const isBuyer = (order.type == 0 && order.is_maker) || (order.type == 1 && !order.is_maker);
|
||||
const tradeFee = order.is_maker ? info.maker_fee : info.taker_fee;
|
||||
const defaultRoutingBudget = 0.001;
|
||||
if (order.currency === 1000) {
|
||||
if (isSwapIn) {
|
||||
if (order.amount) {
|
||||
swapSats = computeSats({
|
||||
amount: order.amount,
|
||||
premium: order.premium,
|
||||
fee: -tradeFee,
|
||||
routingBudget: defaultRoutingBudget,
|
||||
});
|
||||
} else {
|
||||
const swapMin = computeSats({
|
||||
amount: Number(order.min_amount),
|
||||
premium: order.premium,
|
||||
fee: -tradeFee,
|
||||
routingBudget: defaultRoutingBudget,
|
||||
});
|
||||
const swapMax = computeSats({
|
||||
amount: Number(order.max_amount),
|
||||
premium: order.premium,
|
||||
fee: -tradeFee,
|
||||
routingBudget: defaultRoutingBudget,
|
||||
});
|
||||
swapSats = `${swapMin}-${swapMax}`;
|
||||
}
|
||||
send = t('You send via {{method}} {{amount}}', {
|
||||
amount: amountString,
|
||||
method: order.payment_method,
|
||||
});
|
||||
receive = t('You receive via Lightning {{amount}} Sats (routing budget may vary)', {
|
||||
amount: swapSats,
|
||||
const btc_now = order.satoshis_now / 100000000;
|
||||
const rate = order.amount ? order.amount / btc_now : order.max_amount / btc_now;
|
||||
|
||||
if (isBuyer) {
|
||||
if (order.amount) {
|
||||
sats = computeSats({
|
||||
amount: order.amount,
|
||||
fee: -tradeFee,
|
||||
routingBudget: defaultRoutingBudget,
|
||||
rate: rate,
|
||||
});
|
||||
} else {
|
||||
if (order.amount) {
|
||||
swapSats = computeSats({ amount: order.amount, premium: order.premium, fee: tradeFee });
|
||||
} else {
|
||||
const swapMin = computeSats({
|
||||
amount: order.min_amount,
|
||||
premium: order.premium,
|
||||
fee: tradeFee,
|
||||
});
|
||||
const swapMax = computeSats({
|
||||
amount: order.max_amount,
|
||||
premium: order.premium,
|
||||
fee: tradeFee,
|
||||
});
|
||||
swapSats = `${swapMin}-${swapMax}`;
|
||||
}
|
||||
send = t('You send via Lightning {{amount}} Sats', { amount: swapSats });
|
||||
receive = t('You receive via {{method}} {{amount}}', {
|
||||
amount: amountString,
|
||||
method: order.payment_method,
|
||||
const min = computeSats({
|
||||
amount: Number(order.min_amount),
|
||||
fee: -tradeFee,
|
||||
routingBudget: defaultRoutingBudget,
|
||||
rate: rate,
|
||||
});
|
||||
const max = computeSats({
|
||||
amount: Number(order.max_amount),
|
||||
fee: -tradeFee,
|
||||
routingBudget: defaultRoutingBudget,
|
||||
rate: rate,
|
||||
});
|
||||
sats = `${min}-${max}`;
|
||||
}
|
||||
send = t('You send via {{method}} {{amount}}', {
|
||||
amount: amountString,
|
||||
method: order.payment_method,
|
||||
currencyCode,
|
||||
});
|
||||
receive = t('You receive via Lightning {{amount}} Sats (Approx)', {
|
||||
amount: sats,
|
||||
});
|
||||
} else {
|
||||
if (order.amount) {
|
||||
sats = computeSats({
|
||||
amount: order.amount,
|
||||
fee: tradeFee,
|
||||
rate: rate,
|
||||
});
|
||||
} else {
|
||||
const min = computeSats({
|
||||
amount: order.min_amount,
|
||||
fee: tradeFee,
|
||||
rate: rate,
|
||||
});
|
||||
const max = computeSats({
|
||||
amount: order.max_amount,
|
||||
fee: tradeFee,
|
||||
rate: rate,
|
||||
});
|
||||
sats = `${min}-${max}`;
|
||||
}
|
||||
send = t('You send via Lightning {{amount}} Sats (Approx)', { amount: sats });
|
||||
receive = t('You receive via {{method}} {{amount}}', {
|
||||
amount: amountString,
|
||||
method: order.payment_method,
|
||||
});
|
||||
}
|
||||
return { send, receive, isSwapIn };
|
||||
}, [order.currency, order.amount, order.has_range]);
|
||||
return { send, receive };
|
||||
}, [order.currency, order.satoshis_now, order.amount, order.has_range]);
|
||||
|
||||
return (
|
||||
<Grid container spacing={0}>
|
||||
@ -286,40 +294,36 @@ const OrderDetails = ({
|
||||
primary={amountString}
|
||||
secondary={order.amount ? 'Amount' : 'Amount Range'}
|
||||
/>
|
||||
{order.currency === 1000 ? (
|
||||
<ListItemIcon>
|
||||
<IconButton onClick={() => setShowSwapDetails(!showSwapDetails)}>
|
||||
{showSwapDetails ? <ExpandLess /> : <ExpandMore color='primary' />}
|
||||
</IconButton>
|
||||
</ListItemIcon>
|
||||
) : null}
|
||||
<ListItemIcon>
|
||||
<IconButton onClick={() => setShowSatsDetails(!showSatsDetails)}>
|
||||
{showSatsDetails ? <ExpandLess /> : <ExpandMore color='primary' />}
|
||||
</IconButton>
|
||||
</ListItemIcon>
|
||||
</ListItem>
|
||||
|
||||
{order.currency === 1000 ? (
|
||||
<Collapse in={showSwapDetails}>
|
||||
<List dense={true} sx={{ position: 'relative', bottom: '0.5em' }}>
|
||||
<ListItem>
|
||||
<ListItemIcon sx={{ position: 'relative', left: '0.3em' }}>
|
||||
<SendReceiveIcon
|
||||
sx={{ transform: 'scaleX(-1)', width: '0.9em', opacity: 0.7 }}
|
||||
color='secondary'
|
||||
/>
|
||||
</ListItemIcon>
|
||||
<Typography variant='body2'>{swap.send}</Typography>
|
||||
</ListItem>
|
||||
<Collapse in={showSatsDetails}>
|
||||
<List dense={true} sx={{ position: 'relative', bottom: '0.5em' }}>
|
||||
<ListItem>
|
||||
<ListItemIcon sx={{ position: 'relative', left: '0.3em' }}>
|
||||
<SendReceiveIcon
|
||||
sx={{ transform: 'scaleX(-1)', width: '0.9em', opacity: 0.7 }}
|
||||
color='secondary'
|
||||
/>
|
||||
</ListItemIcon>
|
||||
<Typography variant='body2'>{satsSummary.send}</Typography>
|
||||
</ListItem>
|
||||
|
||||
<ListItem>
|
||||
<ListItemIcon sx={{ position: 'relative', left: '0.3em' }}>
|
||||
<SendReceiveIcon
|
||||
sx={{ left: '0.1em', width: '0.9em', opacity: 0.7 }}
|
||||
color='primary'
|
||||
/>
|
||||
</ListItemIcon>
|
||||
<Typography variant='body2'>{swap.receive}</Typography>
|
||||
</ListItem>
|
||||
</List>
|
||||
</Collapse>
|
||||
) : null}
|
||||
<ListItem>
|
||||
<ListItemIcon sx={{ position: 'relative', left: '0.3em' }}>
|
||||
<SendReceiveIcon
|
||||
sx={{ left: '0.1em', width: '0.9em', opacity: 0.7 }}
|
||||
color='primary'
|
||||
/>
|
||||
</ListItemIcon>
|
||||
<Typography variant='body2'>{satsSummary.receive}</Typography>
|
||||
</ListItem>
|
||||
</List>
|
||||
</Collapse>
|
||||
|
||||
<Divider />
|
||||
|
||||
@ -428,7 +432,13 @@ const OrderDetails = ({
|
||||
|
||||
{!order.is_participant ? (
|
||||
<Grid item xs={12}>
|
||||
<TakeButton order={order} setOrder={setOrder} baseUrl={baseUrl} hasRobot={hasRobot} />
|
||||
<TakeButton
|
||||
order={order}
|
||||
setOrder={setOrder}
|
||||
baseUrl={baseUrl}
|
||||
hasRobot={hasRobot}
|
||||
info={info}
|
||||
/>
|
||||
</Grid>
|
||||
) : (
|
||||
<></>
|
||||
|
@ -383,6 +383,7 @@ const TradeBox = ({
|
||||
);
|
||||
};
|
||||
bondStatus = 'hide'; // To do: show bond status according to expiry message.
|
||||
break;
|
||||
|
||||
// 6: 'Waiting for trade collateral and buyer invoice'
|
||||
case 6:
|
||||
|
@ -26,7 +26,7 @@ export interface Order {
|
||||
expires_at: Date;
|
||||
type: number;
|
||||
currency: number;
|
||||
amount: string;
|
||||
amount: number;
|
||||
has_range: boolean;
|
||||
min_amount: string;
|
||||
max_amount: string;
|
||||
@ -46,6 +46,7 @@ export interface Order {
|
||||
maker_status: 'Active' | 'Seen recently' | 'Inactive';
|
||||
taker_status: 'Active' | 'Seen recently' | 'Inactive';
|
||||
price_now: number | undefined;
|
||||
satoshis_now: number;
|
||||
premium_now: number | undefined;
|
||||
premium_percentile: number;
|
||||
num_similar_orders: number;
|
||||
|
@ -2,14 +2,14 @@ import { pn } from './prettyNumbers';
|
||||
|
||||
interface computeSatsProps {
|
||||
amount: number;
|
||||
premium: number;
|
||||
premium?: number;
|
||||
fee: number;
|
||||
routingBudget?: number;
|
||||
rate?: number;
|
||||
}
|
||||
const computeSats = ({
|
||||
amount,
|
||||
premium,
|
||||
premium = 0,
|
||||
fee,
|
||||
routingBudget = 0,
|
||||
rate = 1,
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Sanció revocada, som-hi!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Encara no pots prendre cap ordre! Espera {{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "Envies via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "Reps via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "Envies via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "Reps via {{method}} {{amount}}",
|
||||
"Order maker": "Creador",
|
||||
"Order taker": "Prenedor",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Introdueix la suma de fiat a canviar per bitcoin",
|
||||
"Amount {{currencyCode}}": "Suma {{currencyCode}}",
|
||||
"You must specify an amount first": "Primer has d'especificar la suma",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Guarda el teu token",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Pot ser que necessitis recuperar el teu avatar robot al futur: fes còpia de seguretat del token. Pots simplement copiar-ho a una altra aplicació.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Pokuta zrušena, lze pokračovat!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Nabídku nemůžeš zatím příjmout! Počkej {{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Tvůrce nabídky",
|
||||
"Order taker": "Příjemce nabídky",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Zadej částku fiat, kterou chceš vyměnit za bitcoin. ",
|
||||
"Amount {{currencyCode}}": "Částka {{currencyCode}}",
|
||||
"You must specify an amount first": "Nejprve je třeba zadat částku",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Ulož si svůj robot token",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Ulož si bezpečně svůj token jednoduše zkopírováním do jiné aplikace. V budoucnu ho možná budeš potřebovat v případě obnovy robota.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Die Strafe ist aufgehoben, es kann losgehen!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Du kannst noch keine Order annehmen! Warte {{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Order-Maker",
|
||||
"Order taker": "Order-Taker",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Fiat-Betrag für den Umtausch in Bitcoin eingeben",
|
||||
"Amount {{currencyCode}}": "Betrag {{currencyCode}}",
|
||||
"You must specify an amount first": "Du musst zuerst einen Betrag angeben",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Speicher Roboter-Token",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Vielleicht musst du deinen Roboter-Avatar in Zukunft wiederherstellen: Bewahre ihn sicher auf. Du kannst ihn einfach in eine andere Anwendung kopieren.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Penalty lifted, good to go!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Order maker",
|
||||
"Order taker": "Order taker",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Enter amount of fiat to exchange for bitcoin",
|
||||
"Amount {{currencyCode}}": "Amount {{currencyCode}}",
|
||||
"You must specify an amount first": "You must specify an amount first",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Store your robot token",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Sanción revocada, ¡Vamos!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "¡No puedes tomar una orden aún! Espera {{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Creador",
|
||||
"Order taker": "Tomador",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Introduce el monto de fiat a cambiar por bitcoin",
|
||||
"Amount {{currencyCode}}": "Monto {{currencyCode}}",
|
||||
"You must specify an amount first": "Primero debes especificar el monto",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Guarda el token",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Puede que necesites recuperar tu robot avatar en el futuro: haz una copia de seguridad del token. Puedes simplemente copiarlo en otra aplicación.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Zigorra kendu da, prest!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Oraindik ezin duzu eskaerarik hartu! Itxaron{{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Eskaera egile",
|
||||
"Order taker": "Eskaera hartzaile",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Sartu bitcongatik aldatu nahi duzun fiat kopurua",
|
||||
"Amount {{currencyCode}}": "Kopurua {{currencyCode}}",
|
||||
"You must specify an amount first": "Aurrena kopurua zehaztu behar duzu",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Gorde zure robot tokena",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Zure robot avatarra berreskuratu nahi izango duzu: gorde seguru. Beste aplikazio batean kopia dezakezu",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Pénalité levée, vous pouvez y aller!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Vous ne pouvez pas encore prendre un ordre! Attendez {{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Createur d'ordre",
|
||||
"Order taker": "Preneur d'ordre",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Saisissez le montant de fiat à échanger contre des bitcoins",
|
||||
"Amount {{currencyCode}}": "Montant {{currencyCode}}",
|
||||
"You must specify an amount first": "Vous devez d'abord spécifier un montant",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Store your robot token",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Penalità rimossa, partiamo!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Non puoi ancora accettare un ordine! Aspetta {{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Offerente",
|
||||
"Order taker": "Acquirente",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Inserisci la quantità di fiat da scambiare per bitcoin",
|
||||
"Amount {{currencyCode}}": "Quantità {{currencyCode}}",
|
||||
"You must specify an amount first": "Devi prima specificare una quantità",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Salva il tuo gettone",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Potresti aver bisogno di recuperare il tuo Robottino in futuro: custodiscilo con cura. Puoi semplicemente copiarlo in un'altra applicazione.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Kara zniesiona, gotowe!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Nie możesz jeszcze przyjąć zamówienia! Czekać {{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Ekspres zamówienia",
|
||||
"Order taker": "Przyjmujący zamówienia",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Wprowadź kwotę fiat do wymiany na bitcoin",
|
||||
"Amount {{currencyCode}}": "Ilość {{currencyCode}}",
|
||||
"You must specify an amount first": "Musisz najpierw określić kwotę",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Store your robot token",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Penalidade levantada, pronto!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Você ainda não pode fazer um pedido! Espere {{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Criar ordem",
|
||||
"Order taker": "Tomar ordem",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Insira o valor da moeda fiduciária para trocar por bitcoin",
|
||||
"Amount {{currencyCode}}": "Quantidade {{currencyCode}}",
|
||||
"You must specify an amount first": "Você deve especificar um valor primeiro",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Armazene seu token de robô",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Você pode precisar recuperar seu avatar de robô no futuro: armazene-o com segurança. Você pode simplesmente copiá-lo em outra aplicação.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Пенальти сняты, поехали!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Вы ещё не можете взять ордер! Подождите {{timeMin}}м {{timeSec}}с",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Мейкер ордера",
|
||||
"Order taker": "Тейкер ордера",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Введите количество фиата для обмена на Биткойн",
|
||||
"Amount {{currencyCode}}": "Сумма {{currencyCode}}",
|
||||
"You must specify an amount first": "Сначала необходимо указать сумму",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Сохранить токен робота",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "В будущем Вам может понадобиться восстановить аватар робота: сохраните его в безопасном месте. Вы можете просто скопировать его в другое приложение.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "Straff upphävt, bara att köra!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Du kan inte ta en order ännu! Vänta {{timeMin}}m {{timeSec}}s",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "Ordermaker",
|
||||
"Order taker": "Ordertaker",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "Ange summa fiat att handla bitcoin för",
|
||||
"Amount {{currencyCode}}": "Summa {{currencyCode}}",
|
||||
"You must specify an amount first": "Du måste ange en summa först",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "Spara din robottoken",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "Du kan behöva återställa din robotavatar i framtiden; förvara den säkert. Du kan kopiera den till en annan applikation.",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "สามารถซื้อขายได้แล้ว!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "คุณยังไม่สามารถดำเนินรายการได้! รออีก {{timeMin}} นาที {{timeSec}} วินาที",
|
||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "You receive via Lightning {{amount}} Sats (routing budget may vary)",
|
||||
"You send via Lightning {{amount}} Sats": "You send via Lightning {{amount}} Sats",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||
"Order maker": "maker ของรายการ",
|
||||
"Order taker": "taker ของรายการ",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "ระบุจำนวนเงินเฟียตที่จะแลกเปลี่ยนกับ bitcoin",
|
||||
"Amount {{currencyCode}}": "จำนวน {{currencyCode}}",
|
||||
"You must specify an amount first": "คุณต้องระบุจำนวนก่อน",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "เก็บรักษา token โรบอทของคุณ",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "คุณอาจต้องใช้โรบอทอีกในอนาคตจึงควรเก็บรักษามันไว้ให้ดี คุณสามารถคัดลอกมันไปเก็บไว้ในแอพพลิเคชั่นอื่นๆได้อย่างง่ายดาย",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "罚单已解除,没问题了!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "你暂时还不能吃单!请等{{timeMin}}分 {{timeSec}}秒",
|
||||
"You send via {{method}} {{amount}}": "你通过{{method}}发送{{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "你通过闪电接收{{amount}}聪(路由预算可能会有所差异)",
|
||||
"You send via Lightning {{amount}} Sats": "你通过闪电发送{amount}}聪",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "你通过{{method}}接收{{amount}}",
|
||||
"Order maker": "订单挂单方",
|
||||
"Order taker": "订单吃单方",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "输入以兑换比特币的法币金额",
|
||||
"Amount {{currencyCode}}": "{{currencyCode}}金额",
|
||||
"You must specify an amount first": "你必须先指定金额",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "存储你的机器人令牌",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "你将来可能需要恢复你的机器人头像:安全地存放它。你可以轻松地将其复制到另一个应用程序中。",
|
||||
|
@ -95,8 +95,8 @@
|
||||
"Penalty lifted, good to go!": "罰單已解除, 沒問題了!",
|
||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "你暫時還不能吃單!請等{{timeMin}}分 {{timeSec}}秒",
|
||||
"You send via {{method}} {{amount}}": "你通過{{method}}發送{{amount}}",
|
||||
"You receive via Lightning {{amount}} Sats (routing budget may vary)": "你通過閃電接收{{amount}}聰(路由預算可能會有所差異)",
|
||||
"You send via Lightning {{amount}} Sats": "你通過閃電發送{{amount}}聰",
|
||||
"You receive via Lightning {{amount}} Sats (Approx)": "You receive via Lightning {{amount}} Sats (Approx)",
|
||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||
"You receive via {{method}} {{amount}}": "你通過{{method}}接收{{amount}}",
|
||||
"Order maker": "訂單掛單方",
|
||||
"Order taker": "訂單吃單方",
|
||||
@ -123,6 +123,8 @@
|
||||
"Enter amount of fiat to exchange for bitcoin": "輸入以兌換比特幣的法幣金額",
|
||||
"Amount {{currencyCode}}": "{{currencyCode}} 金額",
|
||||
"You must specify an amount first": "你必須先指定金額",
|
||||
"You will receive {{satoshis}} Sats (Approx)": "You will receive {{satoshis}} Sats (Approx)",
|
||||
"You will send {{satoshis}} Sats (Approx)": "You will send {{satoshis}} Sats (Approx)",
|
||||
"#20": "Phrases in components/Dialogs/StoreToken.tsx",
|
||||
"Store your robot token": "存儲你的機器人令牌",
|
||||
"You might need to recover your robot avatar in the future: store it safely. You can simply copy it into another application.": "你將來可能需要恢復你的機器人頭像:安全地存放它。你可以輕鬆地將其複製到另一個應用程序中。",
|
||||
|
Loading…
Reference in New Issue
Block a user