mirror of
https://github.com/RoboSats/robosats.git
synced 2025-09-13 00:56:22 +00:00
Working
This commit is contained in:
26
.github/workflows/android-build.yml
vendored
26
.github/workflows/android-build.yml
vendored
@ -147,5 +147,29 @@ jobs:
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: android/app/build/outputs/apk/release/app-universal-release-unsigned-signed.apk
|
||||
asset_name: robosats-universal-${{ github.ref }}.apk
|
||||
asset_name: robosats-${{ github.ref }}-universal.apk
|
||||
asset_content_type: application/zip
|
||||
|
||||
- name: Upload APK arm64-v8a Asset
|
||||
id: upload-release-asset-arm64-v8a
|
||||
if: inputs.semver == ''
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: android/app/build/outputs/apk/release/app-arm64-v8a-release-unsigned-signed.apk
|
||||
asset_name: robosats-${{ github.ref }}-arm64-v8a.apk
|
||||
asset_content_type: application/zip
|
||||
|
||||
- name: Upload APK armeabi-v7a Asset
|
||||
id: upload-release-asset-armeabi-v7a
|
||||
if: inputs.semver == ''
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: android/app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned-signed.apk
|
||||
asset_name: robosats-${{ github.ref }}-armeabi-v7a.apk
|
||||
asset_content_type: application/zip
|
||||
|
||||
@ -3,6 +3,7 @@ package com.robosats
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import android.content.pm.ActivityInfo
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
@ -34,6 +35,9 @@ class MainActivity : AppCompatActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
// Lock the screen orientation to portrait mode
|
||||
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
|
||||
|
||||
// We don't need edge-to-edge since we're using fitsSystemWindows
|
||||
setContentView(R.layout.activity_main)
|
||||
|
||||
|
||||
@ -41,8 +41,7 @@ const RobotProfile = ({
|
||||
setView,
|
||||
width,
|
||||
}: RobotProfileProps): React.JSX.Element => {
|
||||
const { windowSize, client, setOpen, open, navigateToPage } =
|
||||
useContext<UseAppStoreType>(AppContext);
|
||||
const { windowSize, setOpen, open, navigateToPage } = useContext<UseAppStoreType>(AppContext);
|
||||
const { garage, slotUpdatedAt } = useContext<UseGarageStoreType>(GarageContext);
|
||||
const { federation } = useContext<UseFederationStoreType>(FederationContext);
|
||||
|
||||
@ -319,12 +318,12 @@ const RobotProfile = ({
|
||||
onClick={handleAddRobot}
|
||||
size='large'
|
||||
>
|
||||
<Add /> <div style={{ width: '0.5em' }} />
|
||||
<Add />
|
||||
{!mobileView && t('Add Robot')}
|
||||
</LoadingButton>
|
||||
</Grid>
|
||||
|
||||
{client !== 'mobile' ? (
|
||||
{!mobileView ? (
|
||||
<Grid item>
|
||||
<Button
|
||||
size='large'
|
||||
@ -340,7 +339,7 @@ const RobotProfile = ({
|
||||
|
||||
<Grid item>
|
||||
<Button color='primary' onClick={handleDeleteRobot} size='large'>
|
||||
<DeleteSweep /> <div style={{ width: '0.5em' }} />
|
||||
<DeleteSweep />
|
||||
{!mobileView && t('Delete Robot')}
|
||||
</Button>
|
||||
</Grid>
|
||||
@ -355,7 +354,7 @@ const RobotProfile = ({
|
||||
});
|
||||
}}
|
||||
>
|
||||
<Key /> <div style={{ width: '0.5em' }} />
|
||||
<Key />
|
||||
{!mobileView && t('Recovery')}
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
@ -241,6 +241,7 @@ const TopBar = (): React.JSX.Element => {
|
||||
<ListItemText primary={t('Client info')} />
|
||||
</ListItemButton>
|
||||
</ListItem>
|
||||
<div style={{ flexGrow: 1 }} />
|
||||
<ListItem disablePadding>
|
||||
<ListItemButton onClick={() => changePage('settings')}>
|
||||
<ListItemIcon>
|
||||
@ -249,7 +250,6 @@ const TopBar = (): React.JSX.Element => {
|
||||
<ListItemText primary={t('Settings')} />
|
||||
</ListItemButton>
|
||||
</ListItem>
|
||||
<div style={{ flexGrow: 1 }} />
|
||||
{client === 'mobile' && (
|
||||
<ListItem disablePadding sx={{ display: 'flex', flexDirection: 'column' }}>
|
||||
<ListItemButton selected>
|
||||
|
||||
@ -88,7 +88,7 @@ const AuditPGPDialog = ({
|
||||
const { garage } = useContext<UseGarageStoreType>(GarageContext);
|
||||
|
||||
const slot = garage.getSlotByOrder(order.shortAlias, order.id);
|
||||
|
||||
console.log(slot);
|
||||
return (
|
||||
<Dialog open={open} onClose={onClose}>
|
||||
<DialogTitle>{t("Don't trust, verify")}</DialogTitle>
|
||||
|
||||
@ -1,24 +1,22 @@
|
||||
import React, { useContext, useEffect, useState } from 'react';
|
||||
import React, { useContext, useEffect } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import {
|
||||
Dialog,
|
||||
DialogContent,
|
||||
Divider,
|
||||
List,
|
||||
ListItemAvatar,
|
||||
ListItemText,
|
||||
ListItem,
|
||||
Typography,
|
||||
LinearProgress,
|
||||
Select,
|
||||
Grid,
|
||||
MenuItem,
|
||||
SelectChangeEvent,
|
||||
} from '@mui/material';
|
||||
|
||||
import BoltIcon from '@mui/icons-material/Bolt';
|
||||
import RobotAvatar from '../RobotAvatar';
|
||||
import RobotInfo from '../RobotInfo';
|
||||
import { FederationContext, type UseFederationStoreType } from '../../contexts/FederationContext';
|
||||
import { GarageContext, type UseGarageStoreType } from '../../contexts/GarageContext';
|
||||
import { type Coordinator } from '../../models';
|
||||
import { Slot, type Coordinator } from '../../models';
|
||||
|
||||
interface Props {
|
||||
open: boolean;
|
||||
@ -27,16 +25,21 @@ interface Props {
|
||||
|
||||
const ProfileDialog = ({ open = false, onClose }: Props): React.JSX.Element => {
|
||||
const { federation } = useContext<UseFederationStoreType>(FederationContext);
|
||||
const { garage, slotUpdatedAt } = useContext<UseGarageStoreType>(GarageContext);
|
||||
const { garage } = useContext<UseGarageStoreType>(GarageContext);
|
||||
const { t } = useTranslation();
|
||||
|
||||
const [loading, setLoading] = useState<boolean>(true);
|
||||
|
||||
useEffect(() => {
|
||||
setLoading(!garage.getSlot()?.hashId);
|
||||
}, [slotUpdatedAt]);
|
||||
loadRobot(garage.currentSlot ?? '');
|
||||
}, []);
|
||||
|
||||
const slot = garage.getSlot();
|
||||
const loadRobot = (token: string) => {
|
||||
garage.setCurrentSlot(token);
|
||||
garage.fetchRobot(federation, garage.getSlot()?.token ?? '');
|
||||
};
|
||||
|
||||
const handleChangeSlot = (e: SelectChangeEvent<number | 'loading'>): void => {
|
||||
if (e?.target?.value) loadRobot(e.target.value as string);
|
||||
};
|
||||
|
||||
return (
|
||||
<Dialog
|
||||
@ -45,69 +48,65 @@ const ProfileDialog = ({ open = false, onClose }: Props): React.JSX.Element => {
|
||||
aria-labelledby='profile-title'
|
||||
aria-describedby='profile-description'
|
||||
>
|
||||
<div style={loading ? {} : { display: 'none' }}>
|
||||
<LinearProgress />
|
||||
</div>
|
||||
<DialogContent>
|
||||
<Typography component='h5' variant='h5'>
|
||||
{t('Your Robot')}
|
||||
</Typography>
|
||||
<List>
|
||||
<Divider />
|
||||
|
||||
<ListItem className='profileNickname'>
|
||||
<ListItemText>
|
||||
<Typography component='h6' variant='h6'>
|
||||
<div style={{ position: 'relative', left: '-7px' }}>
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'left',
|
||||
flexWrap: 'wrap',
|
||||
width: 300,
|
||||
}}
|
||||
>
|
||||
<BoltIcon sx={{ color: '#fcba03', height: '28px', width: '24px' }} />
|
||||
|
||||
<a>{slot?.nickname}</a>
|
||||
|
||||
<BoltIcon sx={{ color: '#fcba03', height: '28px', width: '24px' }} />
|
||||
</div>
|
||||
</div>
|
||||
</Typography>
|
||||
</ListItemText>
|
||||
|
||||
<ListItemAvatar>
|
||||
<RobotAvatar
|
||||
avatarClass='profileAvatar'
|
||||
style={{ width: 65, height: 65 }}
|
||||
hashId={slot?.hashId ?? ''}
|
||||
/>
|
||||
</ListItemAvatar>
|
||||
</ListItem>
|
||||
|
||||
<Divider />
|
||||
</List>
|
||||
<Select
|
||||
fullWidth
|
||||
inputProps={{
|
||||
style: { textAlign: 'center' },
|
||||
}}
|
||||
value={garage.currentSlot}
|
||||
onChange={handleChangeSlot}
|
||||
>
|
||||
{Object.values(garage.slots).map((slot: Slot, index: number) => {
|
||||
return (
|
||||
<MenuItem key={index} value={slot.token}>
|
||||
<Grid
|
||||
container
|
||||
direction='row'
|
||||
justifyContent='flex-start'
|
||||
alignItems='center'
|
||||
style={{ height: '2.8em' }}
|
||||
spacing={1}
|
||||
>
|
||||
<Grid item>
|
||||
<RobotAvatar
|
||||
hashId={slot?.hashId}
|
||||
smooth={true}
|
||||
style={{ width: '2.6em', height: '2.6em' }}
|
||||
placeholderType='loading'
|
||||
small={true}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item>
|
||||
<Typography>{slot?.nickname}</Typography>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</MenuItem>
|
||||
);
|
||||
})}
|
||||
</Select>
|
||||
|
||||
<Typography>
|
||||
<b>{t('Coordinators that know your robot:')}</b>
|
||||
</Typography>
|
||||
|
||||
<List
|
||||
sx={{ width: '100%', bgcolor: 'background.paper' }}
|
||||
sx={{
|
||||
width: '100%',
|
||||
bgcolor: 'background.paper',
|
||||
maxHeight: '28em',
|
||||
overflowY: 'auto',
|
||||
}}
|
||||
component='nav'
|
||||
aria-labelledby='coordinators-list'
|
||||
>
|
||||
{federation.getCoordinators().map((coordinator: Coordinator): React.JSX.Element => {
|
||||
const coordinatorRobot = garage.getSlot()?.getRobot(coordinator.shortAlias);
|
||||
return (
|
||||
<div key={coordinator.shortAlias}>
|
||||
<RobotInfo
|
||||
coordinator={coordinator}
|
||||
onClose={onClose}
|
||||
disabled={coordinatorRobot?.loading}
|
||||
/>
|
||||
<RobotInfo coordinator={coordinator} onClose={onClose} />
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
|
||||
@ -51,13 +51,20 @@ const SelectCoordinator: React.FC<SelectCoordinatorProps> = ({
|
||||
|
||||
return (
|
||||
<Grid item>
|
||||
{coordinator?.info && !coordinator?.info?.swap_enabled && (
|
||||
<Grid sx={{ marginBottom: 1 }}>
|
||||
<Alert severity='warning' sx={{ marginTop: 2 }}>
|
||||
{t('This coordinator does not support on-chain swaps.')}
|
||||
</Alert>
|
||||
</Grid>
|
||||
)}
|
||||
<Grid sx={{ marginBottom: 1 }}>
|
||||
<Alert
|
||||
severity={
|
||||
coordinator?.info ? (coordinator?.info?.swap_enabled ? 'success' : 'warning') : 'info'
|
||||
}
|
||||
sx={{ marginTop: 2 }}
|
||||
>
|
||||
{coordinator?.info
|
||||
? coordinator?.info?.swap_enabled
|
||||
? t('Supports on-chain swaps.')
|
||||
: t('Does not support on-chain swaps.')
|
||||
: t('Loading coordinator info...')}
|
||||
</Alert>
|
||||
</Grid>
|
||||
<Box
|
||||
sx={{
|
||||
backgroundColor: 'background.paper',
|
||||
|
||||
@ -294,7 +294,7 @@ const OrderDetails = ({
|
||||
? coordinator?.info?.swap_enabled
|
||||
? t('Supports on-chain swaps.')
|
||||
: t('Does not support on-chain swaps.')
|
||||
: t('Loading cooridnator info...')}
|
||||
: t('Loading coordinator info...')}
|
||||
</Alert>
|
||||
</Grid>
|
||||
</ListItem>
|
||||
|
||||
@ -23,7 +23,7 @@ import {
|
||||
} from '@mui/material';
|
||||
import { Numbers, Send, EmojiEvents } from '@mui/icons-material';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { type Coordinator } from '../../models';
|
||||
import { Robot, type Coordinator } from '../../models';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { EnableTelegramDialog } from '../Dialogs';
|
||||
import { UserNinjaIcon } from '../Icons';
|
||||
@ -38,11 +38,10 @@ import RobotAvatar from '../RobotAvatar';
|
||||
interface Props {
|
||||
coordinator: Coordinator;
|
||||
onClose: () => void;
|
||||
disabled?: boolean;
|
||||
}
|
||||
|
||||
const RobotInfo: React.FC<Props> = ({ coordinator, onClose, disabled }: Props) => {
|
||||
const { garage } = useContext<UseGarageStoreType>(GarageContext);
|
||||
const RobotInfo: React.FC<Props> = ({ coordinator, onClose }: Props) => {
|
||||
const { garage, slotUpdatedAt } = useContext<UseGarageStoreType>(GarageContext);
|
||||
const { setOpen, navigateToPage } = useContext<UseAppStoreType>(AppContext);
|
||||
const { federation } = useContext<UseFederationStoreType>(FederationContext);
|
||||
const navigate = useNavigate();
|
||||
@ -58,8 +57,17 @@ const RobotInfo: React.FC<Props> = ({ coordinator, onClose, disabled }: Props) =
|
||||
const [weblnEnabled, setWeblnEnabled] = useState<boolean>(false);
|
||||
const [openEnableTelegram, setOpenEnableTelegram] = useState<boolean>(false);
|
||||
const [openOptions, setOpenOptions] = useState<boolean>(false);
|
||||
const [disabled, setDisable] = useState<boolean>(false);
|
||||
const [robot, setRobot] = useState<Robot | null>(null);
|
||||
|
||||
const robot = garage.getSlot()?.getRobot(coordinator.shortAlias);
|
||||
useEffect(() => {
|
||||
const robot = garage.getSlot()?.getRobot(coordinator.shortAlias) ?? null;
|
||||
setRobot(robot);
|
||||
}, [slotUpdatedAt]);
|
||||
|
||||
useEffect(() => {
|
||||
setDisable(Boolean(robot?.loading));
|
||||
}, [robot?.loading]);
|
||||
|
||||
const handleWebln = async (): Promise<void> => {
|
||||
void getWebln()
|
||||
@ -134,7 +142,7 @@ const RobotInfo: React.FC<Props> = ({ coordinator, onClose, disabled }: Props) =
|
||||
) : robot?.lastOrderId ? (
|
||||
<Typography color='warning'> {t('Finished order')}</Typography>
|
||||
) : (
|
||||
<Typography>{t('No existing orders found')}</Typography>
|
||||
<Typography>{t('No orders found')}</Typography>
|
||||
)
|
||||
}
|
||||
/>
|
||||
|
||||
@ -7,7 +7,6 @@ import {
|
||||
Collapse,
|
||||
Link,
|
||||
Alert,
|
||||
AlertTitle,
|
||||
Tooltip,
|
||||
IconButton,
|
||||
Button,
|
||||
@ -15,7 +14,7 @@ import {
|
||||
} from '@mui/material';
|
||||
import currencies from '../../../../static/assets/currencies.json';
|
||||
import TradeSummary from '../TradeSummary';
|
||||
import { Favorite, RocketLaunch, ContentCopy, Refresh, Info } from '@mui/icons-material';
|
||||
import { Favorite, RocketLaunch, ContentCopy, Refresh } from '@mui/icons-material';
|
||||
import { LoadingButton } from '@mui/lab';
|
||||
import { finalizeEvent, type Event } from 'nostr-tools';
|
||||
import { type Order } from '../../../models';
|
||||
@ -26,6 +25,7 @@ import {
|
||||
} from '../../../contexts/FederationContext';
|
||||
import { type UseAppStoreType, AppContext } from '../../../contexts/AppContext';
|
||||
import { GarageContext, type UseGarageStoreType } from '../../../contexts/GarageContext';
|
||||
import { useTheme } from '@mui/system';
|
||||
|
||||
interface SuccessfulPromptProps {
|
||||
order: Order;
|
||||
@ -43,6 +43,7 @@ export const SuccessfulPrompt = ({
|
||||
loadingRenew,
|
||||
}: SuccessfulPromptProps): React.JSX.Element => {
|
||||
const { t } = useTranslation();
|
||||
const theme = useTheme();
|
||||
const currencyCode: string = currencies[`${order.currency}`];
|
||||
const { settings } = useContext<UseAppStoreType>(AppContext);
|
||||
const { federation } = useContext<UseFederationStoreType>(FederationContext);
|
||||
@ -50,7 +51,6 @@ export const SuccessfulPrompt = ({
|
||||
|
||||
const [coordinatorToken, setCoordinatorToken] = useState<string>();
|
||||
const [hostRating, setHostRating] = useState<number>();
|
||||
const [tokenError, setTokenError] = useState<boolean>(false);
|
||||
|
||||
const rateHostPlatform = function (): void {
|
||||
if (!hostRating) return;
|
||||
@ -60,7 +60,6 @@ export const SuccessfulPrompt = ({
|
||||
|
||||
if (!coordinatorToken) {
|
||||
console.error('Missing coordinator token');
|
||||
setTokenError(true);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -108,48 +107,50 @@ export const SuccessfulPrompt = ({
|
||||
spacing={0.5}
|
||||
padding={1}
|
||||
>
|
||||
<Grid item xs={12}>
|
||||
<Typography variant='body2' align='center'>
|
||||
{t('Rate your trade experience')}
|
||||
</Typography>
|
||||
</Grid>
|
||||
<Grid item>
|
||||
<Rating
|
||||
name='size-large'
|
||||
defaultValue={0}
|
||||
size='large'
|
||||
onChange={(e) => {
|
||||
const rate = e.target.value;
|
||||
rateUserPlatform(rate);
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item xs={12}>
|
||||
<Typography variant='body2' align='center'>
|
||||
{t('Rate your host')} <b>{federation.getCoordinator(order.shortAlias)?.longAlias}</b>{' '}
|
||||
<Tooltip title={t('You need to enable nostr to rate your coordinator.')}>
|
||||
<Info sx={{ width: 15 }} />
|
||||
</Tooltip>
|
||||
</Typography>
|
||||
</Grid>
|
||||
{tokenError && (
|
||||
<Grid sx={{ marginBottom: 1 }}>
|
||||
<Alert severity='error' sx={{ marginTop: 2 }}>
|
||||
{t("Error obatining coordinator' s token.")}
|
||||
</Alert>
|
||||
<Grid container direction='row'>
|
||||
<Grid item width='48%'>
|
||||
<Typography variant='body2' align='center'>
|
||||
{t('Rate your trade experience')}
|
||||
</Typography>
|
||||
<Rating
|
||||
name='size-large'
|
||||
defaultValue={0}
|
||||
size='large'
|
||||
onChange={(e) => {
|
||||
const rate = e.target.value;
|
||||
rateUserPlatform(rate);
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item width='48%'>
|
||||
<Tooltip
|
||||
title={t('You need to enable nostr to rate your coordinator.')}
|
||||
disableHoverListener={settings.connection === 'nostr'}
|
||||
>
|
||||
<div
|
||||
style={{
|
||||
borderLeft: `1px solid ${theme.palette.divider}`,
|
||||
marginLeft: '6px',
|
||||
paddingLeft: '6px',
|
||||
}}
|
||||
>
|
||||
<Typography variant='body2' align='center'>
|
||||
{t('Rate your host')}{' '}
|
||||
<b>{federation.getCoordinator(order.shortAlias)?.longAlias}</b>{' '}
|
||||
</Typography>
|
||||
<Rating
|
||||
disabled={settings.connection !== 'nostr'}
|
||||
name='size-large'
|
||||
defaultValue={0}
|
||||
size='large'
|
||||
onChange={(e) => {
|
||||
const rate = e.target.value;
|
||||
setHostRating(parseInt(rate));
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</Tooltip>
|
||||
</Grid>
|
||||
)}
|
||||
<Grid item>
|
||||
<Rating
|
||||
disabled={settings.connection !== 'nostr'}
|
||||
name='size-large'
|
||||
defaultValue={0}
|
||||
size='large'
|
||||
onChange={(e) => {
|
||||
const rate = e.target.value;
|
||||
setHostRating(parseInt(rate));
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
{hostRating ? (
|
||||
<Grid item xs={12}>
|
||||
@ -205,75 +206,45 @@ export const SuccessfulPrompt = ({
|
||||
)}
|
||||
|
||||
{/* SHOW TXID IF USER RECEIVES ONCHAIN */}
|
||||
<Collapse in={Boolean(order.txid)} sx={{ marginTop: 0.5 }}>
|
||||
<Alert severity='success'>
|
||||
<AlertTitle>
|
||||
{t('Your TXID')}
|
||||
<Tooltip disableHoverListener enterTouchDelay={0} title={t('Copied!')}>
|
||||
<IconButton
|
||||
color='inherit'
|
||||
onClick={() => {
|
||||
systemClient.copyToClipboard(order.txid);
|
||||
}}
|
||||
>
|
||||
<ContentCopy sx={{ width: '1em', height: '1em' }} />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
</AlertTitle>
|
||||
<Typography
|
||||
variant='body2'
|
||||
align='center'
|
||||
sx={{ wordWrap: 'break-word', width: '15.71em' }}
|
||||
>
|
||||
<Link
|
||||
target='_blank'
|
||||
href={
|
||||
'http://mempoolhqx4isw62xs7abwphsq7ldayuidyx2v2oethdhhj6mlo2r6ad.onion/' +
|
||||
(order.network === 'testnet' ? 'testnet/' : '') +
|
||||
'tx/' +
|
||||
order.txid
|
||||
}
|
||||
<Collapse in={Boolean(order.txid)} sx={{ width: '100%' }}>
|
||||
<Alert
|
||||
severity='success'
|
||||
style={{ marginTop: 0.5 }}
|
||||
action={
|
||||
<IconButton
|
||||
color='inherit'
|
||||
onClick={() => {
|
||||
systemClient.copyToClipboard(order.txid);
|
||||
}}
|
||||
>
|
||||
{order.txid}
|
||||
</Link>
|
||||
</Typography>
|
||||
<ContentCopy sx={{ width: '0.8em', height: '0.8em' }} />
|
||||
</IconButton>
|
||||
}
|
||||
>
|
||||
{t('Your TXID')}
|
||||
</Alert>
|
||||
</Collapse>
|
||||
|
||||
<Collapse
|
||||
in={order.tx_queued && order.address !== undefined && order.txid == null}
|
||||
sx={{ marginTop: 0.5 }}
|
||||
sx={{ width: '100%' }}
|
||||
>
|
||||
<Alert severity='info'>
|
||||
<AlertTitle>
|
||||
<CircularProgress sx={{ maxWidth: '0.8em', maxHeight: '0.8em' }} />
|
||||
<a> </a>
|
||||
{t('Sending coins to')}
|
||||
<Tooltip disableHoverListener enterTouchDelay={0} title={t('Copied!')}>
|
||||
<IconButton
|
||||
color='inherit'
|
||||
onClick={() => {
|
||||
systemClient.copyToClipboard(order.address);
|
||||
}}
|
||||
>
|
||||
<ContentCopy sx={{ width: '0.8em', height: '0.8em' }} />
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
</AlertTitle>
|
||||
<Typography
|
||||
variant='body2'
|
||||
align='center'
|
||||
sx={{ wordWrap: 'break-word', width: '15.71em' }}
|
||||
>
|
||||
<Link
|
||||
target='_blank'
|
||||
href={`http://mempoolhqx4isw62xs7abwphsq7ldayuidyx2v2oethdhhj6mlo2r6ad.onion/${
|
||||
order.network === 'testnet' ? 'testnet/' : ''
|
||||
}address/${order.address}`}
|
||||
<Alert
|
||||
sx={{ marginTop: 0.5 }}
|
||||
severity='info'
|
||||
action={
|
||||
<IconButton
|
||||
color='inherit'
|
||||
onClick={() => {
|
||||
systemClient.copyToClipboard(order.address);
|
||||
}}
|
||||
>
|
||||
{order.address}
|
||||
</Link>
|
||||
</Typography>
|
||||
<ContentCopy sx={{ width: '0.8em', height: '0.8em' }} />
|
||||
</IconButton>
|
||||
}
|
||||
>
|
||||
<CircularProgress sx={{ maxWidth: '0.8em', maxHeight: '0.8em', marginRight: '5px' }} />
|
||||
{t('Sending coins')}
|
||||
</Alert>
|
||||
</Collapse>
|
||||
|
||||
@ -307,7 +278,7 @@ export const SuccessfulPrompt = ({
|
||||
</Grid>
|
||||
|
||||
{order.platform_summary != null ? (
|
||||
<Grid item>
|
||||
<Grid item sx={{ marginTop: 0.5 }}>
|
||||
<TradeSummary
|
||||
robotNick={order.ur_nick}
|
||||
isMaker={order.is_maker}
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import React, { useContext, useState } from 'react';
|
||||
import { format } from 'date-fns';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import {
|
||||
Badge,
|
||||
@ -20,7 +19,6 @@ import RobotAvatar from '../RobotAvatar';
|
||||
|
||||
// Icons
|
||||
import {
|
||||
Schedule,
|
||||
PriceChange,
|
||||
LockOpen,
|
||||
AccountBalance,
|
||||
@ -70,11 +68,6 @@ const TradeSummary = ({
|
||||
|
||||
const [buttonValue, setButtonValue] = useState<number>(isMaker ? 0 : 2);
|
||||
const userSummary = buttonValue === 0 ? makerSummary : takerSummary;
|
||||
const contractTimestamp = new Date(platformSummary.contract_timestamp ?? null);
|
||||
const totalTime = platformSummary.contract_total_time;
|
||||
const hours = parseInt(totalTime / 3600);
|
||||
const mins = parseInt((totalTime - hours * 3600) / 60);
|
||||
const secs = parseInt(totalTime - hours * 3600 - mins * 60);
|
||||
|
||||
const onClickExport = function (): void {
|
||||
const summary = {
|
||||
@ -100,6 +93,7 @@ const TradeSummary = ({
|
||||
backgroundColor: theme.palette.background.paper,
|
||||
borderRadius: '0.3em',
|
||||
padding: '0.5em',
|
||||
width: '19em',
|
||||
}}
|
||||
>
|
||||
<div style={{ display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
|
||||
@ -319,22 +313,6 @@ const TradeSummary = ({
|
||||
secondary={t('Contract exchange rate')}
|
||||
/>
|
||||
</ListItem>
|
||||
|
||||
<ListItem>
|
||||
<ListItemText
|
||||
primary={format(contractTimestamp, 'do LLL HH:mm:ss')}
|
||||
secondary={t('Timestamp')}
|
||||
/>
|
||||
<ListItemIcon>
|
||||
<Schedule />
|
||||
</ListItemIcon>
|
||||
<ListItemText
|
||||
primary={`${String(hours).padStart(2, '0')}:${String(mins).padStart(2, '0')}:${String(
|
||||
secs,
|
||||
).padStart(2, '0')}`}
|
||||
secondary={t('Completed in')}
|
||||
/>
|
||||
</ListItem>
|
||||
</List>
|
||||
</div>
|
||||
</Box>
|
||||
|
||||
@ -10,7 +10,6 @@ import React, {
|
||||
} from 'react';
|
||||
|
||||
import { defaultMaker, type Maker, Garage } from '../models';
|
||||
import { systemClient } from '../services/System';
|
||||
import { type UseAppStoreType, AppContext } from './AppContext';
|
||||
import { type UseFederationStoreType, FederationContext } from './FederationContext';
|
||||
|
||||
@ -66,7 +65,7 @@ export const GarageContextProvider = ({
|
||||
children,
|
||||
}: GarageContextProviderProps): React.JSX.Element => {
|
||||
// All garage data structured
|
||||
const { settings, torStatus, open, page, client } = useContext<UseAppStoreType>(AppContext);
|
||||
const { settings, torStatus, page } = useContext<UseAppStoreType>(AppContext);
|
||||
const pageRef = useRef(page);
|
||||
const { federation } = useContext<UseFederationStoreType>(FederationContext);
|
||||
const [garage] = useState<Garage>(initialGarageContext.garage);
|
||||
@ -97,31 +96,14 @@ export const GarageContextProvider = ({
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (client !== 'mobile' || torStatus === 'ON' || !settings.useProxy) {
|
||||
const token = garage.getSlot()?.token;
|
||||
if (token) void garage.fetchRobot(federation, token);
|
||||
}
|
||||
const token = garage.getSlot()?.token;
|
||||
if (token) void garage.fetchRobot(federation, token);
|
||||
}, [settings.network, settings.useProxy, torStatus]);
|
||||
|
||||
useEffect(() => {
|
||||
if (client === 'mobile' && !systemClient.loading) {
|
||||
garage.loadSlots();
|
||||
}
|
||||
}, [systemClient.loading]);
|
||||
|
||||
useEffect(() => {
|
||||
pageRef.current = page;
|
||||
}, [page]);
|
||||
|
||||
// use effects to fetchRobots on Profile open
|
||||
useEffect(() => {
|
||||
const slot = garage.getSlot();
|
||||
|
||||
if (open.profile && slot?.hashId && slot?.token) {
|
||||
void garage.fetchRobot(federation, slot?.token); // refresh/update existing robot
|
||||
}
|
||||
}, [open.profile]);
|
||||
|
||||
const fetchSlotActiveOrder: () => void = () => {
|
||||
const slot = garage?.getSlot();
|
||||
if (slot?.activeOrder?.id) {
|
||||
|
||||
@ -28,8 +28,8 @@ class Slot {
|
||||
const { hasEnoughEntropy, bitsEntropy, shannonEntropy } = validateTokenEntropy(token);
|
||||
const tokenSHA256 = hexToBase91(sha256(token));
|
||||
|
||||
const nostrHash = sha256Hash(sha512(this.token));
|
||||
this.nostrSecKey = nostrHash;
|
||||
const nostrSecKey = sha256Hash(sha512(this.token));
|
||||
this.nostrSecKey = nostrSecKey;
|
||||
const nostrPubKey = getPublicKey(this.nostrSecKey);
|
||||
this.nostrPubKey = nostrPubKey;
|
||||
|
||||
@ -167,6 +167,7 @@ class Slot {
|
||||
token: defaultRobot.token,
|
||||
pubKey: defaultRobot.pubKey,
|
||||
encPrivKey: defaultRobot.encPrivKey,
|
||||
nostrPubKey: defaultRobot.nostrPubKey,
|
||||
});
|
||||
void this.robots[shortAlias].fetch(federation);
|
||||
this.updateSlotFromRobot(this.robots[shortAlias]);
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Envies aprox. {{swapSats}} LN Sats (les taxes poden variar)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Disabled",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Creador",
|
||||
"Onchain payouts enabled": "Onchain payouts enabled",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Prenedor",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "El proveïdor de la infraestructura LN i comunicacions. L'amfitrió serà l'encarregat de donar suport i resoldre disputes. LEs comissions de les transaccions són fixades per l'amfitrió. Assegureu-vos de seleccionar només els amfitrions en què confieu!",
|
||||
"This coordinator does not support on-chain swaps.": "This coordinator does not support on-chain swaps.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "L'enrutament Lightning ha fallat",
|
||||
"New chat message": "Nou missatge al xat",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Mètodes de pagament acceptats",
|
||||
"Amount of Satoshis": "Quantitat de Sats",
|
||||
"Deposit": "Dipositar",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Expira en",
|
||||
"F2F location": "Ubicació F2F",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Detalls",
|
||||
"Order host": "Order host",
|
||||
"Penalty lifted, good to go!": "Sanció revocada, som-hi!",
|
||||
"Premium over market price": "Prima sobre el mercat",
|
||||
"Price and Premium": "Preu i prima",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Destí del swap",
|
||||
"The order has expired": "L'ordre ha expirat",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "La ubicació fixada és aproximada. La ubicació exacta del lloc de trobada s'ha d'intercanviar al xat xifrat.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Ordre inactiva",
|
||||
"Invoice for {{amountSats}} Sats": "Factura per {{amountSats}} Sats",
|
||||
"No active orders": "No hi ha ordres actives",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Anar a ordre activa #{{orderID}}",
|
||||
"Submit": "Enviar",
|
||||
"Telegram enabled": "Telegram activat",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} sol·licita cancel·lar col·laborativament",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Compra",
|
||||
"Completed in": "Completat en",
|
||||
"Contract exchange rate": "Taxa de canvi del contracte",
|
||||
"Coordinator trade revenue": "Ingressos pel coordinador de l'intercanvi",
|
||||
"Export trade summary": "Exportar el resumen d'intercanvi",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Venda",
|
||||
"Sent": "Enviat",
|
||||
"Taker bond": "Fiança de prenedor",
|
||||
"Timestamp": "Marca d'hora",
|
||||
"Trade Summary": "Resum de l'intercanvi",
|
||||
"Unlocked": "Desbloquejada",
|
||||
"User role": "Operació",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Rate your trade experience",
|
||||
"Renew": "Renovar",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats millora amb més usuaris i liquiditat. Ensenya-li RoboSats a un amic bitcoiner!",
|
||||
"Sending coins to": "Enviant monedes a",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Començar de nou",
|
||||
"Thank you for using Robosats!": "Gràcies per fer servir RoboSats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Odesíláte přibližně {{swapSats}} LN Sats (poplatky se mohou lišit)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Zakázáno",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Tvůrce",
|
||||
"Onchain payouts enabled": "Onchain payouts enabled",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Příjemce",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!",
|
||||
"This coordinator does not support on-chain swaps.": "Tento koordinátor nepodporuje on-chain výměny.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Lightning routing selhal",
|
||||
"New chat message": "Nová zpráva v chatu",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Přijaté platební metody",
|
||||
"Amount of Satoshis": "Částka Satoshi",
|
||||
"Deposit": "Vklad",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Vyprší za",
|
||||
"F2F location": "Místo F2F",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Detaily objednávky",
|
||||
"Order host": "Hostitel objednávky",
|
||||
"Penalty lifted, good to go!": "Pokuta zrušena, můžete pokračovat!",
|
||||
"Premium over market price": "Přirážka oproti tržní ceně",
|
||||
"Price and Premium": "Cena a přirážka",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Cíl výměny",
|
||||
"The order has expired": "Objednávka vypršela",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "Připnutá poloha je přibližná. Přesné místo setkání musí být vyměněno v šifrovaném chatu.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Neaktivní objednávka",
|
||||
"Invoice for {{amountSats}} Sats": "Faktura pro {{amountSats}} Satů",
|
||||
"No active orders": "Žádné aktivní objednávky",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Jedna aktivní objednávka #{{orderID}}",
|
||||
"Submit": "Odeslat",
|
||||
"Telegram enabled": "Telegram povolen",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} žádá o spolupracivé zrušení obchodu",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Kupující",
|
||||
"Completed in": "Dokončeno za",
|
||||
"Contract exchange rate": "Smluvní kurz",
|
||||
"Coordinator trade revenue": "Příjmy z obchodu koordinátora",
|
||||
"Export trade summary": "Exportovat shrnutí obchodu",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Prodávající",
|
||||
"Sent": "Odesláno",
|
||||
"Taker bond": "Kauce příjemce",
|
||||
"Timestamp": "Časové razítko",
|
||||
"Trade Summary": "Shrnutí obchodu",
|
||||
"Unlocked": "Odemknuto",
|
||||
"User role": "Uživatelská role",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Ohodnoť svou obchodní zkušenost",
|
||||
"Renew": "Obnovit",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats se zlepšuje s větší likviditou a uživateli. Řekni svým přátelům bitcoinistům o Robosats!",
|
||||
"Sending coins to": "Odesílání mincí na",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Začít znovu",
|
||||
"Thank you for using Robosats!": "Děkujeme, že používáš Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Děkujeme! Také tě miluje {{shortAlias}}",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Du sendest ungefähr {{swapSats}} LN Sats (Gebühren können variieren)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Deaktiviert",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Ersteller",
|
||||
"Onchain payouts enabled": "Onchain-Auszahlungen aktiviert",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Nehmer",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "Der Anbieter der Lightning- und Kommunikationsinfrastruktur. Der Host wird für die Bereitstellung von Support und die Lösung von Streitfällen verantwortlich sein. Die Handelsgebühren werden vom Host festgelegt. Stellen Sie sicher, dass Sie nur Hosts auswählen, denen Sie vertrauen!",
|
||||
"This coordinator does not support on-chain swaps.": "Dieser Koordinator unterstützt keine On-Chain-Swaps.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Lightning-Routing fehlgeschlagen",
|
||||
"New chat message": "Neue Chat-Nachricht",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Akzeptierte Zahlungsmethoden",
|
||||
"Amount of Satoshis": "Anzahl der Satoshis",
|
||||
"Deposit": "Einzahlungstimer",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Läuft ab in",
|
||||
"F2F location": "F2F lokale",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Bestelldetails",
|
||||
"Order host": "Bestellhost",
|
||||
"Penalty lifted, good to go!": "Strafe aufgehoben, es kann losgehen!",
|
||||
"Premium over market price": "Aufschlag über dem Marktpreis",
|
||||
"Price and Premium": "Preis und Aufpreis",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Swap-Ziel",
|
||||
"The order has expired": "Die Bestellung ist abgelaufen",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "Die angeheftete Position ist ungefähr. Der genaue Standort für den Treffpunkt muss im verschlüsselten Chat ausgetauscht werden.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Inaktive Bestellung",
|
||||
"Invoice for {{amountSats}} Sats": "Rechnung für {{amountSats}} Sats",
|
||||
"No active orders": "Keine aktive Bestellung",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Eine aktive Bestellung #{{orderID}}",
|
||||
"Submit": "Bestätigen",
|
||||
"Telegram enabled": "Telegram aktiviert",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} bittet um gemeinsamen Abbruch",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Käufer",
|
||||
"Completed in": "Abgeschlossen in",
|
||||
"Contract exchange rate": "Vertraglicher Wechselkurs",
|
||||
"Coordinator trade revenue": "Koordinator-Handelserlös",
|
||||
"Export trade summary": "Handelsübersicht exportieren",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Verkäufer",
|
||||
"Sent": "Gesendet",
|
||||
"Taker bond": "Nehmer-Kaution",
|
||||
"Timestamp": "Zeitstempel",
|
||||
"Trade Summary": "Handelsübersicht",
|
||||
"Unlocked": "Entsperrt",
|
||||
"User role": "Benutzerrolle",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Bewerte deine Handelserfahrung",
|
||||
"Renew": "Erneuern",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats wird noch besser mit mehr Nutzern und Liquidität. Erzähl einem Bitcoin-Freund von uns!",
|
||||
"Sending coins to": "Sende Münzen an",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Nochmal",
|
||||
"Thank you for using Robosats!": "Danke, dass du Robosats benutzt hast!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Danke! {{shortAlias}} liebt dich auch",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "You send approx {{swapSats}} LN Sats (fees might vary)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Disabled",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Maker",
|
||||
"Onchain payouts enabled": "Onchain payouts enabled",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Taker",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!",
|
||||
"This coordinator does not support on-chain swaps.": "This coordinator does not support on-chain swaps.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Lightning routing failed",
|
||||
"New chat message": "New chat message",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Accepted payment methods",
|
||||
"Amount of Satoshis": "Amount of Satoshis",
|
||||
"Deposit": "Deposit",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Expires in",
|
||||
"F2F location": "F2F location",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Order Details",
|
||||
"Order host": "Order host",
|
||||
"Penalty lifted, good to go!": "Penalty lifted, good to go!",
|
||||
"Premium over market price": "Premium over market price",
|
||||
"Price and Premium": "Price and Premium",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Swap destination",
|
||||
"The order has expired": "The order has expired",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Inactive order",
|
||||
"Invoice for {{amountSats}} Sats": "Invoice for {{amountSats}} Sats",
|
||||
"No active orders": "No active orders",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "One active order #{{orderID}}",
|
||||
"Submit": "Submit",
|
||||
"Telegram enabled": "Telegram enabled",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} is asking for a collaborative cancel",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Buyer",
|
||||
"Completed in": "Completed in",
|
||||
"Contract exchange rate": "Contract exchange rate",
|
||||
"Coordinator trade revenue": "Coordinator trade revenue",
|
||||
"Export trade summary": "Export trade summary",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Seller",
|
||||
"Sent": "Sent",
|
||||
"Taker bond": "Taker bond",
|
||||
"Timestamp": "Timestamp",
|
||||
"Trade Summary": "Trade Summary",
|
||||
"Unlocked": "Unlocked",
|
||||
"User role": "User role",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Rate your trade experience",
|
||||
"Renew": "Renew",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!",
|
||||
"Sending coins to": "Sending coins to",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Start Again",
|
||||
"Thank you for using Robosats!": "Thank you for using Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Thank you! {{shortAlias}} loves you too",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Envías aproximadamente {{swapSats}} LN Sats (las comisiones pueden variar)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Desactivado",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Creador",
|
||||
"Onchain payouts enabled": "Pagos onchain habilitados",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Tomador",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "El proveedor de la infraestructura de comunicación y lightning. El anfitrión estará a cargo de proporcionar soporte y resolver disputas. Las comisiones comerciales son establecidas por el anfitrión. ¡Asegúrate de seleccionar solo anfitriones de órdenes en los que confíes!",
|
||||
"This coordinator does not support on-chain swaps.": "Este coordinador no soporta intercambios on-chain.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Enrutado Lightning fallido",
|
||||
"New chat message": "Nuevo mensaje en el chat",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Métodos de pago aceptados",
|
||||
"Amount of Satoshis": "Cantidad de Sats",
|
||||
"Deposit": "Depósito",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Expira en",
|
||||
"F2F location": "Ubicación cara a cara",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Detalles de la Orden",
|
||||
"Order host": "Anfitrión de la Orden",
|
||||
"Penalty lifted, good to go!": "Sanción revocada, ¡Todo listo!",
|
||||
"Premium over market price": "Prima sobre el precio de mercado",
|
||||
"Price and Premium": "Precio y Prima",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Destino del Swap",
|
||||
"The order has expired": "La orden ha expirado",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "La ubicación marcada es aproximada. La ubicación exacta para el punto de encuentro debe ser intercambiada en el chat cifrado.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Orden inactiva",
|
||||
"Invoice for {{amountSats}} Sats": "Factura de {{amountSats}} Sats",
|
||||
"No active orders": "No hay órdenes activas",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Una orden activa #{{orderID}}",
|
||||
"Submit": "Enviar",
|
||||
"Telegram enabled": "Telegram activado",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} solicita la cancelación colaborativa",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Comprador",
|
||||
"Completed in": "Completado en",
|
||||
"Contract exchange rate": "Tasa de cambio del contrato",
|
||||
"Coordinator trade revenue": "Ingresos del intercambio del coordinador",
|
||||
"Export trade summary": "Exportar el resumen de la transacción",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Vendedor",
|
||||
"Sent": "Enviado",
|
||||
"Taker bond": "Fianza del tomador",
|
||||
"Timestamp": "Marca de tiempo",
|
||||
"Trade Summary": "Resumen del intercambio",
|
||||
"Unlocked": "Desbloqueado",
|
||||
"User role": "Rol del usuario",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Califica tu experiencia de intercambio",
|
||||
"Renew": "Renovar",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats mejora con más liquidez y usuarios. ¡Háblale a un amigo bitcoiner sobre RoboSats!",
|
||||
"Sending coins to": "Enviando monedas a",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Empezar de nuevo",
|
||||
"Thank you for using Robosats!": "¡Gracias por usar RoboSats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "¡Gracias! {{shortAlias}} también te quiere",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Gutxi gorabehera bidaltzen dituzu {{swapSats}} LN Sats (komisioak aldatu daitezke)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Desgaituta",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Egile",
|
||||
"Onchain payouts enabled": "Onchain ordainketak gaituta",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Hartzaile",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "Argiaren eta komunikazio azpiegituren hornitzailea. Ostalariak laguntza emateaz eta eztabaidak konpontzeaz arduratuko da. Truke kuotak ostalariak bideratzen ditu. Ziurtatu konfiantza duzun ostalari eskaerak aukeratzea!",
|
||||
"This coordinator does not support on-chain swaps.": "Koordinatzaile honek ez ditu onartzen katea gaineko trukeak.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Txinparta bideratzea huts egin du",
|
||||
"New chat message": "Mezu berria",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Onartuta ordainketa moduak",
|
||||
"Amount of Satoshis": "Satoshi kopurua",
|
||||
"Deposit": "Gordailu tenporizadorea",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Iraungitze denbora",
|
||||
"F2F location": "Aurre Aurre lokazioa",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Eskaeraren Xehetasunak",
|
||||
"Order host": "Eskaera ostalaria",
|
||||
"Penalty lifted, good to go!": "Zigorra kendu da, prest!",
|
||||
"Premium over market price": "Merkatuko prezioarekiko prima",
|
||||
"Price and Premium": "Prezioa eta Prima",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Trukearen norakoa",
|
||||
"The order has expired": "Eskera iraungi da",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "Jarritako kokapena gutxi gorabeherakoa da. Topagunerako kokapen zehatza txat enkriptatuaren bidez trukatu behar da.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Eskaera ez aktiboa",
|
||||
"Invoice for {{amountSats}} Sats": "{{amountSats}} Sateko faktura",
|
||||
"No active orders": "Ez dago eskaera aktiboak",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Eskaera aktiboa #{{orderID}}",
|
||||
"Submit": "Bidali",
|
||||
"Telegram enabled": "Telegram baimendua",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} lankidetzaz ezeztatzea eskatu du",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Erosle",
|
||||
"Completed in": "Igarotako denbora",
|
||||
"Contract exchange rate": "Kontratuaren truke-tasa",
|
||||
"Coordinator trade revenue": "Koordinatzailearen salerosketa etekina",
|
||||
"Export trade summary": "Esportatu salerosketa laburpena",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Saltzaile",
|
||||
"Sent": "Bidalitakoa",
|
||||
"Taker bond": "Hartzaile fidantza",
|
||||
"Timestamp": "Amaiera ordua",
|
||||
"Trade Summary": "Salerosketaren laburpena",
|
||||
"Unlocked": "Askatu da",
|
||||
"User role": "Erabiltzaile rola",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Baloratu zure truke esperientzia",
|
||||
"Renew": "Berritu",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats hobetu egiten da likidezia eta erabiltzaile gehiagorekin. Aipatu Robosats lagun bitcoinzale bati!",
|
||||
"Sending coins to": "Txanponak bidaltzen",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Berriz Hasi",
|
||||
"Thank you for using Robosats!": "Mila esker Robosats erabiltzeagatik!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Eskerrik asko! {{shortAlias}} ere maite zaitu",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Vous envoyez environ {{swapSats}} LN Sats (les frais peuvent varier)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Désactivé",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Créateur",
|
||||
"Onchain payouts enabled": "Paiements onchain activés",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Preneur",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "Le fournisseur de l'infrastructure lightning et de communication. L'hôte sera chargé de fournir un support et de résoudre les litiges. Les frais de transaction sont fixés par l'hôte. Assurez-vous de ne sélectionner que des hôtes de commande en qui vous avez confiance !",
|
||||
"This coordinator does not support on-chain swaps.": "Ce coordinateur ne prend pas en charge les échanges on-chain.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Échec du routage Lightning",
|
||||
"New chat message": "Nouveau message de chat",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Modes de paiement acceptés",
|
||||
"Amount of Satoshis": "Montant de Satoshis",
|
||||
"Deposit": "Dépôt",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Expire dans",
|
||||
"F2F location": "Emplacement F2F",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Détails de l'ordre",
|
||||
"Order host": "Hôte de l'ordre",
|
||||
"Penalty lifted, good to go!": "Pénalité levée, vous pouvez y aller!",
|
||||
"Premium over market price": "Prime sur le prix du marché",
|
||||
"Price and Premium": "Prix et prime",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Destination de l'échange",
|
||||
"The order has expired": "L'ordre a expiré",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "L'emplacement épinglé est approximatif. L'emplacement exact du lieu de rencontre doit être échangé dans le chat crypté.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Ordre inactif",
|
||||
"Invoice for {{amountSats}} Sats": "Facture pour {{amountSats}} Sats",
|
||||
"No active orders": "Aucun ordre actif",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Un ordre actif #{{orderID}}",
|
||||
"Submit": "Soumettre",
|
||||
"Telegram enabled": "Telegram activé",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} demande une annulation collaborative",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Acheteur",
|
||||
"Completed in": "Terminé en",
|
||||
"Contract exchange rate": "Taux de change du contrat",
|
||||
"Coordinator trade revenue": "Revenu de la transaction du coordinateur",
|
||||
"Export trade summary": "Exporter le résumé de la transaction",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Vendeur",
|
||||
"Sent": "Envoyé",
|
||||
"Taker bond": "Caution du preneur",
|
||||
"Timestamp": "Horodatage",
|
||||
"Trade Summary": "Résumé de la transaction",
|
||||
"Unlocked": "Débloqué",
|
||||
"User role": "Rôle utilisateur",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Évaluez votre expérience de trading",
|
||||
"Renew": "Renouveler",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats s'améliore avec plus de liquidité et d'utilisateurs. Parlez de Robosats à un ami bitcoiner!",
|
||||
"Sending coins to": "Envoyer des pièces à",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Recommencer",
|
||||
"Thank you for using Robosats!": "Merci d'utiliser Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Merci ! {{shortAlias}} vous aime aussi",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Invii circa {{swapSats}} LN Sats (le commissioni possono variare)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Disabilitato",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Creatore",
|
||||
"Onchain payouts enabled": "Pagamento onchain abilitato",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Acquirente",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "Il fornitore dell'infrastruttura lightning e comunicazione. L'host sarà responsabile del supporto e della risoluzione delle dispute. Le commissioni commerciali sono fissate dall'host. Assicurati di selezionare solo gli host degli ordini di cui ti fidi!",
|
||||
"This coordinator does not support on-chain swaps.": "Questo coordinatore non supporta gli swap on-chain.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Instradamento Lightning fallito",
|
||||
"New chat message": "Nuovo messaggio di chat",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Metodi di pagamento accettati",
|
||||
"Amount of Satoshis": "Importo di Satoshi",
|
||||
"Deposit": "Deposito",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Scade in",
|
||||
"F2F location": "Posizione F2F",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Dettagli Ordine",
|
||||
"Order host": "Host dell'ordine",
|
||||
"Penalty lifted, good to go!": "Penalità revocata, puoi procedere!",
|
||||
"Premium over market price": "Prezzo maggiore del prezzo di mercato",
|
||||
"Price and Premium": "Prezzo e Premio",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Destinazione swap",
|
||||
"The order has expired": "L'ordine è scaduto",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "La posizione impiantata è approssimativa. La posizione esatta per il luogo di incontro deve essere scambiata nella chat crittografata.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Ordine inattivo",
|
||||
"Invoice for {{amountSats}} Sats": "Fattura per {{amountSats}} Sats",
|
||||
"No active orders": "Nessun ordine attivo",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Un ordine attivo #{{orderID}}",
|
||||
"Submit": "Invia",
|
||||
"Telegram enabled": "Telegram abilitato",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} ha richiesto un annullamento collaborativo",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Acquirente",
|
||||
"Completed in": "Completato in",
|
||||
"Contract exchange rate": "Tasso di cambio contrattuale",
|
||||
"Coordinator trade revenue": "Guadagno del coordinatore",
|
||||
"Export trade summary": "Esporta riepilogo dello scambio",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Venditore",
|
||||
"Sent": "Inviato",
|
||||
"Taker bond": "Cauzione dell'acquirente",
|
||||
"Timestamp": "Timestamp",
|
||||
"Trade Summary": "Riepilogo scambio",
|
||||
"Unlocked": "Sbloccato",
|
||||
"User role": "Ruolo utente",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Valuta la tua esperienza di scambio",
|
||||
"Renew": "Rinnova",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats migliora con più liquidità e utenti. Parla di RoboSats a un amico bitcoiner!",
|
||||
"Sending coins to": "Invio monete a",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Ricominciamo",
|
||||
"Thank you for using Robosats!": "Grazie per aver usato Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Grazie! Anche {{shortAlias}} ti ama",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "約{{swapSats}} ライトニングSatsを送信します(手数料は異なる場合があります)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "無効",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "メーカー",
|
||||
"Onchain payouts enabled": "オンチェーンでの支払いが有効",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "テイカー",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "ライトニングと通信インフラを提供します。ホストはサポートの提供と論争の解決を担当します。取引手数料はホストによって設定されます。信頼できる注文ホストのみを選択するようにしてください!",
|
||||
"This coordinator does not support on-chain swaps.": "このコーディネーターは、オンチェーンスワップをサポートしていません。",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "ライトニングのルーティングに失敗しました",
|
||||
"New chat message": "新しいチャットメッセージ",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "受け付ける支払い方法",
|
||||
"Amount of Satoshis": "サトシの金額",
|
||||
"Deposit": "デポジットタイマー",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "有効期限",
|
||||
"F2F location": "対面の位置",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "注文の詳細",
|
||||
"Order host": "注文ホスト",
|
||||
"Penalty lifted, good to go!": "ペナルティが解除されました、準備万端!",
|
||||
"Premium over market price": "市場価格に対するプレミアム",
|
||||
"Price and Premium": "価格とプレミアム",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "スワップの宛先",
|
||||
"The order has expired": "注文は期限切れになりました",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "ピンされた場所は近似であり、会合場所の正確な位置は暗号化されたチャットを介して交換する必要があります。",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "非アクティブなオーダー",
|
||||
"Invoice for {{amountSats}} Sats": " {{amountSats}} Satsのインボイス",
|
||||
"No active orders": "アクティブなオーダーはありません",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "アクティブなオーダー #{{orderID}} に進む",
|
||||
"Submit": "送信",
|
||||
"Telegram enabled": "Telegramが有効になりました",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}}が共同キャンセルを求めています",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "買い手",
|
||||
"Completed in": "完了",
|
||||
"Contract exchange rate": "契約為替レート",
|
||||
"Coordinator trade revenue": "取引コーディネーターの収益",
|
||||
"Export trade summary": "取引概要をエクスポートする",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "売り手",
|
||||
"Sent": "送信",
|
||||
"Taker bond": "テイカーの担保金",
|
||||
"Timestamp": "タイムスタンプ",
|
||||
"Trade Summary": "取引概要",
|
||||
"Unlocked": "ロック解除済み",
|
||||
"User role": "ユーザーの役割",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "取引体験を評価する",
|
||||
"Renew": "更新する",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSatsはより多くの流動性とユーザーでより良くなります。ビットコイナーのお友達にRoboSatsについて話してください!",
|
||||
"Sending coins to": "コインを送信する先",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "最初からやり直す",
|
||||
"Thank you for using Robosats!": "Robosatsをご利用いただきありがとうございます!",
|
||||
"Thank you! {{shortAlias}} loves you too": "ありがとうございます!{{shortAlias}}もあなたを愛しています",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Wysyłasz około {{swapSats}} LN Sats (opłaty mogą się różnić)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Wyłączone",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Twórca",
|
||||
"Onchain payouts enabled": "Wypłaty onchain włączone",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Nabywca",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "Dostawca infrastruktury lightning i komunikacji. Host będzie odpowiedzialny za udzielanie wsparcia i rozwiązywanie sporów. Opłaty za handel są ustalane przez hosta. Upewnij się, że wybierasz tylko hostów zamówień, którym ufasz!",
|
||||
"This coordinator does not support on-chain swaps.": "Ten koordynator nie obsługuje wymiany on-chain.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Routing Lightning nie powiódł się",
|
||||
"New chat message": "Nowa wiadomość czat",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Akceptowane metody płatności",
|
||||
"Amount of Satoshis": "Ilość Satoshis",
|
||||
"Deposit": "Depozyt",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Wygasa za",
|
||||
"F2F location": "Lokalizacja F2F",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Szczegóły zamówienia",
|
||||
"Order host": "Host zamówienia",
|
||||
"Penalty lifted, good to go!": "Kara zniesiona, można działać!",
|
||||
"Premium over market price": "Premia ponad cenę rynkową",
|
||||
"Price and Premium": "Cena i Premia",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Miejsce docelowe wymiany",
|
||||
"The order has expired": "Zamówienie wygasło",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "Przypięta lokalizacja jest przybliżona. Dokładna lokalizacja miejsca spotkania musi być wymieniona w zaszyfrowanym czacie.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Nieaktywne zamówienie",
|
||||
"Invoice for {{amountSats}} Sats": "Faktura za {{amountSats}} Sats",
|
||||
"No active orders": "Brak aktywnych zamówień",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Jedno aktywne zamówienie #{{orderID}}",
|
||||
"Submit": "Prześlij",
|
||||
"Telegram enabled": "Telegram włączony",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} prosi o wspólne anulowanie",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Kupujący",
|
||||
"Completed in": "Ukończone w",
|
||||
"Contract exchange rate": "Kurs wymiany kontraktowej",
|
||||
"Coordinator trade revenue": "Przychody z handlu koordynatora",
|
||||
"Export trade summary": "Eksportuj podsumowanie handlu",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Sprzedawca",
|
||||
"Sent": "Wysłane",
|
||||
"Taker bond": "Obligacja nabywcy",
|
||||
"Timestamp": "Znacznik czasu",
|
||||
"Trade Summary": "Podsumowanie Handlu",
|
||||
"Unlocked": "Odblokowane",
|
||||
"User role": "Rola użytkownika",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Oceń swoje doświadczenia handlowe",
|
||||
"Renew": "Odnów",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats staje się lepszy dzięki większej płynności i użytkownikom. Powiedz znajomemu bitcoinerowi o Robosats!",
|
||||
"Sending coins to": "Wysyłanie monet do",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Zacznij jeszcze raz",
|
||||
"Thank you for using Robosats!": "Dziękujemy za korzystanie z Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Dziękujemy! {{shortAlias}} również cię kocha",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Você envia aprox {{swapSats}} LN Sats (as taxas podem variar)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Desabilitado",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Criador",
|
||||
"Onchain payouts enabled": "Pagamentos onchain habilitados",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Tomador",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "O provedor da infraestrutura de comunicação e lightning. O hospedeiro será responsável por fornecer suporte e resolver disputas. As taxas de negociação são definidas pelo hospedeiro. Certifique-se de selecionar apenas hospedeiros de pedido em quem você confia!",
|
||||
"This coordinator does not support on-chain swaps.": "Este coordenador não suporta swaps on-chain.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Roteamento Lightning falhou",
|
||||
"New chat message": "Nova mensagem de chat",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Métodos de pagamento aceitos",
|
||||
"Amount of Satoshis": "Quantidade de Satoshis",
|
||||
"Deposit": "Depósito",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Expira em",
|
||||
"F2F location": "Localização presencial",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Detalhes da Ordem",
|
||||
"Order host": "Hospedeiro da Ordem",
|
||||
"Penalty lifted, good to go!": "Penalidade levantada, pronto para ir!",
|
||||
"Premium over market price": "Prêmio sobre o preço de mercado",
|
||||
"Price and Premium": "Preço e Prêmio",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Destino de Troca",
|
||||
"The order has expired": "A ordem expirou",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "A localização fixada é aproximada. A localização exata para o local de encontro deve ser trocada no chat criptografado.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Ordem inativa",
|
||||
"Invoice for {{amountSats}} Sats": "Fatura para {{amountSats}} Sats",
|
||||
"No active orders": "Nenhuma ordem ativa",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Uma ordem ativa #{{orderID}}",
|
||||
"Submit": "Enviar",
|
||||
"Telegram enabled": "Telegram ativado",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} está pedindo um cancelamento colaborativo",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Comprador",
|
||||
"Completed in": "Concluído em",
|
||||
"Contract exchange rate": "Taxa de câmbio do contrato",
|
||||
"Coordinator trade revenue": "Receita de negociação do coordenador",
|
||||
"Export trade summary": "Exportar resumo da negociação",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Vendedor",
|
||||
"Sent": "Enviado",
|
||||
"Taker bond": "Título do tomador",
|
||||
"Timestamp": "Carimbo de data/hora",
|
||||
"Trade Summary": "Resumo da Negociação",
|
||||
"Unlocked": "Desbloqueado",
|
||||
"User role": "Função do usuário",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Avalie sua experiência de negociação",
|
||||
"Renew": "Renovar",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "O RoboSats melhora com mais liquidez e usuários. Conte a um amigo bitcoiner sobre o Robosats!",
|
||||
"Sending coins to": "Enviando moedas para",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Comece de novo",
|
||||
"Thank you for using Robosats!": "Obrigado por usar o Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Obrigado! {{shortAlias}} também te ama",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Вы отправляете примерно {{swapSats}} LN Сатоши (комиссия может различаться)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Отключено",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Мейкер",
|
||||
"Onchain payouts enabled": "Onchain выплаты включены",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Тейкер",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "Поставщик инфраструктуры lightning и коммуникации. Хост будет отвечать за предоставление поддержки и решение споров. Торговые комиссии устанавливаются хостом. Убедитесь, что вы выбираете только те хосты, которым доверяете!",
|
||||
"This coordinator does not support on-chain swaps.": "Этот координатор не поддерживает ончейн свопы.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Маршрутизация Lightning не удалась",
|
||||
"New chat message": "Новое сообщение в чате",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Принимаемые способы оплаты",
|
||||
"Amount of Satoshis": "Количество Сатоши",
|
||||
"Deposit": "депозита",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Истекает через",
|
||||
"F2F location": "Локация F2F",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Детали ордера",
|
||||
"Order host": "Хост ордера",
|
||||
"Penalty lifted, good to go!": "Пенальти сняты, поехали!",
|
||||
"Premium over market price": "Наценка над рыночной ценой",
|
||||
"Price and Premium": "Цена и Наценка",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Поменять место назначения",
|
||||
"The order has expired": "Срок действия ордера истёк",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "Закрепленное местоположение является приблизительным. Точное местоположение места встречи необходимо сообщить в зашифрованном чате.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Неактивный ордер",
|
||||
"Invoice for {{amountSats}} Sats": "Инвойс на {{amountSats}} Сатоши",
|
||||
"No active orders": "Нет активных ордеров",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Один активный ордер #{{orderID}}",
|
||||
"Submit": "Отправить",
|
||||
"Telegram enabled": "Telegram включен",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} запрашивает совместную отмену",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Покупатель",
|
||||
"Completed in": "Завершено за",
|
||||
"Contract exchange rate": "Курс обмена контракта",
|
||||
"Coordinator trade revenue": "Доход координатора сделки",
|
||||
"Export trade summary": "Экспортировать сводку торговли",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Продавец",
|
||||
"Sent": "Отправлено",
|
||||
"Taker bond": "Залог тейкера",
|
||||
"Timestamp": "Временная метка",
|
||||
"Trade Summary": "Сводка сделки",
|
||||
"Unlocked": "Разблокировано",
|
||||
"User role": "Роль пользователя",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Оцените ваш торговый опыт",
|
||||
"Renew": "Обновить",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats становится лучше с большей ликвидностью и пользователями. Расскажите другу-биткойнеру о Robosat!",
|
||||
"Sending coins to": "Отправка монет на",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Начать снова",
|
||||
"Thank you for using Robosats!": "Спасибо за использование Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Спасибо! {{shortAlias}} любит вас тоже",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Du skickar cirka {{swapSats}} LN Sats (avgifter kan variera)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Inaktiverad",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Tillverkare",
|
||||
"Onchain payouts enabled": "Onchain-utbetalningar aktiverade",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Tar",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "Leverantören av blixt- och kommunikationsinfrastrukturen. Värden kommer att ansvara för att tillhandahålla support och lösa tvister. Handelsavgifterna fastställs av värden. Se till att bara välja ordervärdar som du litar på!",
|
||||
"This coordinator does not support on-chain swaps.": "Denna koordinator stödjer inte on-chain-byten.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Lightning-routing misslyckades",
|
||||
"New chat message": "Nytt meddelande i chatten",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Accepterade betalningsmetoder",
|
||||
"Amount of Satoshis": "Belopp av Satoshis",
|
||||
"Deposit": "Insättningstimer",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Går ut om",
|
||||
"F2F location": "F2F plats",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Orderdetaljer",
|
||||
"Order host": "Ordervärd",
|
||||
"Penalty lifted, good to go!": "Straffet undanröjt, bra att gå!",
|
||||
"Premium over market price": "Premium över marknadspris",
|
||||
"Price and Premium": "Pris och premium",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Byt destination",
|
||||
"The order has expired": "Ordern har gått ut",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "Den fästa platsen är ungefärlig. Den exakta platsen för mötet måste bytas i den krypterade chatten.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Inaktiv order",
|
||||
"Invoice for {{amountSats}} Sats": "Faktura för {{amountSats}} sats",
|
||||
"No active orders": "Inga aktiva ordrar",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "En aktiv order #{{orderID}}",
|
||||
"Submit": "Skicka",
|
||||
"Telegram enabled": "Telegram aktiverat",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} ber om en kollaborativ avbokning",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Köpare",
|
||||
"Completed in": "Avslutad i",
|
||||
"Contract exchange rate": "Kontraktsväxelkurs",
|
||||
"Coordinator trade revenue": "Koordinators handelsintäkter",
|
||||
"Export trade summary": "Exportera handelsöversikt",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Säljare",
|
||||
"Sent": "Skickad",
|
||||
"Taker bond": "Tagobligation",
|
||||
"Timestamp": "Tidsstämpel",
|
||||
"Trade Summary": "Handelsöversikt",
|
||||
"Unlocked": "Oupplåst",
|
||||
"User role": "Användarroll",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Betygsätt din handelupplevelse",
|
||||
"Renew": "Förnya",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats blir bättre med mer likviditet och fler användare. Berätta om RoboSats för en Bitcoiner-vän!",
|
||||
"Sending coins to": "Skickar mynt till",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Börja om",
|
||||
"Thank you for using Robosats!": "Tack för att du använder RoboSats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Tack! {{shortAlias}} älskar dig också",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "Unatuma takribani {{swapSats}} LN Sats (ada inaweza kutofautiana)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "Imezimwa",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "Muumba",
|
||||
"Onchain payouts enabled": "Malipo ya mtandaoni yamewezeshwa",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "Mpokeaji",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "Mtoa huduma wa miundombinu ya umeme na mawasiliano. Mwenyeji atakuwa na jukumu la kutoa msaada na kutatua mizozo. Ada za biashara zimewekwa na mwenyeji. Hakikisha unachagua tu wenyeji wa agizo ambao unawaamini!",
|
||||
"This coordinator does not support on-chain swaps.": "Mratibu huyu hafiati mabadilishano ya mtandaoni.",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "Njia ya umeme imeshindwa",
|
||||
"New chat message": "Ujumbe mpya wa gumzo",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "Njia za malipo zilizokubaliwa",
|
||||
"Amount of Satoshis": "Kiasi cha Satoshis",
|
||||
"Deposit": "Amana",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "Inamalizika ndani ya",
|
||||
"F2F location": "Eneo la F2F",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "Maelezo ya Agizo",
|
||||
"Order host": "Mwenyeji wa Agizo",
|
||||
"Penalty lifted, good to go!": "Adhabu imeondolewa, unaweza kuendelea!",
|
||||
"Premium over market price": "Faida juu ya bei ya soko",
|
||||
"Price and Premium": "Bei na Faida ya Ziada",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "Marudio ya kubadilisha",
|
||||
"The order has expired": "Agizo limekwisha muda",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "Eneo lililowekwa ni takriban. Eneo sahihi la pahala pa mkutano lazima libadilishwe katika gumzo lililofichwa.",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "Agizo lisilo hai",
|
||||
"Invoice for {{amountSats}} Sats": "Ankara kwa {{amountSats}} Sats",
|
||||
"No active orders": "Hakuna maagizo yanayofanya kazi",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "Agizo moja la kazi #{{orderID}}",
|
||||
"Submit": "Wasilisha",
|
||||
"Telegram enabled": "Telegram imewezeshwa",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} anaomba kughairi kwa ushirikiano",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "Mnunuzi",
|
||||
"Completed in": "Imekamilika ndani ya",
|
||||
"Contract exchange rate": "Kiwango cha kubadilishana kwa mkataba",
|
||||
"Coordinator trade revenue": "Mapato ya biashara ya mratibu",
|
||||
"Export trade summary": "Hamisha muhtasari wa biashara",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "Muuzaji",
|
||||
"Sent": "Imetumwa",
|
||||
"Taker bond": "Dhamana ya Mpokeaji",
|
||||
"Timestamp": "Wakati wa muhuri",
|
||||
"Trade Summary": "Muhtasari wa Biashara",
|
||||
"Unlocked": "Imefunguliwa",
|
||||
"User role": "Nafasi ya mtumiaji",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "Panga uzoefu wako wa biashara",
|
||||
"Renew": "Fanya upya",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats inaboreshwa kwa utoshelevu zaidi na watumiaji. Mwambie rafiki yako wa Bitcoin kuhusu RoboSats!",
|
||||
"Sending coins to": "Inatuma sarafu kwa",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "Anza Tena",
|
||||
"Thank you for using Robosats!": "Asante kwa kutumia Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "Asante! {{shortAlias}} anakupenda pia",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "คุณส่งประมาณ {{swapSats}} LN Sats (ค่าธรรมเนียมอาจแตกต่างกัน)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "ปิดการใช้งาน",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "ผู้สร้าง",
|
||||
"Onchain payouts enabled": "เปิดใช้งานการจ่าย onchain",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "ผู้รับ",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!",
|
||||
"This coordinator does not support on-chain swaps.": "ผู้ประสานงานนี้ไม่รองรับการสลับ on-chain",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "การกำหนดเส้นทางสายฟ้าล้มเหลว",
|
||||
"New chat message": "ข้อความแชทใหม่",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "วิธีชำระเงินที่ยอมรับได้",
|
||||
"Amount of Satoshis": "จำนวน Satoshis",
|
||||
"Deposit": "ผู้ขายต้องวางเหรียญที่จะขายภายใน",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "หมดอายุใน",
|
||||
"F2F location": "ตำแหน่งที่ตั้ง F2F",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "รายละเอียดคำสั่งซื้อ",
|
||||
"Order host": "โฮสต์คำสั่งซื้อ",
|
||||
"Penalty lifted, good to go!": "การลงโทษถูกยกเลิกแล้ว สามารถดำเนินการต่อได้!",
|
||||
"Premium over market price": "ค่าพรีเมียมจากราคาตลาด",
|
||||
"Price and Premium": "ราคาและค่าพรีเมียม",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "ปลายทางการแลกเปลี่ยน",
|
||||
"The order has expired": "คำสั่งซื้อนี้หมดอายุ",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "ตำแหน่งที่ปักหมุดเป็นค่าประมาณ สถานที่นัดพบที่แน่นอนต้องถูกแลกเปลี่ยนในแชทที่เข้ารหัส",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "คำสั่งซื้อที่ไม่ใช้งาน",
|
||||
"Invoice for {{amountSats}} Sats": "ใบแจ้งหนี้สำหรับ {{amountSats}} Sats",
|
||||
"No active orders": "ไม่มีคำสั่งซื้อที่ใช้งานอยู่",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "มี 1 คำสั่งซื้อที่กำลังดำเนินการอยู่ #{{orderID}}",
|
||||
"Submit": "ส่งข้อมูล",
|
||||
"Telegram enabled": "เปิดใช้ Telegram แล้ว",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} ขอให้คุณยกเลิกการซื้อขายร่วมกัน",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "ผู้ซื้อ",
|
||||
"Completed in": "เสร็จสิ้นใน",
|
||||
"Contract exchange rate": "อัตราแลกเปลี่ยนสัญญา",
|
||||
"Coordinator trade revenue": "รายได้จากการค้าประสานงาน",
|
||||
"Export trade summary": "ส่งออกสรุปการซื้อขาย",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "ผู้ขาย",
|
||||
"Sent": "ส่งแล้ว",
|
||||
"Taker bond": "พันธบัตรผู้รับ",
|
||||
"Timestamp": "ประทับเวลา",
|
||||
"Trade Summary": "สรุปการซื้อขาย",
|
||||
"Unlocked": "ปลดล็อกแล้ว",
|
||||
"User role": "บทบาทผู้ใช้",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "ให้คะแนนประสบการณ์การค้าของคุณ",
|
||||
"Renew": "เริ่มใหม่",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats จะดียิ่งขึ้นเมื่อมีสภาพคล่องและผู้ใช้งานเพิ่มขึ้น บอกเพื่อนบิตคอยเนอร์ของคุณเกี่ยวกับ Robosats!",
|
||||
"Sending coins to": "กำลังส่งเหรียญไปยัง",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "เริ่มใหม่อีกครั้ง",
|
||||
"Thank you for using Robosats!": "ขอบคุณที่ใช้ Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "ขอบคุณ! {{shortAlias}} รักคุณเช่นกัน",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "你将发送大约{{swapSats}}闪电聪(费用会造成差异)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "已禁用",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "挂单方",
|
||||
"Onchain payouts enabled": "链上支付已启用",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "吃单方",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "提供闪电和通信基础设施。主机会负责提供支持和解决争议。交易费用由主机设置。请确保仅选择您信任的订单主机!",
|
||||
"This coordinator does not support on-chain swaps.": "此协调员不支持链上交换。",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "闪电路由失败",
|
||||
"New chat message": "新消息",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "接受的支付方式",
|
||||
"Amount of Satoshis": "聪金额",
|
||||
"Deposit": "定金截止时间",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "内到期",
|
||||
"F2F location": "面对面位置",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "订单详情",
|
||||
"Order host": "订单主机",
|
||||
"Penalty lifted, good to go!": "罚款已解除,可以继续!",
|
||||
"Premium over market price": "高于市价的溢价",
|
||||
"Price and Premium": "价格和溢价",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "交换目的地",
|
||||
"The order has expired": "订单已到期",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "固定位置是近似的。会面地点的确切位置必须在加密聊天中交换。",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "不活跃订单",
|
||||
"Invoice for {{amountSats}} Sats": "{{amountSats}}聪的发票",
|
||||
"No active orders": "没有活跃的订单",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "一个活跃的订单#{{orderID}}",
|
||||
"Submit": "提交",
|
||||
"Telegram enabled": "电报已启用",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} 要求合作取消",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "买方",
|
||||
"Completed in": "完成于",
|
||||
"Contract exchange rate": "合约交易率",
|
||||
"Coordinator trade revenue": "协调员交易收入",
|
||||
"Export trade summary": "导出交易总结",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "卖方",
|
||||
"Sent": "已发送",
|
||||
"Taker bond": "吃单方保证金",
|
||||
"Timestamp": "时间戳",
|
||||
"Trade Summary": "交易总结",
|
||||
"Unlocked": "已解锁",
|
||||
"User role": "用户角色",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "评价您的交易体验",
|
||||
"Renew": "延续",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats会随着更多的流动性和更高的用户数量而变得更好。把RoboSats推荐给您的比特币朋友吧!",
|
||||
"Sending coins to": "将比特币发送到",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "重新开始",
|
||||
"Thank you for using Robosats!": "感谢您使用Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "谢谢您!{{shortAlias}}也爱您",
|
||||
|
||||
@ -444,11 +444,13 @@
|
||||
"You send approx {{swapSats}} LN Sats (fees might vary)": "您將發送大約{{swapSats}} 閃電聰(費用可能有所不同)",
|
||||
"#46": "Phrases in components/MakerForm/SelectCoordinator.tsx",
|
||||
"Disabled": "禁用的",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Loading coordinator info...": "Loading coordinator info...",
|
||||
"Maker": "掛單方",
|
||||
"Onchain payouts enabled": "Onchain payouts enabled",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Taker": "吃單方",
|
||||
"The provider the lightning and communication infrastructure. The host will be in charge of providing support and solving disputes. The trade fees are set by the host. Make sure to only select order hosts that you trust!": "提供者提供閃電與通信架構。 主機將負責提供支持和解決爭議。 交易費用由主機設定。 务必遵循信任主機的原則选择订单主机!",
|
||||
"This coordinator does not support on-chain swaps.": "此協調者不支持鏈上交換。",
|
||||
"#47": "Phrases in components/Notifications/index.tsx",
|
||||
"Lightning routing failed": "閃電路由失敗",
|
||||
"New chat message": "新聊天消息",
|
||||
@ -490,16 +492,13 @@
|
||||
"Accepted payment methods": "接受的付款方法",
|
||||
"Amount of Satoshis": "聰的金額",
|
||||
"Deposit": "存款",
|
||||
"Does not support on-chain swaps.": "Does not support on-chain swaps.",
|
||||
"Expires in": "到期於",
|
||||
"F2F location": "見面地點",
|
||||
"Loading cooridnator info...": "Loading cooridnator info...",
|
||||
"Order Details": "訂單詳情",
|
||||
"Order host": "訂單主機",
|
||||
"Penalty lifted, good to go!": "罰單已解除,可以開始!",
|
||||
"Premium over market price": "高於市價的溢價",
|
||||
"Price and Premium": "價格和溢價",
|
||||
"Supports on-chain swaps.": "Supports on-chain swaps.",
|
||||
"Swap destination": "交換目的地",
|
||||
"The order has expired": "訂單已到期",
|
||||
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "釘定的位置是近似的。 聚會地點的確切位置必須在加密聊天中交換。",
|
||||
@ -518,6 +517,7 @@
|
||||
"Inactive order": "不活躍的訂單",
|
||||
"Invoice for {{amountSats}} Sats": "{{amountSats}} 聰的發票",
|
||||
"No active orders": "沒有活躍的訂單",
|
||||
"No orders found": "No orders found",
|
||||
"One active order #{{orderID}}": "一個活躍的訂單 #{{orderID}}",
|
||||
"Submit": "提交",
|
||||
"Telegram enabled": "Telegram 已啟用",
|
||||
@ -545,7 +545,6 @@
|
||||
"{{nickname}} is asking for a collaborative cancel": "{{nickname}} 要求合作取消",
|
||||
"#54": "Phrases in components/TradeBox/TradeSummary.tsx",
|
||||
"Buyer": "買方",
|
||||
"Completed in": "完成內",
|
||||
"Contract exchange rate": "合約交易率",
|
||||
"Coordinator trade revenue": "協調器交易收入",
|
||||
"Export trade summary": "導出交易概要",
|
||||
@ -557,7 +556,6 @@
|
||||
"Seller": "賣方",
|
||||
"Sent": "已發送",
|
||||
"Taker bond": "吃單方保證金",
|
||||
"Timestamp": "時間戳",
|
||||
"Trade Summary": "交易概述",
|
||||
"Unlocked": "已解鎖",
|
||||
"User role": "用戶角色",
|
||||
@ -704,7 +702,7 @@
|
||||
"Rate your trade experience": "評價您的交易體驗",
|
||||
"Renew": "延續",
|
||||
"RoboSats gets better with more liquidity and users. Tell a bitcoiner friend about Robosats!": "RoboSats 會隨著更多的流動性和更高的用戶数量而變得更好。把 RoboSats 推薦給您的比特幣朋友吧!",
|
||||
"Sending coins to": "正在將比特幣發送到",
|
||||
"Sending coins": "Sending coins",
|
||||
"Start Again": "重新開始",
|
||||
"Thank you for using Robosats!": "感謝您使用 Robosats!",
|
||||
"Thank you! {{shortAlias}} loves you too": "謝謝你!{{shortAlias}} 也愛你",
|
||||
|
||||
@ -2,11 +2,12 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="onion-location" content="{{ ONION_LOCATION }}" />
|
||||
<link rel="shortcut icon" href="<%= htmlWebpackPlugin.options.basePath %>static/assets/images/favicon-96x96.png" />
|
||||
<link rel="icon" type="image/png" href="<%= htmlWebpackPlugin.options.basePath %>static/assets/images/favicon-32x32.png" sizes="32x32">
|
||||
<link rel="icon" type="image/png" href="<%= htmlWebpackPlugin.options.basePath %>static/assets/images/favicon-96x96.png" sizes="96x96">
|
||||
<link rel="icon" type="image/png" href="<%= htmlWebpackPlugin.options.basePath %>static/assets/images/favicon-192x192.png" sizes="192x192">
|
||||
|
||||
<% if (!mobile) { %>
|
||||
<link rel="shortcut icon" href="<%= htmlWebpackPlugin.options.basePath %>static/assets/images/favicon-96x96.png" />
|
||||
<link rel="icon" type="image/png" href="<%= htmlWebpackPlugin.options.basePath %>static/assets/images/favicon-32x32.png" sizes="32x32">
|
||||
<link rel="icon" type="image/png" href="<%= htmlWebpackPlugin.options.basePath %>static/assets/images/favicon-96x96.png" sizes="96x96">
|
||||
<link rel="icon" type="image/png" href="<%= htmlWebpackPlugin.options.basePath %>static/assets/images/favicon-192x192.png" sizes="192x192">
|
||||
<% } %>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="description" content="A simple and private way to exchange bitcoin for national currencies. Robosats simplifies the peer-to-peer user experience and uses lightning hold invoices to minimize custody and trust requirements. No user registration required.">
|
||||
|
||||
@ -237,10 +237,6 @@ const configAndroid: Configuration = {
|
||||
from: path.resolve(__dirname, 'static/assets/sounds'),
|
||||
to: path.resolve(__dirname, '../android/app/src/main/assets/static/assets/sounds'),
|
||||
},
|
||||
{
|
||||
from: path.resolve(__dirname, 'static/assets/images/favicon-*'),
|
||||
to: path.resolve(__dirname, '../android/app/src/main/assets'),
|
||||
},
|
||||
{
|
||||
from: path.resolve(__dirname, 'static/federation'),
|
||||
to: path.resolve(__dirname, '../android/app/src/main/assets/static/assets/federation'),
|
||||
|
||||
Reference in New Issue
Block a user