mirror of
https://github.com/RoboSats/robosats.git
synced 2025-09-07 14:44:07 +00:00
Disable Tor option
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
import React, { StrictMode, Suspense } from 'react';
|
import React, { StrictMode, Suspense, useContext } from 'react';
|
||||||
import ReactDOM from 'react-dom/client';
|
import ReactDOM from 'react-dom/client';
|
||||||
import Main from './basic/Main';
|
import Main from './basic/Main';
|
||||||
import { CssBaseline } from '@mui/material';
|
import { CssBaseline } from '@mui/material';
|
||||||
@ -10,11 +10,13 @@ import i18n from './i18n/Web';
|
|||||||
|
|
||||||
import { systemClient } from './services/System';
|
import { systemClient } from './services/System';
|
||||||
import ErrorBoundary from './components/ErrorBoundary';
|
import ErrorBoundary from './components/ErrorBoundary';
|
||||||
import { AppContextProvider } from './contexts/AppContext';
|
import { AppContext, AppContextProvider, UseAppStoreType } from './contexts/AppContext';
|
||||||
import { GarageContextProvider } from './contexts/GarageContext';
|
import { GarageContextProvider } from './contexts/GarageContext';
|
||||||
import { FederationContextProvider } from './contexts/FederationContext';
|
import { FederationContextProvider } from './contexts/FederationContext';
|
||||||
|
|
||||||
const App = (): JSX.Element => {
|
const App = (): JSX.Element => {
|
||||||
|
const { settings } = useContext<UseAppStoreType>(AppContext);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<StrictMode>
|
<StrictMode>
|
||||||
<ErrorBoundary>
|
<ErrorBoundary>
|
||||||
|
@ -44,7 +44,7 @@ const RobotPage = (): JSX.Element => {
|
|||||||
const token = urlToken ?? garage.currentSlot;
|
const token = urlToken ?? garage.currentSlot;
|
||||||
if (token !== undefined && token !== null && page === 'robot') {
|
if (token !== undefined && token !== null && page === 'robot') {
|
||||||
setInputToken(token);
|
setInputToken(token);
|
||||||
if (window.NativeRobosats === undefined || torStatus === 'ON') {
|
if (window.NativeRobosats === undefined || torStatus === 'ON' || !settings.useProxy) {
|
||||||
getGenerateRobot(token);
|
getGenerateRobot(token);
|
||||||
setView('profile');
|
setView('profile');
|
||||||
}
|
}
|
||||||
@ -83,7 +83,7 @@ const RobotPage = (): JSX.Element => {
|
|||||||
garage.deleteSlot();
|
garage.deleteSlot();
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!(window.NativeRobosats === undefined) && !(torStatus === 'ON')) {
|
if (settings.useProxy && !(window.NativeRobosats === undefined) && !(torStatus === 'ON')) {
|
||||||
return (
|
return (
|
||||||
<Paper
|
<Paper
|
||||||
elevation={12}
|
elevation={12}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import useAutocomplete from '@mui/base/useAutocomplete';
|
import { useAutocomplete } from '@mui/base/useAutocomplete';
|
||||||
import { styled } from '@mui/material/styles';
|
import { styled } from '@mui/material/styles';
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
|
@ -90,12 +90,6 @@ const MakerForm = ({
|
|||||||
const minRangeAmountMultiple = 1.6;
|
const minRangeAmountMultiple = 1.6;
|
||||||
const amountSafeThresholds = [1.03, 0.98];
|
const amountSafeThresholds = [1.03, 0.98];
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
// Why?
|
|
||||||
// const slot = garage.getSlot();
|
|
||||||
// if (slot?.token) void federation.fetchRobot(garage, slot?.token);
|
|
||||||
}, [garage.currentSlot]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setCurrencyCode(currencyDict[fav.currency === 0 ? 1 : fav.currency]);
|
setCurrencyCode(currencyDict[fav.currency === 0 ? 1 : fav.currency]);
|
||||||
}, [coordinatorUpdatedAt]);
|
}, [coordinatorUpdatedAt]);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import React, { useContext } from 'react';
|
import React, { useContext, useEffect } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { type UseAppStoreType, AppContext } from '../../contexts/AppContext';
|
import { type UseAppStoreType, AppContext } from '../../contexts/AppContext';
|
||||||
import {
|
import {
|
||||||
@ -28,17 +28,19 @@ import {
|
|||||||
QrCode,
|
QrCode,
|
||||||
} from '@mui/icons-material';
|
} from '@mui/icons-material';
|
||||||
import { systemClient } from '../../services/System';
|
import { systemClient } from '../../services/System';
|
||||||
|
import { TorIcon } from '../Icons';
|
||||||
import SwapCalls from '@mui/icons-material/SwapCalls';
|
import SwapCalls from '@mui/icons-material/SwapCalls';
|
||||||
import { FederationContext, type UseFederationStoreType } from '../../contexts/FederationContext';
|
import { FederationContext, type UseFederationStoreType } from '../../contexts/FederationContext';
|
||||||
|
import { GarageContext, UseGarageStoreType } from '../../contexts/GarageContext';
|
||||||
|
|
||||||
interface SettingsFormProps {
|
interface SettingsFormProps {
|
||||||
dense?: boolean;
|
dense?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const SettingsForm = ({ dense = false }: SettingsFormProps): JSX.Element => {
|
const SettingsForm = ({ dense = false }: SettingsFormProps): JSX.Element => {
|
||||||
const { fav, setFav, origin, hostUrl, settings, setSettings } =
|
const { fav, setFav, settings, setSettings } = useContext<UseAppStoreType>(AppContext);
|
||||||
useContext<UseAppStoreType>(AppContext);
|
|
||||||
const { federation } = useContext<UseFederationStoreType>(FederationContext);
|
const { federation } = useContext<UseFederationStoreType>(FederationContext);
|
||||||
|
const { garage } = useContext<UseGarageStoreType>(GarageContext);
|
||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const fontSizes = [
|
const fontSizes = [
|
||||||
@ -237,6 +239,29 @@ const SettingsForm = ({ dense = false }: SettingsFormProps): JSX.Element => {
|
|||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
</ToggleButtonGroup>
|
</ToggleButtonGroup>
|
||||||
</ListItem>
|
</ListItem>
|
||||||
|
|
||||||
|
{window.NativeRobosats !== undefined && (
|
||||||
|
<ListItem>
|
||||||
|
<ListItemIcon>
|
||||||
|
<TorIcon />
|
||||||
|
</ListItemIcon>
|
||||||
|
<ToggleButtonGroup
|
||||||
|
exclusive={true}
|
||||||
|
value={settings.useProxy}
|
||||||
|
onChange={(_e, useProxy) => {
|
||||||
|
setSettings({ ...settings, useProxy });
|
||||||
|
systemClient.setItem('settings_use_proxy', String(useProxy));
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<ToggleButton value={true} color='primary'>
|
||||||
|
{t('Build-in')}
|
||||||
|
</ToggleButton>
|
||||||
|
<ToggleButton value={false} color='secondary'>
|
||||||
|
{t('Disabled')}
|
||||||
|
</ToggleButton>
|
||||||
|
</ToggleButtonGroup>
|
||||||
|
</ListItem>
|
||||||
|
)}
|
||||||
</List>
|
</List>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
@ -55,10 +55,10 @@ const TorIndicator = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const TorConnectionBadge = (): JSX.Element => {
|
const TorConnectionBadge = (): JSX.Element => {
|
||||||
const { torStatus } = useContext<UseAppStoreType>(AppContext);
|
const { torStatus, settings } = useContext<UseAppStoreType>(AppContext);
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
if (window?.NativeRobosats == null) {
|
if (window?.NativeRobosats == null || !settings.useProxy) {
|
||||||
return <></>;
|
return <></>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,12 +111,14 @@ export const FederationContextProvider = ({
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// On bitcoin network change we reset book, limits and federation info and fetch everything again
|
if (window.NativeRobosats === undefined || torStatus === 'ON' || !settings.useProxy) {
|
||||||
if (window.NativeRobosats === undefined || torStatus === 'ON') {
|
|
||||||
void federation.updateUrl(origin, settings, hostUrl);
|
void federation.updateUrl(origin, settings, hostUrl);
|
||||||
void federation.update();
|
void federation.update();
|
||||||
|
|
||||||
|
const token = garage.getSlot()?.getRobot()?.token;
|
||||||
|
if (token) void federation.fetchRobot(garage, token);
|
||||||
}
|
}
|
||||||
}, [settings.network, torStatus]);
|
}, [settings.network, settings.useProxy, torStatus]);
|
||||||
|
|
||||||
const onOrderReceived = (order: Order): void => {
|
const onOrderReceived = (order: Order): void => {
|
||||||
let newDelay = defaultDelay;
|
let newDelay = defaultDelay;
|
||||||
@ -178,15 +180,6 @@ export const FederationContextProvider = ({
|
|||||||
if (page === 'offers') void federation.updateBook();
|
if (page === 'offers') void federation.updateBook();
|
||||||
}, [page]);
|
}, [page]);
|
||||||
|
|
||||||
// use effects to fetchRobots on app start and network change
|
|
||||||
useEffect(() => {
|
|
||||||
const slot = garage.getSlot();
|
|
||||||
const robot = slot?.getRobot();
|
|
||||||
|
|
||||||
if (robot && garage.currentSlot && slot?.token && robot.encPrivKey && robot.pubKey) {
|
|
||||||
void federation.fetchRobot(garage, slot.token);
|
|
||||||
}
|
|
||||||
}, [settings.network]);
|
|
||||||
// use effects to fetchRobots on Profile open
|
// use effects to fetchRobots on Profile open
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const slot = garage.getSlot();
|
const slot = garage.getSlot();
|
||||||
|
@ -145,7 +145,7 @@ export class Coordinator {
|
|||||||
public loadingInfo: boolean = false;
|
public loadingInfo: boolean = false;
|
||||||
public limits: LimitList = {};
|
public limits: LimitList = {};
|
||||||
public loadingLimits: boolean = false;
|
public loadingLimits: boolean = false;
|
||||||
public loadingRobot: boolean = true;
|
public loadingRobot: string | null;
|
||||||
|
|
||||||
updateUrl = (origin: Origin, settings: Settings, hostUrl: string): void => {
|
updateUrl = (origin: Origin, settings: Settings, hostUrl: string): void => {
|
||||||
if (settings.selfhostedClient && this.shortAlias !== 'local') {
|
if (settings.selfhostedClient && this.shortAlias !== 'local') {
|
||||||
@ -185,6 +185,7 @@ export class Coordinator {
|
|||||||
if (this.loadingBook) return;
|
if (this.loadingBook) return;
|
||||||
|
|
||||||
this.loadingBook = true;
|
this.loadingBook = true;
|
||||||
|
this.book = [];
|
||||||
|
|
||||||
apiClient
|
apiClient
|
||||||
.get(this.url, `${this.basePath}/api/book/`)
|
.get(this.url, `${this.basePath}/api/book/`)
|
||||||
@ -297,7 +298,7 @@ export class Coordinator {
|
|||||||
};
|
};
|
||||||
|
|
||||||
fetchRobot = async (garage: Garage, token: string): Promise<Robot | null> => {
|
fetchRobot = async (garage: Garage, token: string): Promise<Robot | null> => {
|
||||||
if (!this.enabled || !token) return null;
|
if (!this.enabled || !token || this.loadingRobot === token) return null;
|
||||||
|
|
||||||
const robot = garage?.getSlot(token)?.getRobot() ?? null;
|
const robot = garage?.getSlot(token)?.getRobot() ?? null;
|
||||||
const authHeaders = robot?.getAuthHeaders();
|
const authHeaders = robot?.getAuthHeaders();
|
||||||
@ -308,6 +309,8 @@ export class Coordinator {
|
|||||||
|
|
||||||
if (!hasEnoughEntropy) return null;
|
if (!hasEnoughEntropy) return null;
|
||||||
|
|
||||||
|
this.loadingRobot = token;
|
||||||
|
|
||||||
garage.updateRobot(token, this.shortAlias, { loading: true });
|
garage.updateRobot(token, this.shortAlias, { loading: true });
|
||||||
|
|
||||||
const newAttributes = await apiClient
|
const newAttributes = await apiClient
|
||||||
@ -330,7 +333,8 @@ export class Coordinator {
|
|||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
});
|
})
|
||||||
|
.finally(() => (this.loadingRobot = null));
|
||||||
|
|
||||||
garage.updateRobot(token, this.shortAlias, {
|
garage.updateRobot(token, this.shortAlias, {
|
||||||
...newAttributes,
|
...newAttributes,
|
||||||
|
@ -100,7 +100,7 @@ export class Federation {
|
|||||||
this.exchange.loadingCoordinators = Object.keys(this.coordinators).length;
|
this.exchange.loadingCoordinators = Object.keys(this.coordinators).length;
|
||||||
this.updateEnabledCoordinators();
|
this.updateEnabledCoordinators();
|
||||||
for (const coor of Object.values(this.coordinators)) {
|
for (const coor of Object.values(this.coordinators)) {
|
||||||
await coor.update(() => {
|
coor.update(() => {
|
||||||
this.exchange.onlineCoordinators = this.exchange.onlineCoordinators + 1;
|
this.exchange.onlineCoordinators = this.exchange.onlineCoordinators + 1;
|
||||||
this.onCoordinatorSaved();
|
this.onCoordinatorSaved();
|
||||||
});
|
});
|
||||||
@ -109,10 +109,11 @@ export class Federation {
|
|||||||
|
|
||||||
updateBook = async (): Promise<void> => {
|
updateBook = async (): Promise<void> => {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
this.book = [];
|
||||||
this.triggerHook('onCoordinatorUpdate');
|
this.triggerHook('onCoordinatorUpdate');
|
||||||
this.exchange.loadingCoordinators = Object.keys(this.coordinators).length;
|
this.exchange.loadingCoordinators = Object.keys(this.coordinators).length;
|
||||||
for (const coor of Object.values(this.coordinators)) {
|
for (const coor of Object.values(this.coordinators)) {
|
||||||
await coor.updateBook(() => {
|
coor.updateBook(() => {
|
||||||
this.onCoordinatorSaved();
|
this.onCoordinatorSaved();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import i18n from '../i18n/Web';
|
import i18n from '../i18n/Web';
|
||||||
import { systemClient } from '../services/System';
|
import { systemClient } from '../services/System';
|
||||||
|
import { apiClient } from '../services/api';
|
||||||
import { getHost } from '../utils';
|
import { getHost } from '../utils';
|
||||||
|
|
||||||
export type Language =
|
export type Language =
|
||||||
@ -42,8 +43,15 @@ class BaseSettings {
|
|||||||
: i18n.resolvedLanguage.substring(0, 2);
|
: i18n.resolvedLanguage.substring(0, 2);
|
||||||
|
|
||||||
const networkCookie = systemClient.getItem('settings_network');
|
const networkCookie = systemClient.getItem('settings_network');
|
||||||
this.network = networkCookie !== '' ? networkCookie : 'mainnet';
|
|
||||||
|
this.network = networkCookie && networkCookie !== '' ? networkCookie : 'mainnet';
|
||||||
this.host = getHost();
|
this.host = getHost();
|
||||||
|
|
||||||
|
const useProxy = systemClient.getItem('settings_use_proxy');
|
||||||
|
this.useProxy =
|
||||||
|
useProxy === 'true' || (useProxy !== 'false' && window.NativeRobosats !== undefined);
|
||||||
|
|
||||||
|
apiClient.useProxy = this.useProxy;
|
||||||
}
|
}
|
||||||
|
|
||||||
public frontend: 'basic' | 'pro' = 'basic';
|
public frontend: 'basic' | 'pro' = 'basic';
|
||||||
@ -56,6 +64,7 @@ class BaseSettings {
|
|||||||
public host?: string;
|
public host?: string;
|
||||||
public unsafeClient: boolean = false;
|
public unsafeClient: boolean = false;
|
||||||
public selfhostedClient: boolean = false;
|
public selfhostedClient: boolean = false;
|
||||||
|
public useProxy: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default BaseSettings;
|
export default BaseSettings;
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
import { type ApiClient, type Auth } from '..';
|
import { type ApiClient, type Auth } from '..';
|
||||||
import { systemClient } from '../../System';
|
import { systemClient } from '../../System';
|
||||||
|
import ApiWebClient from '../ApiWebClient';
|
||||||
|
|
||||||
class ApiNativeClient implements ApiClient {
|
class ApiNativeClient implements ApiClient {
|
||||||
private assetsCache: Record<string, string> = {};
|
public useProxy = true;
|
||||||
|
|
||||||
|
private webClient: ApiClient = new ApiWebClient();
|
||||||
|
|
||||||
private readonly assetsPromises = new Map<string, Promise<string | undefined>>();
|
private readonly assetsPromises = new Map<string, Promise<string | undefined>>();
|
||||||
|
|
||||||
private readonly getHeaders: (auth?: Auth) => HeadersInit = (auth) => {
|
private readonly getHeaders: (auth?: Auth) => HeadersInit = (auth) => {
|
||||||
@ -51,6 +55,7 @@ class ApiNativeClient implements ApiClient {
|
|||||||
|
|
||||||
public delete: (baseUrl: string, path: string, auth?: Auth) => Promise<object | undefined> =
|
public delete: (baseUrl: string, path: string, auth?: Auth) => Promise<object | undefined> =
|
||||||
async (baseUrl, path, auth) => {
|
async (baseUrl, path, auth) => {
|
||||||
|
if (!this.proxy) this.webClient.delete(baseUrl, path, auth);
|
||||||
return await window.NativeRobosats?.postMessage({
|
return await window.NativeRobosats?.postMessage({
|
||||||
category: 'http',
|
category: 'http',
|
||||||
type: 'delete',
|
type: 'delete',
|
||||||
@ -66,6 +71,7 @@ class ApiNativeClient implements ApiClient {
|
|||||||
body: object,
|
body: object,
|
||||||
auth?: Auth,
|
auth?: Auth,
|
||||||
) => Promise<object | undefined> = async (baseUrl, path, body, auth) => {
|
) => Promise<object | undefined> = async (baseUrl, path, body, auth) => {
|
||||||
|
if (!this.proxy) this.webClient.post(baseUrl, path, body, auth);
|
||||||
return await window.NativeRobosats?.postMessage({
|
return await window.NativeRobosats?.postMessage({
|
||||||
category: 'http',
|
category: 'http',
|
||||||
type: 'post',
|
type: 'post',
|
||||||
@ -81,6 +87,7 @@ class ApiNativeClient implements ApiClient {
|
|||||||
path,
|
path,
|
||||||
auth,
|
auth,
|
||||||
) => {
|
) => {
|
||||||
|
if (!this.proxy) this.webClient.get(baseUrl, path, auth);
|
||||||
return await window.NativeRobosats?.postMessage({
|
return await window.NativeRobosats?.postMessage({
|
||||||
category: 'http',
|
category: 'http',
|
||||||
type: 'get',
|
type: 'get',
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
import { type ApiClient, type Auth } from '..';
|
import { type ApiClient, type Auth } from '..';
|
||||||
|
|
||||||
class ApiWebClient implements ApiClient {
|
class ApiWebClient implements ApiClient {
|
||||||
|
public useProxy = false;
|
||||||
|
|
||||||
private readonly getHeaders: (auth?: Auth) => HeadersInit = (auth) => {
|
private readonly getHeaders: (auth?: Auth) => HeadersInit = (auth) => {
|
||||||
let headers = {
|
let headers = {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
|
@ -7,6 +7,7 @@ export interface Auth {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface ApiClient {
|
export interface ApiClient {
|
||||||
|
useProxy: boolean;
|
||||||
post: (baseUrl: string, path: string, body: object, auth?: Auth) => Promise<object | undefined>;
|
post: (baseUrl: string, path: string, body: object, auth?: Auth) => Promise<object | undefined>;
|
||||||
put: (baseUrl: string, path: string, body: object, auth?: Auth) => Promise<object | undefined>;
|
put: (baseUrl: string, path: string, body: object, auth?: Auth) => Promise<object | undefined>;
|
||||||
get: (baseUrl: string, path: string, auth?: Auth) => Promise<object | undefined>;
|
get: (baseUrl: string, path: string, auth?: Auth) => Promise<object | undefined>;
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "L'ordre ha expirat",
|
"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.": "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.": "The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Encara no pots prendre cap ordre! Espera {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Encara no pots prendre cap ordre! Espera {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "Tu reps via Lightning {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "Reps via {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "Reps via {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "Tu reps via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "Tu envies via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "Tu envies via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "Envies via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "Envies via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prima: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prima: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "La teva última ordre #{{orderID}}",
|
"Your last order #{{orderID}}": "La teva última ordre #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Fosc",
|
"Dark": "Fosc",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Clar",
|
"Light": "Clar",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "Nabídka vypršela",
|
"The order has expired": "Nabídka vypršela",
|
||||||
"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.",
|
"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.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Nabídku nemůžeš zatím příjmout! Počkej {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Nabídku nemůžeš zatím příjmout! Počkej {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Přirážka: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Přirážka: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Tvá poslední nabídka #{{orderID}}",
|
"Your last order #{{orderID}}": "Tvá poslední nabídka #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Dark",
|
"Dark": "Dark",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Light",
|
"Light": "Light",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "Die Order ist abgelaufen",
|
"The order has expired": "Die Order ist abgelaufen",
|
||||||
"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.",
|
"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.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Du kannst noch keine Order annehmen! Warte {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Du kannst noch keine Order annehmen! Warte {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Aufschlag: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Aufschlag: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Deine letzte Order #{{orderID}}",
|
"Your last order #{{orderID}}": "Deine letzte Order #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Dark",
|
"Dark": "Dark",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Light",
|
"Light": "Light",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "The order has expired",
|
"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.",
|
"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.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Your last order #{{orderID}}",
|
"Your last order #{{orderID}}": "Your last order #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Dark",
|
"Dark": "Dark",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Light",
|
"Light": "Light",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "La orden ha expirado",
|
"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.": "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.": "The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "¡No puedes tomar una orden aún! Espera {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "¡No puedes tomar una orden aún! Espera {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prima: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prima: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Tu última orden #{{orderID}}",
|
"Your last order #{{orderID}}": "Tu última orden #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Oscuro",
|
"Dark": "Oscuro",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Claro",
|
"Light": "Claro",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "Eskaera iraungi da",
|
"The order has expired": "Eskaera iraungi da",
|
||||||
"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.",
|
"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.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Oraindik ezin duzu eskaerarik hartu! Itxaron{{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Oraindik ezin duzu eskaerarik hartu! Itxaron{{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prima: %{{premium}}",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prima: %{{premium}}",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Zure azken eskaera #{{orderID}}",
|
"Your last order #{{orderID}}": "Zure azken eskaera #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Dark",
|
"Dark": "Dark",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Light",
|
"Light": "Light",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "L'ordre a expiré",
|
"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.": "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.": "The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Vous ne pouvez pas encore prendre un ordre! Attendez {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Vous ne pouvez pas encore prendre un ordre! Attendez {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "Vous recevez via Lightning {{amount}} Sats (environ)",
|
|
||||||
"You receive via {{method}} {{amount}}": "Vous recevez via {{méthode}} {{montant}}",
|
"You receive via {{method}} {{amount}}": "Vous recevez via {{méthode}} {{montant}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "Vous recevez via Lightning {{amount}} Sats (environ)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "Vous envoyez via Lightning {{amount}} Sats (environ)",
|
"You send via Lightning {{amount}} Sats (Approx)": "Vous envoyez via Lightning {{amount}} Sats (environ)",
|
||||||
"You send via {{method}} {{amount}}": "Vous envoyez via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "Vous envoyez via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prime: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prime: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Votre dernière commande #{{orderID}}",
|
"Your last order #{{orderID}}": "Votre dernière commande #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Sombre",
|
"Dark": "Sombre",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Light",
|
"Light": "Light",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "L'ordine è scaduto",
|
"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 appuntata è approssimativa. La posizione esatta del luogo dell'incontro deve essere indicata nella chat crittografata.",
|
"The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.": "La posizione appuntata è approssimativa. La posizione esatta del luogo dell'incontro deve essere indicata nella chat crittografata.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Non puoi ancora accettare un ordine! Aspetta {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Non puoi ancora accettare un ordine! Aspetta {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "Ricevi {{amount}} Sats via Lightning (approssimativo)",
|
|
||||||
"You receive via {{method}} {{amount}}": "Ricevi {{amount}} via {{method}}",
|
"You receive via {{method}} {{amount}}": "Ricevi {{amount}} via {{method}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "Ricevi {{amount}} Sats via Lightning (approssimativo)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "Invii {{amount}} Sats via Lightning (approssimativo)",
|
"You send via Lightning {{amount}} Sats (Approx)": "Invii {{amount}} Sats via Lightning (approssimativo)",
|
||||||
"You send via {{method}} {{amount}}": "Invii {{amount}} via {{method}}",
|
"You send via {{method}} {{amount}}": "Invii {{amount}} via {{method}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premio: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premio: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Il tuo ultimo ordine #{{orderID}}",
|
"Your last order #{{orderID}}": "Il tuo ultimo ordine #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Scuro",
|
"Dark": "Scuro",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Chiaro",
|
"Light": "Chiaro",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"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.",
|
"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.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "まだ注文を受け取ることはできません!{{timeMin}}分{{timeSec}}秒待ってください",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "まだ注文を受け取ることはできません!{{timeMin}}分{{timeSec}}秒待ってください",
|
||||||
"You receive {{amount}} Sats (Approx)": "ライトニングで{{amount}} Sats(約)を受け取ります",
|
|
||||||
"You receive via {{method}} {{amount}}": "{{method}}で{{amount}}を受け取ります",
|
"You receive via {{method}} {{amount}}": "{{method}}で{{amount}}を受け取ります",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "ライトニングで{{amount}} Sats(約)を受け取ります",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "ライトニングで{{amount}} Sats(約)を送信します",
|
"You send via Lightning {{amount}} Sats (Approx)": "ライトニングで{{amount}} Sats(約)を送信します",
|
||||||
"You send via {{method}} {{amount}}": "{{method}}で{{amount}}を送信します",
|
"You send via {{method}} {{amount}}": "{{method}}で{{amount}}を送信します",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - プレミアム: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - プレミアム: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "前回のオーダー #{{orderID}}",
|
"Your last order #{{orderID}}": "前回のオーダー #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "ダーク",
|
"Dark": "ダーク",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "フィアット",
|
"Fiat": "フィアット",
|
||||||
"Light": "ライト",
|
"Light": "ライト",
|
||||||
"Mainnet": "メインネット",
|
"Mainnet": "メインネット",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "Zamówienie wygasło",
|
"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.": "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.": "The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Nie możesz jeszcze przyjąć zamówienia! Czekać {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Nie możesz jeszcze przyjąć zamówienia! Czekać {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premia: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premia: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Your last order #{{orderID}}",
|
"Your last order #{{orderID}}": "Your last order #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Dark",
|
"Dark": "Dark",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Light",
|
"Light": "Light",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "A ordem expirou",
|
"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.": "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.": "The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Você ainda não pode fazer um pedido! Espere {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Você ainda não pode fazer um pedido! Espere {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prêmio: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Prêmio: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Sua última ordem #{{orderID}}",
|
"Your last order #{{orderID}}": "Sua última ordem #{{orderID}}",
|
||||||
"finished order": "ordem finalizada",
|
"finished order": "ordem finalizada",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Dark",
|
"Dark": "Dark",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Light",
|
"Light": "Light",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"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.": "Закрепленное местоположение является приблизительным. Точное местоположение места встречи необходимо сообщить в зашифрованном чате.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Вы ещё не можете взять ордер! Подождите {{timeMin}}м {{timeSec}}с",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Вы ещё не можете взять ордер! Подождите {{timeMin}}м {{timeSec}}с",
|
||||||
"You receive {{amount}} Sats (Approx)": "Вы получаете через Lightning {{amount}} Сатоши (приблизительно)",
|
|
||||||
"You receive via {{method}} {{amount}}": "Вы получаете через {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "Вы получаете через {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "Вы получаете через Lightning {{amount}} Сатоши (приблизительно)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "Вы отправляете через Lightning {{amount}} Сатоши (приблизительно)",
|
"You send via Lightning {{amount}} Sats (Approx)": "Вы отправляете через Lightning {{amount}} Сатоши (приблизительно)",
|
||||||
"You send via {{method}} {{amount}}": "Вы отправляете через {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "Вы отправляете через {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Наценка: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Наценка: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Ваш последний ордер #{{orderID}}",
|
"Your last order #{{orderID}}": "Ваш последний ордер #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Темный",
|
"Dark": "Темный",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Фиат",
|
"Fiat": "Фиат",
|
||||||
"Light": "Светлый",
|
"Light": "Светлый",
|
||||||
"Mainnet": "Основная сеть",
|
"Mainnet": "Основная сеть",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "Ordern har förfallit",
|
"The order has expired": "Ordern har förfallit",
|
||||||
"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.",
|
"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.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Du kan inte ta en order ännu! Vänta {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Du kan inte ta en order ännu! Vänta {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Din senaste order #{{orderID}}",
|
"Your last order #{{orderID}}": "Din senaste order #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Dark",
|
"Dark": "Dark",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Light",
|
"Light": "Light",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"The order has expired": "Agizo limekwisha muda",
|
"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.": "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.": "The pinned location is approximate. The exact location for the meeting place must be exchanged in the encrypted chat.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Hauwezi kuchukua agizo bado! Subiri {{timeMin}}m {{timeSec}}s",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "Hauwezi kuchukua agizo bado! Subiri {{timeMin}}m {{timeSec}}s",
|
||||||
"You receive {{amount}} Sats (Approx)": "Utapokea kupitia Lightning {{amount}} Sats (Takriban)",
|
|
||||||
"You receive via {{method}} {{amount}}": "Utapokea kupitia {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "Utapokea kupitia {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "Utapokea kupitia Lightning {{amount}} Sats (Takriban)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "Utatuma kupitia Lightning {{amount}} Sats (Takriban)",
|
"You send via Lightning {{amount}} Sats (Approx)": "Utatuma kupitia Lightning {{amount}} Sats (Takriban)",
|
||||||
"You send via {{method}} {{amount}}": "Utatuma kupitia {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "Utatuma kupitia {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "Amri yako ya mwisho #{{orderID}}",
|
"Your last order #{{orderID}}": "Amri yako ya mwisho #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Giza",
|
"Dark": "Giza",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Nuru",
|
"Light": "Nuru",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"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.",
|
"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.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "คุณยังไม่สามารถดำเนินรายการได้! รออีก {{timeMin}} นาที {{timeSec}} วินาที",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "คุณยังไม่สามารถดำเนินรายการได้! รออีก {{timeMin}} นาที {{timeSec}} วินาที",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
"You receive via {{method}} {{amount}}": "You receive via {{method}} {{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
"You send via {{method}} {{amount}}": "You send via {{method}} {{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - ค่าพรีเมี่ยม: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - ค่าพรีเมี่ยม: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "รายการล่าสุดของคุณ #{{orderID}}",
|
"Your last order #{{orderID}}": "รายการล่าสุดของคุณ #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "Dark",
|
"Dark": "Dark",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "Fiat",
|
"Fiat": "Fiat",
|
||||||
"Light": "Light",
|
"Light": "Light",
|
||||||
"Mainnet": "Mainnet",
|
"Mainnet": "Mainnet",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"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.",
|
"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.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "你暂时还不能吃单!请等{{timeMin}}分 {{timeSec}}秒",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "你暂时还不能吃单!请等{{timeMin}}分 {{timeSec}}秒",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "你通过{{method}}接收{{amount}}",
|
"You receive via {{method}} {{amount}}": "你通过{{method}}接收{{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "你通过{{method}}发送{{amount}}",
|
"You send via {{method}} {{amount}}": "你通过{{method}}发送{{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - 溢价: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - 溢价: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "你的上一笔交易 #{{orderID}}",
|
"Your last order #{{orderID}}": "你的上一笔交易 #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "深色",
|
"Dark": "深色",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "法币",
|
"Fiat": "法币",
|
||||||
"Light": "浅色",
|
"Light": "浅色",
|
||||||
"Mainnet": "主网",
|
"Mainnet": "主网",
|
||||||
|
@ -464,8 +464,8 @@
|
|||||||
"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.",
|
"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.",
|
||||||
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "你暫時還不能吃單!請等{{timeMin}}分 {{timeSec}}秒",
|
"You cannot take an order yet! Wait {{timeMin}}m {{timeSec}}s": "你暫時還不能吃單!請等{{timeMin}}分 {{timeSec}}秒",
|
||||||
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
|
||||||
"You receive via {{method}} {{amount}}": "你通過{{method}}接收{{amount}}",
|
"You receive via {{method}} {{amount}}": "你通過{{method}}接收{{amount}}",
|
||||||
|
"You receive {{amount}} Sats (Approx)": "You receive {{amount}} Sats (Approx)",
|
||||||
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
"You send via Lightning {{amount}} Sats (Approx)": "You send via Lightning {{amount}} Sats (Approx)",
|
||||||
"You send via {{method}} {{amount}}": "你通過{{method}}發送{{amount}}",
|
"You send via {{method}} {{amount}}": "你通過{{method}}發送{{amount}}",
|
||||||
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - 溢價: {{premium}}%",
|
"{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%": "{{price}} {{currencyCode}}/BTC - 溢價: {{premium}}%",
|
||||||
@ -489,7 +489,9 @@
|
|||||||
"Your last order #{{orderID}}": "你的上一筆交易 #{{orderID}}",
|
"Your last order #{{orderID}}": "你的上一筆交易 #{{orderID}}",
|
||||||
"finished order": "finished order",
|
"finished order": "finished order",
|
||||||
"#43": "Phrases in components/SettingsForm/index.tsx",
|
"#43": "Phrases in components/SettingsForm/index.tsx",
|
||||||
|
"Build-in": "Build-in",
|
||||||
"Dark": "深色",
|
"Dark": "深色",
|
||||||
|
"Disabled": "Disabled",
|
||||||
"Fiat": "法幣",
|
"Fiat": "法幣",
|
||||||
"Light": "淺色",
|
"Light": "淺色",
|
||||||
"Mainnet": "主網",
|
"Mainnet": "主網",
|
||||||
|
Reference in New Issue
Block a user