diff options
author | Sebastian <sebasjm@gmail.com> | 2023-03-02 13:51:03 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2023-03-02 13:51:03 -0300 |
commit | 2d5fbb22cdf6cde10004cea174fc90e71668746b (patch) | |
tree | 21be3694b459fa59f110d87346160dd048d2a280 | |
parent | f446a5921487c7196904f9aab00fc189ac6a9e3b (diff) |
fix #7714
38 files changed, 288 insertions, 13623 deletions
diff --git a/packages/merchant-backend-ui/src/i18n/strings-prelude b/packages/merchant-backend-ui/babel.config-linaria.json index cca13afad..6192b62fe 100644 --- a/packages/merchant-backend-ui/src/i18n/strings-prelude +++ b/packages/merchant-backend-ui/babel.config-linaria.json @@ -1,6 +1,6 @@ /* This file is part of GNU Taler - (C) 2021 Taler Systems S.A. + (C) 2022 Taler Systems S.A. GNU Taler is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -13,7 +13,15 @@ You should have received a copy of the GNU General Public License along with GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ - -/*eslint quote-props: ["error", "consistent"]*/ -export const strings: {[s: string]: any} = {}; - +/** + * + * @author Sebastian Javier Marchano (sebasjm) + */ +/* + * Linaria need pre-process typscript files into javascript before running. + * We choose to use the default preact-cli config. + * This file should be used from @linaria/rollup plugin only + */ +{ + "plugins": ["./trim-extension.cjs"], +} diff --git a/packages/merchant-backend-ui/build.mjs b/packages/merchant-backend-ui/build.mjs new file mode 100755 index 000000000..21c4068a4 --- /dev/null +++ b/packages/merchant-backend-ui/build.mjs @@ -0,0 +1,151 @@ +#!/usr/bin/env node +/* + This file is part of GNU Taler + (C) 2021-2023 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + */ + +import esbuild from "esbuild"; +import path from "path"; +import fs from "fs"; +import linaria from '@linaria/esbuild' + +// eslint-disable-next-line no-undef +const BASE = process.cwd(); + +const preact = path.join( + BASE, + "node_modules", + "preact", + "compat", + "dist", + "compat.module.js", +); + +const preactCompatPlugin = { + name: "preact-compat", + setup(build) { + build.onResolve({ filter: /^(react-dom|react)$/ }, (args) => { + //console.log("onresolve", JSON.stringify(args, undefined, 2)); + return { + path: preact, + }; + }); + }, +}; + +const pages = ["OfferTip","OfferRefund","DepletedTip","RequestPayment","ShowOrderDetails"] +const entryPoints = pages.map(p => `src/pages/${p}.tsx`); + +let GIT_ROOT = BASE; +while (!fs.existsSync(path.join(GIT_ROOT, ".git")) && GIT_ROOT !== "/") { + GIT_ROOT = path.join(GIT_ROOT, "../"); +} +if (GIT_ROOT === "/") { + // eslint-disable-next-line no-undef + console.log("not found"); + // eslint-disable-next-line no-undef + process.exit(1); +} +const GIT_HASH = GIT_ROOT === "/" ? undefined : git_hash(); + +let _package = JSON.parse(fs.readFileSync(path.join(BASE, "package.json"))); + +function git_hash() { + const rev = fs + .readFileSync(path.join(GIT_ROOT, ".git", "HEAD")) + .toString() + .trim() + .split(/.*[: ]/) + .slice(-1)[0]; + if (rev.indexOf("/") === -1) { + return rev; + } else { + return fs.readFileSync(path.join(GIT_ROOT, ".git", rev)).toString().trim(); + } +} + +function templatePlugin(options) { + return { + name: "template-backend", + setup(build) { + build.onEnd(() => { + for (const page of options.pages) { + const css = fs.readFileSync(path.join(build.initialOptions.outdir, `${page}.css`),"utf8").toString() + const js = fs.readFileSync(path.join(build.initialOptions.outdir, `${page}.js`),"utf8").toString() + const scripts = `<script>${js}</script>` + const style = `<style>${css}</style>` + const render = new Function(`${js}; return page.buildTimeRendering();`)() + const html = ` + <!doctype html> + <html> + <head> + ${render.head} + ${style} + </head> + <script id="built_time_data"> + </script> + <body> + ${render.body} + ${scripts} + <script>page.mount()</script> + </body> + </html>` + fs.writeFileSync(path.join(build.initialOptions.outdir, `${page}.html`), html); + } + }); + }, + }; +} + + + +export const buildConfig = { + entryPoints: [...entryPoints], + bundle: true, + outdir: "dist/pages", + minify: true, + loader: { + ".svg": "file", + ".png": "dataurl", + ".jpeg": "dataurl", + '.ttf': 'file', + '.woff': 'file', + '.woff2': 'file', + '.eot': 'file', + }, + target: ["es6"], + format: "iife", + platform: "browser", + sourcemap: false, + globalName: "page", + jsxFactory: "h", + jsxFragment: "Fragment", + define: { + __VERSION__: `"${_package.version}"`, + __GIT_HASH__: `"${GIT_HASH}"`, + }, + plugins: [ + linaria.default({ + babelOptions: { + babelrc: false, + configFile: './babel.config-linaria.json', + }, + sourceMap: true, + }), + preactCompatPlugin, + templatePlugin({pages}) + ], +}; + +await esbuild.build(buildConfig) diff --git a/packages/merchant-backend-ui/package.json b/packages/merchant-backend-ui/package.json index ddba985aa..810aee7f2 100644 --- a/packages/merchant-backend-ui/package.json +++ b/packages/merchant-backend-ui/package.json @@ -38,36 +38,18 @@ ] }, "dependencies": { - "@gnu-taler/taler-util": "workspace:*", - "axios": "^0.21.1", "date-fns": "^2.21.1", - "history": "4.10.1", - "jed": "^1.1.1", "preact": "10.11.3", - "preact-router": "3.2.1", - "qrcode-generator": "^1.4.4", - "swr": "^0.5.5", - "yup": "^0.32.9" + "qrcode-generator": "^1.4.4" }, "devDependencies": { "@babel/core": "7.18.9", - "@creativebulma/bulma-tooltip": "^1.2.0", "@gnu-taler/pogen": "^0.0.5", "@linaria/babel-preset": "3.0.0-beta.22", "@linaria/core": "3.0.0-beta.22", "@linaria/react": "3.0.0-beta.22", - "@linaria/rollup": "3.0.0-beta.22", "@linaria/shaker": "3.0.0-beta.22", "@linaria/webpack-loader": "3.0.0-beta.22", - "@rollup/plugin-alias": "^3.1.5", - "@rollup/plugin-babel": "^5.3.0", - "@rollup/plugin-commonjs": "^20.0.0", - "@rollup/plugin-html": "^0.2.3", - "@rollup/plugin-image": "^2.1.1", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-replace": "^3.0.0", - "@rollup/plugin-typescript": "11", - "@types/history": "^4.7.8", "@types/mocha": "^8.2.2", "@types/mustache": "^4.1.2", "@typescript-eslint/eslint-plugin": "^4.22.0", @@ -81,11 +63,8 @@ "po2json": "^0.4.5", "preact-render-to-string": "^5.1.19", "rimraf": "^3.0.2", - "rollup": "^2.56.3", - "rollup-plugin-bundle-html": "^0.2.2", - "rollup-plugin-css-only": "^3.1.0", - "script-ext-html-webpack-plugin": "^2.1.5", "sirv-cli": "^1.0.11", + "ts-node": "^10.9.1", "tslib": "2.4.0", "typescript": "4.9.4" } diff --git a/packages/merchant-backend-ui/rollup.config.js b/packages/merchant-backend-ui/rollup.config.js deleted file mode 100644 index 18d72e56b..000000000 --- a/packages/merchant-backend-ui/rollup.config.js +++ /dev/null @@ -1,116 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -// rollup.config.js -import linaria from '@linaria/rollup'; -import nodeResolve from "@rollup/plugin-node-resolve"; -import alias from "@rollup/plugin-alias"; -import image from '@rollup/plugin-image'; -import json from "@rollup/plugin-json"; -import ts from "@rollup/plugin-typescript"; -import replace from "@rollup/plugin-replace"; -import css from 'rollup-plugin-css-only'; -import html from '@rollup/plugin-html'; -import commonjs from "@rollup/plugin-commonjs"; - -const template = async ({ - files, -}) => { - const scripts = (files.js || []).map(({ code }) => `<script>${code}</script>`).join('\n'); - const css = (files.css || []).map(({ source }) => `<style>${source}</style>`).join('\n'); - const ssr = (files.js || []).map(({ code }) => code).join('\n'); - const page = new Function(`${ssr}; return page.buildTimeRendering();`)() - return ` -<!doctype html> -<html> - <head> - ${page.head} - ${css} - </head> - <script id="built_time_data"> - </script> - <body> - ${page.body} - ${scripts} - <script>page.mount()</script> - </body> -</html>`; -}; - -const makePlugins = (name) => [ - alias({ - entries: [ - { find: 'react', replacement: 'preact/compat' }, - { find: 'react-dom', replacement: 'preact/compat' } - ] - }), - - replace({ - "process.env.NODE_ENV": JSON.stringify("production"), - preventAssignment: true, - }), - - commonjs({ - include: [/node_modules/, /dist/], - extensions: [".js"], - ignoreGlobal: true, - sourceMap: true, - }), - - nodeResolve({ - browser: true, - preferBuiltins: true, - }), - - json(), - image(), - - linaria({ - sourceMap: process.env.NODE_ENV !== 'production', - }), - css(), - ts({ - sourceMap: false, - outputToFilesystem: false, - }), - html({ template, fileName: name }), -]; - -function formatHtmlName(name) { - return name - .replace(/^[A-Z]/, letter => `${letter.toLowerCase()}`) //first letter lowercase - .replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`) //snake case - .concat(".en.html"); //extension -} - -const pageDefinition = (name) => ({ - input: `src/pages/${name}.tsx`, - output: { - file: `dist/pages/${name}.js`, - format: "iife", - exports: 'named', - name: 'page', - }, - plugins: makePlugins(formatHtmlName(name)), -}); - -export default [ - pageDefinition("OfferTip"), - pageDefinition("OfferRefund"), - pageDefinition("DepletedTip"), - pageDefinition("RequestPayment"), - pageDefinition("ShowOrderDetails"), -] diff --git a/packages/merchant-backend-ui/src/context/backend.ts b/packages/merchant-backend-ui/src/context/backend.ts deleted file mode 100644 index a920d6ffc..000000000 --- a/packages/merchant-backend-ui/src/context/backend.ts +++ /dev/null @@ -1,82 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { createContext, h, VNode } from 'preact' -import { useCallback, useContext, useState } from 'preact/hooks' -import { useBackendDefaultToken, useBackendURL } from '../hooks'; - -interface BackendContextType { - url: string; - token?: string; - triedToLog: boolean; - resetBackend: () => void; - clearAllTokens: () => void; - addTokenCleaner: (c: () => void) => void; - updateLoginStatus: (url: string, token?: string) => void; -} - -const BackendContext = createContext<BackendContextType>({ - url: '', - token: undefined, - triedToLog: false, - resetBackend: () => null, - clearAllTokens: () => null, - addTokenCleaner: () => null, - updateLoginStatus: () => null, -}) - -function useBackendContextState(defaultUrl?: string): BackendContextType { - const [url, triedToLog, changeBackend, resetBackend] = useBackendURL(defaultUrl); - const [token, _updateToken] = useBackendDefaultToken(); - const updateToken = (t?: string) => { - _updateToken(t) - } - - const tokenCleaner = useCallback(() => { updateToken(undefined) }, []) - const [cleaners, setCleaners] = useState([tokenCleaner]) - const addTokenCleaner = (c: () => void) => setCleaners(cs => [...cs, c]) - const addTokenCleanerMemo = useCallback((c: () => void) => { addTokenCleaner(c) }, [tokenCleaner]) - - const clearAllTokens = () => { - cleaners.forEach(c => c()) - for (let i = 0; i < localStorage.length; i++) { - const k = localStorage.key(i) - if (k && /^backend-token/.test(k)) localStorage.removeItem(k) - } - resetBackend() - } - - const updateLoginStatus = (url: string, token?: string) => { - changeBackend(url); - if (token) updateToken(token); - }; - - - return { url, token, triedToLog, updateLoginStatus, resetBackend, clearAllTokens, addTokenCleaner: addTokenCleanerMemo } -} - -export const BackendContextProvider = ({ children, defaultUrl }: { children: any, defaultUrl?: string }): VNode => { - const value = useBackendContextState(defaultUrl) - - return h(BackendContext.Provider, { value, children }); -} - -export const useBackendContext = (): BackendContextType => useContext(BackendContext); diff --git a/packages/merchant-backend-ui/src/context/config.ts b/packages/merchant-backend-ui/src/context/config.ts deleted file mode 100644 index 5cd772380..000000000 --- a/packages/merchant-backend-ui/src/context/config.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { createContext } from 'preact' -import { useContext } from 'preact/hooks' - -interface Type { - currency: string; - version: string; -} -const Context = createContext<Type>(null!) - -export const ConfigContextProvider = Context.Provider -export const useConfigContext = (): Type => useContext(Context); diff --git a/packages/merchant-backend-ui/src/context/fetch.ts b/packages/merchant-backend-ui/src/context/fetch.ts deleted file mode 100644 index 52a4f9c8d..000000000 --- a/packages/merchant-backend-ui/src/context/fetch.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { h, createContext, VNode, ComponentChildren } from 'preact' -import { useContext } from 'preact/hooks' -import useSWR, { trigger, useSWRInfinite, cache, mutate } from 'swr'; - -interface Type { - useSWR: typeof useSWR, - useSWRInfinite: typeof useSWRInfinite, -} - -const Context = createContext<Type>({} as any) - -export const useFetchContext = (): Type => useContext(Context); -export const FetchContextProvider = ({ children }: { children: ComponentChildren }): VNode => { - return h(Context.Provider, { value: { useSWR, useSWRInfinite }, children }); -} - -export const FetchContextProviderTesting = ({ children, data }: { children: ComponentChildren, data:any }): VNode => { - return h(Context.Provider, { value: { useSWR: () => data, useSWRInfinite }, children }); -} diff --git a/packages/merchant-backend-ui/src/context/instance.ts b/packages/merchant-backend-ui/src/context/instance.ts deleted file mode 100644 index fecf36426..000000000 --- a/packages/merchant-backend-ui/src/context/instance.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { createContext } from 'preact' -import { useContext } from 'preact/hooks' - -interface Type { - id: string; - token?: string; - admin?: boolean; - changeToken: (t?:string) => void; -} - -const Context = createContext<Type>({} as any) - -export const InstanceContextProvider = Context.Provider -export const useInstanceContext = (): Type => useContext(Context); diff --git a/packages/merchant-backend-ui/src/context/listener.ts b/packages/merchant-backend-ui/src/context/listener.ts deleted file mode 100644 index 659db0a03..000000000 --- a/packages/merchant-backend-ui/src/context/listener.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { createContext } from 'preact' -import { useContext } from 'preact/hooks' - -interface Type { - id: string; - token?: string; - admin?: boolean; - changeToken: (t?:string) => void; -} - -const Context = createContext<Type>({} as any) - -export const ListenerContextProvider = Context.Provider -export const useListenerContext = (): Type => useContext(Context); diff --git a/packages/merchant-backend-ui/src/context/translation.ts b/packages/merchant-backend-ui/src/context/translation.ts deleted file mode 100644 index 952a1e325..000000000 --- a/packages/merchant-backend-ui/src/context/translation.ts +++ /dev/null @@ -1,59 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { createContext, h, VNode } from 'preact' -import { useContext, useEffect } from 'preact/hooks' -import { useLang } from '../hooks' -import * as jedLib from "jed"; -import { strings } from "../i18n/strings"; - -interface Type { - lang: string; - handler: any; - changeLanguage: (l: string) => void; -} -const initial = { - lang: 'en', - handler: null, - changeLanguage: () => { - // do not change anything - } -} -const Context = createContext<Type>(initial) - -interface Props { - initial?: string, - children: any, - forceLang?: string -} - -export const TranslationProvider = ({ initial, children, forceLang }: Props): VNode => { - const [lang, changeLanguage] = useLang(initial) - useEffect(() => { - if (forceLang) { - changeLanguage(forceLang) - } - }) - const handler = new jedLib.Jed(strings[lang]); - return h(Context.Provider, { value: { lang, handler, changeLanguage }, children }); -} - -export const useTranslationContext = (): Type => useContext(Context);
\ No newline at end of file diff --git a/packages/merchant-backend-ui/src/hooks/async.ts b/packages/merchant-backend-ui/src/hooks/async.ts deleted file mode 100644 index fd550043b..000000000 --- a/packages/merchant-backend-ui/src/hooks/async.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ -import { useState } from "preact/hooks"; -import { cancelPendingRequest } from "./backend"; - -export interface Options { - slowTolerance: number, -} - -export interface AsyncOperationApi<T> { - request: (...a: any) => void, - cancel: () => void, - data: T | undefined, - isSlow: boolean, - isLoading: boolean, - error: string | undefined -} - -export function useAsync<T>(fn?: (...args: any) => Promise<T>, { slowTolerance: tooLong }: Options = { slowTolerance: 1000 }): AsyncOperationApi<T> { - const [data, setData] = useState<T | undefined>(undefined); - const [isLoading, setLoading] = useState<boolean>(false); - const [error, setError] = useState<any>(undefined); - const [isSlow, setSlow] = useState(false) - - const request = async (...args: any) => { - if (!fn) return; - setLoading(true); - - const handler = setTimeout(() => { - setSlow(true) - }, tooLong) - - try { - const result = await fn(...args); - setData(result); - } catch (error) { - setError(error); - } - setLoading(false); - setSlow(false) - clearTimeout(handler) - }; - - function cancel() { - cancelPendingRequest() - setLoading(false); - setSlow(false) - } - - return { - request, - cancel, - data, - isSlow, - isLoading, - error - }; -} diff --git a/packages/merchant-backend-ui/src/hooks/backend.ts b/packages/merchant-backend-ui/src/hooks/backend.ts deleted file mode 100644 index 044344d5d..000000000 --- a/packages/merchant-backend-ui/src/hooks/backend.ts +++ /dev/null @@ -1,264 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { mutate, cache } from 'swr'; -import axios, { AxiosError, AxiosResponse } from 'axios' -import { MerchantBackend } from '../declaration'; -import { useBackendContext } from '../context/backend'; -import { useEffect, useState } from 'preact/hooks'; -import { DEFAULT_REQUEST_TIMEOUT } from '../utils/constants'; - -export function mutateAll(re: RegExp, value?: unknown): Array<Promise<any>> { - return cache.keys().filter(key => { - return re.test(key) - }).map(key => { - return mutate(key, value) - }) -} - -export type HttpResponse<T> = HttpResponseOk<T> | HttpResponseLoading<T> | HttpError; -export type HttpResponsePaginated<T> = HttpResponseOkPaginated<T> | HttpResponseLoading<T> | HttpError; - -export interface RequestInfo { - url: string; - hasToken: boolean; - params: unknown; - data: unknown; -} - -interface HttpResponseLoading<T> { - ok?: false; - loading: true; - clientError?: false; - serverError?: false; - - data?: T; -} -export interface HttpResponseOk<T> { - ok: true; - loading?: false; - clientError?: false; - serverError?: false; - - data: T; - info?: RequestInfo; -} - -export type HttpResponseOkPaginated<T> = HttpResponseOk<T> & WithPagination - -export interface WithPagination { - loadMore: () => void; - loadMorePrev: () => void; - isReachingEnd?: boolean; - isReachingStart?: boolean; -} - -export type HttpError = HttpResponseClientError | HttpResponseServerError | HttpResponseUnexpectedError; -export interface SwrError { - info: unknown, - status: number, - message: string, -} -export interface HttpResponseServerError { - ok?: false; - loading?: false; - clientError?: false; - serverError: true; - - error?: MerchantBackend.ErrorDetail; - status: number; - message: string; - info?: RequestInfo; -} -interface HttpResponseClientError { - ok?: false; - loading?: false; - clientError: true; - serverError?: false; - - info?: RequestInfo; - isUnauthorized: boolean; - isNotfound: boolean; - status: number; - error?: MerchantBackend.ErrorDetail; - message: string; - -} - -interface HttpResponseUnexpectedError { - ok?: false; - loading?: false; - clientError?: false; - serverError?: false; - - info?: RequestInfo; - status?: number; - error: unknown; - message: string; -} - -type Methods = 'get' | 'post' | 'patch' | 'delete' | 'put'; - -interface RequestOptions { - method?: Methods; - token?: string; - data?: unknown; - params?: unknown; -} - -function buildRequestOk<T>(res: AxiosResponse<T>, url: string, hasToken: boolean): HttpResponseOk<T> { - return { - ok: true, data: res.data, info: { - params: res.config.params, - data: res.config.data, - url, - hasToken, - } - } -} - -// function buildResponse<T>(data?: T, error?: MerchantBackend.ErrorDetail, isValidating?: boolean): HttpResponse<T> { -// if (isValidating) return {loading: true} -// if (error) return buildRequestFailed() -// } - -function buildRequestFailed(ex: AxiosError<MerchantBackend.ErrorDetail>, url: string, hasToken: boolean): HttpResponseClientError | HttpResponseServerError | HttpResponseUnexpectedError { - const status = ex.response?.status - - const info: RequestInfo = { - data: ex.request?.data, - params: ex.request?.params, - url, - hasToken, - }; - - if (status && status >= 400 && status < 500) { - const error: HttpResponseClientError = { - clientError: true, - isNotfound: status === 404, - isUnauthorized: status === 401, - status, - info, - message: ex.response?.data?.hint || ex.message, - error: ex.response?.data - } - return error - } - if (status && status >= 500 && status < 600) { - const error: HttpResponseServerError = { - serverError: true, - status, - info, - message: `${ex.response?.data?.hint} (code ${ex.response?.data?.code})` || ex.message, - error: ex.response?.data - } - return error; - } - - const error: HttpResponseUnexpectedError = { - info, - status, - error: ex, - message: ex.message - } - - return error -} - - -const CancelToken = axios.CancelToken; -let source = CancelToken.source(); - -export function cancelPendingRequest() { - source.cancel('canceled by the user') - source = CancelToken.source() -} - -let removeAxiosCancelToken = false -/** - * Jest mocking seems to break when using the cancelToken property. - * Using this workaround when testing while finding the correct solution - */ -export function setAxiosRequestAsTestingEnvironment() { - removeAxiosCancelToken = true -} - -export async function request<T>(url: string, options: RequestOptions = {}): Promise<HttpResponseOk<T>> { - const headers = options.token ? { Authorization: `Bearer ${options.token}` } : undefined - - try { - const res = await axios({ - url, - responseType: 'json', - headers, - cancelToken: !removeAxiosCancelToken ? source.token : undefined, - method: options.method || 'get', - data: options.data, - params: options.params, - timeout: DEFAULT_REQUEST_TIMEOUT * 1000, - }) - return buildRequestOk<T>(res, url, !!options.token) - } catch (e) { - if (axios.isAxiosError(e)) { - throw buildRequestFailed(e, url, !!options.token) - } - throw e - } - -} - -export function fetcher<T>(url: string, token: string, backend: string): Promise<HttpResponseOk<T>> { - return request<T>(`${backend}${url}`, { token }) -} - -export function useBackendInstancesTestForAdmin(): HttpResponse<MerchantBackend.Instances.InstancesResponse> { - const { url, token } = useBackendContext() - - type Type = MerchantBackend.Instances.InstancesResponse; - - const [result, setResult] = useState<HttpResponse<Type>>({ loading: true }) - - useEffect(() => { - request<Type>(`${url}/management/instances`, { token }) - .then(data => setResult(data)) - .catch(error => setResult(error)) - }, [url, token]) - - - return result -} - - -export function useBackendConfig(): HttpResponse<MerchantBackend.VersionResponse> { - const { url, token } = useBackendContext() - - type Type = MerchantBackend.VersionResponse; - - const [result, setResult] = useState<HttpResponse<Type>>({ loading: true }) - - useEffect(() => { - request<Type>(`${url}/config`, { token }) - .then(data => setResult(data)) - .catch(error => setResult(error)) - }, [url, token]) - - return result -} diff --git a/packages/merchant-backend-ui/src/hooks/index.ts b/packages/merchant-backend-ui/src/hooks/index.ts deleted file mode 100644 index 19d672ad3..000000000 --- a/packages/merchant-backend-ui/src/hooks/index.ts +++ /dev/null @@ -1,110 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { StateUpdater, useCallback, useState } from "preact/hooks"; -import { ValueOrFunction } from '../utils/types'; - - -const calculateRootPath = () => { - const rootPath = typeof window !== undefined ? window.location.origin + window.location.pathname : '/' - return rootPath -} - -export function useBackendURL(url?: string): [string, boolean, StateUpdater<string>, () => void] { - const [value, setter] = useNotNullLocalStorage('backend-url', url || calculateRootPath()) - const [triedToLog, setTriedToLog] = useLocalStorage('tried-login') - - const checkedSetter = (v: ValueOrFunction<string>) => { - setTriedToLog('yes') - return setter(p => (v instanceof Function ? v(p) : v).replace(/\/$/, '')) - } - - const resetBackend = () => { - setTriedToLog(undefined) - } - return [value, !!triedToLog, checkedSetter, resetBackend] -} - -export function useBackendDefaultToken(): [string | undefined, StateUpdater<string | undefined>] { - return useLocalStorage('backend-token') -} - -export function useBackendInstanceToken(id: string): [string | undefined, StateUpdater<string | undefined>] { - const [token, setToken] = useLocalStorage(`backend-token-${id}`) - const [defaultToken, defaultSetToken] = useBackendDefaultToken() - - // instance named 'default' use the default token - if (id === 'default') { - return [defaultToken, defaultSetToken] - } - - return [token, setToken] -} - -export function useLang(initial?: string): [string, StateUpdater<string>] { - const browserLang = typeof window !== "undefined" ? navigator.language || (navigator as any).userLanguage : undefined; - const defaultLang = (browserLang || initial || 'en').substring(0, 2) - return useNotNullLocalStorage('lang-preference', defaultLang) -} - -export function useLocalStorage(key: string, initialValue?: string): [string | undefined, StateUpdater<string | undefined>] { - const [storedValue, setStoredValue] = useState<string | undefined>((): string | undefined => { - return typeof window !== "undefined" ? window.localStorage.getItem(key) || initialValue : initialValue; - }); - - const setValue = (value?: string | ((val?: string) => string | undefined)) => { - setStoredValue(p => { - const toStore = value instanceof Function ? value(p) : value - if (typeof window !== "undefined") { - if (!toStore) { - window.localStorage.removeItem(key) - } else { - window.localStorage.setItem(key, toStore); - } - } - return toStore - }) - }; - - return [storedValue, setValue]; -} - -export function useNotNullLocalStorage(key: string, initialValue: string): [string, StateUpdater<string>] { - const [storedValue, setStoredValue] = useState<string>((): string => { - return typeof window !== "undefined" ? window.localStorage.getItem(key) || initialValue : initialValue; - }); - - const setValue = (value: string | ((val: string) => string)) => { - const valueToStore = value instanceof Function ? value(storedValue) : value; - setStoredValue(valueToStore); - if (typeof window !== "undefined") { - if (!valueToStore) { - window.localStorage.removeItem(key) - } else { - window.localStorage.setItem(key, valueToStore); - } - } - }; - - return [storedValue, setValue]; -} - - diff --git a/packages/merchant-backend-ui/src/hooks/instance.ts b/packages/merchant-backend-ui/src/hooks/instance.ts deleted file mode 100644 index 14ab8de9c..000000000 --- a/packages/merchant-backend-ui/src/hooks/instance.ts +++ /dev/null @@ -1,187 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ -import { MerchantBackend } from '../declaration'; -import { useBackendContext } from '../context/backend'; -import { fetcher, HttpError, HttpResponse, HttpResponseOk, request, SwrError } from './backend'; -import useSWR, { mutate } from 'swr'; -import { useInstanceContext } from '../context/instance'; - - -interface InstanceAPI { - updateInstance: (data: MerchantBackend.Instances.InstanceReconfigurationMessage) => Promise<void>; - deleteInstance: () => Promise<void>; - clearToken: () => Promise<void>; - setNewToken: (token: string) => Promise<void>; -} - -export function useManagementAPI(instanceId: string) : InstanceAPI { - const { url, token } = useBackendContext() - - const updateInstance = async (instance: MerchantBackend.Instances.InstanceReconfigurationMessage): Promise<void> => { - await request(`${url}/management/instances/${instanceId}`, { - method: 'patch', - token, - data: instance - }) - - mutate([`/private/`, token, url], null) - }; - - const deleteInstance = async (): Promise<void> => { - await request(`${url}/management/instances/${instanceId}`, { - method: 'delete', - token, - }) - - mutate([`/private/`, token, url], null) - } - - const clearToken = async (): Promise<void> => { - await request(`${url}/management/instances/${instanceId}/auth`, { - method: 'post', - token, - data: { method: 'external' } - }) - - mutate([`/private/`, token, url], null) - } - - const setNewToken = async (newToken: string): Promise<void> => { - await request(`${url}/management/instances/${instanceId}/auth`, { - method: 'post', - token, - data: { method: 'token', token: newToken } - }) - - mutate([`/private/`, token, url], null) - } - - return { updateInstance, deleteInstance, setNewToken, clearToken } -} - -export function useInstanceAPI(): InstanceAPI { - const { url: baseUrl, token: adminToken } = useBackendContext() - const { token: instanceToken, id, admin } = useInstanceContext() - - const { url, token } = !admin ? { - url: baseUrl, token: adminToken - } : { - url: `${baseUrl}/instances/${id}`, token: instanceToken - }; - - const updateInstance = async (instance: MerchantBackend.Instances.InstanceReconfigurationMessage): Promise<void> => { - await request(`${url}/private/`, { - method: 'patch', - token, - data: instance - }) - - if (adminToken) mutate(['/private/instances', adminToken, baseUrl], null) - mutate([`/private/`, token, url], null) - }; - - const deleteInstance = async (): Promise<void> => { - await request(`${url}/private/`, { - method: 'delete', - token: adminToken, - }) - - if (adminToken) mutate(['/private/instances', adminToken, baseUrl], null) - mutate([`/private/`, token, url], null) - } - - const clearToken = async (): Promise<void> => { - await request(`${url}/private/auth`, { - method: 'post', - token, - data: { method: 'external' } - }) - - mutate([`/private/`, token, url], null) - } - - const setNewToken = async (newToken: string): Promise<void> => { - await request(`${url}/private/auth`, { - method: 'post', - token, - data: { method: 'token', token: newToken } - }) - - mutate([`/private/`, token, url], null) - } - - return { updateInstance, deleteInstance, setNewToken, clearToken } -} - - -export function useInstanceDetails(): HttpResponse<MerchantBackend.Instances.QueryInstancesResponse> { - const { url: baseUrl, token: baseToken } = useBackendContext(); - const { token: instanceToken, id, admin } = useInstanceContext(); - - const { url, token } = !admin ? { - url: baseUrl, token: baseToken - } : { - url: `${baseUrl}/instances/${id}`, token: instanceToken - } - - const { data, error, isValidating } = useSWR<HttpResponseOk<MerchantBackend.Instances.QueryInstancesResponse>, HttpError>([`/private/`, token, url], fetcher, { - refreshInterval:0, - refreshWhenHidden: false, - revalidateOnFocus: false, - revalidateOnReconnect: false, - refreshWhenOffline: false, - errorRetryCount: 0, - errorRetryInterval: 1, - shouldRetryOnError: false, - }) - - if (isValidating) return {loading:true, data: data?.data} - if (data) return data - if (error) return error - return {loading: true} -} - -export function useManagedInstanceDetails(instanceId: string): HttpResponse<MerchantBackend.Instances.QueryInstancesResponse> { - const { url, token } = useBackendContext(); - - const { data, error, isValidating } = useSWR<HttpResponseOk<MerchantBackend.Instances.QueryInstancesResponse>, HttpError>([`/management/instances/${instanceId}`, token, url], fetcher, { - refreshInterval:0, - refreshWhenHidden: false, - revalidateOnFocus: false, - revalidateOnReconnect: false, - refreshWhenOffline: false, - errorRetryCount: 0, - errorRetryInterval: 1, - shouldRetryOnError: false, - }) - - if (isValidating) return {loading:true, data: data?.data} - if (data) return data - if (error) return error - return {loading: true} -} - -export function useBackendInstances(): HttpResponse<MerchantBackend.Instances.InstancesResponse> { - const { url } = useBackendContext() - const { token } = useInstanceContext(); - - const { data, error, isValidating } = useSWR<HttpResponseOk<MerchantBackend.Instances.InstancesResponse>, HttpError>(['/management/instances', token, url], fetcher) - - if (isValidating) return {loading:true, data: data?.data} - if (data) return data - if (error) return error - return {loading: true} -} diff --git a/packages/merchant-backend-ui/src/hooks/listener.ts b/packages/merchant-backend-ui/src/hooks/listener.ts deleted file mode 100644 index 231ed6c87..000000000 --- a/packages/merchant-backend-ui/src/hooks/listener.ts +++ /dev/null @@ -1,68 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { useState } from "preact/hooks"; - -/** - * returns subscriber and activator - * subscriber will receive a method (listener) that will be call when the activator runs. - * the result of calling the listener will be sent to @action - * - * @param action from <T> to <R> - * @returns activator and subscriber, undefined activator means that there is not subscriber - */ - -export function useListener<T, R = any>(action: (r: T) => Promise<R>): [undefined | (() => Promise<R>), (listener?: () => T) => void] { - type RunnerHandler = { toBeRan?: () => Promise<R>; }; - const [state, setState] = useState<RunnerHandler>({}); - - /** - * subscriber will receive a method that will be call when the activator runs - * - * @param listener function to be run when the activator runs - */ - const subscriber = (listener?: () => T) => { - if (listener) { - setState({ - toBeRan: () => { - const whatWeGetFromTheListener = listener(); - return action(whatWeGetFromTheListener); - } - }); - } else { - setState({ - toBeRan: undefined - }) - } - }; - - /** - * activator will call runner if there is someone subscribed - */ - const activator = state.toBeRan ? async () => { - if (state.toBeRan) { - return state.toBeRan(); - } - return Promise.reject(); - } : undefined; - - return [activator, subscriber]; -} diff --git a/packages/merchant-backend-ui/src/hooks/notification.ts b/packages/merchant-backend-ui/src/hooks/notification.ts deleted file mode 100644 index d1dfbff2c..000000000 --- a/packages/merchant-backend-ui/src/hooks/notification.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { useCallback, useState } from "preact/hooks"; -import { Notification } from '../utils/types'; - -interface Result { - notification?: Notification; - pushNotification: (n: Notification) => void; - removeNotification: () => void; -} - -export function useNotification(): Result { - const [notification, setNotifications] = useState<Notification|undefined>(undefined) - - const pushNotification = useCallback((n: Notification): void => { - setNotifications(n) - },[]) - - const removeNotification = useCallback(() => { - setNotifications(undefined) - },[]) - - return { notification, pushNotification, removeNotification } -} diff --git a/packages/merchant-backend-ui/src/hooks/notifications.ts b/packages/merchant-backend-ui/src/hooks/notifications.ts deleted file mode 100644 index 1c0c37308..000000000 --- a/packages/merchant-backend-ui/src/hooks/notifications.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { useState } from "preact/hooks"; -import { Notification } from '../utils/types'; - -interface Result { - notifications: Notification[]; - pushNotification: (n: Notification) => void; - removeNotification: (n: Notification) => void; -} - -type NotificationWithDate = Notification & { since: Date } - -export function useNotifications(initial: Notification[] = [], timeout = 3000): Result { - const [notifications, setNotifications] = useState<(NotificationWithDate)[]>(initial.map(i => ({...i, since: new Date() }))) - - const pushNotification = (n: Notification): void => { - const entry = { ...n, since: new Date() } - setNotifications(ns => [...ns, entry]) - if (n.type !== 'ERROR') setTimeout(() => { - setNotifications(ns => ns.filter(x => x.since !== entry.since)) - }, timeout) - } - - const removeNotification = (notif: Notification) => { - setNotifications((ns: NotificationWithDate[]) => ns.filter(n => n !== notif)) - } - return { notifications, pushNotification, removeNotification } -} diff --git a/packages/merchant-backend-ui/src/hooks/order.ts b/packages/merchant-backend-ui/src/hooks/order.ts deleted file mode 100644 index 4a17eac30..000000000 --- a/packages/merchant-backend-ui/src/hooks/order.ts +++ /dev/null @@ -1,217 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ -import { useEffect, useState } from 'preact/hooks'; -import useSWR from 'swr'; -import { useBackendContext } from '../context/backend'; -import { useInstanceContext } from '../context/instance'; -import { MerchantBackend } from '../declaration'; -import { MAX_RESULT_SIZE, PAGE_SIZE } from '../utils/constants'; -import { fetcher, HttpError, HttpResponse, HttpResponseOk, HttpResponsePaginated, mutateAll, request } from './backend'; - -export interface OrderAPI { - //FIXME: add OutOfStockResponse on 410 - createOrder: (data: MerchantBackend.Orders.PostOrderRequest) => Promise<HttpResponseOk<MerchantBackend.Orders.PostOrderResponse>>; - forgetOrder: (id: string, data: MerchantBackend.Orders.ForgetRequest) => Promise<HttpResponseOk<void>>; - refundOrder: (id: string, data: MerchantBackend.Orders.RefundRequest) => Promise<HttpResponseOk<MerchantBackend.Orders.MerchantRefundResponse>>; - deleteOrder: (id: string) => Promise<HttpResponseOk<void>>; - getPaymentURL: (id: string) => Promise<HttpResponseOk<string>>; -} - -type YesOrNo = 'yes' | 'no'; - - -export function orderFetcher<T>(url: string, token: string, backend: string, paid?: YesOrNo, refunded?: YesOrNo, wired?: YesOrNo, searchDate?: Date, delta?: number): Promise<HttpResponseOk<T>> { - const date_ms = delta && delta < 0 && searchDate ? searchDate.getTime() + 1 : searchDate?.getTime() - const params: any = {} - if (paid !== undefined) params.paid = paid - if (delta !== undefined) params.delta = delta - if (refunded !== undefined) params.refunded = refunded - if (wired !== undefined) params.wired = wired - if (date_ms !== undefined) params.date_ms = date_ms - return request<T>(`${backend}${url}`, { token, params }) -} - - -export function useOrderAPI(): OrderAPI { - const { url: baseUrl, token: adminToken } = useBackendContext() - const { token: instanceToken, id, admin } = useInstanceContext() - - const { url, token } = !admin ? { - url: baseUrl, token: adminToken - } : { - url: `${baseUrl}/instances/${id}`, token: instanceToken - } - - const createOrder = async (data: MerchantBackend.Orders.PostOrderRequest): Promise<HttpResponseOk<MerchantBackend.Orders.PostOrderResponse>> => { - const res = await request<MerchantBackend.Orders.PostOrderResponse>(`${url}/private/orders`, { - method: 'post', - token, - data - }) - await mutateAll(/@"\/private\/orders"@/) - return res - } - const refundOrder = async (orderId: string, data: MerchantBackend.Orders.RefundRequest): Promise<HttpResponseOk<MerchantBackend.Orders.MerchantRefundResponse>> => { - mutateAll(/@"\/private\/orders"@/) - return request<MerchantBackend.Orders.MerchantRefundResponse>(`${url}/private/orders/${orderId}/refund`, { - method: 'post', - token, - data - }) - - // return res - } - - const forgetOrder = async (orderId: string, data: MerchantBackend.Orders.ForgetRequest): Promise<HttpResponseOk<void>> => { - mutateAll(/@"\/private\/orders"@/) - return request(`${url}/private/orders/${orderId}/forget`, { - method: 'patch', - token, - data - }) - - } - const deleteOrder = async (orderId: string): Promise<HttpResponseOk<void>> => { - mutateAll(/@"\/private\/orders"@/) - return request(`${url}/private/orders/${orderId}`, { - method: 'delete', - token - }) - } - - const getPaymentURL = async (orderId: string): Promise<HttpResponseOk<string>> => { - return request<MerchantBackend.Orders.MerchantOrderStatusResponse>(`${url}/private/orders/${orderId}`, { - method: 'get', - token - }).then((res) => { - const url = res.data.order_status === "unpaid" ? res.data.taler_pay_uri : res.data.contract_terms.fulfillment_url - const response: HttpResponseOk<string> = res as any - response.data = url || '' - return response - }) - } - - return { createOrder, forgetOrder, deleteOrder, refundOrder, getPaymentURL } -} - -export function useOrderDetails(oderId: string): HttpResponse<MerchantBackend.Orders.MerchantOrderStatusResponse> { - const { url: baseUrl, token: baseToken } = useBackendContext(); - const { token: instanceToken, id, admin } = useInstanceContext(); - - const { url, token } = !admin ? { - url: baseUrl, token: baseToken - } : { - url: `${baseUrl}/instances/${id}`, token: instanceToken - }; - - const { data, error, isValidating } = useSWR<HttpResponseOk<MerchantBackend.Orders.MerchantOrderStatusResponse>, HttpError>([`/private/orders/${oderId}`, token, url], fetcher, { - refreshInterval: 0, - refreshWhenHidden: false, - revalidateOnFocus: false, - revalidateOnReconnect: false, - refreshWhenOffline: false, - }) - - if (isValidating) return { loading: true, data: data?.data } - if (data) return data - if (error) return error - return { loading: true } -} - -export interface InstanceOrderFilter { - paid?: YesOrNo; - refunded?: YesOrNo; - wired?: YesOrNo; - date?: Date; -} - -export function useInstanceOrders(args?: InstanceOrderFilter, updateFilter?: (d: Date) => void): HttpResponsePaginated<MerchantBackend.Orders.OrderHistory> { - const { url: baseUrl, token: baseToken } = useBackendContext(); - const { token: instanceToken, id, admin } = useInstanceContext(); - - const { url, token } = !admin ? { - url: baseUrl, token: baseToken - } : { - url: `${baseUrl}/instances/${id}`, token: instanceToken - } - - const [pageBefore, setPageBefore] = useState(1) - const [pageAfter, setPageAfter] = useState(1) - - const totalAfter = pageAfter * PAGE_SIZE; - const totalBefore = args?.date ? pageBefore * PAGE_SIZE : 0; - - /** - * FIXME: this can be cleaned up a little - * - * the logic of double query should be inside the orderFetch so from the hook perspective and cache - * is just one query and one error status - */ - const { data: beforeData, error: beforeError, isValidating: loadingBefore } = useSWR<HttpResponseOk<MerchantBackend.Orders.OrderHistory>, HttpError>( - [`/private/orders`, token, url, args?.paid, args?.refunded, args?.wired, args?.date, totalBefore], - orderFetcher, - ) - const { data: afterData, error: afterError, isValidating: loadingAfter } = useSWR<HttpResponseOk<MerchantBackend.Orders.OrderHistory>, HttpError>( - [`/private/orders`, token, url, args?.paid, args?.refunded, args?.wired, args?.date, -totalAfter], - orderFetcher, - ) - - //this will save last result - const [lastBefore, setLastBefore] = useState<HttpResponse<MerchantBackend.Orders.OrderHistory>>({ loading: true }) - const [lastAfter, setLastAfter] = useState<HttpResponse<MerchantBackend.Orders.OrderHistory>>({ loading: true }) - useEffect(() => { - if (afterData) setLastAfter(afterData) - if (beforeData) setLastBefore(beforeData) - }, [afterData, beforeData]) - - // this has problems when there are some ids missing - - if (beforeError) return beforeError - if (afterError) return afterError - - - const pagination = { - isReachingEnd: afterData && afterData.data.orders.length < totalAfter, - isReachingStart: (!args?.date) || (beforeData && beforeData.data.orders.length < totalBefore), - loadMore: () => { - if (!afterData) return - if (afterData.data.orders.length < MAX_RESULT_SIZE) { - setPageAfter(pageAfter + 1) - } else { - const from = afterData.data.orders[afterData.data.orders.length - 1].timestamp.t_s - if (from && updateFilter) updateFilter(new Date(from)) - } - }, - loadMorePrev: () => { - if (!beforeData) return - if (beforeData.data.orders.length < MAX_RESULT_SIZE) { - setPageBefore(pageBefore + 1) - } else if (beforeData) { - const from = beforeData.data.orders[beforeData.data.orders.length - 1].timestamp.t_s - if (from && updateFilter) updateFilter(new Date(from)) - } - }, - } - - const orders = !beforeData || !afterData ? [] : (beforeData || lastBefore).data.orders.slice().reverse().concat((afterData || lastAfter).data.orders) - if (loadingAfter || loadingBefore) return { loading: true, data: { orders } } - if (beforeData && afterData) { - return { ok: true, data: { orders }, ...pagination } - } - return { loading: true } - -} - diff --git a/packages/merchant-backend-ui/src/hooks/product.ts b/packages/merchant-backend-ui/src/hooks/product.ts deleted file mode 100644 index 4fc8bccb7..000000000 --- a/packages/merchant-backend-ui/src/hooks/product.ts +++ /dev/null @@ -1,223 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ -import { useEffect } from "preact/hooks"; -import useSWR, { trigger, useSWRInfinite, cache, mutate } from "swr"; -import { useBackendContext } from "../context/backend"; -// import { useFetchContext } from '../context/fetch'; -import { useInstanceContext } from "../context/instance"; -import { MerchantBackend, WithId } from "../declaration"; -import { - fetcher, - HttpError, - HttpResponse, - HttpResponseOk, - mutateAll, - request, -} from "./backend"; - -export interface ProductAPI { - createProduct: ( - data: MerchantBackend.Products.ProductAddDetail - ) => Promise<void>; - updateProduct: ( - id: string, - data: MerchantBackend.Products.ProductPatchDetail - ) => Promise<void>; - deleteProduct: (id: string) => Promise<void>; - lockProduct: ( - id: string, - data: MerchantBackend.Products.LockRequest - ) => Promise<void>; -} - -export function useProductAPI(): ProductAPI { - const { url: baseUrl, token: adminToken } = useBackendContext(); - const { token: instanceToken, id, admin } = useInstanceContext(); - - const { url, token } = !admin - ? { - url: baseUrl, - token: adminToken, - } - : { - url: `${baseUrl}/instances/${id}`, - token: instanceToken, - }; - - const createProduct = async ( - data: MerchantBackend.Products.ProductAddDetail - ): Promise<void> => { - await request(`${url}/private/products`, { - method: "post", - token, - data, - }); - - await mutateAll(/@"\/private\/products"@/, null); - }; - - const updateProduct = async ( - productId: string, - data: MerchantBackend.Products.ProductPatchDetail - ): Promise<void> => { - const r = await request(`${url}/private/products/${productId}`, { - method: "patch", - token, - data, - }); - - await mutateAll(/@"\/private\/products\/.*"@/); - return Promise.resolve(); - }; - - const deleteProduct = async (productId: string): Promise<void> => { - await request(`${url}/private/products/${productId}`, { - method: "delete", - token, - }); - - await mutateAll(/@"\/private\/products"@/); - }; - - const lockProduct = async ( - productId: string, - data: MerchantBackend.Products.LockRequest - ): Promise<void> => { - await request(`${url}/private/products/${productId}/lock`, { - method: "post", - token, - data, - }); - - await mutateAll(/@"\/private\/products"@/); - }; - - return { createProduct, updateProduct, deleteProduct, lockProduct }; -} - -export function useInstanceProducts(): HttpResponse< - (MerchantBackend.Products.ProductDetail & WithId)[] -> { - const { url: baseUrl, token: baseToken } = useBackendContext(); - const { token: instanceToken, id, admin } = useInstanceContext(); - // const { useSWR, useSWRInfinite } = useFetchContext(); - - const { url, token } = !admin - ? { - url: baseUrl, - token: baseToken, - } - : { - url: `${baseUrl}/instances/${id}`, - token: instanceToken, - }; - - const { - data: list, - error: listError, - isValidating: listLoading, - } = useSWR< - HttpResponseOk<MerchantBackend.Products.InventorySummaryResponse>, - HttpError - >([`/private/products`, token, url], fetcher, { - refreshInterval: 0, - refreshWhenHidden: false, - revalidateOnFocus: false, - revalidateOnReconnect: false, - refreshWhenOffline: false, - }); - - const { - data: products, - error: productError, - setSize, - size, - } = useSWRInfinite< - HttpResponseOk<MerchantBackend.Products.ProductDetail>, - HttpError - >( - (pageIndex: number) => { - if (!list?.data || !list.data.products.length || listError || listLoading) - return null; - return [ - `/private/products/${list.data.products[pageIndex].product_id}`, - token, - url, - ]; - }, - fetcher, - { - revalidateAll: true, - } - ); - - useEffect(() => { - if (list?.data && list.data.products.length > 0) { - setSize(list.data.products.length); - } - }, [list?.data.products.length, listLoading]); - - if (listLoading) return { loading: true, data: [] }; - if (listError) return listError; - if (productError) return productError; - if (list?.data && list.data.products.length === 0) { - return { ok: true, data: [] }; - } - if (products) { - const dataWithId = products.map((d) => { - //take the id from the queried url - return { - ...d.data, - id: d.info?.url.replace(/.*\/private\/products\//, "") || "", - }; - }); - return { ok: true, data: dataWithId }; - } - return { loading: true }; -} - -export function useProductDetails( - productId: string -): HttpResponse<MerchantBackend.Products.ProductDetail> { - const { url: baseUrl, token: baseToken } = useBackendContext(); - const { token: instanceToken, id, admin } = useInstanceContext(); - - const { url, token } = !admin - ? { - url: baseUrl, - token: baseToken, - } - : { - url: `${baseUrl}/instances/${id}`, - token: instanceToken, - }; - - const { data, error, isValidating } = useSWR< - HttpResponseOk<MerchantBackend.Products.ProductDetail>, - HttpError - >([`/private/products/${productId}`, token, url], fetcher, { - refreshInterval: 0, - refreshWhenHidden: false, - revalidateOnFocus: false, - revalidateOnReconnect: false, - refreshWhenOffline: false, - }); - - if (isValidating) return { loading: true, data: data?.data }; - if (data) return data; - if (error) return error; - return { loading: true }; -} diff --git a/packages/merchant-backend-ui/src/hooks/tips.ts b/packages/merchant-backend-ui/src/hooks/tips.ts deleted file mode 100644 index 345e1faa5..000000000 --- a/packages/merchant-backend-ui/src/hooks/tips.ts +++ /dev/null @@ -1,159 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ -import useSWR from 'swr'; -import { useBackendContext } from '../context/backend'; -import { useInstanceContext } from '../context/instance'; -import { MerchantBackend } from '../declaration'; -import { fetcher, HttpError, HttpResponse, HttpResponseOk, mutateAll, request } from './backend'; - - -export function useReservesAPI(): ReserveMutateAPI { - const { url: baseUrl, token: adminToken } = useBackendContext(); - const { token: instanceToken, id, admin } = useInstanceContext(); - - const { url, token } = !admin ? { - url: baseUrl, token: adminToken - } : { - url: `${baseUrl}/instances/${id}`, token: instanceToken - }; - - const createReserve = async (data: MerchantBackend.Tips.ReserveCreateRequest): Promise<HttpResponseOk<MerchantBackend.Tips.ReserveCreateConfirmation>> => { - const res = await request<MerchantBackend.Tips.ReserveCreateConfirmation>(`${url}/private/reserves`, { - method: 'post', - token, - data - }); - - await mutateAll(/@"\/private\/reserves"@/); - - return res - }; - - const authorizeTipReserve = async (pub: string, data: MerchantBackend.Tips.TipCreateRequest): Promise<HttpResponseOk<MerchantBackend.Tips.TipCreateConfirmation>> => { - const res = await request<MerchantBackend.Tips.TipCreateConfirmation>(`${url}/private/reserves/${pub}/authorize-tip`, { - method: 'post', - token, - data - }); - await mutateAll(/@"\/private\/reserves"@/); - - return res - }; - - const authorizeTip = async (data: MerchantBackend.Tips.TipCreateRequest): Promise<HttpResponseOk<MerchantBackend.Tips.TipCreateConfirmation>> => { - const res = await request<MerchantBackend.Tips.TipCreateConfirmation>(`${url}/private/tips`, { - method: 'post', - token, - data - }); - - await mutateAll(/@"\/private\/reserves"@/); - - return res - }; - - const deleteReserve = async (pub: string): Promise<HttpResponse<void>> => { - const res = await request<void>(`${url}/private/reserves/${pub}`, { - method: 'delete', - token, - }); - - await mutateAll(/@"\/private\/reserves"@/); - - return res - }; - - - return { createReserve, authorizeTip, authorizeTipReserve, deleteReserve }; -} - -export interface ReserveMutateAPI { - createReserve: (data: MerchantBackend.Tips.ReserveCreateRequest) => Promise<HttpResponseOk<MerchantBackend.Tips.ReserveCreateConfirmation>>; - authorizeTipReserve: (id: string, data: MerchantBackend.Tips.TipCreateRequest) => Promise<HttpResponseOk<MerchantBackend.Tips.TipCreateConfirmation>>; - authorizeTip: (data: MerchantBackend.Tips.TipCreateRequest) => Promise<HttpResponseOk<MerchantBackend.Tips.TipCreateConfirmation>>; - deleteReserve: (id: string) => Promise<HttpResponse<void>>; -} - -export function useInstanceTips(): HttpResponse<MerchantBackend.Tips.TippingReserveStatus> { - const { url: baseUrl, token: baseToken } = useBackendContext(); - const { token: instanceToken, id, admin } = useInstanceContext(); - - const { url, token } = !admin ? { - url: baseUrl, token: baseToken - } : { - url: `${baseUrl}/instances/${id}`, token: instanceToken - } - - const { data, error, isValidating } = useSWR<HttpResponseOk<MerchantBackend.Tips.TippingReserveStatus>, HttpError>([`/private/reserves`, token, url], fetcher) - - if (isValidating) return { loading: true, data: data?.data } - if (data) return data - if (error) return error - return { loading: true } -} - - -export function useReserveDetails(reserveId: string): HttpResponse<MerchantBackend.Tips.ReserveDetail> { - const { url: baseUrl } = useBackendContext(); - const { token, id: instanceId, admin } = useInstanceContext(); - - const url = !admin ? baseUrl : `${baseUrl}/instances/${instanceId}` - - const { data, error, isValidating } = useSWR<HttpResponseOk<MerchantBackend.Tips.ReserveDetail>, HttpError>([`/private/reserves/${reserveId}`, token, url], reserveDetailFetcher, { - refreshInterval:0, - refreshWhenHidden: false, - revalidateOnFocus: false, - revalidateOnReconnect: false, - refreshWhenOffline: false, - }) - - if (isValidating) return { loading: true, data: data?.data } - if (data) return data - if (error) return error - return { loading: true } -} - -export function useTipDetails(tipId: string): HttpResponse<MerchantBackend.Tips.TipDetails> { - const { url: baseUrl } = useBackendContext(); - const { token, id: instanceId, admin } = useInstanceContext(); - - const url = !admin ? baseUrl : `${baseUrl}/instances/${instanceId}` - - const { data, error, isValidating } = useSWR<HttpResponseOk<MerchantBackend.Tips.TipDetails>, HttpError>([`/private/tips/${tipId}`, token, url], tipsDetailFetcher, { - refreshInterval:0, - refreshWhenHidden: false, - revalidateOnFocus: false, - revalidateOnReconnect: false, - refreshWhenOffline: false, - }) - - if (isValidating) return { loading: true, data: data?.data } - if (data) return data - if (error) return error - return { loading: true } -} - -export function reserveDetailFetcher<T>(url: string, token: string, backend: string): Promise<HttpResponseOk<T>> { - return request<T>(`${backend}${url}`, { token, params: { - tips: 'yes' - } }) -} - -export function tipsDetailFetcher<T>(url: string, token: string, backend: string): Promise<HttpResponseOk<T>> { - return request<T>(`${backend}${url}`, { token, params: { - pickups: 'yes' - } }) -} diff --git a/packages/merchant-backend-ui/src/hooks/transfer.ts b/packages/merchant-backend-ui/src/hooks/transfer.ts deleted file mode 100644 index 482f00dc5..000000000 --- a/packages/merchant-backend-ui/src/hooks/transfer.ts +++ /dev/null @@ -1,150 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ -import { MerchantBackend } from '../declaration'; -import { useBackendContext } from '../context/backend'; -import { request, mutateAll, HttpResponse, HttpError, HttpResponseOk, HttpResponsePaginated } from './backend'; -import useSWR from 'swr'; -import { useInstanceContext } from '../context/instance'; -import { MAX_RESULT_SIZE, PAGE_SIZE } from '../utils/constants'; -import { useEffect, useState } from 'preact/hooks'; - -async function transferFetcher<T>(url: string, token: string, backend: string, payto_uri?: string, verified?: string, position?: string, delta?: number): Promise<HttpResponseOk<T>> { - const params: any = {} - if (payto_uri !== undefined) params.payto_uri = payto_uri - if (verified !== undefined) params.verified = verified - if (delta !== undefined) { - // if (delta > 0) { - // params.after = searchDate?.getTime() - // } else { - // params.before = searchDate?.getTime() - // } - params.limit = delta - } - if (position !== undefined) params.offset = position - - return request<T>(`${backend}${url}`, { token, params }) -} - -export function useTransferAPI(): TransferAPI { - const { url: baseUrl, token: adminToken } = useBackendContext(); - const { token: instanceToken, id, admin } = useInstanceContext(); - - const { url, token } = !admin ? { - url: baseUrl, token: adminToken - } : { - url: `${baseUrl}/instances/${id}`, token: instanceToken - }; - - const informTransfer = async (data: MerchantBackend.Transfers.TransferInformation): Promise<HttpResponseOk<MerchantBackend.Transfers.MerchantTrackTransferResponse>> => { - mutateAll(/@"\/private\/transfers"@/); - - return request<MerchantBackend.Transfers.MerchantTrackTransferResponse>(`${url}/private/transfers`, { - method: 'post', - token, - data - }); - }; - - return { informTransfer }; -} - -export interface TransferAPI { - informTransfer: (data: MerchantBackend.Transfers.TransferInformation) => Promise<HttpResponseOk<MerchantBackend.Transfers.MerchantTrackTransferResponse>>; -} - -export interface InstanceTransferFilter { - payto_uri?: string; - verified?: 'yes' | 'no'; - position?: string; -} - - -export function useInstanceTransfers(args?: InstanceTransferFilter, updatePosition?: (id: string) => void): HttpResponsePaginated<MerchantBackend.Transfers.TransferList> { - const { url: baseUrl, token: baseToken } = useBackendContext(); - const { token: instanceToken, id, admin } = useInstanceContext(); - - const { url, token } = !admin ? { - url: baseUrl, token: baseToken - } : { - url: `${baseUrl}/instances/${id}`, token: instanceToken - } - - const [pageBefore, setPageBefore] = useState(1) - const [pageAfter, setPageAfter] = useState(1) - - const totalAfter = pageAfter * PAGE_SIZE; - const totalBefore = args?.position !== undefined ? pageBefore * PAGE_SIZE : 0; - - /** - * FIXME: this can be cleaned up a little - * - * the logic of double query should be inside the orderFetch so from the hook perspective and cache - * is just one query and one error status - */ - const { data: beforeData, error: beforeError, isValidating: loadingBefore } = useSWR<HttpResponseOk<MerchantBackend.Transfers.TransferList>, HttpError>( - [`/private/transfers`, token, url, args?.payto_uri, args?.verified, args?.position, totalBefore], - transferFetcher, - ) - const { data: afterData, error: afterError, isValidating: loadingAfter } = useSWR<HttpResponseOk<MerchantBackend.Transfers.TransferList>, HttpError>( - [`/private/transfers`, token, url, args?.payto_uri, args?.verified, args?.position, -totalAfter], - transferFetcher, - ) - - //this will save last result - const [lastBefore, setLastBefore] = useState<HttpResponse<MerchantBackend.Transfers.TransferList>>({ loading: true }) - const [lastAfter, setLastAfter] = useState<HttpResponse<MerchantBackend.Transfers.TransferList>>({ loading: true }) - useEffect(() => { - if (afterData) setLastAfter(afterData) - if (beforeData) setLastBefore(beforeData) - }, [afterData, beforeData]) - - // this has problems when there are some ids missing - - if (beforeError) return beforeError - if (afterError) return afterError - - const pagination = { - isReachingEnd: afterData && afterData.data.transfers.length < totalAfter, - isReachingStart: (!args?.position) || (beforeData && beforeData.data.transfers.length < totalBefore), - loadMore: () => { - if (!afterData) return - if (afterData.data.transfers.length < MAX_RESULT_SIZE) { - setPageAfter(pageAfter + 1) - } else { - const from = `${afterData.data.transfers[afterData.data.transfers.length - 1].transfer_serial_id}` - if (from && updatePosition) updatePosition(from) - } - }, - loadMorePrev: () => { - if (!beforeData) return - if (beforeData.data.transfers.length < MAX_RESULT_SIZE) { - setPageBefore(pageBefore + 1) - } else if (beforeData) { - const from = `${beforeData.data.transfers[beforeData.data.transfers.length - 1].transfer_serial_id}` - if (from && updatePosition) updatePosition(from) - } - }, - } - - const transfers = !beforeData || !afterData ? [] : (beforeData || lastBefore).data.transfers.slice().reverse().concat((afterData || lastAfter).data.transfers) - if (loadingAfter || loadingBefore) return { loading: true, data: { transfers } } - if (beforeData && afterData) { - return { ok: true, data: { transfers }, ...pagination } - } - return { loading: true } -} - - diff --git a/packages/merchant-backend-ui/src/i18n/de.po b/packages/merchant-backend-ui/src/i18n/de.po deleted file mode 100644 index 6b35bd0ce..000000000 --- a/packages/merchant-backend-ui/src/i18n/de.po +++ /dev/null @@ -1,1057 +0,0 @@ -# This file is part of TALER -# (C) 2016 GNUnet e.V. -# -# TALER is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. -# -# TALER is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Taler Wallet\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 00:00+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/ApplicationReadyRoutes.tsx:50 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:299 -#, c-format -msgid "Access denied" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:51 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:300 -#, c-format -msgid "Check your token is valid" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:72 -#, c-format -msgid "Couldn't access the server." -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:73 -#, c-format -msgid "Could not infer instance id from url %1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:109 -#, c-format -msgid "HTTP status #%1$s: Server reported a problem" -msgstr "" - -#: src/InstanceRoutes.tsx:110 -#, c-format -msgid "Got message: \"%1$s\" from: %2$s" -msgstr "" - -#: src/InstanceRoutes.tsx:127 -#, c-format -msgid "No default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:128 -#, c-format -msgid "" -"in order to use merchant backoffice, you should create the default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:288 -#, c-format -msgid "Server reported a problem: HTTP status #%1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:289 -#, c-format -msgid "Got message: %1$s from: %2$s" -msgstr "" - -#: src/components/exception/login.tsx:46 -#, c-format -msgid "Login required" -msgstr "" - -#: src/components/exception/login.tsx:49 -#, c-format -msgid "" -"Please enter your auth token. Token should have \"secret-token:\" and start " -"with Bearer or ApiKey" -msgstr "" - -#: src/components/exception/login.tsx:86 src/components/modal/index.tsx:53 -#: src/components/modal/index.tsx:75 src/paths/admin/create/CreatePage.tsx:115 -#: src/paths/instance/orders/create/CreatePage.tsx:325 -#: src/paths/instance/products/create/CreatePage.tsx:51 -#: src/paths/instance/products/list/Table.tsx:174 -#: src/paths/instance/products/list/Table.tsx:228 -#: src/paths/instance/products/update/UpdatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:134 -#, c-format -msgid "Confirm" -msgstr "" - -#: src/components/form/InputArray.tsx:72 -#, c-format -msgid "The value %1$s is invalid for a payment url" -msgstr "" - -#: src/components/form/InputDate.tsx:67 -#: src/paths/instance/orders/list/index.tsx:123 -#, c-format -msgid "pick a date" -msgstr "" - -#: src/components/form/InputDate.tsx:81 -#, c-format -msgid "clear" -msgstr "" - -#: src/components/form/InputDate.tsx:83 -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "never" -msgstr "" - -#: src/components/form/InputImage.tsx:80 -#, c-format -msgid "Image should be smaller than 1 MB" -msgstr "" - -#: src/components/form/InputLocation.tsx:28 -#, c-format -msgid "Country" -msgstr "" - -#: src/components/form/InputLocation.tsx:30 -#: src/paths/admin/create/CreatePage.tsx:99 -#: src/paths/instance/transfers/list/Table.tsx:124 -#: src/paths/instance/update/UpdatePage.tsx:118 -#, c-format -msgid "Address" -msgstr "" - -#: src/components/form/InputLocation.tsx:34 -#, c-format -msgid "Building number" -msgstr "" - -#: src/components/form/InputLocation.tsx:35 -#, c-format -msgid "Building name" -msgstr "" - -#: src/components/form/InputLocation.tsx:36 -#, c-format -msgid "Street" -msgstr "" - -#: src/components/form/InputLocation.tsx:37 -#, c-format -msgid "Post code" -msgstr "" - -#: src/components/form/InputLocation.tsx:38 -#, c-format -msgid "Town location" -msgstr "" - -#: src/components/form/InputLocation.tsx:39 -#, c-format -msgid "Town" -msgstr "" - -#: src/components/form/InputLocation.tsx:40 -#, c-format -msgid "District" -msgstr "" - -#: src/components/form/InputLocation.tsx:41 -#, c-format -msgid "Country subdivision" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:59 -#, c-format -msgid "Product id" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:60 -#: src/components/product/ProductForm.tsx:99 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:122 -#: src/paths/instance/orders/list/Table.tsx:227 -#: src/paths/instance/products/list/Table.tsx:86 -#, c-format -msgid "Description" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:73 -#: src/components/form/InputTaxes.tsx:81 -#: src/paths/admin/create/CreatePage.tsx:87 src/paths/admin/list/Table.tsx:110 -#: src/paths/instance/details/DetailPage.tsx:76 -#: src/paths/instance/update/UpdatePage.tsx:106 -#, c-format -msgid "Name" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:102 -#, c-format -msgid "loading..." -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:108 -#, c-format -msgid "no products found" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:116 -#, c-format -msgid "no results" -msgstr "" - -#: src/components/form/InputSecured.tsx:33 -#, c-format -msgid "Deleting" -msgstr "" - -#: src/components/form/InputSecured.tsx:34 -#, c-format -msgid "Changing" -msgstr "" - -#: src/components/form/InputSecured.tsx:60 -#, c-format -msgid "Manage token" -msgstr "" - -#: src/components/form/InputSecured.tsx:83 -#, c-format -msgid "Update" -msgstr "" - -#: src/components/form/InputSecured.tsx:100 -#: src/paths/instance/orders/create/CreatePage.tsx:252 -#: src/paths/instance/orders/create/CreatePage.tsx:273 -#, c-format -msgid "Remove" -msgstr "" - -#: src/components/form/InputSecured.tsx:106 src/components/modal/index.tsx:52 -#: src/components/modal/index.tsx:73 src/paths/admin/create/CreatePage.tsx:114 -#: src/paths/instance/orders/create/CreatePage.tsx:324 -#: src/paths/instance/products/create/CreatePage.tsx:50 -#: src/paths/instance/products/list/Table.tsx:166 -#: src/paths/instance/products/list/Table.tsx:218 -#: src/paths/instance/products/update/UpdatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:88 -#: src/paths/instance/update/UpdatePage.tsx:133 -#, c-format -msgid "Cancel" -msgstr "" - -#: src/components/form/InputStock.tsx:91 -#, c-format -msgid "Manage stock" -msgstr "" - -#: src/components/form/InputStock.tsx:93 -#, c-format -msgid "Infinite" -msgstr "" - -#: src/components/form/InputStock.tsx:105 -#, c-format -msgid "lost cannot be greater that current + incoming (max %1$s)" -msgstr "" - -#: src/components/form/InputStock.tsx:111 -#, c-format -msgid "current stock will change from %1$s to %2$s" -msgstr "" - -#: src/components/form/InputStock.tsx:112 -#, c-format -msgid "current stock will stay at %1$s" -msgstr "" - -#: src/components/form/InputStock.tsx:129 -#: src/paths/instance/products/list/Table.tsx:204 -#, c-format -msgid "Incoming" -msgstr "" - -#: src/components/form/InputStock.tsx:130 -#: src/paths/instance/products/list/Table.tsx:205 -#, c-format -msgid "Lost" -msgstr "" - -#: src/components/form/InputStock.tsx:142 -#, c-format -msgid "Current" -msgstr "" - -#: src/components/form/InputStock.tsx:145 -#, c-format -msgid "without stock" -msgstr "" - -#: src/components/form/InputStock.tsx:150 -#, c-format -msgid "Next restock" -msgstr "" - -#: src/components/form/InputStock.tsx:152 -#, c-format -msgid "Delivery address" -msgstr "" - -#: src/components/form/InputTaxes.tsx:73 -#, c-format -msgid "this product has no taxes" -msgstr "" - -#: src/components/form/InputTaxes.tsx:77 -#: src/paths/instance/orders/details/DetailPage.tsx:145 -#: src/paths/instance/orders/details/DetailPage.tsx:296 -#: src/paths/instance/orders/list/Table.tsx:116 -#: src/paths/instance/transfers/create/CreatePage.tsx:84 -#, c-format -msgid "Amount" -msgstr "" - -#: src/components/form/InputTaxes.tsx:78 -#, c-format -msgid "currency and value separated with colon" -msgstr "" - -#: src/components/form/InputTaxes.tsx:84 -#: src/paths/instance/orders/create/InventoryProductForm.tsx:78 -#, c-format -msgid "Add" -msgstr "" - -#: src/components/menu/SideBar.tsx:53 -#, c-format -msgid "Instance" -msgstr "" - -#: src/components/menu/SideBar.tsx:59 -#, c-format -msgid "Settings" -msgstr "" - -#: src/components/menu/SideBar.tsx:65 -#: src/paths/instance/orders/list/Table.tsx:60 -#, c-format -msgid "Orders" -msgstr "" - -#: src/components/menu/SideBar.tsx:71 -#: src/paths/instance/orders/create/CreatePage.tsx:258 -#: src/paths/instance/products/list/Table.tsx:48 -#, c-format -msgid "Products" -msgstr "" - -#: src/components/menu/SideBar.tsx:77 -#: src/paths/instance/transfers/list/Table.tsx:65 -#, c-format -msgid "Transfers" -msgstr "" - -#: src/components/menu/SideBar.tsx:87 -#, c-format -msgid "Connection" -msgstr "" - -#: src/components/menu/SideBar.tsx:112 src/paths/admin/list/Table.tsx:57 -#, c-format -msgid "Instances" -msgstr "" - -#: src/components/menu/SideBar.tsx:116 -#, c-format -msgid "New" -msgstr "" - -#: src/components/menu/SideBar.tsx:122 -#, c-format -msgid "List" -msgstr "" - -#: src/components/menu/SideBar.tsx:129 -#, c-format -msgid "Log out" -msgstr "" - -#: src/components/modal/index.tsx:74 -#, c-format -msgid "Clear" -msgstr "" - -#: src/components/modal/index.tsx:110 src/components/modal/index.tsx:111 -#, c-format -msgid "should be the same" -msgstr "" - -#: src/components/modal/index.tsx:111 -#, c-format -msgid "cannot be the same as before" -msgstr "" - -#: src/components/modal/index.tsx:114 -#, c-format -msgid "" -"You are updating the authorization token from instance %1$s with id %2$s" -msgstr "" - -#: src/components/modal/index.tsx:124 -#, c-format -msgid "Old token" -msgstr "" - -#: src/components/modal/index.tsx:125 -#, c-format -msgid "New token" -msgstr "" - -#: src/components/modal/index.tsx:127 -#, c-format -msgid "Clearing the auth token will mean public access to the instance" -msgstr "" - -#: src/components/product/ProductForm.tsx:96 -#: src/paths/admin/create/CreatePage.tsx:85 src/paths/admin/list/Table.tsx:109 -#: src/paths/instance/transfers/list/Table.tsx:122 -#, c-format -msgid "ID" -msgstr "" - -#: src/components/product/ProductForm.tsx:98 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:121 -#: src/paths/instance/products/list/Table.tsx:85 -#, c-format -msgid "Image" -msgstr "" - -#: src/components/product/ProductForm.tsx:100 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:123 -#, c-format -msgid "Unit" -msgstr "" - -#: src/components/product/ProductForm.tsx:101 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:124 -#: src/paths/instance/products/list/Table.tsx:162 -#: src/paths/instance/products/list/Table.tsx:214 -#, c-format -msgid "Price" -msgstr "" - -#: src/components/product/ProductForm.tsx:103 -#: src/paths/instance/products/list/Table.tsx:90 -#, c-format -msgid "Stock" -msgstr "" - -#: src/components/product/ProductForm.tsx:105 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:128 -#: src/paths/instance/products/list/Table.tsx:88 -#, c-format -msgid "Taxes" -msgstr "" - -#: src/index.tsx:75 -#, c-format -msgid "Server not found" -msgstr "" - -#: src/index.tsx:85 -#, c-format -msgid "Couldn't access the server" -msgstr "" - -#: src/index.tsx:87 src/index.tsx:99 -#, c-format -msgid "Got message %1$s from %2$s" -msgstr "" - -#: src/index.tsx:97 -#, c-format -msgid "Unexpected Error" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:108 -#, c-format -msgid "Auth token" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:91 -#: src/paths/instance/details/DetailPage.tsx:77 -#: src/paths/instance/update/UpdatePage.tsx:110 -#, c-format -msgid "Account address" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:93 -#: src/paths/instance/update/UpdatePage.tsx:112 -#, c-format -msgid "Default max deposit fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:95 -#: src/paths/instance/update/UpdatePage.tsx:114 -#, c-format -msgid "Default max wire fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:97 -#: src/paths/instance/update/UpdatePage.tsx:116 -#, c-format -msgid "Default wire fee amortization" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:103 -#: src/paths/instance/update/UpdatePage.tsx:122 -#, c-format -msgid "Jurisdiction" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:107 -#: src/paths/instance/update/UpdatePage.tsx:126 -#, c-format -msgid "Default pay delay" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:109 -#: src/paths/instance/update/UpdatePage.tsx:128 -#, c-format -msgid "Default wire transfer delay" -msgstr "" - -#: src/paths/admin/create/index.tsx:58 -#, c-format -msgid "could not create instance" -msgstr "" - -#: src/paths/admin/list/Table.tsx:63 src/paths/admin/list/Table.tsx:131 -#: src/paths/instance/transfers/list/Table.tsx:71 -#, c-format -msgid "Delete" -msgstr "" - -#: src/paths/admin/list/Table.tsx:128 -#, c-format -msgid "Edit" -msgstr "" - -#: src/paths/admin/list/Table.tsx:149 -#: src/paths/instance/products/list/Table.tsx:245 -#, c-format -msgid "There is no instances yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:237 -#, c-format -msgid "Inventory products" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:286 -#, c-format -msgid "Total price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:287 -#, c-format -msgid "Total tax" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:289 -#: src/paths/instance/orders/create/CreatePage.tsx:297 -#, c-format -msgid "Order price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:295 -#, c-format -msgid "Net" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:300 -#: src/paths/instance/orders/details/DetailPage.tsx:144 -#: src/paths/instance/orders/details/DetailPage.tsx:295 -#: src/paths/instance/orders/list/Table.tsx:117 -#, c-format -msgid "Summary" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:302 -#, c-format -msgid "Payments options" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:303 -#, c-format -msgid "Auto refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:304 -#, c-format -msgid "Refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:305 -#, c-format -msgid "Pay deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:307 -#, c-format -msgid "Delivery date" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:308 -#, c-format -msgid "Location" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:312 -#, c-format -msgid "Max fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:313 -#, c-format -msgid "Max wire fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:314 -#, c-format -msgid "Wire fee amortization" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:315 -#, c-format -msgid "Fullfilment url" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:318 -#, c-format -msgid "Extra information" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:44 -#, c-format -msgid "select a product first" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:51 -#, c-format -msgid "should be greater than 0" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:58 -#, c-format -msgid "" -"cannot be greater than current stock and quantity previously added. max: %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:64 -#, c-format -msgid "cannot be greater than current stock %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:76 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:126 -#, c-format -msgid "Quantity" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:92 -#: src/paths/instance/orders/details/DetailPage.tsx:235 -#: src/paths/instance/orders/details/DetailPage.tsx:333 -#, c-format -msgid "Order" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:93 -#, c-format -msgid "claimed" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:110 -#: src/paths/instance/orders/details/DetailPage.tsx:261 -#: src/paths/instance/orders/list/Table.tsx:136 -#, c-format -msgid "copy url" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:126 -#: src/paths/instance/orders/details/DetailPage.tsx:349 -#, c-format -msgid "pay at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:127 -#: src/paths/instance/orders/details/DetailPage.tsx:350 -#, c-format -msgid "created at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:138 -#: src/paths/instance/orders/details/DetailPage.tsx:289 -#, c-format -msgid "Timeline" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:142 -#: src/paths/instance/orders/details/DetailPage.tsx:293 -#, c-format -msgid "Payment details" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:146 -#: src/paths/instance/orders/details/DetailPage.tsx:299 -#: src/paths/instance/orders/details/DetailPage.tsx:363 -#, c-format -msgid "Order status" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:156 -#: src/paths/instance/orders/details/DetailPage.tsx:308 -#, c-format -msgid "Product list" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:236 -#, c-format -msgid "paid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:238 -#, c-format -msgid "wired" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:241 -#, c-format -msgid "refunded" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:258 -#, c-format -msgid "refund" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:297 -#, c-format -msgid "Refunded amount" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:298 -#, c-format -msgid "Deposit total" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:336 -#, c-format -msgid "unpaid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:364 -#, c-format -msgid "Order status URL" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:365 -#, c-format -msgid "Pay URI" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:383 -#, c-format -msgid "" -"Unknown order status. This is an error, please contact the administrator." -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:56 -#: src/paths/instance/orders/list/index.tsx:147 -#, c-format -msgid "refund created successfully" -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:59 -#: src/paths/instance/orders/list/index.tsx:150 -#, c-format -msgid "could not create the refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:111 -#, c-format -msgid "load newer orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:115 -#, c-format -msgid "Date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:131 -#: src/paths/instance/orders/list/Table.tsx:223 -#, c-format -msgid "Refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:145 -#, c-format -msgid "load older orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:154 -#, c-format -msgid "No orders has been found" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:202 -#, c-format -msgid "date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:203 -#, c-format -msgid "amount" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:204 -#, c-format -msgid "reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:224 -#, c-format -msgid "Max refundable:" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "Reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "duplicated" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "requested by the customer" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "other" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:91 -#, c-format -msgid "go to order id" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:107 -#, c-format -msgid "Paid" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:108 -#, c-format -msgid "Refunded" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:109 -#, c-format -msgid "Not wired" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:110 -#, c-format -msgid "All" -msgstr "" - -#: src/paths/instance/products/create/index.tsx:48 -#: src/paths/instance/products/update/index.tsx:64 -#, c-format -msgid "could not create product" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:87 -#, c-format -msgid "Sell" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:89 -#, c-format -msgid "Profit" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:91 -#, c-format -msgid "Sold" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:59 -#, c-format -msgid "product updated successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:62 -#, c-format -msgid "could not update the product" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:70 -#, c-format -msgid "product delete successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:73 -#, c-format -msgid "could not delete the product" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:59 -#, c-format -msgid "Tips" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:111 -#, c-format -msgid "Committed amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:112 -#, c-format -msgid "Exchange initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:113 -#, c-format -msgid "Merchant initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:148 -#, c-format -msgid "There is no tips yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:50 -#: src/paths/instance/transfers/create/CreatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:56 -#, c-format -msgid "cannot be empty" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:51 -#, c-format -msgid "check the id, doest look valid" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:52 -#, c-format -msgid "should have 52 characters, current %1$s" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:57 -#, c-format -msgid "URL doesn't have the right format" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:74 -#, c-format -msgid "Transfer ID" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:76 -#, c-format -msgid "Account Address" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:82 -#: src/paths/instance/transfers/list/Table.tsx:125 -#, c-format -msgid "Exchange URL" -msgstr "" - -#: src/paths/instance/transfers/create/index.tsx:49 -#, c-format -msgid "could not inform transfer" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:118 -#, c-format -msgid "load newer transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:123 -#, c-format -msgid "Credit" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:126 -#, c-format -msgid "Confirmed" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:127 -#: src/paths/instance/transfers/list/index.tsx:60 -#, c-format -msgid "Verified" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:128 -#, c-format -msgid "Executed at" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "yes" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "no" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "unknown" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:145 -#, c-format -msgid "load older transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:154 -#, c-format -msgid "There is no transfer yet, add more pressing the + sign" -msgstr "" diff --git a/packages/merchant-backend-ui/src/i18n/en.po b/packages/merchant-backend-ui/src/i18n/en.po deleted file mode 100644 index 6b35bd0ce..000000000 --- a/packages/merchant-backend-ui/src/i18n/en.po +++ /dev/null @@ -1,1057 +0,0 @@ -# This file is part of TALER -# (C) 2016 GNUnet e.V. -# -# TALER is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. -# -# TALER is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Taler Wallet\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 00:00+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/ApplicationReadyRoutes.tsx:50 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:299 -#, c-format -msgid "Access denied" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:51 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:300 -#, c-format -msgid "Check your token is valid" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:72 -#, c-format -msgid "Couldn't access the server." -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:73 -#, c-format -msgid "Could not infer instance id from url %1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:109 -#, c-format -msgid "HTTP status #%1$s: Server reported a problem" -msgstr "" - -#: src/InstanceRoutes.tsx:110 -#, c-format -msgid "Got message: \"%1$s\" from: %2$s" -msgstr "" - -#: src/InstanceRoutes.tsx:127 -#, c-format -msgid "No default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:128 -#, c-format -msgid "" -"in order to use merchant backoffice, you should create the default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:288 -#, c-format -msgid "Server reported a problem: HTTP status #%1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:289 -#, c-format -msgid "Got message: %1$s from: %2$s" -msgstr "" - -#: src/components/exception/login.tsx:46 -#, c-format -msgid "Login required" -msgstr "" - -#: src/components/exception/login.tsx:49 -#, c-format -msgid "" -"Please enter your auth token. Token should have \"secret-token:\" and start " -"with Bearer or ApiKey" -msgstr "" - -#: src/components/exception/login.tsx:86 src/components/modal/index.tsx:53 -#: src/components/modal/index.tsx:75 src/paths/admin/create/CreatePage.tsx:115 -#: src/paths/instance/orders/create/CreatePage.tsx:325 -#: src/paths/instance/products/create/CreatePage.tsx:51 -#: src/paths/instance/products/list/Table.tsx:174 -#: src/paths/instance/products/list/Table.tsx:228 -#: src/paths/instance/products/update/UpdatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:134 -#, c-format -msgid "Confirm" -msgstr "" - -#: src/components/form/InputArray.tsx:72 -#, c-format -msgid "The value %1$s is invalid for a payment url" -msgstr "" - -#: src/components/form/InputDate.tsx:67 -#: src/paths/instance/orders/list/index.tsx:123 -#, c-format -msgid "pick a date" -msgstr "" - -#: src/components/form/InputDate.tsx:81 -#, c-format -msgid "clear" -msgstr "" - -#: src/components/form/InputDate.tsx:83 -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "never" -msgstr "" - -#: src/components/form/InputImage.tsx:80 -#, c-format -msgid "Image should be smaller than 1 MB" -msgstr "" - -#: src/components/form/InputLocation.tsx:28 -#, c-format -msgid "Country" -msgstr "" - -#: src/components/form/InputLocation.tsx:30 -#: src/paths/admin/create/CreatePage.tsx:99 -#: src/paths/instance/transfers/list/Table.tsx:124 -#: src/paths/instance/update/UpdatePage.tsx:118 -#, c-format -msgid "Address" -msgstr "" - -#: src/components/form/InputLocation.tsx:34 -#, c-format -msgid "Building number" -msgstr "" - -#: src/components/form/InputLocation.tsx:35 -#, c-format -msgid "Building name" -msgstr "" - -#: src/components/form/InputLocation.tsx:36 -#, c-format -msgid "Street" -msgstr "" - -#: src/components/form/InputLocation.tsx:37 -#, c-format -msgid "Post code" -msgstr "" - -#: src/components/form/InputLocation.tsx:38 -#, c-format -msgid "Town location" -msgstr "" - -#: src/components/form/InputLocation.tsx:39 -#, c-format -msgid "Town" -msgstr "" - -#: src/components/form/InputLocation.tsx:40 -#, c-format -msgid "District" -msgstr "" - -#: src/components/form/InputLocation.tsx:41 -#, c-format -msgid "Country subdivision" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:59 -#, c-format -msgid "Product id" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:60 -#: src/components/product/ProductForm.tsx:99 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:122 -#: src/paths/instance/orders/list/Table.tsx:227 -#: src/paths/instance/products/list/Table.tsx:86 -#, c-format -msgid "Description" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:73 -#: src/components/form/InputTaxes.tsx:81 -#: src/paths/admin/create/CreatePage.tsx:87 src/paths/admin/list/Table.tsx:110 -#: src/paths/instance/details/DetailPage.tsx:76 -#: src/paths/instance/update/UpdatePage.tsx:106 -#, c-format -msgid "Name" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:102 -#, c-format -msgid "loading..." -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:108 -#, c-format -msgid "no products found" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:116 -#, c-format -msgid "no results" -msgstr "" - -#: src/components/form/InputSecured.tsx:33 -#, c-format -msgid "Deleting" -msgstr "" - -#: src/components/form/InputSecured.tsx:34 -#, c-format -msgid "Changing" -msgstr "" - -#: src/components/form/InputSecured.tsx:60 -#, c-format -msgid "Manage token" -msgstr "" - -#: src/components/form/InputSecured.tsx:83 -#, c-format -msgid "Update" -msgstr "" - -#: src/components/form/InputSecured.tsx:100 -#: src/paths/instance/orders/create/CreatePage.tsx:252 -#: src/paths/instance/orders/create/CreatePage.tsx:273 -#, c-format -msgid "Remove" -msgstr "" - -#: src/components/form/InputSecured.tsx:106 src/components/modal/index.tsx:52 -#: src/components/modal/index.tsx:73 src/paths/admin/create/CreatePage.tsx:114 -#: src/paths/instance/orders/create/CreatePage.tsx:324 -#: src/paths/instance/products/create/CreatePage.tsx:50 -#: src/paths/instance/products/list/Table.tsx:166 -#: src/paths/instance/products/list/Table.tsx:218 -#: src/paths/instance/products/update/UpdatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:88 -#: src/paths/instance/update/UpdatePage.tsx:133 -#, c-format -msgid "Cancel" -msgstr "" - -#: src/components/form/InputStock.tsx:91 -#, c-format -msgid "Manage stock" -msgstr "" - -#: src/components/form/InputStock.tsx:93 -#, c-format -msgid "Infinite" -msgstr "" - -#: src/components/form/InputStock.tsx:105 -#, c-format -msgid "lost cannot be greater that current + incoming (max %1$s)" -msgstr "" - -#: src/components/form/InputStock.tsx:111 -#, c-format -msgid "current stock will change from %1$s to %2$s" -msgstr "" - -#: src/components/form/InputStock.tsx:112 -#, c-format -msgid "current stock will stay at %1$s" -msgstr "" - -#: src/components/form/InputStock.tsx:129 -#: src/paths/instance/products/list/Table.tsx:204 -#, c-format -msgid "Incoming" -msgstr "" - -#: src/components/form/InputStock.tsx:130 -#: src/paths/instance/products/list/Table.tsx:205 -#, c-format -msgid "Lost" -msgstr "" - -#: src/components/form/InputStock.tsx:142 -#, c-format -msgid "Current" -msgstr "" - -#: src/components/form/InputStock.tsx:145 -#, c-format -msgid "without stock" -msgstr "" - -#: src/components/form/InputStock.tsx:150 -#, c-format -msgid "Next restock" -msgstr "" - -#: src/components/form/InputStock.tsx:152 -#, c-format -msgid "Delivery address" -msgstr "" - -#: src/components/form/InputTaxes.tsx:73 -#, c-format -msgid "this product has no taxes" -msgstr "" - -#: src/components/form/InputTaxes.tsx:77 -#: src/paths/instance/orders/details/DetailPage.tsx:145 -#: src/paths/instance/orders/details/DetailPage.tsx:296 -#: src/paths/instance/orders/list/Table.tsx:116 -#: src/paths/instance/transfers/create/CreatePage.tsx:84 -#, c-format -msgid "Amount" -msgstr "" - -#: src/components/form/InputTaxes.tsx:78 -#, c-format -msgid "currency and value separated with colon" -msgstr "" - -#: src/components/form/InputTaxes.tsx:84 -#: src/paths/instance/orders/create/InventoryProductForm.tsx:78 -#, c-format -msgid "Add" -msgstr "" - -#: src/components/menu/SideBar.tsx:53 -#, c-format -msgid "Instance" -msgstr "" - -#: src/components/menu/SideBar.tsx:59 -#, c-format -msgid "Settings" -msgstr "" - -#: src/components/menu/SideBar.tsx:65 -#: src/paths/instance/orders/list/Table.tsx:60 -#, c-format -msgid "Orders" -msgstr "" - -#: src/components/menu/SideBar.tsx:71 -#: src/paths/instance/orders/create/CreatePage.tsx:258 -#: src/paths/instance/products/list/Table.tsx:48 -#, c-format -msgid "Products" -msgstr "" - -#: src/components/menu/SideBar.tsx:77 -#: src/paths/instance/transfers/list/Table.tsx:65 -#, c-format -msgid "Transfers" -msgstr "" - -#: src/components/menu/SideBar.tsx:87 -#, c-format -msgid "Connection" -msgstr "" - -#: src/components/menu/SideBar.tsx:112 src/paths/admin/list/Table.tsx:57 -#, c-format -msgid "Instances" -msgstr "" - -#: src/components/menu/SideBar.tsx:116 -#, c-format -msgid "New" -msgstr "" - -#: src/components/menu/SideBar.tsx:122 -#, c-format -msgid "List" -msgstr "" - -#: src/components/menu/SideBar.tsx:129 -#, c-format -msgid "Log out" -msgstr "" - -#: src/components/modal/index.tsx:74 -#, c-format -msgid "Clear" -msgstr "" - -#: src/components/modal/index.tsx:110 src/components/modal/index.tsx:111 -#, c-format -msgid "should be the same" -msgstr "" - -#: src/components/modal/index.tsx:111 -#, c-format -msgid "cannot be the same as before" -msgstr "" - -#: src/components/modal/index.tsx:114 -#, c-format -msgid "" -"You are updating the authorization token from instance %1$s with id %2$s" -msgstr "" - -#: src/components/modal/index.tsx:124 -#, c-format -msgid "Old token" -msgstr "" - -#: src/components/modal/index.tsx:125 -#, c-format -msgid "New token" -msgstr "" - -#: src/components/modal/index.tsx:127 -#, c-format -msgid "Clearing the auth token will mean public access to the instance" -msgstr "" - -#: src/components/product/ProductForm.tsx:96 -#: src/paths/admin/create/CreatePage.tsx:85 src/paths/admin/list/Table.tsx:109 -#: src/paths/instance/transfers/list/Table.tsx:122 -#, c-format -msgid "ID" -msgstr "" - -#: src/components/product/ProductForm.tsx:98 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:121 -#: src/paths/instance/products/list/Table.tsx:85 -#, c-format -msgid "Image" -msgstr "" - -#: src/components/product/ProductForm.tsx:100 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:123 -#, c-format -msgid "Unit" -msgstr "" - -#: src/components/product/ProductForm.tsx:101 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:124 -#: src/paths/instance/products/list/Table.tsx:162 -#: src/paths/instance/products/list/Table.tsx:214 -#, c-format -msgid "Price" -msgstr "" - -#: src/components/product/ProductForm.tsx:103 -#: src/paths/instance/products/list/Table.tsx:90 -#, c-format -msgid "Stock" -msgstr "" - -#: src/components/product/ProductForm.tsx:105 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:128 -#: src/paths/instance/products/list/Table.tsx:88 -#, c-format -msgid "Taxes" -msgstr "" - -#: src/index.tsx:75 -#, c-format -msgid "Server not found" -msgstr "" - -#: src/index.tsx:85 -#, c-format -msgid "Couldn't access the server" -msgstr "" - -#: src/index.tsx:87 src/index.tsx:99 -#, c-format -msgid "Got message %1$s from %2$s" -msgstr "" - -#: src/index.tsx:97 -#, c-format -msgid "Unexpected Error" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:108 -#, c-format -msgid "Auth token" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:91 -#: src/paths/instance/details/DetailPage.tsx:77 -#: src/paths/instance/update/UpdatePage.tsx:110 -#, c-format -msgid "Account address" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:93 -#: src/paths/instance/update/UpdatePage.tsx:112 -#, c-format -msgid "Default max deposit fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:95 -#: src/paths/instance/update/UpdatePage.tsx:114 -#, c-format -msgid "Default max wire fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:97 -#: src/paths/instance/update/UpdatePage.tsx:116 -#, c-format -msgid "Default wire fee amortization" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:103 -#: src/paths/instance/update/UpdatePage.tsx:122 -#, c-format -msgid "Jurisdiction" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:107 -#: src/paths/instance/update/UpdatePage.tsx:126 -#, c-format -msgid "Default pay delay" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:109 -#: src/paths/instance/update/UpdatePage.tsx:128 -#, c-format -msgid "Default wire transfer delay" -msgstr "" - -#: src/paths/admin/create/index.tsx:58 -#, c-format -msgid "could not create instance" -msgstr "" - -#: src/paths/admin/list/Table.tsx:63 src/paths/admin/list/Table.tsx:131 -#: src/paths/instance/transfers/list/Table.tsx:71 -#, c-format -msgid "Delete" -msgstr "" - -#: src/paths/admin/list/Table.tsx:128 -#, c-format -msgid "Edit" -msgstr "" - -#: src/paths/admin/list/Table.tsx:149 -#: src/paths/instance/products/list/Table.tsx:245 -#, c-format -msgid "There is no instances yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:237 -#, c-format -msgid "Inventory products" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:286 -#, c-format -msgid "Total price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:287 -#, c-format -msgid "Total tax" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:289 -#: src/paths/instance/orders/create/CreatePage.tsx:297 -#, c-format -msgid "Order price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:295 -#, c-format -msgid "Net" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:300 -#: src/paths/instance/orders/details/DetailPage.tsx:144 -#: src/paths/instance/orders/details/DetailPage.tsx:295 -#: src/paths/instance/orders/list/Table.tsx:117 -#, c-format -msgid "Summary" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:302 -#, c-format -msgid "Payments options" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:303 -#, c-format -msgid "Auto refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:304 -#, c-format -msgid "Refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:305 -#, c-format -msgid "Pay deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:307 -#, c-format -msgid "Delivery date" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:308 -#, c-format -msgid "Location" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:312 -#, c-format -msgid "Max fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:313 -#, c-format -msgid "Max wire fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:314 -#, c-format -msgid "Wire fee amortization" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:315 -#, c-format -msgid "Fullfilment url" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:318 -#, c-format -msgid "Extra information" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:44 -#, c-format -msgid "select a product first" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:51 -#, c-format -msgid "should be greater than 0" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:58 -#, c-format -msgid "" -"cannot be greater than current stock and quantity previously added. max: %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:64 -#, c-format -msgid "cannot be greater than current stock %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:76 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:126 -#, c-format -msgid "Quantity" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:92 -#: src/paths/instance/orders/details/DetailPage.tsx:235 -#: src/paths/instance/orders/details/DetailPage.tsx:333 -#, c-format -msgid "Order" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:93 -#, c-format -msgid "claimed" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:110 -#: src/paths/instance/orders/details/DetailPage.tsx:261 -#: src/paths/instance/orders/list/Table.tsx:136 -#, c-format -msgid "copy url" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:126 -#: src/paths/instance/orders/details/DetailPage.tsx:349 -#, c-format -msgid "pay at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:127 -#: src/paths/instance/orders/details/DetailPage.tsx:350 -#, c-format -msgid "created at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:138 -#: src/paths/instance/orders/details/DetailPage.tsx:289 -#, c-format -msgid "Timeline" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:142 -#: src/paths/instance/orders/details/DetailPage.tsx:293 -#, c-format -msgid "Payment details" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:146 -#: src/paths/instance/orders/details/DetailPage.tsx:299 -#: src/paths/instance/orders/details/DetailPage.tsx:363 -#, c-format -msgid "Order status" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:156 -#: src/paths/instance/orders/details/DetailPage.tsx:308 -#, c-format -msgid "Product list" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:236 -#, c-format -msgid "paid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:238 -#, c-format -msgid "wired" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:241 -#, c-format -msgid "refunded" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:258 -#, c-format -msgid "refund" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:297 -#, c-format -msgid "Refunded amount" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:298 -#, c-format -msgid "Deposit total" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:336 -#, c-format -msgid "unpaid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:364 -#, c-format -msgid "Order status URL" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:365 -#, c-format -msgid "Pay URI" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:383 -#, c-format -msgid "" -"Unknown order status. This is an error, please contact the administrator." -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:56 -#: src/paths/instance/orders/list/index.tsx:147 -#, c-format -msgid "refund created successfully" -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:59 -#: src/paths/instance/orders/list/index.tsx:150 -#, c-format -msgid "could not create the refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:111 -#, c-format -msgid "load newer orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:115 -#, c-format -msgid "Date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:131 -#: src/paths/instance/orders/list/Table.tsx:223 -#, c-format -msgid "Refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:145 -#, c-format -msgid "load older orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:154 -#, c-format -msgid "No orders has been found" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:202 -#, c-format -msgid "date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:203 -#, c-format -msgid "amount" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:204 -#, c-format -msgid "reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:224 -#, c-format -msgid "Max refundable:" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "Reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "duplicated" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "requested by the customer" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "other" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:91 -#, c-format -msgid "go to order id" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:107 -#, c-format -msgid "Paid" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:108 -#, c-format -msgid "Refunded" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:109 -#, c-format -msgid "Not wired" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:110 -#, c-format -msgid "All" -msgstr "" - -#: src/paths/instance/products/create/index.tsx:48 -#: src/paths/instance/products/update/index.tsx:64 -#, c-format -msgid "could not create product" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:87 -#, c-format -msgid "Sell" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:89 -#, c-format -msgid "Profit" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:91 -#, c-format -msgid "Sold" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:59 -#, c-format -msgid "product updated successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:62 -#, c-format -msgid "could not update the product" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:70 -#, c-format -msgid "product delete successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:73 -#, c-format -msgid "could not delete the product" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:59 -#, c-format -msgid "Tips" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:111 -#, c-format -msgid "Committed amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:112 -#, c-format -msgid "Exchange initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:113 -#, c-format -msgid "Merchant initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:148 -#, c-format -msgid "There is no tips yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:50 -#: src/paths/instance/transfers/create/CreatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:56 -#, c-format -msgid "cannot be empty" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:51 -#, c-format -msgid "check the id, doest look valid" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:52 -#, c-format -msgid "should have 52 characters, current %1$s" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:57 -#, c-format -msgid "URL doesn't have the right format" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:74 -#, c-format -msgid "Transfer ID" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:76 -#, c-format -msgid "Account Address" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:82 -#: src/paths/instance/transfers/list/Table.tsx:125 -#, c-format -msgid "Exchange URL" -msgstr "" - -#: src/paths/instance/transfers/create/index.tsx:49 -#, c-format -msgid "could not inform transfer" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:118 -#, c-format -msgid "load newer transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:123 -#, c-format -msgid "Credit" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:126 -#, c-format -msgid "Confirmed" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:127 -#: src/paths/instance/transfers/list/index.tsx:60 -#, c-format -msgid "Verified" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:128 -#, c-format -msgid "Executed at" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "yes" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "no" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "unknown" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:145 -#, c-format -msgid "load older transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:154 -#, c-format -msgid "There is no transfer yet, add more pressing the + sign" -msgstr "" diff --git a/packages/merchant-backend-ui/src/i18n/es.po b/packages/merchant-backend-ui/src/i18n/es.po deleted file mode 100644 index 9075d4656..000000000 --- a/packages/merchant-backend-ui/src/i18n/es.po +++ /dev/null @@ -1,1065 +0,0 @@ -# This file is part of TALER -# (C) 2016 GNUnet e.V. -# -# TALER is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. -# -# TALER is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Taler Wallet\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 00:00+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/ApplicationReadyRoutes.tsx:50 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:299 -#, c-format -msgid "Access denied" -msgstr "Acceso denegado" - -#: src/ApplicationReadyRoutes.tsx:51 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:300 -#, c-format -msgid "Check your token is valid" -msgstr "Verifica que el token sea valido" - -#: src/ApplicationReadyRoutes.tsx:72 -#, c-format -msgid "Couldn't access the server." -msgstr "No se pudo acceder al servidor" - -#: src/ApplicationReadyRoutes.tsx:73 -#, c-format -msgid "Could not infer instance id from url %1$s" -msgstr "No se pudo inferir el id de la instancia con la url %1$s" - -#: src/InstanceRoutes.tsx:109 -#, c-format -msgid "HTTP status #%1$s: Server reported a problem" -msgstr "HTTP status #%1$s: Servidor reporto un problema" - -#: src/InstanceRoutes.tsx:110 -#, fuzzy, c-format -msgid "Got message: \"%1$s\" from: %2$s" -msgstr "Recivimos el mensaje %1$s desde %2$s" - -#: src/InstanceRoutes.tsx:127 -#, c-format -msgid "No default instance" -msgstr "Sin instancia default" - -#: src/InstanceRoutes.tsx:128 -#, c-format -msgid "" -"in order to use merchant backoffice, you should create the default instance" -msgstr "para usar el merchant backoffice, deberÃa crear la instancia default" - -#: src/InstanceRoutes.tsx:288 -#, c-format -msgid "Server reported a problem: HTTP status #%1$s" -msgstr "Servidir reporto un problema: HTTP status #%1$s" - -#: src/InstanceRoutes.tsx:289 -#, fuzzy, c-format -msgid "Got message: %1$s from: %2$s" -msgstr "Recivimos el mensaje %1$s desde %2$s" - -#: src/components/exception/login.tsx:46 -#, c-format -msgid "Login required" -msgstr "Login necesario" - -#: src/components/exception/login.tsx:49 -#, c-format -msgid "" -"Please enter your auth token. Token should have \"secret-token:\" and start " -"with Bearer or ApiKey" -msgstr "" -"Por favor ingrese su token de autorización. El token debe tener \"secret-" -"token\" y comenzar con Bearer o ApiKey" - -#: src/components/exception/login.tsx:86 src/components/modal/index.tsx:53 -#: src/components/modal/index.tsx:75 src/paths/admin/create/CreatePage.tsx:115 -#: src/paths/instance/orders/create/CreatePage.tsx:325 -#: src/paths/instance/products/create/CreatePage.tsx:51 -#: src/paths/instance/products/list/Table.tsx:174 -#: src/paths/instance/products/list/Table.tsx:228 -#: src/paths/instance/products/update/UpdatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:134 -#, c-format -msgid "Confirm" -msgstr "Confirmar" - -#: src/components/form/InputArray.tsx:72 -#, c-format -msgid "The value %1$s is invalid for a payment url" -msgstr "El valor %1$s es invalido para una URL de pago" - -#: src/components/form/InputDate.tsx:67 -#: src/paths/instance/orders/list/index.tsx:123 -#, c-format -msgid "pick a date" -msgstr "elegir una fecha" - -#: src/components/form/InputDate.tsx:81 -#, fuzzy, c-format -msgid "clear" -msgstr "Limpiar" - -#: src/components/form/InputDate.tsx:83 -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "never" -msgstr "nunca" - -#: src/components/form/InputImage.tsx:80 -#, c-format -msgid "Image should be smaller than 1 MB" -msgstr "La imagen debe ser mas chica que 1 MB" - -#: src/components/form/InputLocation.tsx:28 -#, c-format -msgid "Country" -msgstr "PaÃs" - -#: src/components/form/InputLocation.tsx:30 -#: src/paths/admin/create/CreatePage.tsx:99 -#: src/paths/instance/transfers/list/Table.tsx:124 -#: src/paths/instance/update/UpdatePage.tsx:118 -#, c-format -msgid "Address" -msgstr "Dirección" - -#: src/components/form/InputLocation.tsx:34 -#, c-format -msgid "Building number" -msgstr "Número de edificio" - -#: src/components/form/InputLocation.tsx:35 -#, c-format -msgid "Building name" -msgstr "Nombre de edificio" - -#: src/components/form/InputLocation.tsx:36 -#, c-format -msgid "Street" -msgstr "Calle" - -#: src/components/form/InputLocation.tsx:37 -#, c-format -msgid "Post code" -msgstr "Código postal" - -#: src/components/form/InputLocation.tsx:38 -#, fuzzy, c-format -msgid "Town location" -msgstr "Ubicación de ciudad" - -#: src/components/form/InputLocation.tsx:39 -#, c-format -msgid "Town" -msgstr "Ciudad" - -#: src/components/form/InputLocation.tsx:40 -#, c-format -msgid "District" -msgstr "Distrito" - -#: src/components/form/InputLocation.tsx:41 -#, c-format -msgid "Country subdivision" -msgstr "Provincia" - -#: src/components/form/InputSearchProduct.tsx:59 -#, fuzzy, c-format -msgid "Product id" -msgstr "Id de producto" - -#: src/components/form/InputSearchProduct.tsx:60 -#: src/components/product/ProductForm.tsx:99 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:122 -#: src/paths/instance/orders/list/Table.tsx:227 -#: src/paths/instance/products/list/Table.tsx:86 -#, c-format -msgid "Description" -msgstr "Descripcion" - -#: src/components/form/InputSearchProduct.tsx:73 -#: src/components/form/InputTaxes.tsx:81 -#: src/paths/admin/create/CreatePage.tsx:87 src/paths/admin/list/Table.tsx:110 -#: src/paths/instance/details/DetailPage.tsx:76 -#: src/paths/instance/update/UpdatePage.tsx:106 -#, c-format -msgid "Name" -msgstr "Nombre" - -#: src/components/form/InputSearchProduct.tsx:102 -#, c-format -msgid "loading..." -msgstr "Cargando..." - -#: src/components/form/InputSearchProduct.tsx:108 -#, c-format -msgid "no products found" -msgstr "No se encontraron productos" - -#: src/components/form/InputSearchProduct.tsx:116 -#, c-format -msgid "no results" -msgstr "Sin resultados" - -#: src/components/form/InputSecured.tsx:33 -#, c-format -msgid "Deleting" -msgstr "Borrando" - -#: src/components/form/InputSecured.tsx:34 -#, c-format -msgid "Changing" -msgstr "Cambiando" - -#: src/components/form/InputSecured.tsx:60 -#, c-format -msgid "Manage token" -msgstr "Administrar token" - -#: src/components/form/InputSecured.tsx:83 -#, c-format -msgid "Update" -msgstr "Actualizar" - -#: src/components/form/InputSecured.tsx:100 -#: src/paths/instance/orders/create/CreatePage.tsx:252 -#: src/paths/instance/orders/create/CreatePage.tsx:273 -#, c-format -msgid "Remove" -msgstr "Eliminar" - -#: src/components/form/InputSecured.tsx:106 src/components/modal/index.tsx:52 -#: src/components/modal/index.tsx:73 src/paths/admin/create/CreatePage.tsx:114 -#: src/paths/instance/orders/create/CreatePage.tsx:324 -#: src/paths/instance/products/create/CreatePage.tsx:50 -#: src/paths/instance/products/list/Table.tsx:166 -#: src/paths/instance/products/list/Table.tsx:218 -#: src/paths/instance/products/update/UpdatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:88 -#: src/paths/instance/update/UpdatePage.tsx:133 -#, c-format -msgid "Cancel" -msgstr "Cancelar" - -#: src/components/form/InputStock.tsx:91 -#, c-format -msgid "Manage stock" -msgstr "Administrar stock" - -#: src/components/form/InputStock.tsx:93 -#, c-format -msgid "Infinite" -msgstr "Inifinito" - -#: src/components/form/InputStock.tsx:105 -#, fuzzy, c-format -msgid "lost cannot be greater that current + incoming (max %1$s)" -msgstr "no puede ser mayor al stock actual %1$s" - -#: src/components/form/InputStock.tsx:111 -#, c-format -msgid "current stock will change from %1$s to %2$s" -msgstr "stock actual cambiará desde %1$s a %2$s" - -#: src/components/form/InputStock.tsx:112 -#, c-format -msgid "current stock will stay at %1$s" -msgstr "stock actual seguirá en %1$s" - -#: src/components/form/InputStock.tsx:129 -#: src/paths/instance/products/list/Table.tsx:204 -#, c-format -msgid "Incoming" -msgstr "Ingresando" - -#: src/components/form/InputStock.tsx:130 -#: src/paths/instance/products/list/Table.tsx:205 -#, c-format -msgid "Lost" -msgstr "Perdido" - -#: src/components/form/InputStock.tsx:142 -#, c-format -msgid "Current" -msgstr "Actual" - -#: src/components/form/InputStock.tsx:145 -#, c-format -msgid "without stock" -msgstr "sin stock" - -#: src/components/form/InputStock.tsx:150 -#, c-format -msgid "Next restock" -msgstr "Próximo reabastecimiento" - -#: src/components/form/InputStock.tsx:152 -#, c-format -msgid "Delivery address" -msgstr "Dirección de entrega" - -#: src/components/form/InputTaxes.tsx:73 -#, c-format -msgid "this product has no taxes" -msgstr "este producto no tiene impuestos" - -#: src/components/form/InputTaxes.tsx:77 -#: src/paths/instance/orders/details/DetailPage.tsx:145 -#: src/paths/instance/orders/details/DetailPage.tsx:296 -#: src/paths/instance/orders/list/Table.tsx:116 -#: src/paths/instance/transfers/create/CreatePage.tsx:84 -#, c-format -msgid "Amount" -msgstr "Monto" - -#: src/components/form/InputTaxes.tsx:78 -#, c-format -msgid "currency and value separated with colon" -msgstr "Moneda y valor separado por dos puntos" - -#: src/components/form/InputTaxes.tsx:84 -#: src/paths/instance/orders/create/InventoryProductForm.tsx:78 -#, c-format -msgid "Add" -msgstr "Agregar" - -#: src/components/menu/SideBar.tsx:53 -#, c-format -msgid "Instance" -msgstr "Instancia" - -#: src/components/menu/SideBar.tsx:59 -#, c-format -msgid "Settings" -msgstr "Configuración" - -#: src/components/menu/SideBar.tsx:65 -#: src/paths/instance/orders/list/Table.tsx:60 -#, fuzzy, c-format -msgid "Orders" -msgstr "Ordenes" - -#: src/components/menu/SideBar.tsx:71 -#: src/paths/instance/orders/create/CreatePage.tsx:258 -#: src/paths/instance/products/list/Table.tsx:48 -#, c-format -msgid "Products" -msgstr "Productos" - -#: src/components/menu/SideBar.tsx:77 -#: src/paths/instance/transfers/list/Table.tsx:65 -#, c-format -msgid "Transfers" -msgstr "Transferencias" - -#: src/components/menu/SideBar.tsx:87 -#, fuzzy, c-format -msgid "Connection" -msgstr "Conexión" - -#: src/components/menu/SideBar.tsx:112 src/paths/admin/list/Table.tsx:57 -#, c-format -msgid "Instances" -msgstr "Instancias" - -#: src/components/menu/SideBar.tsx:116 -#, fuzzy, c-format -msgid "New" -msgstr "Nuevo" - -#: src/components/menu/SideBar.tsx:122 -#, c-format -msgid "List" -msgstr "Lista" - -#: src/components/menu/SideBar.tsx:129 -#, c-format -msgid "Log out" -msgstr "Salir" - -#: src/components/modal/index.tsx:74 -#, c-format -msgid "Clear" -msgstr "Limpiar" - -#: src/components/modal/index.tsx:110 src/components/modal/index.tsx:111 -#, c-format -msgid "should be the same" -msgstr "deberÃan ser iguales" - -#: src/components/modal/index.tsx:111 -#, c-format -msgid "cannot be the same as before" -msgstr "no puede ser igual al anterior" - -#: src/components/modal/index.tsx:114 -#, c-format -msgid "" -"You are updating the authorization token from instance %1$s with id %2$s" -msgstr "" -"Está actualizando el token de autorización para la instancia %1$s con id %2$s" - -#: src/components/modal/index.tsx:124 -#, c-format -msgid "Old token" -msgstr "Viejo token" - -#: src/components/modal/index.tsx:125 -#, c-format -msgid "New token" -msgstr "Nuevo token" - -#: src/components/modal/index.tsx:127 -#, c-format -msgid "Clearing the auth token will mean public access to the instance" -msgstr "" -"Limpiar el token de autorización significa acceso publico a la instancia" - -#: src/components/product/ProductForm.tsx:96 -#: src/paths/admin/create/CreatePage.tsx:85 src/paths/admin/list/Table.tsx:109 -#: src/paths/instance/transfers/list/Table.tsx:122 -#, c-format -msgid "ID" -msgstr "ID" - -#: src/components/product/ProductForm.tsx:98 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:121 -#: src/paths/instance/products/list/Table.tsx:85 -#, c-format -msgid "Image" -msgstr "Imagen" - -#: src/components/product/ProductForm.tsx:100 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:123 -#, c-format -msgid "Unit" -msgstr "Unidad" - -#: src/components/product/ProductForm.tsx:101 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:124 -#: src/paths/instance/products/list/Table.tsx:162 -#: src/paths/instance/products/list/Table.tsx:214 -#, c-format -msgid "Price" -msgstr "Precio" - -#: src/components/product/ProductForm.tsx:103 -#: src/paths/instance/products/list/Table.tsx:90 -#, c-format -msgid "Stock" -msgstr "Stock" - -#: src/components/product/ProductForm.tsx:105 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:128 -#: src/paths/instance/products/list/Table.tsx:88 -#, c-format -msgid "Taxes" -msgstr "Impuesto" - -#: src/index.tsx:75 -#, c-format -msgid "Server not found" -msgstr "Servidor no encontrado" - -#: src/index.tsx:85 -#, c-format -msgid "Couldn't access the server" -msgstr "No se pudo aceder al servidor" - -#: src/index.tsx:87 src/index.tsx:99 -#, c-format -msgid "Got message %1$s from %2$s" -msgstr "Recivimos el mensaje %1$s desde %2$s" - -#: src/index.tsx:97 -#, c-format -msgid "Unexpected Error" -msgstr "Error inesperado" - -#: src/paths/admin/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:108 -#, c-format -msgid "Auth token" -msgstr "Token de autorización" - -#: src/paths/admin/create/CreatePage.tsx:91 -#: src/paths/instance/details/DetailPage.tsx:77 -#: src/paths/instance/update/UpdatePage.tsx:110 -#, c-format -msgid "Account address" -msgstr "Dirección de cuenta" - -#: src/paths/admin/create/CreatePage.tsx:93 -#: src/paths/instance/update/UpdatePage.tsx:112 -#, c-format -msgid "Default max deposit fee" -msgstr "Impuesto máximo de deposito por omisión" - -#: src/paths/admin/create/CreatePage.tsx:95 -#: src/paths/instance/update/UpdatePage.tsx:114 -#, c-format -msgid "Default max wire fee" -msgstr "Impuesto máximo de transferencia por omisión" - -#: src/paths/admin/create/CreatePage.tsx:97 -#: src/paths/instance/update/UpdatePage.tsx:116 -#, c-format -msgid "Default wire fee amortization" -msgstr "Amortización de impuesto de transferencia por omisión" - -#: src/paths/admin/create/CreatePage.tsx:103 -#: src/paths/instance/update/UpdatePage.tsx:122 -#, c-format -msgid "Jurisdiction" -msgstr "Jurisdicción" - -#: src/paths/admin/create/CreatePage.tsx:107 -#: src/paths/instance/update/UpdatePage.tsx:126 -#, c-format -msgid "Default pay delay" -msgstr "Retrazo de pago por omisión" - -#: src/paths/admin/create/CreatePage.tsx:109 -#: src/paths/instance/update/UpdatePage.tsx:128 -#, c-format -msgid "Default wire transfer delay" -msgstr "Retrazo de transferencia por omisión" - -#: src/paths/admin/create/index.tsx:58 -#, c-format -msgid "could not create instance" -msgstr "no se pudo crear la instancia" - -#: src/paths/admin/list/Table.tsx:63 src/paths/admin/list/Table.tsx:131 -#: src/paths/instance/transfers/list/Table.tsx:71 -#, fuzzy, c-format -msgid "Delete" -msgstr "Borrando" - -#: src/paths/admin/list/Table.tsx:128 -#, c-format -msgid "Edit" -msgstr "" - -#: src/paths/admin/list/Table.tsx:149 -#: src/paths/instance/products/list/Table.tsx:245 -#, c-format -msgid "There is no instances yet, add more pressing the + sign" -msgstr "No hay instancias todavÃan, agregue mas presionando el signo +" - -#: src/paths/instance/orders/create/CreatePage.tsx:237 -#, c-format -msgid "Inventory products" -msgstr "Productos de inventario" - -#: src/paths/instance/orders/create/CreatePage.tsx:286 -#, c-format -msgid "Total price" -msgstr "Precio total" - -#: src/paths/instance/orders/create/CreatePage.tsx:287 -#, c-format -msgid "Total tax" -msgstr "Impuesto total" - -#: src/paths/instance/orders/create/CreatePage.tsx:289 -#: src/paths/instance/orders/create/CreatePage.tsx:297 -#, c-format -msgid "Order price" -msgstr "Precio de la orden" - -#: src/paths/instance/orders/create/CreatePage.tsx:295 -#, fuzzy, c-format -msgid "Net" -msgstr "Neto" - -#: src/paths/instance/orders/create/CreatePage.tsx:300 -#: src/paths/instance/orders/details/DetailPage.tsx:144 -#: src/paths/instance/orders/details/DetailPage.tsx:295 -#: src/paths/instance/orders/list/Table.tsx:117 -#, c-format -msgid "Summary" -msgstr "Resumen" - -#: src/paths/instance/orders/create/CreatePage.tsx:302 -#, c-format -msgid "Payments options" -msgstr "Opciones de pago" - -#: src/paths/instance/orders/create/CreatePage.tsx:303 -#, c-format -msgid "Auto refund deadline" -msgstr "Plazo de reembolso automático" - -#: src/paths/instance/orders/create/CreatePage.tsx:304 -#, c-format -msgid "Refund deadline" -msgstr "Plazo de reembolso" - -#: src/paths/instance/orders/create/CreatePage.tsx:305 -#, c-format -msgid "Pay deadline" -msgstr "Plazo de pago" - -#: src/paths/instance/orders/create/CreatePage.tsx:307 -#, c-format -msgid "Delivery date" -msgstr "Fecha de entrega" - -#: src/paths/instance/orders/create/CreatePage.tsx:308 -#, fuzzy, c-format -msgid "Location" -msgstr "Ubicación" - -#: src/paths/instance/orders/create/CreatePage.tsx:312 -#, c-format -msgid "Max fee" -msgstr "Impuesto máximo" - -#: src/paths/instance/orders/create/CreatePage.tsx:313 -#, c-format -msgid "Max wire fee" -msgstr "Impuesto de transferencia máximo" - -#: src/paths/instance/orders/create/CreatePage.tsx:314 -#, c-format -msgid "Wire fee amortization" -msgstr "Amortización de impuesto de transferencia" - -#: src/paths/instance/orders/create/CreatePage.tsx:315 -#, c-format -msgid "Fullfilment url" -msgstr "URL de completitud" - -#: src/paths/instance/orders/create/CreatePage.tsx:318 -#, c-format -msgid "Extra information" -msgstr "Información extra" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:44 -#, c-format -msgid "select a product first" -msgstr "seleccione un producto primero" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:51 -#, fuzzy, c-format -msgid "should be greater than 0" -msgstr "La imagen debe ser mas chica que 1 MB" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:58 -#, c-format -msgid "" -"cannot be greater than current stock and quantity previously added. max: %1$s" -msgstr "" -"no puede ser mayor al stock actual y la cantidad previamente agregada. " -"máximo: %1$s" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:64 -#, c-format -msgid "cannot be greater than current stock %1$s" -msgstr "no puede ser mayor al stock actual %1$s" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:76 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:126 -#, c-format -msgid "Quantity" -msgstr "Cantidad" - -#: src/paths/instance/orders/details/DetailPage.tsx:92 -#: src/paths/instance/orders/details/DetailPage.tsx:235 -#: src/paths/instance/orders/details/DetailPage.tsx:333 -#, c-format -msgid "Order" -msgstr "Orden" - -#: src/paths/instance/orders/details/DetailPage.tsx:93 -#, c-format -msgid "claimed" -msgstr "reclamado" - -#: src/paths/instance/orders/details/DetailPage.tsx:110 -#: src/paths/instance/orders/details/DetailPage.tsx:261 -#: src/paths/instance/orders/list/Table.tsx:136 -#, c-format -msgid "copy url" -msgstr "copiar url" - -#: src/paths/instance/orders/details/DetailPage.tsx:126 -#: src/paths/instance/orders/details/DetailPage.tsx:349 -#, c-format -msgid "pay at" -msgstr "pagar en" - -#: src/paths/instance/orders/details/DetailPage.tsx:127 -#: src/paths/instance/orders/details/DetailPage.tsx:350 -#, c-format -msgid "created at" -msgstr "creado" - -#: src/paths/instance/orders/details/DetailPage.tsx:138 -#: src/paths/instance/orders/details/DetailPage.tsx:289 -#, c-format -msgid "Timeline" -msgstr "CronologÃa" - -#: src/paths/instance/orders/details/DetailPage.tsx:142 -#: src/paths/instance/orders/details/DetailPage.tsx:293 -#, c-format -msgid "Payment details" -msgstr "Detalles de pago" - -#: src/paths/instance/orders/details/DetailPage.tsx:146 -#: src/paths/instance/orders/details/DetailPage.tsx:299 -#: src/paths/instance/orders/details/DetailPage.tsx:363 -#, fuzzy, c-format -msgid "Order status" -msgstr "Estado de orden" - -#: src/paths/instance/orders/details/DetailPage.tsx:156 -#: src/paths/instance/orders/details/DetailPage.tsx:308 -#, fuzzy, c-format -msgid "Product list" -msgstr "Lista de producto" - -#: src/paths/instance/orders/details/DetailPage.tsx:236 -#, c-format -msgid "paid" -msgstr "pagados" - -#: src/paths/instance/orders/details/DetailPage.tsx:238 -#, c-format -msgid "wired" -msgstr "transferido" - -#: src/paths/instance/orders/details/DetailPage.tsx:241 -#, c-format -msgid "refunded" -msgstr "reembolzado" - -#: src/paths/instance/orders/details/DetailPage.tsx:258 -#, c-format -msgid "refund" -msgstr "reembolzar" - -#: src/paths/instance/orders/details/DetailPage.tsx:297 -#, c-format -msgid "Refunded amount" -msgstr "Monto reembolzado" - -#: src/paths/instance/orders/details/DetailPage.tsx:298 -#, c-format -msgid "Deposit total" -msgstr "Total depositado" - -#: src/paths/instance/orders/details/DetailPage.tsx:336 -#, c-format -msgid "unpaid" -msgstr "impago" - -#: src/paths/instance/orders/details/DetailPage.tsx:364 -#, c-format -msgid "Order status URL" -msgstr "URL de estado de orden" - -#: src/paths/instance/orders/details/DetailPage.tsx:365 -#, c-format -msgid "Pay URI" -msgstr "URI de pago" - -#: src/paths/instance/orders/details/DetailPage.tsx:383 -#, c-format -msgid "" -"Unknown order status. This is an error, please contact the administrator." -msgstr "" -"Estado de orden desconocido. Esto es un error, por favor contacte a su " -"administrador" - -#: src/paths/instance/orders/details/index.tsx:56 -#: src/paths/instance/orders/list/index.tsx:147 -#, c-format -msgid "refund created successfully" -msgstr "reembolzo creado satisfactoriamente" - -#: src/paths/instance/orders/details/index.tsx:59 -#: src/paths/instance/orders/list/index.tsx:150 -#, fuzzy, c-format -msgid "could not create the refund" -msgstr "No se pudo aceder al servidor" - -#: src/paths/instance/orders/list/Table.tsx:111 -#, c-format -msgid "load newer orders" -msgstr "cargar nuevas ordenes" - -#: src/paths/instance/orders/list/Table.tsx:115 -#, c-format -msgid "Date" -msgstr "Fecha" - -#: src/paths/instance/orders/list/Table.tsx:131 -#: src/paths/instance/orders/list/Table.tsx:223 -#, c-format -msgid "Refund" -msgstr "Reembolzar" - -#: src/paths/instance/orders/list/Table.tsx:145 -#, c-format -msgid "load older orders" -msgstr "cargar viejas ordenes" - -#: src/paths/instance/orders/list/Table.tsx:154 -#, c-format -msgid "No orders has been found" -msgstr "No se enconraron ordenes" - -#: src/paths/instance/orders/list/Table.tsx:202 -#, c-format -msgid "date" -msgstr "fecha" - -#: src/paths/instance/orders/list/Table.tsx:203 -#, c-format -msgid "amount" -msgstr "monto" - -#: src/paths/instance/orders/list/Table.tsx:204 -#, c-format -msgid "reason" -msgstr "razón" - -#: src/paths/instance/orders/list/Table.tsx:224 -#, c-format -msgid "Max refundable:" -msgstr "Máximo reembolzable:" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "Reason" -msgstr "Razón" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "duplicated" -msgstr "duplicado" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "requested by the customer" -msgstr "pedido por el consumidor" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "other" -msgstr "otro" - -#: src/paths/instance/orders/list/index.tsx:91 -#, c-format -msgid "go to order id" -msgstr "ir a id de orden" - -#: src/paths/instance/orders/list/index.tsx:107 -#, c-format -msgid "Paid" -msgstr "Pagado" - -#: src/paths/instance/orders/list/index.tsx:108 -#, fuzzy, c-format -msgid "Refunded" -msgstr "Reembolzado" - -#: src/paths/instance/orders/list/index.tsx:109 -#, fuzzy, c-format -msgid "Not wired" -msgstr "No transferido" - -#: src/paths/instance/orders/list/index.tsx:110 -#, c-format -msgid "All" -msgstr "Todo" - -#: src/paths/instance/products/create/index.tsx:48 -#: src/paths/instance/products/update/index.tsx:64 -#, c-format -msgid "could not create product" -msgstr "no se pudo crear el producto" - -#: src/paths/instance/products/list/Table.tsx:87 -#, c-format -msgid "Sell" -msgstr "Venta" - -#: src/paths/instance/products/list/Table.tsx:89 -#, c-format -msgid "Profit" -msgstr "Ganancia" - -#: src/paths/instance/products/list/Table.tsx:91 -#, c-format -msgid "Sold" -msgstr "Vendido" - -#: src/paths/instance/products/list/index.tsx:59 -#, c-format -msgid "product updated successfully" -msgstr "producto actualizado correctamente" - -#: src/paths/instance/products/list/index.tsx:62 -#, c-format -msgid "could not update the product" -msgstr "no se pudo actualizar el producto" - -#: src/paths/instance/products/list/index.tsx:70 -#, c-format -msgid "product delete successfully" -msgstr "producto fue eliminado correctamente" - -#: src/paths/instance/products/list/index.tsx:73 -#, c-format -msgid "could not delete the product" -msgstr "no se pudo eliminar el producto" - -#: src/paths/instance/tips/list/Table.tsx:59 -#, c-format -msgid "Tips" -msgstr "Propinas" - -#: src/paths/instance/tips/list/Table.tsx:111 -#, c-format -msgid "Committed amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:112 -#, c-format -msgid "Exchange initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:113 -#, c-format -msgid "Merchant initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:148 -#, c-format -msgid "There is no tips yet, add more pressing the + sign" -msgstr "No hay propinas todavÃa, agregar mas presionando el signo +" - -#: src/paths/instance/transfers/create/CreatePage.tsx:50 -#: src/paths/instance/transfers/create/CreatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:56 -#, c-format -msgid "cannot be empty" -msgstr "no puede ser vacÃo" - -#: src/paths/instance/transfers/create/CreatePage.tsx:51 -#, c-format -msgid "check the id, doest look valid" -msgstr "verificar el id, no parece válido" - -#: src/paths/instance/transfers/create/CreatePage.tsx:52 -#, c-format -msgid "should have 52 characters, current %1$s" -msgstr "deberÃa tener 52 caracteres, actualmente %1$s" - -#: src/paths/instance/transfers/create/CreatePage.tsx:57 -#, c-format -msgid "URL doesn't have the right format" -msgstr "La URL no tiene el formato correcto" - -#: src/paths/instance/transfers/create/CreatePage.tsx:74 -#, fuzzy, c-format -msgid "Transfer ID" -msgstr "Transferencias" - -#: src/paths/instance/transfers/create/CreatePage.tsx:76 -#, fuzzy, c-format -msgid "Account Address" -msgstr "Dirección de cuenta" - -#: src/paths/instance/transfers/create/CreatePage.tsx:82 -#: src/paths/instance/transfers/list/Table.tsx:125 -#, c-format -msgid "Exchange URL" -msgstr "URL del Exchange" - -#: src/paths/instance/transfers/create/index.tsx:49 -#, fuzzy, c-format -msgid "could not inform transfer" -msgstr "no se pudo crear la instancia" - -#: src/paths/instance/transfers/list/Table.tsx:118 -#, fuzzy, c-format -msgid "load newer transfers" -msgstr "cargar nuevas ordenes" - -#: src/paths/instance/transfers/list/Table.tsx:123 -#, c-format -msgid "Credit" -msgstr "Crédito" - -#: src/paths/instance/transfers/list/Table.tsx:126 -#, fuzzy, c-format -msgid "Confirmed" -msgstr "Confirmar" - -#: src/paths/instance/transfers/list/Table.tsx:127 -#: src/paths/instance/transfers/list/index.tsx:60 -#, c-format -msgid "Verified" -msgstr "Verificado" - -#: src/paths/instance/transfers/list/Table.tsx:128 -#, fuzzy, c-format -msgid "Executed at" -msgstr "creado" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "yes" -msgstr "si" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "no" -msgstr "no" - -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "unknown" -msgstr "desconocido" - -#: src/paths/instance/transfers/list/Table.tsx:145 -#, fuzzy, c-format -msgid "load older transfers" -msgstr "cargar viejas transferencias" - -#: src/paths/instance/transfers/list/Table.tsx:154 -#, c-format -msgid "There is no transfer yet, add more pressing the + sign" -msgstr "No hay transferencias todavÃa, agregar mas presionando el signo +" diff --git a/packages/merchant-backend-ui/src/i18n/fr.po b/packages/merchant-backend-ui/src/i18n/fr.po deleted file mode 100644 index 6b35bd0ce..000000000 --- a/packages/merchant-backend-ui/src/i18n/fr.po +++ /dev/null @@ -1,1057 +0,0 @@ -# This file is part of TALER -# (C) 2016 GNUnet e.V. -# -# TALER is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. -# -# TALER is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Taler Wallet\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 00:00+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/ApplicationReadyRoutes.tsx:50 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:299 -#, c-format -msgid "Access denied" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:51 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:300 -#, c-format -msgid "Check your token is valid" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:72 -#, c-format -msgid "Couldn't access the server." -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:73 -#, c-format -msgid "Could not infer instance id from url %1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:109 -#, c-format -msgid "HTTP status #%1$s: Server reported a problem" -msgstr "" - -#: src/InstanceRoutes.tsx:110 -#, c-format -msgid "Got message: \"%1$s\" from: %2$s" -msgstr "" - -#: src/InstanceRoutes.tsx:127 -#, c-format -msgid "No default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:128 -#, c-format -msgid "" -"in order to use merchant backoffice, you should create the default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:288 -#, c-format -msgid "Server reported a problem: HTTP status #%1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:289 -#, c-format -msgid "Got message: %1$s from: %2$s" -msgstr "" - -#: src/components/exception/login.tsx:46 -#, c-format -msgid "Login required" -msgstr "" - -#: src/components/exception/login.tsx:49 -#, c-format -msgid "" -"Please enter your auth token. Token should have \"secret-token:\" and start " -"with Bearer or ApiKey" -msgstr "" - -#: src/components/exception/login.tsx:86 src/components/modal/index.tsx:53 -#: src/components/modal/index.tsx:75 src/paths/admin/create/CreatePage.tsx:115 -#: src/paths/instance/orders/create/CreatePage.tsx:325 -#: src/paths/instance/products/create/CreatePage.tsx:51 -#: src/paths/instance/products/list/Table.tsx:174 -#: src/paths/instance/products/list/Table.tsx:228 -#: src/paths/instance/products/update/UpdatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:134 -#, c-format -msgid "Confirm" -msgstr "" - -#: src/components/form/InputArray.tsx:72 -#, c-format -msgid "The value %1$s is invalid for a payment url" -msgstr "" - -#: src/components/form/InputDate.tsx:67 -#: src/paths/instance/orders/list/index.tsx:123 -#, c-format -msgid "pick a date" -msgstr "" - -#: src/components/form/InputDate.tsx:81 -#, c-format -msgid "clear" -msgstr "" - -#: src/components/form/InputDate.tsx:83 -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "never" -msgstr "" - -#: src/components/form/InputImage.tsx:80 -#, c-format -msgid "Image should be smaller than 1 MB" -msgstr "" - -#: src/components/form/InputLocation.tsx:28 -#, c-format -msgid "Country" -msgstr "" - -#: src/components/form/InputLocation.tsx:30 -#: src/paths/admin/create/CreatePage.tsx:99 -#: src/paths/instance/transfers/list/Table.tsx:124 -#: src/paths/instance/update/UpdatePage.tsx:118 -#, c-format -msgid "Address" -msgstr "" - -#: src/components/form/InputLocation.tsx:34 -#, c-format -msgid "Building number" -msgstr "" - -#: src/components/form/InputLocation.tsx:35 -#, c-format -msgid "Building name" -msgstr "" - -#: src/components/form/InputLocation.tsx:36 -#, c-format -msgid "Street" -msgstr "" - -#: src/components/form/InputLocation.tsx:37 -#, c-format -msgid "Post code" -msgstr "" - -#: src/components/form/InputLocation.tsx:38 -#, c-format -msgid "Town location" -msgstr "" - -#: src/components/form/InputLocation.tsx:39 -#, c-format -msgid "Town" -msgstr "" - -#: src/components/form/InputLocation.tsx:40 -#, c-format -msgid "District" -msgstr "" - -#: src/components/form/InputLocation.tsx:41 -#, c-format -msgid "Country subdivision" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:59 -#, c-format -msgid "Product id" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:60 -#: src/components/product/ProductForm.tsx:99 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:122 -#: src/paths/instance/orders/list/Table.tsx:227 -#: src/paths/instance/products/list/Table.tsx:86 -#, c-format -msgid "Description" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:73 -#: src/components/form/InputTaxes.tsx:81 -#: src/paths/admin/create/CreatePage.tsx:87 src/paths/admin/list/Table.tsx:110 -#: src/paths/instance/details/DetailPage.tsx:76 -#: src/paths/instance/update/UpdatePage.tsx:106 -#, c-format -msgid "Name" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:102 -#, c-format -msgid "loading..." -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:108 -#, c-format -msgid "no products found" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:116 -#, c-format -msgid "no results" -msgstr "" - -#: src/components/form/InputSecured.tsx:33 -#, c-format -msgid "Deleting" -msgstr "" - -#: src/components/form/InputSecured.tsx:34 -#, c-format -msgid "Changing" -msgstr "" - -#: src/components/form/InputSecured.tsx:60 -#, c-format -msgid "Manage token" -msgstr "" - -#: src/components/form/InputSecured.tsx:83 -#, c-format -msgid "Update" -msgstr "" - -#: src/components/form/InputSecured.tsx:100 -#: src/paths/instance/orders/create/CreatePage.tsx:252 -#: src/paths/instance/orders/create/CreatePage.tsx:273 -#, c-format -msgid "Remove" -msgstr "" - -#: src/components/form/InputSecured.tsx:106 src/components/modal/index.tsx:52 -#: src/components/modal/index.tsx:73 src/paths/admin/create/CreatePage.tsx:114 -#: src/paths/instance/orders/create/CreatePage.tsx:324 -#: src/paths/instance/products/create/CreatePage.tsx:50 -#: src/paths/instance/products/list/Table.tsx:166 -#: src/paths/instance/products/list/Table.tsx:218 -#: src/paths/instance/products/update/UpdatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:88 -#: src/paths/instance/update/UpdatePage.tsx:133 -#, c-format -msgid "Cancel" -msgstr "" - -#: src/components/form/InputStock.tsx:91 -#, c-format -msgid "Manage stock" -msgstr "" - -#: src/components/form/InputStock.tsx:93 -#, c-format -msgid "Infinite" -msgstr "" - -#: src/components/form/InputStock.tsx:105 -#, c-format -msgid "lost cannot be greater that current + incoming (max %1$s)" -msgstr "" - -#: src/components/form/InputStock.tsx:111 -#, c-format -msgid "current stock will change from %1$s to %2$s" -msgstr "" - -#: src/components/form/InputStock.tsx:112 -#, c-format -msgid "current stock will stay at %1$s" -msgstr "" - -#: src/components/form/InputStock.tsx:129 -#: src/paths/instance/products/list/Table.tsx:204 -#, c-format -msgid "Incoming" -msgstr "" - -#: src/components/form/InputStock.tsx:130 -#: src/paths/instance/products/list/Table.tsx:205 -#, c-format -msgid "Lost" -msgstr "" - -#: src/components/form/InputStock.tsx:142 -#, c-format -msgid "Current" -msgstr "" - -#: src/components/form/InputStock.tsx:145 -#, c-format -msgid "without stock" -msgstr "" - -#: src/components/form/InputStock.tsx:150 -#, c-format -msgid "Next restock" -msgstr "" - -#: src/components/form/InputStock.tsx:152 -#, c-format -msgid "Delivery address" -msgstr "" - -#: src/components/form/InputTaxes.tsx:73 -#, c-format -msgid "this product has no taxes" -msgstr "" - -#: src/components/form/InputTaxes.tsx:77 -#: src/paths/instance/orders/details/DetailPage.tsx:145 -#: src/paths/instance/orders/details/DetailPage.tsx:296 -#: src/paths/instance/orders/list/Table.tsx:116 -#: src/paths/instance/transfers/create/CreatePage.tsx:84 -#, c-format -msgid "Amount" -msgstr "" - -#: src/components/form/InputTaxes.tsx:78 -#, c-format -msgid "currency and value separated with colon" -msgstr "" - -#: src/components/form/InputTaxes.tsx:84 -#: src/paths/instance/orders/create/InventoryProductForm.tsx:78 -#, c-format -msgid "Add" -msgstr "" - -#: src/components/menu/SideBar.tsx:53 -#, c-format -msgid "Instance" -msgstr "" - -#: src/components/menu/SideBar.tsx:59 -#, c-format -msgid "Settings" -msgstr "" - -#: src/components/menu/SideBar.tsx:65 -#: src/paths/instance/orders/list/Table.tsx:60 -#, c-format -msgid "Orders" -msgstr "" - -#: src/components/menu/SideBar.tsx:71 -#: src/paths/instance/orders/create/CreatePage.tsx:258 -#: src/paths/instance/products/list/Table.tsx:48 -#, c-format -msgid "Products" -msgstr "" - -#: src/components/menu/SideBar.tsx:77 -#: src/paths/instance/transfers/list/Table.tsx:65 -#, c-format -msgid "Transfers" -msgstr "" - -#: src/components/menu/SideBar.tsx:87 -#, c-format -msgid "Connection" -msgstr "" - -#: src/components/menu/SideBar.tsx:112 src/paths/admin/list/Table.tsx:57 -#, c-format -msgid "Instances" -msgstr "" - -#: src/components/menu/SideBar.tsx:116 -#, c-format -msgid "New" -msgstr "" - -#: src/components/menu/SideBar.tsx:122 -#, c-format -msgid "List" -msgstr "" - -#: src/components/menu/SideBar.tsx:129 -#, c-format -msgid "Log out" -msgstr "" - -#: src/components/modal/index.tsx:74 -#, c-format -msgid "Clear" -msgstr "" - -#: src/components/modal/index.tsx:110 src/components/modal/index.tsx:111 -#, c-format -msgid "should be the same" -msgstr "" - -#: src/components/modal/index.tsx:111 -#, c-format -msgid "cannot be the same as before" -msgstr "" - -#: src/components/modal/index.tsx:114 -#, c-format -msgid "" -"You are updating the authorization token from instance %1$s with id %2$s" -msgstr "" - -#: src/components/modal/index.tsx:124 -#, c-format -msgid "Old token" -msgstr "" - -#: src/components/modal/index.tsx:125 -#, c-format -msgid "New token" -msgstr "" - -#: src/components/modal/index.tsx:127 -#, c-format -msgid "Clearing the auth token will mean public access to the instance" -msgstr "" - -#: src/components/product/ProductForm.tsx:96 -#: src/paths/admin/create/CreatePage.tsx:85 src/paths/admin/list/Table.tsx:109 -#: src/paths/instance/transfers/list/Table.tsx:122 -#, c-format -msgid "ID" -msgstr "" - -#: src/components/product/ProductForm.tsx:98 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:121 -#: src/paths/instance/products/list/Table.tsx:85 -#, c-format -msgid "Image" -msgstr "" - -#: src/components/product/ProductForm.tsx:100 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:123 -#, c-format -msgid "Unit" -msgstr "" - -#: src/components/product/ProductForm.tsx:101 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:124 -#: src/paths/instance/products/list/Table.tsx:162 -#: src/paths/instance/products/list/Table.tsx:214 -#, c-format -msgid "Price" -msgstr "" - -#: src/components/product/ProductForm.tsx:103 -#: src/paths/instance/products/list/Table.tsx:90 -#, c-format -msgid "Stock" -msgstr "" - -#: src/components/product/ProductForm.tsx:105 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:128 -#: src/paths/instance/products/list/Table.tsx:88 -#, c-format -msgid "Taxes" -msgstr "" - -#: src/index.tsx:75 -#, c-format -msgid "Server not found" -msgstr "" - -#: src/index.tsx:85 -#, c-format -msgid "Couldn't access the server" -msgstr "" - -#: src/index.tsx:87 src/index.tsx:99 -#, c-format -msgid "Got message %1$s from %2$s" -msgstr "" - -#: src/index.tsx:97 -#, c-format -msgid "Unexpected Error" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:108 -#, c-format -msgid "Auth token" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:91 -#: src/paths/instance/details/DetailPage.tsx:77 -#: src/paths/instance/update/UpdatePage.tsx:110 -#, c-format -msgid "Account address" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:93 -#: src/paths/instance/update/UpdatePage.tsx:112 -#, c-format -msgid "Default max deposit fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:95 -#: src/paths/instance/update/UpdatePage.tsx:114 -#, c-format -msgid "Default max wire fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:97 -#: src/paths/instance/update/UpdatePage.tsx:116 -#, c-format -msgid "Default wire fee amortization" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:103 -#: src/paths/instance/update/UpdatePage.tsx:122 -#, c-format -msgid "Jurisdiction" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:107 -#: src/paths/instance/update/UpdatePage.tsx:126 -#, c-format -msgid "Default pay delay" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:109 -#: src/paths/instance/update/UpdatePage.tsx:128 -#, c-format -msgid "Default wire transfer delay" -msgstr "" - -#: src/paths/admin/create/index.tsx:58 -#, c-format -msgid "could not create instance" -msgstr "" - -#: src/paths/admin/list/Table.tsx:63 src/paths/admin/list/Table.tsx:131 -#: src/paths/instance/transfers/list/Table.tsx:71 -#, c-format -msgid "Delete" -msgstr "" - -#: src/paths/admin/list/Table.tsx:128 -#, c-format -msgid "Edit" -msgstr "" - -#: src/paths/admin/list/Table.tsx:149 -#: src/paths/instance/products/list/Table.tsx:245 -#, c-format -msgid "There is no instances yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:237 -#, c-format -msgid "Inventory products" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:286 -#, c-format -msgid "Total price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:287 -#, c-format -msgid "Total tax" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:289 -#: src/paths/instance/orders/create/CreatePage.tsx:297 -#, c-format -msgid "Order price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:295 -#, c-format -msgid "Net" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:300 -#: src/paths/instance/orders/details/DetailPage.tsx:144 -#: src/paths/instance/orders/details/DetailPage.tsx:295 -#: src/paths/instance/orders/list/Table.tsx:117 -#, c-format -msgid "Summary" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:302 -#, c-format -msgid "Payments options" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:303 -#, c-format -msgid "Auto refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:304 -#, c-format -msgid "Refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:305 -#, c-format -msgid "Pay deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:307 -#, c-format -msgid "Delivery date" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:308 -#, c-format -msgid "Location" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:312 -#, c-format -msgid "Max fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:313 -#, c-format -msgid "Max wire fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:314 -#, c-format -msgid "Wire fee amortization" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:315 -#, c-format -msgid "Fullfilment url" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:318 -#, c-format -msgid "Extra information" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:44 -#, c-format -msgid "select a product first" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:51 -#, c-format -msgid "should be greater than 0" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:58 -#, c-format -msgid "" -"cannot be greater than current stock and quantity previously added. max: %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:64 -#, c-format -msgid "cannot be greater than current stock %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:76 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:126 -#, c-format -msgid "Quantity" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:92 -#: src/paths/instance/orders/details/DetailPage.tsx:235 -#: src/paths/instance/orders/details/DetailPage.tsx:333 -#, c-format -msgid "Order" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:93 -#, c-format -msgid "claimed" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:110 -#: src/paths/instance/orders/details/DetailPage.tsx:261 -#: src/paths/instance/orders/list/Table.tsx:136 -#, c-format -msgid "copy url" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:126 -#: src/paths/instance/orders/details/DetailPage.tsx:349 -#, c-format -msgid "pay at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:127 -#: src/paths/instance/orders/details/DetailPage.tsx:350 -#, c-format -msgid "created at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:138 -#: src/paths/instance/orders/details/DetailPage.tsx:289 -#, c-format -msgid "Timeline" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:142 -#: src/paths/instance/orders/details/DetailPage.tsx:293 -#, c-format -msgid "Payment details" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:146 -#: src/paths/instance/orders/details/DetailPage.tsx:299 -#: src/paths/instance/orders/details/DetailPage.tsx:363 -#, c-format -msgid "Order status" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:156 -#: src/paths/instance/orders/details/DetailPage.tsx:308 -#, c-format -msgid "Product list" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:236 -#, c-format -msgid "paid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:238 -#, c-format -msgid "wired" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:241 -#, c-format -msgid "refunded" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:258 -#, c-format -msgid "refund" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:297 -#, c-format -msgid "Refunded amount" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:298 -#, c-format -msgid "Deposit total" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:336 -#, c-format -msgid "unpaid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:364 -#, c-format -msgid "Order status URL" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:365 -#, c-format -msgid "Pay URI" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:383 -#, c-format -msgid "" -"Unknown order status. This is an error, please contact the administrator." -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:56 -#: src/paths/instance/orders/list/index.tsx:147 -#, c-format -msgid "refund created successfully" -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:59 -#: src/paths/instance/orders/list/index.tsx:150 -#, c-format -msgid "could not create the refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:111 -#, c-format -msgid "load newer orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:115 -#, c-format -msgid "Date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:131 -#: src/paths/instance/orders/list/Table.tsx:223 -#, c-format -msgid "Refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:145 -#, c-format -msgid "load older orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:154 -#, c-format -msgid "No orders has been found" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:202 -#, c-format -msgid "date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:203 -#, c-format -msgid "amount" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:204 -#, c-format -msgid "reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:224 -#, c-format -msgid "Max refundable:" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "Reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "duplicated" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "requested by the customer" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "other" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:91 -#, c-format -msgid "go to order id" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:107 -#, c-format -msgid "Paid" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:108 -#, c-format -msgid "Refunded" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:109 -#, c-format -msgid "Not wired" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:110 -#, c-format -msgid "All" -msgstr "" - -#: src/paths/instance/products/create/index.tsx:48 -#: src/paths/instance/products/update/index.tsx:64 -#, c-format -msgid "could not create product" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:87 -#, c-format -msgid "Sell" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:89 -#, c-format -msgid "Profit" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:91 -#, c-format -msgid "Sold" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:59 -#, c-format -msgid "product updated successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:62 -#, c-format -msgid "could not update the product" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:70 -#, c-format -msgid "product delete successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:73 -#, c-format -msgid "could not delete the product" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:59 -#, c-format -msgid "Tips" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:111 -#, c-format -msgid "Committed amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:112 -#, c-format -msgid "Exchange initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:113 -#, c-format -msgid "Merchant initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:148 -#, c-format -msgid "There is no tips yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:50 -#: src/paths/instance/transfers/create/CreatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:56 -#, c-format -msgid "cannot be empty" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:51 -#, c-format -msgid "check the id, doest look valid" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:52 -#, c-format -msgid "should have 52 characters, current %1$s" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:57 -#, c-format -msgid "URL doesn't have the right format" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:74 -#, c-format -msgid "Transfer ID" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:76 -#, c-format -msgid "Account Address" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:82 -#: src/paths/instance/transfers/list/Table.tsx:125 -#, c-format -msgid "Exchange URL" -msgstr "" - -#: src/paths/instance/transfers/create/index.tsx:49 -#, c-format -msgid "could not inform transfer" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:118 -#, c-format -msgid "load newer transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:123 -#, c-format -msgid "Credit" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:126 -#, c-format -msgid "Confirmed" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:127 -#: src/paths/instance/transfers/list/index.tsx:60 -#, c-format -msgid "Verified" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:128 -#, c-format -msgid "Executed at" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "yes" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "no" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "unknown" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:145 -#, c-format -msgid "load older transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:154 -#, c-format -msgid "There is no transfer yet, add more pressing the + sign" -msgstr "" diff --git a/packages/merchant-backend-ui/src/i18n/index.tsx b/packages/merchant-backend-ui/src/i18n/index.tsx deleted file mode 100644 index 63c8e1934..000000000 --- a/packages/merchant-backend-ui/src/i18n/index.tsx +++ /dev/null @@ -1,203 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** - * Translation helpers for React components and template literals. - */ - -/** - * Imports - */ -import { ComponentChild, ComponentChildren, h, Fragment, VNode } from "preact"; - -import { useTranslationContext } from "../context/translation"; - -export function useTranslator() { - const ctx = useTranslationContext(); - const jed = ctx.handler - return function str(stringSeq: TemplateStringsArray, ...values: any[]): string { - const s = toI18nString(stringSeq); - if (!s) return s - const tr = jed - .translate(s) - .ifPlural(1, s) - .fetch(...values); - return tr; - } -} - - -/** - * Convert template strings to a msgid - */ - function toI18nString(stringSeq: ReadonlyArray<string>): string { - let s = ""; - for (let i = 0; i < stringSeq.length; i++) { - s += stringSeq[i]; - if (i < stringSeq.length - 1) { - s += `%${i + 1}$s`; - } - } - return s; -} - - -interface TranslateSwitchProps { - target: number; - children: ComponentChildren; -} - -function stringifyChildren(children: ComponentChildren): string { - let n = 1; - const ss = (children instanceof Array ? children : [children]).map((c) => { - if (typeof c === "string") { - return c; - } - return `%${n++}$s`; - }); - const s = ss.join("").replace(/ +/g, " ").trim(); - return s; -} - -interface TranslateProps { - children: ComponentChildren; - /** - * Component that the translated element should be wrapped in. - * Defaults to "div". - */ - wrap?: any; - - /** - * Props to give to the wrapped component. - */ - wrapProps?: any; -} - -function getTranslatedChildren( - translation: string, - children: ComponentChildren, -): ComponentChild[] { - const tr = translation.split(/%(\d+)\$s/); - const childArray = children instanceof Array ? children : [children]; - // Merge consecutive string children. - const placeholderChildren = Array<ComponentChild>(); - for (let i = 0; i < childArray.length; i++) { - const x = childArray[i]; - if (x === undefined) { - continue; - } else if (typeof x === "string") { - continue; - } else { - placeholderChildren.push(x); - } - } - const result = Array<ComponentChild>(); - for (let i = 0; i < tr.length; i++) { - if (i % 2 == 0) { - // Text - result.push(tr[i]); - } else { - const childIdx = Number.parseInt(tr[i],10) - 1; - result.push(placeholderChildren[childIdx]); - } - } - return result; -} - -/** - * Translate text node children of this component. - * If a child component might produce a text node, it must be wrapped - * in a another non-text element. - * - * Example: - * ``` - * <Translate> - * Hello. Your score is <span><PlayerScore player={player} /></span> - * </Translate> - * ``` - */ -export function Translate({ children }: TranslateProps): VNode { - const s = stringifyChildren(children); - const ctx = useTranslationContext() - const translation: string = ctx.handler.ngettext(s, s, 1); - const result = getTranslatedChildren(translation, children) - return <Fragment>{result}</Fragment>; -} - -/** - * Switch translation based on singular or plural based on the target prop. - * Should only contain TranslateSingular and TransplatePlural as children. - * - * Example: - * ``` - * <TranslateSwitch target={n}> - * <TranslateSingular>I have {n} apple.</TranslateSingular> - * <TranslatePlural>I have {n} apples.</TranslatePlural> - * </TranslateSwitch> - * ``` - */ -export function TranslateSwitch({ children, target }: TranslateSwitchProps) { - let singular: VNode<TranslationPluralProps> | undefined; - let plural: VNode<TranslationPluralProps> | undefined; - // const children = this.props.children; - if (children) { - (children instanceof Array ? children : [children]).forEach((child: any) => { - if (child.type === TranslatePlural) { - plural = child; - } - if (child.type === TranslateSingular) { - singular = child; - } - }); - } - if (!singular || !plural) { - console.error("translation not found"); - return h("span", {}, ["translation not found"]); - } - singular.props.target = target; - plural.props.target = target; - // We're looking up the translation based on the - // singular, even if we must use the plural form. - return singular; -} - -interface TranslationPluralProps { - children: ComponentChildren; - target: number; -} - -/** - * See [[TranslateSwitch]]. - */ -export function TranslatePlural({ children, target }: TranslationPluralProps): VNode { - const s = stringifyChildren(children); - const ctx = useTranslationContext() - const translation = ctx.handler.ngettext(s, s, 1); - const result = getTranslatedChildren(translation, children); - return <Fragment>{result}</Fragment>; -} - -/** - * See [[TranslateSwitch]]. - */ -export function TranslateSingular({ children, target }: TranslationPluralProps): VNode { - const s = stringifyChildren(children); - const ctx = useTranslationContext() - const translation = ctx.handler.ngettext(s, s, target); - const result = getTranslatedChildren(translation, children); - return <Fragment>{result}</Fragment>; - -} diff --git a/packages/merchant-backend-ui/src/i18n/it.po b/packages/merchant-backend-ui/src/i18n/it.po deleted file mode 100644 index 6b35bd0ce..000000000 --- a/packages/merchant-backend-ui/src/i18n/it.po +++ /dev/null @@ -1,1057 +0,0 @@ -# This file is part of TALER -# (C) 2016 GNUnet e.V. -# -# TALER is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. -# -# TALER is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Taler Wallet\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 00:00+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/ApplicationReadyRoutes.tsx:50 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:299 -#, c-format -msgid "Access denied" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:51 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:300 -#, c-format -msgid "Check your token is valid" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:72 -#, c-format -msgid "Couldn't access the server." -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:73 -#, c-format -msgid "Could not infer instance id from url %1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:109 -#, c-format -msgid "HTTP status #%1$s: Server reported a problem" -msgstr "" - -#: src/InstanceRoutes.tsx:110 -#, c-format -msgid "Got message: \"%1$s\" from: %2$s" -msgstr "" - -#: src/InstanceRoutes.tsx:127 -#, c-format -msgid "No default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:128 -#, c-format -msgid "" -"in order to use merchant backoffice, you should create the default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:288 -#, c-format -msgid "Server reported a problem: HTTP status #%1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:289 -#, c-format -msgid "Got message: %1$s from: %2$s" -msgstr "" - -#: src/components/exception/login.tsx:46 -#, c-format -msgid "Login required" -msgstr "" - -#: src/components/exception/login.tsx:49 -#, c-format -msgid "" -"Please enter your auth token. Token should have \"secret-token:\" and start " -"with Bearer or ApiKey" -msgstr "" - -#: src/components/exception/login.tsx:86 src/components/modal/index.tsx:53 -#: src/components/modal/index.tsx:75 src/paths/admin/create/CreatePage.tsx:115 -#: src/paths/instance/orders/create/CreatePage.tsx:325 -#: src/paths/instance/products/create/CreatePage.tsx:51 -#: src/paths/instance/products/list/Table.tsx:174 -#: src/paths/instance/products/list/Table.tsx:228 -#: src/paths/instance/products/update/UpdatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:134 -#, c-format -msgid "Confirm" -msgstr "" - -#: src/components/form/InputArray.tsx:72 -#, c-format -msgid "The value %1$s is invalid for a payment url" -msgstr "" - -#: src/components/form/InputDate.tsx:67 -#: src/paths/instance/orders/list/index.tsx:123 -#, c-format -msgid "pick a date" -msgstr "" - -#: src/components/form/InputDate.tsx:81 -#, c-format -msgid "clear" -msgstr "" - -#: src/components/form/InputDate.tsx:83 -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "never" -msgstr "" - -#: src/components/form/InputImage.tsx:80 -#, c-format -msgid "Image should be smaller than 1 MB" -msgstr "" - -#: src/components/form/InputLocation.tsx:28 -#, c-format -msgid "Country" -msgstr "" - -#: src/components/form/InputLocation.tsx:30 -#: src/paths/admin/create/CreatePage.tsx:99 -#: src/paths/instance/transfers/list/Table.tsx:124 -#: src/paths/instance/update/UpdatePage.tsx:118 -#, c-format -msgid "Address" -msgstr "" - -#: src/components/form/InputLocation.tsx:34 -#, c-format -msgid "Building number" -msgstr "" - -#: src/components/form/InputLocation.tsx:35 -#, c-format -msgid "Building name" -msgstr "" - -#: src/components/form/InputLocation.tsx:36 -#, c-format -msgid "Street" -msgstr "" - -#: src/components/form/InputLocation.tsx:37 -#, c-format -msgid "Post code" -msgstr "" - -#: src/components/form/InputLocation.tsx:38 -#, c-format -msgid "Town location" -msgstr "" - -#: src/components/form/InputLocation.tsx:39 -#, c-format -msgid "Town" -msgstr "" - -#: src/components/form/InputLocation.tsx:40 -#, c-format -msgid "District" -msgstr "" - -#: src/components/form/InputLocation.tsx:41 -#, c-format -msgid "Country subdivision" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:59 -#, c-format -msgid "Product id" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:60 -#: src/components/product/ProductForm.tsx:99 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:122 -#: src/paths/instance/orders/list/Table.tsx:227 -#: src/paths/instance/products/list/Table.tsx:86 -#, c-format -msgid "Description" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:73 -#: src/components/form/InputTaxes.tsx:81 -#: src/paths/admin/create/CreatePage.tsx:87 src/paths/admin/list/Table.tsx:110 -#: src/paths/instance/details/DetailPage.tsx:76 -#: src/paths/instance/update/UpdatePage.tsx:106 -#, c-format -msgid "Name" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:102 -#, c-format -msgid "loading..." -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:108 -#, c-format -msgid "no products found" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:116 -#, c-format -msgid "no results" -msgstr "" - -#: src/components/form/InputSecured.tsx:33 -#, c-format -msgid "Deleting" -msgstr "" - -#: src/components/form/InputSecured.tsx:34 -#, c-format -msgid "Changing" -msgstr "" - -#: src/components/form/InputSecured.tsx:60 -#, c-format -msgid "Manage token" -msgstr "" - -#: src/components/form/InputSecured.tsx:83 -#, c-format -msgid "Update" -msgstr "" - -#: src/components/form/InputSecured.tsx:100 -#: src/paths/instance/orders/create/CreatePage.tsx:252 -#: src/paths/instance/orders/create/CreatePage.tsx:273 -#, c-format -msgid "Remove" -msgstr "" - -#: src/components/form/InputSecured.tsx:106 src/components/modal/index.tsx:52 -#: src/components/modal/index.tsx:73 src/paths/admin/create/CreatePage.tsx:114 -#: src/paths/instance/orders/create/CreatePage.tsx:324 -#: src/paths/instance/products/create/CreatePage.tsx:50 -#: src/paths/instance/products/list/Table.tsx:166 -#: src/paths/instance/products/list/Table.tsx:218 -#: src/paths/instance/products/update/UpdatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:88 -#: src/paths/instance/update/UpdatePage.tsx:133 -#, c-format -msgid "Cancel" -msgstr "" - -#: src/components/form/InputStock.tsx:91 -#, c-format -msgid "Manage stock" -msgstr "" - -#: src/components/form/InputStock.tsx:93 -#, c-format -msgid "Infinite" -msgstr "" - -#: src/components/form/InputStock.tsx:105 -#, c-format -msgid "lost cannot be greater that current + incoming (max %1$s)" -msgstr "" - -#: src/components/form/InputStock.tsx:111 -#, c-format -msgid "current stock will change from %1$s to %2$s" -msgstr "" - -#: src/components/form/InputStock.tsx:112 -#, c-format -msgid "current stock will stay at %1$s" -msgstr "" - -#: src/components/form/InputStock.tsx:129 -#: src/paths/instance/products/list/Table.tsx:204 -#, c-format -msgid "Incoming" -msgstr "" - -#: src/components/form/InputStock.tsx:130 -#: src/paths/instance/products/list/Table.tsx:205 -#, c-format -msgid "Lost" -msgstr "" - -#: src/components/form/InputStock.tsx:142 -#, c-format -msgid "Current" -msgstr "" - -#: src/components/form/InputStock.tsx:145 -#, c-format -msgid "without stock" -msgstr "" - -#: src/components/form/InputStock.tsx:150 -#, c-format -msgid "Next restock" -msgstr "" - -#: src/components/form/InputStock.tsx:152 -#, c-format -msgid "Delivery address" -msgstr "" - -#: src/components/form/InputTaxes.tsx:73 -#, c-format -msgid "this product has no taxes" -msgstr "" - -#: src/components/form/InputTaxes.tsx:77 -#: src/paths/instance/orders/details/DetailPage.tsx:145 -#: src/paths/instance/orders/details/DetailPage.tsx:296 -#: src/paths/instance/orders/list/Table.tsx:116 -#: src/paths/instance/transfers/create/CreatePage.tsx:84 -#, c-format -msgid "Amount" -msgstr "" - -#: src/components/form/InputTaxes.tsx:78 -#, c-format -msgid "currency and value separated with colon" -msgstr "" - -#: src/components/form/InputTaxes.tsx:84 -#: src/paths/instance/orders/create/InventoryProductForm.tsx:78 -#, c-format -msgid "Add" -msgstr "" - -#: src/components/menu/SideBar.tsx:53 -#, c-format -msgid "Instance" -msgstr "" - -#: src/components/menu/SideBar.tsx:59 -#, c-format -msgid "Settings" -msgstr "" - -#: src/components/menu/SideBar.tsx:65 -#: src/paths/instance/orders/list/Table.tsx:60 -#, c-format -msgid "Orders" -msgstr "" - -#: src/components/menu/SideBar.tsx:71 -#: src/paths/instance/orders/create/CreatePage.tsx:258 -#: src/paths/instance/products/list/Table.tsx:48 -#, c-format -msgid "Products" -msgstr "" - -#: src/components/menu/SideBar.tsx:77 -#: src/paths/instance/transfers/list/Table.tsx:65 -#, c-format -msgid "Transfers" -msgstr "" - -#: src/components/menu/SideBar.tsx:87 -#, c-format -msgid "Connection" -msgstr "" - -#: src/components/menu/SideBar.tsx:112 src/paths/admin/list/Table.tsx:57 -#, c-format -msgid "Instances" -msgstr "" - -#: src/components/menu/SideBar.tsx:116 -#, c-format -msgid "New" -msgstr "" - -#: src/components/menu/SideBar.tsx:122 -#, c-format -msgid "List" -msgstr "" - -#: src/components/menu/SideBar.tsx:129 -#, c-format -msgid "Log out" -msgstr "" - -#: src/components/modal/index.tsx:74 -#, c-format -msgid "Clear" -msgstr "" - -#: src/components/modal/index.tsx:110 src/components/modal/index.tsx:111 -#, c-format -msgid "should be the same" -msgstr "" - -#: src/components/modal/index.tsx:111 -#, c-format -msgid "cannot be the same as before" -msgstr "" - -#: src/components/modal/index.tsx:114 -#, c-format -msgid "" -"You are updating the authorization token from instance %1$s with id %2$s" -msgstr "" - -#: src/components/modal/index.tsx:124 -#, c-format -msgid "Old token" -msgstr "" - -#: src/components/modal/index.tsx:125 -#, c-format -msgid "New token" -msgstr "" - -#: src/components/modal/index.tsx:127 -#, c-format -msgid "Clearing the auth token will mean public access to the instance" -msgstr "" - -#: src/components/product/ProductForm.tsx:96 -#: src/paths/admin/create/CreatePage.tsx:85 src/paths/admin/list/Table.tsx:109 -#: src/paths/instance/transfers/list/Table.tsx:122 -#, c-format -msgid "ID" -msgstr "" - -#: src/components/product/ProductForm.tsx:98 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:121 -#: src/paths/instance/products/list/Table.tsx:85 -#, c-format -msgid "Image" -msgstr "" - -#: src/components/product/ProductForm.tsx:100 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:123 -#, c-format -msgid "Unit" -msgstr "" - -#: src/components/product/ProductForm.tsx:101 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:124 -#: src/paths/instance/products/list/Table.tsx:162 -#: src/paths/instance/products/list/Table.tsx:214 -#, c-format -msgid "Price" -msgstr "" - -#: src/components/product/ProductForm.tsx:103 -#: src/paths/instance/products/list/Table.tsx:90 -#, c-format -msgid "Stock" -msgstr "" - -#: src/components/product/ProductForm.tsx:105 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:128 -#: src/paths/instance/products/list/Table.tsx:88 -#, c-format -msgid "Taxes" -msgstr "" - -#: src/index.tsx:75 -#, c-format -msgid "Server not found" -msgstr "" - -#: src/index.tsx:85 -#, c-format -msgid "Couldn't access the server" -msgstr "" - -#: src/index.tsx:87 src/index.tsx:99 -#, c-format -msgid "Got message %1$s from %2$s" -msgstr "" - -#: src/index.tsx:97 -#, c-format -msgid "Unexpected Error" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:108 -#, c-format -msgid "Auth token" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:91 -#: src/paths/instance/details/DetailPage.tsx:77 -#: src/paths/instance/update/UpdatePage.tsx:110 -#, c-format -msgid "Account address" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:93 -#: src/paths/instance/update/UpdatePage.tsx:112 -#, c-format -msgid "Default max deposit fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:95 -#: src/paths/instance/update/UpdatePage.tsx:114 -#, c-format -msgid "Default max wire fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:97 -#: src/paths/instance/update/UpdatePage.tsx:116 -#, c-format -msgid "Default wire fee amortization" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:103 -#: src/paths/instance/update/UpdatePage.tsx:122 -#, c-format -msgid "Jurisdiction" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:107 -#: src/paths/instance/update/UpdatePage.tsx:126 -#, c-format -msgid "Default pay delay" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:109 -#: src/paths/instance/update/UpdatePage.tsx:128 -#, c-format -msgid "Default wire transfer delay" -msgstr "" - -#: src/paths/admin/create/index.tsx:58 -#, c-format -msgid "could not create instance" -msgstr "" - -#: src/paths/admin/list/Table.tsx:63 src/paths/admin/list/Table.tsx:131 -#: src/paths/instance/transfers/list/Table.tsx:71 -#, c-format -msgid "Delete" -msgstr "" - -#: src/paths/admin/list/Table.tsx:128 -#, c-format -msgid "Edit" -msgstr "" - -#: src/paths/admin/list/Table.tsx:149 -#: src/paths/instance/products/list/Table.tsx:245 -#, c-format -msgid "There is no instances yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:237 -#, c-format -msgid "Inventory products" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:286 -#, c-format -msgid "Total price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:287 -#, c-format -msgid "Total tax" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:289 -#: src/paths/instance/orders/create/CreatePage.tsx:297 -#, c-format -msgid "Order price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:295 -#, c-format -msgid "Net" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:300 -#: src/paths/instance/orders/details/DetailPage.tsx:144 -#: src/paths/instance/orders/details/DetailPage.tsx:295 -#: src/paths/instance/orders/list/Table.tsx:117 -#, c-format -msgid "Summary" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:302 -#, c-format -msgid "Payments options" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:303 -#, c-format -msgid "Auto refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:304 -#, c-format -msgid "Refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:305 -#, c-format -msgid "Pay deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:307 -#, c-format -msgid "Delivery date" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:308 -#, c-format -msgid "Location" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:312 -#, c-format -msgid "Max fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:313 -#, c-format -msgid "Max wire fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:314 -#, c-format -msgid "Wire fee amortization" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:315 -#, c-format -msgid "Fullfilment url" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:318 -#, c-format -msgid "Extra information" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:44 -#, c-format -msgid "select a product first" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:51 -#, c-format -msgid "should be greater than 0" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:58 -#, c-format -msgid "" -"cannot be greater than current stock and quantity previously added. max: %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:64 -#, c-format -msgid "cannot be greater than current stock %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:76 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:126 -#, c-format -msgid "Quantity" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:92 -#: src/paths/instance/orders/details/DetailPage.tsx:235 -#: src/paths/instance/orders/details/DetailPage.tsx:333 -#, c-format -msgid "Order" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:93 -#, c-format -msgid "claimed" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:110 -#: src/paths/instance/orders/details/DetailPage.tsx:261 -#: src/paths/instance/orders/list/Table.tsx:136 -#, c-format -msgid "copy url" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:126 -#: src/paths/instance/orders/details/DetailPage.tsx:349 -#, c-format -msgid "pay at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:127 -#: src/paths/instance/orders/details/DetailPage.tsx:350 -#, c-format -msgid "created at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:138 -#: src/paths/instance/orders/details/DetailPage.tsx:289 -#, c-format -msgid "Timeline" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:142 -#: src/paths/instance/orders/details/DetailPage.tsx:293 -#, c-format -msgid "Payment details" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:146 -#: src/paths/instance/orders/details/DetailPage.tsx:299 -#: src/paths/instance/orders/details/DetailPage.tsx:363 -#, c-format -msgid "Order status" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:156 -#: src/paths/instance/orders/details/DetailPage.tsx:308 -#, c-format -msgid "Product list" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:236 -#, c-format -msgid "paid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:238 -#, c-format -msgid "wired" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:241 -#, c-format -msgid "refunded" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:258 -#, c-format -msgid "refund" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:297 -#, c-format -msgid "Refunded amount" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:298 -#, c-format -msgid "Deposit total" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:336 -#, c-format -msgid "unpaid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:364 -#, c-format -msgid "Order status URL" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:365 -#, c-format -msgid "Pay URI" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:383 -#, c-format -msgid "" -"Unknown order status. This is an error, please contact the administrator." -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:56 -#: src/paths/instance/orders/list/index.tsx:147 -#, c-format -msgid "refund created successfully" -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:59 -#: src/paths/instance/orders/list/index.tsx:150 -#, c-format -msgid "could not create the refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:111 -#, c-format -msgid "load newer orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:115 -#, c-format -msgid "Date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:131 -#: src/paths/instance/orders/list/Table.tsx:223 -#, c-format -msgid "Refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:145 -#, c-format -msgid "load older orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:154 -#, c-format -msgid "No orders has been found" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:202 -#, c-format -msgid "date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:203 -#, c-format -msgid "amount" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:204 -#, c-format -msgid "reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:224 -#, c-format -msgid "Max refundable:" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "Reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "duplicated" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "requested by the customer" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "other" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:91 -#, c-format -msgid "go to order id" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:107 -#, c-format -msgid "Paid" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:108 -#, c-format -msgid "Refunded" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:109 -#, c-format -msgid "Not wired" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:110 -#, c-format -msgid "All" -msgstr "" - -#: src/paths/instance/products/create/index.tsx:48 -#: src/paths/instance/products/update/index.tsx:64 -#, c-format -msgid "could not create product" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:87 -#, c-format -msgid "Sell" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:89 -#, c-format -msgid "Profit" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:91 -#, c-format -msgid "Sold" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:59 -#, c-format -msgid "product updated successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:62 -#, c-format -msgid "could not update the product" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:70 -#, c-format -msgid "product delete successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:73 -#, c-format -msgid "could not delete the product" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:59 -#, c-format -msgid "Tips" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:111 -#, c-format -msgid "Committed amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:112 -#, c-format -msgid "Exchange initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:113 -#, c-format -msgid "Merchant initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:148 -#, c-format -msgid "There is no tips yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:50 -#: src/paths/instance/transfers/create/CreatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:56 -#, c-format -msgid "cannot be empty" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:51 -#, c-format -msgid "check the id, doest look valid" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:52 -#, c-format -msgid "should have 52 characters, current %1$s" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:57 -#, c-format -msgid "URL doesn't have the right format" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:74 -#, c-format -msgid "Transfer ID" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:76 -#, c-format -msgid "Account Address" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:82 -#: src/paths/instance/transfers/list/Table.tsx:125 -#, c-format -msgid "Exchange URL" -msgstr "" - -#: src/paths/instance/transfers/create/index.tsx:49 -#, c-format -msgid "could not inform transfer" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:118 -#, c-format -msgid "load newer transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:123 -#, c-format -msgid "Credit" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:126 -#, c-format -msgid "Confirmed" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:127 -#: src/paths/instance/transfers/list/index.tsx:60 -#, c-format -msgid "Verified" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:128 -#, c-format -msgid "Executed at" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "yes" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "no" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "unknown" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:145 -#, c-format -msgid "load older transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:154 -#, c-format -msgid "There is no transfer yet, add more pressing the + sign" -msgstr "" diff --git a/packages/merchant-backend-ui/src/i18n/poheader b/packages/merchant-backend-ui/src/i18n/poheader deleted file mode 100644 index ee3fcd7be..000000000 --- a/packages/merchant-backend-ui/src/i18n/poheader +++ /dev/null @@ -1,27 +0,0 @@ -# This file is part of GNU Taler -# (C) 2021 Taler Systems S.A. - -# GNU Taler is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. - -# GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along with -# GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Taler Wallet\n" -"Report-Msgid-Bugs-To: taler@gnu.org\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/packages/merchant-backend-ui/src/i18n/strings.ts b/packages/merchant-backend-ui/src/i18n/strings.ts deleted file mode 100644 index 63e96949a..000000000 --- a/packages/merchant-backend-ui/src/i18n/strings.ts +++ /dev/null @@ -1,3445 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/*eslint quote-props: ["error", "consistent"]*/ -export const strings: {[s: string]: any} = {}; - -strings['de'] = { - "domain": "messages", - "locale_data": { - "messages": { - "": { - "domain": "messages", - "plural_forms": "nplurals=2; plural=(n != 1);", - "lang": "" - }, - "Access denied": [ - "" - ], - "Check your token is valid": [ - "" - ], - "Couldn't access the server.": [ - "" - ], - "Could not infer instance id from url %1$s": [ - "" - ], - "HTTP status #%1$s: Server reported a problem": [ - "" - ], - "Got message: \"%1$s\" from: %2$s": [ - "" - ], - "No default instance": [ - "" - ], - "in order to use merchant backoffice, you should create the default instance": [ - "" - ], - "Server reported a problem: HTTP status #%1$s": [ - "" - ], - "Got message: %1$s from: %2$s": [ - "" - ], - "Login required": [ - "" - ], - "Please enter your auth token. Token should have \"secret-token:\" and start with Bearer or ApiKey": [ - "" - ], - "Confirm": [ - "" - ], - "The value %1$s is invalid for a payment url": [ - "" - ], - "pick a date": [ - "" - ], - "clear": [ - "" - ], - "never": [ - "" - ], - "Image should be smaller than 1 MB": [ - "" - ], - "Country": [ - "" - ], - "Address": [ - "" - ], - "Building number": [ - "" - ], - "Building name": [ - "" - ], - "Street": [ - "" - ], - "Post code": [ - "" - ], - "Town location": [ - "" - ], - "Town": [ - "" - ], - "District": [ - "" - ], - "Country subdivision": [ - "" - ], - "Product id": [ - "" - ], - "Description": [ - "" - ], - "Name": [ - "" - ], - "loading...": [ - "" - ], - "no products found": [ - "" - ], - "no results": [ - "" - ], - "Deleting": [ - "" - ], - "Changing": [ - "" - ], - "Manage token": [ - "" - ], - "Update": [ - "" - ], - "Remove": [ - "" - ], - "Cancel": [ - "" - ], - "Manage stock": [ - "" - ], - "Infinite": [ - "" - ], - "lost cannot be greater that current + incoming (max %1$s)": [ - "" - ], - "current stock will change from %1$s to %2$s": [ - "" - ], - "current stock will stay at %1$s": [ - "" - ], - "Incoming": [ - "" - ], - "Lost": [ - "" - ], - "Current": [ - "" - ], - "without stock": [ - "" - ], - "Next restock": [ - "" - ], - "Delivery address": [ - "" - ], - "this product has no taxes": [ - "" - ], - "Amount": [ - "" - ], - "currency and value separated with colon": [ - "" - ], - "Add": [ - "" - ], - "Instance": [ - "" - ], - "Settings": [ - "" - ], - "Orders": [ - "" - ], - "Products": [ - "" - ], - "Transfers": [ - "" - ], - "Connection": [ - "" - ], - "Instances": [ - "" - ], - "New": [ - "" - ], - "List": [ - "" - ], - "Log out": [ - "" - ], - "Clear": [ - "" - ], - "should be the same": [ - "" - ], - "cannot be the same as before": [ - "" - ], - "You are updating the authorization token from instance %1$s with id %2$s": [ - "" - ], - "Old token": [ - "" - ], - "New token": [ - "" - ], - "Clearing the auth token will mean public access to the instance": [ - "" - ], - "ID": [ - "" - ], - "Image": [ - "" - ], - "Unit": [ - "" - ], - "Price": [ - "" - ], - "Stock": [ - "" - ], - "Taxes": [ - "" - ], - "Server not found": [ - "" - ], - "Couldn't access the server": [ - "" - ], - "Got message %1$s from %2$s": [ - "" - ], - "Unexpected Error": [ - "" - ], - "Auth token": [ - "" - ], - "Account address": [ - "" - ], - "Default max deposit fee": [ - "" - ], - "Default max wire fee": [ - "" - ], - "Default wire fee amortization": [ - "" - ], - "Jurisdiction": [ - "" - ], - "Default pay delay": [ - "" - ], - "Default wire transfer delay": [ - "" - ], - "could not create instance": [ - "" - ], - "Delete": [ - "" - ], - "Edit": [ - "" - ], - "There is no instances yet, add more pressing the + sign": [ - "" - ], - "Inventory products": [ - "" - ], - "Total price": [ - "" - ], - "Total tax": [ - "" - ], - "Order price": [ - "" - ], - "Net": [ - "" - ], - "Summary": [ - "" - ], - "Payments options": [ - "" - ], - "Auto refund deadline": [ - "" - ], - "Refund deadline": [ - "" - ], - "Pay deadline": [ - "" - ], - "Delivery date": [ - "" - ], - "Location": [ - "" - ], - "Max fee": [ - "" - ], - "Max wire fee": [ - "" - ], - "Wire fee amortization": [ - "" - ], - "Fullfilment url": [ - "" - ], - "Extra information": [ - "" - ], - "select a product first": [ - "" - ], - "should be greater than 0": [ - "" - ], - "cannot be greater than current stock and quantity previously added. max: %1$s": [ - "" - ], - "cannot be greater than current stock %1$s": [ - "" - ], - "Quantity": [ - "" - ], - "Order": [ - "" - ], - "claimed": [ - "" - ], - "copy url": [ - "" - ], - "pay at": [ - "" - ], - "created at": [ - "" - ], - "Timeline": [ - "" - ], - "Payment details": [ - "" - ], - "Order status": [ - "" - ], - "Product list": [ - "" - ], - "paid": [ - "" - ], - "wired": [ - "" - ], - "refunded": [ - "" - ], - "refund": [ - "" - ], - "Refunded amount": [ - "" - ], - "Deposit total": [ - "" - ], - "unpaid": [ - "" - ], - "Order status URL": [ - "" - ], - "Pay URI": [ - "" - ], - "Unknown order status. This is an error, please contact the administrator.": [ - "" - ], - "refund created successfully": [ - "" - ], - "could not create the refund": [ - "" - ], - "load newer orders": [ - "" - ], - "Date": [ - "" - ], - "Refund": [ - "" - ], - "load older orders": [ - "" - ], - "No orders has been found": [ - "" - ], - "date": [ - "" - ], - "amount": [ - "" - ], - "reason": [ - "" - ], - "Max refundable:": [ - "" - ], - "Reason": [ - "" - ], - "duplicated": [ - "" - ], - "requested by the customer": [ - "" - ], - "other": [ - "" - ], - "go to order id": [ - "" - ], - "Paid": [ - "" - ], - "Refunded": [ - "" - ], - "Not wired": [ - "" - ], - "All": [ - "" - ], - "could not create product": [ - "" - ], - "Sell": [ - "" - ], - "Profit": [ - "" - ], - "Sold": [ - "" - ], - "product updated successfully": [ - "" - ], - "could not update the product": [ - "" - ], - "product delete successfully": [ - "" - ], - "could not delete the product": [ - "" - ], - "Tips": [ - "" - ], - "Committed amount": [ - "" - ], - "Exchange initial amount": [ - "" - ], - "Merchant initial amount": [ - "" - ], - "There is no tips yet, add more pressing the + sign": [ - "" - ], - "cannot be empty": [ - "" - ], - "check the id, doest look valid": [ - "" - ], - "should have 52 characters, current %1$s": [ - "" - ], - "URL doesn't have the right format": [ - "" - ], - "Transfer ID": [ - "" - ], - "Account Address": [ - "" - ], - "Exchange URL": [ - "" - ], - "could not inform transfer": [ - "" - ], - "load newer transfers": [ - "" - ], - "Credit": [ - "" - ], - "Confirmed": [ - "" - ], - "Verified": [ - "" - ], - "Executed at": [ - "" - ], - "yes": [ - "" - ], - "no": [ - "" - ], - "unknown": [ - "" - ], - "load older transfers": [ - "" - ], - "There is no transfer yet, add more pressing the + sign": [ - "" - ] - } - } -}; - -strings['en'] = { - "domain": "messages", - "locale_data": { - "messages": { - "": { - "domain": "messages", - "plural_forms": "nplurals=2; plural=(n != 1);", - "lang": "" - }, - "Access denied": [ - "" - ], - "Check your token is valid": [ - "" - ], - "Couldn't access the server.": [ - "" - ], - "Could not infer instance id from url %1$s": [ - "" - ], - "HTTP status #%1$s: Server reported a problem": [ - "" - ], - "Got message: \"%1$s\" from: %2$s": [ - "" - ], - "No default instance": [ - "" - ], - "in order to use merchant backoffice, you should create the default instance": [ - "" - ], - "Server reported a problem: HTTP status #%1$s": [ - "" - ], - "Got message: %1$s from: %2$s": [ - "" - ], - "Login required": [ - "" - ], - "Please enter your auth token. Token should have \"secret-token:\" and start with Bearer or ApiKey": [ - "" - ], - "Confirm": [ - "" - ], - "The value %1$s is invalid for a payment url": [ - "" - ], - "pick a date": [ - "" - ], - "clear": [ - "" - ], - "never": [ - "" - ], - "Image should be smaller than 1 MB": [ - "" - ], - "Country": [ - "" - ], - "Address": [ - "" - ], - "Building number": [ - "" - ], - "Building name": [ - "" - ], - "Street": [ - "" - ], - "Post code": [ - "" - ], - "Town location": [ - "" - ], - "Town": [ - "" - ], - "District": [ - "" - ], - "Country subdivision": [ - "" - ], - "Product id": [ - "" - ], - "Description": [ - "" - ], - "Name": [ - "" - ], - "loading...": [ - "" - ], - "no products found": [ - "" - ], - "no results": [ - "" - ], - "Deleting": [ - "" - ], - "Changing": [ - "" - ], - "Manage token": [ - "" - ], - "Update": [ - "" - ], - "Remove": [ - "" - ], - "Cancel": [ - "" - ], - "Manage stock": [ - "" - ], - "Infinite": [ - "" - ], - "lost cannot be greater that current + incoming (max %1$s)": [ - "" - ], - "current stock will change from %1$s to %2$s": [ - "" - ], - "current stock will stay at %1$s": [ - "" - ], - "Incoming": [ - "" - ], - "Lost": [ - "" - ], - "Current": [ - "" - ], - "without stock": [ - "" - ], - "Next restock": [ - "" - ], - "Delivery address": [ - "" - ], - "this product has no taxes": [ - "" - ], - "Amount": [ - "" - ], - "currency and value separated with colon": [ - "" - ], - "Add": [ - "" - ], - "Instance": [ - "" - ], - "Settings": [ - "" - ], - "Orders": [ - "" - ], - "Products": [ - "" - ], - "Transfers": [ - "" - ], - "Connection": [ - "" - ], - "Instances": [ - "" - ], - "New": [ - "" - ], - "List": [ - "" - ], - "Log out": [ - "" - ], - "Clear": [ - "" - ], - "should be the same": [ - "" - ], - "cannot be the same as before": [ - "" - ], - "You are updating the authorization token from instance %1$s with id %2$s": [ - "" - ], - "Old token": [ - "" - ], - "New token": [ - "" - ], - "Clearing the auth token will mean public access to the instance": [ - "" - ], - "ID": [ - "" - ], - "Image": [ - "" - ], - "Unit": [ - "" - ], - "Price": [ - "" - ], - "Stock": [ - "" - ], - "Taxes": [ - "" - ], - "Server not found": [ - "" - ], - "Couldn't access the server": [ - "" - ], - "Got message %1$s from %2$s": [ - "" - ], - "Unexpected Error": [ - "" - ], - "Auth token": [ - "" - ], - "Account address": [ - "" - ], - "Default max deposit fee": [ - "" - ], - "Default max wire fee": [ - "" - ], - "Default wire fee amortization": [ - "" - ], - "Jurisdiction": [ - "" - ], - "Default pay delay": [ - "" - ], - "Default wire transfer delay": [ - "" - ], - "could not create instance": [ - "" - ], - "Delete": [ - "" - ], - "Edit": [ - "" - ], - "There is no instances yet, add more pressing the + sign": [ - "" - ], - "Inventory products": [ - "" - ], - "Total price": [ - "" - ], - "Total tax": [ - "" - ], - "Order price": [ - "" - ], - "Net": [ - "" - ], - "Summary": [ - "" - ], - "Payments options": [ - "" - ], - "Auto refund deadline": [ - "" - ], - "Refund deadline": [ - "" - ], - "Pay deadline": [ - "" - ], - "Delivery date": [ - "" - ], - "Location": [ - "" - ], - "Max fee": [ - "" - ], - "Max wire fee": [ - "" - ], - "Wire fee amortization": [ - "" - ], - "Fullfilment url": [ - "" - ], - "Extra information": [ - "" - ], - "select a product first": [ - "" - ], - "should be greater than 0": [ - "" - ], - "cannot be greater than current stock and quantity previously added. max: %1$s": [ - "" - ], - "cannot be greater than current stock %1$s": [ - "" - ], - "Quantity": [ - "" - ], - "Order": [ - "" - ], - "claimed": [ - "" - ], - "copy url": [ - "" - ], - "pay at": [ - "" - ], - "created at": [ - "" - ], - "Timeline": [ - "" - ], - "Payment details": [ - "" - ], - "Order status": [ - "" - ], - "Product list": [ - "" - ], - "paid": [ - "" - ], - "wired": [ - "" - ], - "refunded": [ - "" - ], - "refund": [ - "" - ], - "Refunded amount": [ - "" - ], - "Deposit total": [ - "" - ], - "unpaid": [ - "" - ], - "Order status URL": [ - "" - ], - "Pay URI": [ - "" - ], - "Unknown order status. This is an error, please contact the administrator.": [ - "" - ], - "refund created successfully": [ - "" - ], - "could not create the refund": [ - "" - ], - "load newer orders": [ - "" - ], - "Date": [ - "" - ], - "Refund": [ - "" - ], - "load older orders": [ - "" - ], - "No orders has been found": [ - "" - ], - "date": [ - "" - ], - "amount": [ - "" - ], - "reason": [ - "" - ], - "Max refundable:": [ - "" - ], - "Reason": [ - "" - ], - "duplicated": [ - "" - ], - "requested by the customer": [ - "" - ], - "other": [ - "" - ], - "go to order id": [ - "" - ], - "Paid": [ - "" - ], - "Refunded": [ - "" - ], - "Not wired": [ - "" - ], - "All": [ - "" - ], - "could not create product": [ - "" - ], - "Sell": [ - "" - ], - "Profit": [ - "" - ], - "Sold": [ - "" - ], - "product updated successfully": [ - "" - ], - "could not update the product": [ - "" - ], - "product delete successfully": [ - "" - ], - "could not delete the product": [ - "" - ], - "Tips": [ - "" - ], - "Committed amount": [ - "" - ], - "Exchange initial amount": [ - "" - ], - "Merchant initial amount": [ - "" - ], - "There is no tips yet, add more pressing the + sign": [ - "" - ], - "cannot be empty": [ - "" - ], - "check the id, doest look valid": [ - "" - ], - "should have 52 characters, current %1$s": [ - "" - ], - "URL doesn't have the right format": [ - "" - ], - "Transfer ID": [ - "" - ], - "Account Address": [ - "" - ], - "Exchange URL": [ - "" - ], - "could not inform transfer": [ - "" - ], - "load newer transfers": [ - "" - ], - "Credit": [ - "" - ], - "Confirmed": [ - "" - ], - "Verified": [ - "" - ], - "Executed at": [ - "" - ], - "yes": [ - "" - ], - "no": [ - "" - ], - "unknown": [ - "" - ], - "load older transfers": [ - "" - ], - "There is no transfer yet, add more pressing the + sign": [ - "" - ] - } - } -}; - -strings['es'] = { - "domain": "messages", - "locale_data": { - "messages": { - "": { - "domain": "messages", - "plural_forms": "nplurals=2; plural=(n != 1);", - "lang": "" - }, - "Access denied": [ - "Acceso denegado" - ], - "Check your token is valid": [ - "Verifica que el token sea valido" - ], - "Couldn't access the server.": [ - "No se pudo acceder al servidor" - ], - "Could not infer instance id from url %1$s": [ - "No se pudo inferir el id de la instancia con la url %1$s" - ], - "HTTP status #%1$s: Server reported a problem": [ - "HTTP status #%1$s: Servidor reporto un problema" - ], - "Got message: \"%1$s\" from: %2$s": [ - "Recivimos el mensaje %1$s desde %2$s" - ], - "No default instance": [ - "Sin instancia default" - ], - "in order to use merchant backoffice, you should create the default instance": [ - "para usar el merchant backoffice, deberÃa crear la instancia default" - ], - "Server reported a problem: HTTP status #%1$s": [ - "Servidir reporto un problema: HTTP status #%1$s" - ], - "Got message: %1$s from: %2$s": [ - "Recivimos el mensaje %1$s desde %2$s" - ], - "Login required": [ - "Login necesario" - ], - "Please enter your auth token. Token should have \"secret-token:\" and start with Bearer or ApiKey": [ - "Por favor ingrese su token de autorización. El token debe tener \"secret-token\" y comenzar con Bearer o ApiKey" - ], - "Confirm": [ - "Confirmar" - ], - "The value %1$s is invalid for a payment url": [ - "El valor %1$s es invalido para una URL de pago" - ], - "pick a date": [ - "elegir una fecha" - ], - "clear": [ - "Limpiar" - ], - "never": [ - "nunca" - ], - "Image should be smaller than 1 MB": [ - "La imagen debe ser mas chica que 1 MB" - ], - "Country": [ - "PaÃs" - ], - "Address": [ - "Dirección" - ], - "Building number": [ - "Número de edificio" - ], - "Building name": [ - "Nombre de edificio" - ], - "Street": [ - "Calle" - ], - "Post code": [ - "Código postal" - ], - "Town location": [ - "Ubicación de ciudad" - ], - "Town": [ - "Ciudad" - ], - "District": [ - "Distrito" - ], - "Country subdivision": [ - "Provincia" - ], - "Product id": [ - "Id de producto" - ], - "Description": [ - "Descripcion" - ], - "Name": [ - "Nombre" - ], - "loading...": [ - "Cargando..." - ], - "no products found": [ - "No se encontraron productos" - ], - "no results": [ - "Sin resultados" - ], - "Deleting": [ - "Borrando" - ], - "Changing": [ - "Cambiando" - ], - "Manage token": [ - "Administrar token" - ], - "Update": [ - "Actualizar" - ], - "Remove": [ - "Eliminar" - ], - "Cancel": [ - "Cancelar" - ], - "Manage stock": [ - "Administrar stock" - ], - "Infinite": [ - "Inifinito" - ], - "lost cannot be greater that current + incoming (max %1$s)": [ - "no puede ser mayor al stock actual %1$s" - ], - "current stock will change from %1$s to %2$s": [ - "stock actual cambiará desde %1$s a %2$s" - ], - "current stock will stay at %1$s": [ - "stock actual seguirá en %1$s" - ], - "Incoming": [ - "Ingresando" - ], - "Lost": [ - "Perdido" - ], - "Current": [ - "Actual" - ], - "without stock": [ - "sin stock" - ], - "Next restock": [ - "Próximo reabastecimiento" - ], - "Delivery address": [ - "Dirección de entrega" - ], - "this product has no taxes": [ - "este producto no tiene impuestos" - ], - "Amount": [ - "Monto" - ], - "currency and value separated with colon": [ - "Moneda y valor separado por dos puntos" - ], - "Add": [ - "Agregar" - ], - "Instance": [ - "Instancia" - ], - "Settings": [ - "Configuración" - ], - "Orders": [ - "Ordenes" - ], - "Products": [ - "Productos" - ], - "Transfers": [ - "Transferencias" - ], - "Connection": [ - "Conexión" - ], - "Instances": [ - "Instancias" - ], - "New": [ - "Nuevo" - ], - "List": [ - "Lista" - ], - "Log out": [ - "Salir" - ], - "Clear": [ - "Limpiar" - ], - "should be the same": [ - "deberÃan ser iguales" - ], - "cannot be the same as before": [ - "no puede ser igual al anterior" - ], - "You are updating the authorization token from instance %1$s with id %2$s": [ - "Está actualizando el token de autorización para la instancia %1$s con id %2$s" - ], - "Old token": [ - "Viejo token" - ], - "New token": [ - "Nuevo token" - ], - "Clearing the auth token will mean public access to the instance": [ - "Limpiar el token de autorización significa acceso publico a la instancia" - ], - "ID": [ - "ID" - ], - "Image": [ - "Imagen" - ], - "Unit": [ - "Unidad" - ], - "Price": [ - "Precio" - ], - "Stock": [ - "Stock" - ], - "Taxes": [ - "Impuesto" - ], - "Server not found": [ - "Servidor no encontrado" - ], - "Couldn't access the server": [ - "No se pudo aceder al servidor" - ], - "Got message %1$s from %2$s": [ - "Recivimos el mensaje %1$s desde %2$s" - ], - "Unexpected Error": [ - "Error inesperado" - ], - "Auth token": [ - "Token de autorización" - ], - "Account address": [ - "Dirección de cuenta" - ], - "Default max deposit fee": [ - "Impuesto máximo de deposito por omisión" - ], - "Default max wire fee": [ - "Impuesto máximo de transferencia por omisión" - ], - "Default wire fee amortization": [ - "Amortización de impuesto de transferencia por omisión" - ], - "Jurisdiction": [ - "Jurisdicción" - ], - "Default pay delay": [ - "Retrazo de pago por omisión" - ], - "Default wire transfer delay": [ - "Retrazo de transferencia por omisión" - ], - "could not create instance": [ - "no se pudo crear la instancia" - ], - "Delete": [ - "Borrando" - ], - "Edit": [ - "" - ], - "There is no instances yet, add more pressing the + sign": [ - "No hay instancias todavÃan, agregue mas presionando el signo +" - ], - "Inventory products": [ - "Productos de inventario" - ], - "Total price": [ - "Precio total" - ], - "Total tax": [ - "Impuesto total" - ], - "Order price": [ - "Precio de la orden" - ], - "Net": [ - "Neto" - ], - "Summary": [ - "Resumen" - ], - "Payments options": [ - "Opciones de pago" - ], - "Auto refund deadline": [ - "Plazo de reembolso automático" - ], - "Refund deadline": [ - "Plazo de reembolso" - ], - "Pay deadline": [ - "Plazo de pago" - ], - "Delivery date": [ - "Fecha de entrega" - ], - "Location": [ - "Ubicación" - ], - "Max fee": [ - "Impuesto máximo" - ], - "Max wire fee": [ - "Impuesto de transferencia máximo" - ], - "Wire fee amortization": [ - "Amortización de impuesto de transferencia" - ], - "Fullfilment url": [ - "URL de completitud" - ], - "Extra information": [ - "Información extra" - ], - "select a product first": [ - "seleccione un producto primero" - ], - "should be greater than 0": [ - "La imagen debe ser mas chica que 1 MB" - ], - "cannot be greater than current stock and quantity previously added. max: %1$s": [ - "no puede ser mayor al stock actual y la cantidad previamente agregada. máximo: %1$s" - ], - "cannot be greater than current stock %1$s": [ - "no puede ser mayor al stock actual %1$s" - ], - "Quantity": [ - "Cantidad" - ], - "Order": [ - "Orden" - ], - "claimed": [ - "reclamado" - ], - "copy url": [ - "copiar url" - ], - "pay at": [ - "pagar en" - ], - "created at": [ - "creado" - ], - "Timeline": [ - "CronologÃa" - ], - "Payment details": [ - "Detalles de pago" - ], - "Order status": [ - "Estado de orden" - ], - "Product list": [ - "Lista de producto" - ], - "paid": [ - "pagados" - ], - "wired": [ - "transferido" - ], - "refunded": [ - "reembolzado" - ], - "refund": [ - "reembolzar" - ], - "Refunded amount": [ - "Monto reembolzado" - ], - "Deposit total": [ - "Total depositado" - ], - "unpaid": [ - "impago" - ], - "Order status URL": [ - "URL de estado de orden" - ], - "Pay URI": [ - "URI de pago" - ], - "Unknown order status. This is an error, please contact the administrator.": [ - "Estado de orden desconocido. Esto es un error, por favor contacte a su administrador" - ], - "refund created successfully": [ - "reembolzo creado satisfactoriamente" - ], - "could not create the refund": [ - "No se pudo aceder al servidor" - ], - "load newer orders": [ - "cargar nuevas ordenes" - ], - "Date": [ - "Fecha" - ], - "Refund": [ - "Reembolzar" - ], - "load older orders": [ - "cargar viejas ordenes" - ], - "No orders has been found": [ - "No se enconraron ordenes" - ], - "date": [ - "fecha" - ], - "amount": [ - "monto" - ], - "reason": [ - "razón" - ], - "Max refundable:": [ - "Máximo reembolzable:" - ], - "Reason": [ - "Razón" - ], - "duplicated": [ - "duplicado" - ], - "requested by the customer": [ - "pedido por el consumidor" - ], - "other": [ - "otro" - ], - "go to order id": [ - "ir a id de orden" - ], - "Paid": [ - "Pagado" - ], - "Refunded": [ - "Reembolzado" - ], - "Not wired": [ - "No transferido" - ], - "All": [ - "Todo" - ], - "could not create product": [ - "no se pudo crear el producto" - ], - "Sell": [ - "Venta" - ], - "Profit": [ - "Ganancia" - ], - "Sold": [ - "Vendido" - ], - "product updated successfully": [ - "producto actualizado correctamente" - ], - "could not update the product": [ - "no se pudo actualizar el producto" - ], - "product delete successfully": [ - "producto fue eliminado correctamente" - ], - "could not delete the product": [ - "no se pudo eliminar el producto" - ], - "Tips": [ - "Propinas" - ], - "Committed amount": [ - "" - ], - "Exchange initial amount": [ - "" - ], - "Merchant initial amount": [ - "" - ], - "There is no tips yet, add more pressing the + sign": [ - "No hay propinas todavÃa, agregar mas presionando el signo +" - ], - "cannot be empty": [ - "no puede ser vacÃo" - ], - "check the id, doest look valid": [ - "verificar el id, no parece válido" - ], - "should have 52 characters, current %1$s": [ - "deberÃa tener 52 caracteres, actualmente %1$s" - ], - "URL doesn't have the right format": [ - "La URL no tiene el formato correcto" - ], - "Transfer ID": [ - "Transferencias" - ], - "Account Address": [ - "Dirección de cuenta" - ], - "Exchange URL": [ - "URL del Exchange" - ], - "could not inform transfer": [ - "no se pudo crear la instancia" - ], - "load newer transfers": [ - "cargar nuevas ordenes" - ], - "Credit": [ - "Crédito" - ], - "Confirmed": [ - "Confirmar" - ], - "Verified": [ - "Verificado" - ], - "Executed at": [ - "creado" - ], - "yes": [ - "si" - ], - "no": [ - "no" - ], - "unknown": [ - "desconocido" - ], - "load older transfers": [ - "cargar viejas transferencias" - ], - "There is no transfer yet, add more pressing the + sign": [ - "No hay transferencias todavÃa, agregar mas presionando el signo +" - ] - } - } -}; - -strings['fr'] = { - "domain": "messages", - "locale_data": { - "messages": { - "": { - "domain": "messages", - "plural_forms": "nplurals=2; plural=(n != 1);", - "lang": "" - }, - "Access denied": [ - "" - ], - "Check your token is valid": [ - "" - ], - "Couldn't access the server.": [ - "" - ], - "Could not infer instance id from url %1$s": [ - "" - ], - "HTTP status #%1$s: Server reported a problem": [ - "" - ], - "Got message: \"%1$s\" from: %2$s": [ - "" - ], - "No default instance": [ - "" - ], - "in order to use merchant backoffice, you should create the default instance": [ - "" - ], - "Server reported a problem: HTTP status #%1$s": [ - "" - ], - "Got message: %1$s from: %2$s": [ - "" - ], - "Login required": [ - "" - ], - "Please enter your auth token. Token should have \"secret-token:\" and start with Bearer or ApiKey": [ - "" - ], - "Confirm": [ - "" - ], - "The value %1$s is invalid for a payment url": [ - "" - ], - "pick a date": [ - "" - ], - "clear": [ - "" - ], - "never": [ - "" - ], - "Image should be smaller than 1 MB": [ - "" - ], - "Country": [ - "" - ], - "Address": [ - "" - ], - "Building number": [ - "" - ], - "Building name": [ - "" - ], - "Street": [ - "" - ], - "Post code": [ - "" - ], - "Town location": [ - "" - ], - "Town": [ - "" - ], - "District": [ - "" - ], - "Country subdivision": [ - "" - ], - "Product id": [ - "" - ], - "Description": [ - "" - ], - "Name": [ - "" - ], - "loading...": [ - "" - ], - "no products found": [ - "" - ], - "no results": [ - "" - ], - "Deleting": [ - "" - ], - "Changing": [ - "" - ], - "Manage token": [ - "" - ], - "Update": [ - "" - ], - "Remove": [ - "" - ], - "Cancel": [ - "" - ], - "Manage stock": [ - "" - ], - "Infinite": [ - "" - ], - "lost cannot be greater that current + incoming (max %1$s)": [ - "" - ], - "current stock will change from %1$s to %2$s": [ - "" - ], - "current stock will stay at %1$s": [ - "" - ], - "Incoming": [ - "" - ], - "Lost": [ - "" - ], - "Current": [ - "" - ], - "without stock": [ - "" - ], - "Next restock": [ - "" - ], - "Delivery address": [ - "" - ], - "this product has no taxes": [ - "" - ], - "Amount": [ - "" - ], - "currency and value separated with colon": [ - "" - ], - "Add": [ - "" - ], - "Instance": [ - "" - ], - "Settings": [ - "" - ], - "Orders": [ - "" - ], - "Products": [ - "" - ], - "Transfers": [ - "" - ], - "Connection": [ - "" - ], - "Instances": [ - "" - ], - "New": [ - "" - ], - "List": [ - "" - ], - "Log out": [ - "" - ], - "Clear": [ - "" - ], - "should be the same": [ - "" - ], - "cannot be the same as before": [ - "" - ], - "You are updating the authorization token from instance %1$s with id %2$s": [ - "" - ], - "Old token": [ - "" - ], - "New token": [ - "" - ], - "Clearing the auth token will mean public access to the instance": [ - "" - ], - "ID": [ - "" - ], - "Image": [ - "" - ], - "Unit": [ - "" - ], - "Price": [ - "" - ], - "Stock": [ - "" - ], - "Taxes": [ - "" - ], - "Server not found": [ - "" - ], - "Couldn't access the server": [ - "" - ], - "Got message %1$s from %2$s": [ - "" - ], - "Unexpected Error": [ - "" - ], - "Auth token": [ - "" - ], - "Account address": [ - "" - ], - "Default max deposit fee": [ - "" - ], - "Default max wire fee": [ - "" - ], - "Default wire fee amortization": [ - "" - ], - "Jurisdiction": [ - "" - ], - "Default pay delay": [ - "" - ], - "Default wire transfer delay": [ - "" - ], - "could not create instance": [ - "" - ], - "Delete": [ - "" - ], - "Edit": [ - "" - ], - "There is no instances yet, add more pressing the + sign": [ - "" - ], - "Inventory products": [ - "" - ], - "Total price": [ - "" - ], - "Total tax": [ - "" - ], - "Order price": [ - "" - ], - "Net": [ - "" - ], - "Summary": [ - "" - ], - "Payments options": [ - "" - ], - "Auto refund deadline": [ - "" - ], - "Refund deadline": [ - "" - ], - "Pay deadline": [ - "" - ], - "Delivery date": [ - "" - ], - "Location": [ - "" - ], - "Max fee": [ - "" - ], - "Max wire fee": [ - "" - ], - "Wire fee amortization": [ - "" - ], - "Fullfilment url": [ - "" - ], - "Extra information": [ - "" - ], - "select a product first": [ - "" - ], - "should be greater than 0": [ - "" - ], - "cannot be greater than current stock and quantity previously added. max: %1$s": [ - "" - ], - "cannot be greater than current stock %1$s": [ - "" - ], - "Quantity": [ - "" - ], - "Order": [ - "" - ], - "claimed": [ - "" - ], - "copy url": [ - "" - ], - "pay at": [ - "" - ], - "created at": [ - "" - ], - "Timeline": [ - "" - ], - "Payment details": [ - "" - ], - "Order status": [ - "" - ], - "Product list": [ - "" - ], - "paid": [ - "" - ], - "wired": [ - "" - ], - "refunded": [ - "" - ], - "refund": [ - "" - ], - "Refunded amount": [ - "" - ], - "Deposit total": [ - "" - ], - "unpaid": [ - "" - ], - "Order status URL": [ - "" - ], - "Pay URI": [ - "" - ], - "Unknown order status. This is an error, please contact the administrator.": [ - "" - ], - "refund created successfully": [ - "" - ], - "could not create the refund": [ - "" - ], - "load newer orders": [ - "" - ], - "Date": [ - "" - ], - "Refund": [ - "" - ], - "load older orders": [ - "" - ], - "No orders has been found": [ - "" - ], - "date": [ - "" - ], - "amount": [ - "" - ], - "reason": [ - "" - ], - "Max refundable:": [ - "" - ], - "Reason": [ - "" - ], - "duplicated": [ - "" - ], - "requested by the customer": [ - "" - ], - "other": [ - "" - ], - "go to order id": [ - "" - ], - "Paid": [ - "" - ], - "Refunded": [ - "" - ], - "Not wired": [ - "" - ], - "All": [ - "" - ], - "could not create product": [ - "" - ], - "Sell": [ - "" - ], - "Profit": [ - "" - ], - "Sold": [ - "" - ], - "product updated successfully": [ - "" - ], - "could not update the product": [ - "" - ], - "product delete successfully": [ - "" - ], - "could not delete the product": [ - "" - ], - "Tips": [ - "" - ], - "Committed amount": [ - "" - ], - "Exchange initial amount": [ - "" - ], - "Merchant initial amount": [ - "" - ], - "There is no tips yet, add more pressing the + sign": [ - "" - ], - "cannot be empty": [ - "" - ], - "check the id, doest look valid": [ - "" - ], - "should have 52 characters, current %1$s": [ - "" - ], - "URL doesn't have the right format": [ - "" - ], - "Transfer ID": [ - "" - ], - "Account Address": [ - "" - ], - "Exchange URL": [ - "" - ], - "could not inform transfer": [ - "" - ], - "load newer transfers": [ - "" - ], - "Credit": [ - "" - ], - "Confirmed": [ - "" - ], - "Verified": [ - "" - ], - "Executed at": [ - "" - ], - "yes": [ - "" - ], - "no": [ - "" - ], - "unknown": [ - "" - ], - "load older transfers": [ - "" - ], - "There is no transfer yet, add more pressing the + sign": [ - "" - ] - } - } -}; - -strings['it'] = { - "domain": "messages", - "locale_data": { - "messages": { - "": { - "domain": "messages", - "plural_forms": "nplurals=2; plural=(n != 1);", - "lang": "" - }, - "Access denied": [ - "" - ], - "Check your token is valid": [ - "" - ], - "Couldn't access the server.": [ - "" - ], - "Could not infer instance id from url %1$s": [ - "" - ], - "HTTP status #%1$s: Server reported a problem": [ - "" - ], - "Got message: \"%1$s\" from: %2$s": [ - "" - ], - "No default instance": [ - "" - ], - "in order to use merchant backoffice, you should create the default instance": [ - "" - ], - "Server reported a problem: HTTP status #%1$s": [ - "" - ], - "Got message: %1$s from: %2$s": [ - "" - ], - "Login required": [ - "" - ], - "Please enter your auth token. Token should have \"secret-token:\" and start with Bearer or ApiKey": [ - "" - ], - "Confirm": [ - "" - ], - "The value %1$s is invalid for a payment url": [ - "" - ], - "pick a date": [ - "" - ], - "clear": [ - "" - ], - "never": [ - "" - ], - "Image should be smaller than 1 MB": [ - "" - ], - "Country": [ - "" - ], - "Address": [ - "" - ], - "Building number": [ - "" - ], - "Building name": [ - "" - ], - "Street": [ - "" - ], - "Post code": [ - "" - ], - "Town location": [ - "" - ], - "Town": [ - "" - ], - "District": [ - "" - ], - "Country subdivision": [ - "" - ], - "Product id": [ - "" - ], - "Description": [ - "" - ], - "Name": [ - "" - ], - "loading...": [ - "" - ], - "no products found": [ - "" - ], - "no results": [ - "" - ], - "Deleting": [ - "" - ], - "Changing": [ - "" - ], - "Manage token": [ - "" - ], - "Update": [ - "" - ], - "Remove": [ - "" - ], - "Cancel": [ - "" - ], - "Manage stock": [ - "" - ], - "Infinite": [ - "" - ], - "lost cannot be greater that current + incoming (max %1$s)": [ - "" - ], - "current stock will change from %1$s to %2$s": [ - "" - ], - "current stock will stay at %1$s": [ - "" - ], - "Incoming": [ - "" - ], - "Lost": [ - "" - ], - "Current": [ - "" - ], - "without stock": [ - "" - ], - "Next restock": [ - "" - ], - "Delivery address": [ - "" - ], - "this product has no taxes": [ - "" - ], - "Amount": [ - "" - ], - "currency and value separated with colon": [ - "" - ], - "Add": [ - "" - ], - "Instance": [ - "" - ], - "Settings": [ - "" - ], - "Orders": [ - "" - ], - "Products": [ - "" - ], - "Transfers": [ - "" - ], - "Connection": [ - "" - ], - "Instances": [ - "" - ], - "New": [ - "" - ], - "List": [ - "" - ], - "Log out": [ - "" - ], - "Clear": [ - "" - ], - "should be the same": [ - "" - ], - "cannot be the same as before": [ - "" - ], - "You are updating the authorization token from instance %1$s with id %2$s": [ - "" - ], - "Old token": [ - "" - ], - "New token": [ - "" - ], - "Clearing the auth token will mean public access to the instance": [ - "" - ], - "ID": [ - "" - ], - "Image": [ - "" - ], - "Unit": [ - "" - ], - "Price": [ - "" - ], - "Stock": [ - "" - ], - "Taxes": [ - "" - ], - "Server not found": [ - "" - ], - "Couldn't access the server": [ - "" - ], - "Got message %1$s from %2$s": [ - "" - ], - "Unexpected Error": [ - "" - ], - "Auth token": [ - "" - ], - "Account address": [ - "" - ], - "Default max deposit fee": [ - "" - ], - "Default max wire fee": [ - "" - ], - "Default wire fee amortization": [ - "" - ], - "Jurisdiction": [ - "" - ], - "Default pay delay": [ - "" - ], - "Default wire transfer delay": [ - "" - ], - "could not create instance": [ - "" - ], - "Delete": [ - "" - ], - "Edit": [ - "" - ], - "There is no instances yet, add more pressing the + sign": [ - "" - ], - "Inventory products": [ - "" - ], - "Total price": [ - "" - ], - "Total tax": [ - "" - ], - "Order price": [ - "" - ], - "Net": [ - "" - ], - "Summary": [ - "" - ], - "Payments options": [ - "" - ], - "Auto refund deadline": [ - "" - ], - "Refund deadline": [ - "" - ], - "Pay deadline": [ - "" - ], - "Delivery date": [ - "" - ], - "Location": [ - "" - ], - "Max fee": [ - "" - ], - "Max wire fee": [ - "" - ], - "Wire fee amortization": [ - "" - ], - "Fullfilment url": [ - "" - ], - "Extra information": [ - "" - ], - "select a product first": [ - "" - ], - "should be greater than 0": [ - "" - ], - "cannot be greater than current stock and quantity previously added. max: %1$s": [ - "" - ], - "cannot be greater than current stock %1$s": [ - "" - ], - "Quantity": [ - "" - ], - "Order": [ - "" - ], - "claimed": [ - "" - ], - "copy url": [ - "" - ], - "pay at": [ - "" - ], - "created at": [ - "" - ], - "Timeline": [ - "" - ], - "Payment details": [ - "" - ], - "Order status": [ - "" - ], - "Product list": [ - "" - ], - "paid": [ - "" - ], - "wired": [ - "" - ], - "refunded": [ - "" - ], - "refund": [ - "" - ], - "Refunded amount": [ - "" - ], - "Deposit total": [ - "" - ], - "unpaid": [ - "" - ], - "Order status URL": [ - "" - ], - "Pay URI": [ - "" - ], - "Unknown order status. This is an error, please contact the administrator.": [ - "" - ], - "refund created successfully": [ - "" - ], - "could not create the refund": [ - "" - ], - "load newer orders": [ - "" - ], - "Date": [ - "" - ], - "Refund": [ - "" - ], - "load older orders": [ - "" - ], - "No orders has been found": [ - "" - ], - "date": [ - "" - ], - "amount": [ - "" - ], - "reason": [ - "" - ], - "Max refundable:": [ - "" - ], - "Reason": [ - "" - ], - "duplicated": [ - "" - ], - "requested by the customer": [ - "" - ], - "other": [ - "" - ], - "go to order id": [ - "" - ], - "Paid": [ - "" - ], - "Refunded": [ - "" - ], - "Not wired": [ - "" - ], - "All": [ - "" - ], - "could not create product": [ - "" - ], - "Sell": [ - "" - ], - "Profit": [ - "" - ], - "Sold": [ - "" - ], - "product updated successfully": [ - "" - ], - "could not update the product": [ - "" - ], - "product delete successfully": [ - "" - ], - "could not delete the product": [ - "" - ], - "Tips": [ - "" - ], - "Committed amount": [ - "" - ], - "Exchange initial amount": [ - "" - ], - "Merchant initial amount": [ - "" - ], - "There is no tips yet, add more pressing the + sign": [ - "" - ], - "cannot be empty": [ - "" - ], - "check the id, doest look valid": [ - "" - ], - "should have 52 characters, current %1$s": [ - "" - ], - "URL doesn't have the right format": [ - "" - ], - "Transfer ID": [ - "" - ], - "Account Address": [ - "" - ], - "Exchange URL": [ - "" - ], - "could not inform transfer": [ - "" - ], - "load newer transfers": [ - "" - ], - "Credit": [ - "" - ], - "Confirmed": [ - "" - ], - "Verified": [ - "" - ], - "Executed at": [ - "" - ], - "yes": [ - "" - ], - "no": [ - "" - ], - "unknown": [ - "" - ], - "load older transfers": [ - "" - ], - "There is no transfer yet, add more pressing the + sign": [ - "" - ] - } - } -}; - -strings['sv'] = { - "domain": "messages", - "locale_data": { - "messages": { - "": { - "domain": "messages", - "plural_forms": "nplurals=2; plural=(n != 1);", - "lang": "" - }, - "Access denied": [ - "" - ], - "Check your token is valid": [ - "" - ], - "Couldn't access the server.": [ - "" - ], - "Could not infer instance id from url %1$s": [ - "" - ], - "HTTP status #%1$s: Server reported a problem": [ - "" - ], - "Got message: \"%1$s\" from: %2$s": [ - "" - ], - "No default instance": [ - "" - ], - "in order to use merchant backoffice, you should create the default instance": [ - "" - ], - "Server reported a problem: HTTP status #%1$s": [ - "" - ], - "Got message: %1$s from: %2$s": [ - "" - ], - "Login required": [ - "" - ], - "Please enter your auth token. Token should have \"secret-token:\" and start with Bearer or ApiKey": [ - "" - ], - "Confirm": [ - "" - ], - "The value %1$s is invalid for a payment url": [ - "" - ], - "pick a date": [ - "" - ], - "clear": [ - "" - ], - "never": [ - "" - ], - "Image should be smaller than 1 MB": [ - "" - ], - "Country": [ - "" - ], - "Address": [ - "" - ], - "Building number": [ - "" - ], - "Building name": [ - "" - ], - "Street": [ - "" - ], - "Post code": [ - "" - ], - "Town location": [ - "" - ], - "Town": [ - "" - ], - "District": [ - "" - ], - "Country subdivision": [ - "" - ], - "Product id": [ - "" - ], - "Description": [ - "" - ], - "Name": [ - "" - ], - "loading...": [ - "" - ], - "no products found": [ - "" - ], - "no results": [ - "" - ], - "Deleting": [ - "" - ], - "Changing": [ - "" - ], - "Manage token": [ - "" - ], - "Update": [ - "" - ], - "Remove": [ - "" - ], - "Cancel": [ - "" - ], - "Manage stock": [ - "" - ], - "Infinite": [ - "" - ], - "lost cannot be greater that current + incoming (max %1$s)": [ - "" - ], - "current stock will change from %1$s to %2$s": [ - "" - ], - "current stock will stay at %1$s": [ - "" - ], - "Incoming": [ - "" - ], - "Lost": [ - "" - ], - "Current": [ - "" - ], - "without stock": [ - "" - ], - "Next restock": [ - "" - ], - "Delivery address": [ - "" - ], - "this product has no taxes": [ - "" - ], - "Amount": [ - "" - ], - "currency and value separated with colon": [ - "" - ], - "Add": [ - "" - ], - "Instance": [ - "" - ], - "Settings": [ - "" - ], - "Orders": [ - "" - ], - "Products": [ - "" - ], - "Transfers": [ - "" - ], - "Connection": [ - "" - ], - "Instances": [ - "" - ], - "New": [ - "" - ], - "List": [ - "" - ], - "Log out": [ - "" - ], - "Clear": [ - "" - ], - "should be the same": [ - "" - ], - "cannot be the same as before": [ - "" - ], - "You are updating the authorization token from instance %1$s with id %2$s": [ - "" - ], - "Old token": [ - "" - ], - "New token": [ - "" - ], - "Clearing the auth token will mean public access to the instance": [ - "" - ], - "ID": [ - "" - ], - "Image": [ - "" - ], - "Unit": [ - "" - ], - "Price": [ - "" - ], - "Stock": [ - "" - ], - "Taxes": [ - "" - ], - "Server not found": [ - "" - ], - "Couldn't access the server": [ - "" - ], - "Got message %1$s from %2$s": [ - "" - ], - "Unexpected Error": [ - "" - ], - "Auth token": [ - "" - ], - "Account address": [ - "" - ], - "Default max deposit fee": [ - "" - ], - "Default max wire fee": [ - "" - ], - "Default wire fee amortization": [ - "" - ], - "Jurisdiction": [ - "" - ], - "Default pay delay": [ - "" - ], - "Default wire transfer delay": [ - "" - ], - "could not create instance": [ - "" - ], - "Delete": [ - "" - ], - "Edit": [ - "" - ], - "There is no instances yet, add more pressing the + sign": [ - "" - ], - "Inventory products": [ - "" - ], - "Total price": [ - "" - ], - "Total tax": [ - "" - ], - "Order price": [ - "" - ], - "Net": [ - "" - ], - "Summary": [ - "" - ], - "Payments options": [ - "" - ], - "Auto refund deadline": [ - "" - ], - "Refund deadline": [ - "" - ], - "Pay deadline": [ - "" - ], - "Delivery date": [ - "" - ], - "Location": [ - "" - ], - "Max fee": [ - "" - ], - "Max wire fee": [ - "" - ], - "Wire fee amortization": [ - "" - ], - "Fullfilment url": [ - "" - ], - "Extra information": [ - "" - ], - "select a product first": [ - "" - ], - "should be greater than 0": [ - "" - ], - "cannot be greater than current stock and quantity previously added. max: %1$s": [ - "" - ], - "cannot be greater than current stock %1$s": [ - "" - ], - "Quantity": [ - "" - ], - "Order": [ - "" - ], - "claimed": [ - "" - ], - "copy url": [ - "" - ], - "pay at": [ - "" - ], - "created at": [ - "" - ], - "Timeline": [ - "" - ], - "Payment details": [ - "" - ], - "Order status": [ - "" - ], - "Product list": [ - "" - ], - "paid": [ - "" - ], - "wired": [ - "" - ], - "refunded": [ - "" - ], - "refund": [ - "" - ], - "Refunded amount": [ - "" - ], - "Deposit total": [ - "" - ], - "unpaid": [ - "" - ], - "Order status URL": [ - "" - ], - "Pay URI": [ - "" - ], - "Unknown order status. This is an error, please contact the administrator.": [ - "" - ], - "refund created successfully": [ - "" - ], - "could not create the refund": [ - "" - ], - "load newer orders": [ - "" - ], - "Date": [ - "" - ], - "Refund": [ - "" - ], - "load older orders": [ - "" - ], - "No orders has been found": [ - "" - ], - "date": [ - "" - ], - "amount": [ - "" - ], - "reason": [ - "" - ], - "Max refundable:": [ - "" - ], - "Reason": [ - "" - ], - "duplicated": [ - "" - ], - "requested by the customer": [ - "" - ], - "other": [ - "" - ], - "go to order id": [ - "" - ], - "Paid": [ - "" - ], - "Refunded": [ - "" - ], - "Not wired": [ - "" - ], - "All": [ - "" - ], - "could not create product": [ - "" - ], - "Sell": [ - "" - ], - "Profit": [ - "" - ], - "Sold": [ - "" - ], - "product updated successfully": [ - "" - ], - "could not update the product": [ - "" - ], - "product delete successfully": [ - "" - ], - "could not delete the product": [ - "" - ], - "Tips": [ - "" - ], - "Committed amount": [ - "" - ], - "Exchange initial amount": [ - "" - ], - "Merchant initial amount": [ - "" - ], - "There is no tips yet, add more pressing the + sign": [ - "" - ], - "cannot be empty": [ - "" - ], - "check the id, doest look valid": [ - "" - ], - "should have 52 characters, current %1$s": [ - "" - ], - "URL doesn't have the right format": [ - "" - ], - "Transfer ID": [ - "" - ], - "Account Address": [ - "" - ], - "Exchange URL": [ - "" - ], - "could not inform transfer": [ - "" - ], - "load newer transfers": [ - "" - ], - "Credit": [ - "" - ], - "Confirmed": [ - "" - ], - "Verified": [ - "" - ], - "Executed at": [ - "" - ], - "yes": [ - "" - ], - "no": [ - "" - ], - "unknown": [ - "" - ], - "load older transfers": [ - "" - ], - "There is no transfer yet, add more pressing the + sign": [ - "" - ] - } - } -}; - diff --git a/packages/merchant-backend-ui/src/i18n/sv.po b/packages/merchant-backend-ui/src/i18n/sv.po deleted file mode 100644 index 6b35bd0ce..000000000 --- a/packages/merchant-backend-ui/src/i18n/sv.po +++ /dev/null @@ -1,1057 +0,0 @@ -# This file is part of TALER -# (C) 2016 GNUnet e.V. -# -# TALER is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. -# -# TALER is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Taler Wallet\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 00:00+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/ApplicationReadyRoutes.tsx:50 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:299 -#, c-format -msgid "Access denied" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:51 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:300 -#, c-format -msgid "Check your token is valid" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:72 -#, c-format -msgid "Couldn't access the server." -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:73 -#, c-format -msgid "Could not infer instance id from url %1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:109 -#, c-format -msgid "HTTP status #%1$s: Server reported a problem" -msgstr "" - -#: src/InstanceRoutes.tsx:110 -#, c-format -msgid "Got message: \"%1$s\" from: %2$s" -msgstr "" - -#: src/InstanceRoutes.tsx:127 -#, c-format -msgid "No default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:128 -#, c-format -msgid "" -"in order to use merchant backoffice, you should create the default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:288 -#, c-format -msgid "Server reported a problem: HTTP status #%1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:289 -#, c-format -msgid "Got message: %1$s from: %2$s" -msgstr "" - -#: src/components/exception/login.tsx:46 -#, c-format -msgid "Login required" -msgstr "" - -#: src/components/exception/login.tsx:49 -#, c-format -msgid "" -"Please enter your auth token. Token should have \"secret-token:\" and start " -"with Bearer or ApiKey" -msgstr "" - -#: src/components/exception/login.tsx:86 src/components/modal/index.tsx:53 -#: src/components/modal/index.tsx:75 src/paths/admin/create/CreatePage.tsx:115 -#: src/paths/instance/orders/create/CreatePage.tsx:325 -#: src/paths/instance/products/create/CreatePage.tsx:51 -#: src/paths/instance/products/list/Table.tsx:174 -#: src/paths/instance/products/list/Table.tsx:228 -#: src/paths/instance/products/update/UpdatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:134 -#, c-format -msgid "Confirm" -msgstr "" - -#: src/components/form/InputArray.tsx:72 -#, c-format -msgid "The value %1$s is invalid for a payment url" -msgstr "" - -#: src/components/form/InputDate.tsx:67 -#: src/paths/instance/orders/list/index.tsx:123 -#, c-format -msgid "pick a date" -msgstr "" - -#: src/components/form/InputDate.tsx:81 -#, c-format -msgid "clear" -msgstr "" - -#: src/components/form/InputDate.tsx:83 -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "never" -msgstr "" - -#: src/components/form/InputImage.tsx:80 -#, c-format -msgid "Image should be smaller than 1 MB" -msgstr "" - -#: src/components/form/InputLocation.tsx:28 -#, c-format -msgid "Country" -msgstr "" - -#: src/components/form/InputLocation.tsx:30 -#: src/paths/admin/create/CreatePage.tsx:99 -#: src/paths/instance/transfers/list/Table.tsx:124 -#: src/paths/instance/update/UpdatePage.tsx:118 -#, c-format -msgid "Address" -msgstr "" - -#: src/components/form/InputLocation.tsx:34 -#, c-format -msgid "Building number" -msgstr "" - -#: src/components/form/InputLocation.tsx:35 -#, c-format -msgid "Building name" -msgstr "" - -#: src/components/form/InputLocation.tsx:36 -#, c-format -msgid "Street" -msgstr "" - -#: src/components/form/InputLocation.tsx:37 -#, c-format -msgid "Post code" -msgstr "" - -#: src/components/form/InputLocation.tsx:38 -#, c-format -msgid "Town location" -msgstr "" - -#: src/components/form/InputLocation.tsx:39 -#, c-format -msgid "Town" -msgstr "" - -#: src/components/form/InputLocation.tsx:40 -#, c-format -msgid "District" -msgstr "" - -#: src/components/form/InputLocation.tsx:41 -#, c-format -msgid "Country subdivision" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:59 -#, c-format -msgid "Product id" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:60 -#: src/components/product/ProductForm.tsx:99 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:122 -#: src/paths/instance/orders/list/Table.tsx:227 -#: src/paths/instance/products/list/Table.tsx:86 -#, c-format -msgid "Description" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:73 -#: src/components/form/InputTaxes.tsx:81 -#: src/paths/admin/create/CreatePage.tsx:87 src/paths/admin/list/Table.tsx:110 -#: src/paths/instance/details/DetailPage.tsx:76 -#: src/paths/instance/update/UpdatePage.tsx:106 -#, c-format -msgid "Name" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:102 -#, c-format -msgid "loading..." -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:108 -#, c-format -msgid "no products found" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:116 -#, c-format -msgid "no results" -msgstr "" - -#: src/components/form/InputSecured.tsx:33 -#, c-format -msgid "Deleting" -msgstr "" - -#: src/components/form/InputSecured.tsx:34 -#, c-format -msgid "Changing" -msgstr "" - -#: src/components/form/InputSecured.tsx:60 -#, c-format -msgid "Manage token" -msgstr "" - -#: src/components/form/InputSecured.tsx:83 -#, c-format -msgid "Update" -msgstr "" - -#: src/components/form/InputSecured.tsx:100 -#: src/paths/instance/orders/create/CreatePage.tsx:252 -#: src/paths/instance/orders/create/CreatePage.tsx:273 -#, c-format -msgid "Remove" -msgstr "" - -#: src/components/form/InputSecured.tsx:106 src/components/modal/index.tsx:52 -#: src/components/modal/index.tsx:73 src/paths/admin/create/CreatePage.tsx:114 -#: src/paths/instance/orders/create/CreatePage.tsx:324 -#: src/paths/instance/products/create/CreatePage.tsx:50 -#: src/paths/instance/products/list/Table.tsx:166 -#: src/paths/instance/products/list/Table.tsx:218 -#: src/paths/instance/products/update/UpdatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:88 -#: src/paths/instance/update/UpdatePage.tsx:133 -#, c-format -msgid "Cancel" -msgstr "" - -#: src/components/form/InputStock.tsx:91 -#, c-format -msgid "Manage stock" -msgstr "" - -#: src/components/form/InputStock.tsx:93 -#, c-format -msgid "Infinite" -msgstr "" - -#: src/components/form/InputStock.tsx:105 -#, c-format -msgid "lost cannot be greater that current + incoming (max %1$s)" -msgstr "" - -#: src/components/form/InputStock.tsx:111 -#, c-format -msgid "current stock will change from %1$s to %2$s" -msgstr "" - -#: src/components/form/InputStock.tsx:112 -#, c-format -msgid "current stock will stay at %1$s" -msgstr "" - -#: src/components/form/InputStock.tsx:129 -#: src/paths/instance/products/list/Table.tsx:204 -#, c-format -msgid "Incoming" -msgstr "" - -#: src/components/form/InputStock.tsx:130 -#: src/paths/instance/products/list/Table.tsx:205 -#, c-format -msgid "Lost" -msgstr "" - -#: src/components/form/InputStock.tsx:142 -#, c-format -msgid "Current" -msgstr "" - -#: src/components/form/InputStock.tsx:145 -#, c-format -msgid "without stock" -msgstr "" - -#: src/components/form/InputStock.tsx:150 -#, c-format -msgid "Next restock" -msgstr "" - -#: src/components/form/InputStock.tsx:152 -#, c-format -msgid "Delivery address" -msgstr "" - -#: src/components/form/InputTaxes.tsx:73 -#, c-format -msgid "this product has no taxes" -msgstr "" - -#: src/components/form/InputTaxes.tsx:77 -#: src/paths/instance/orders/details/DetailPage.tsx:145 -#: src/paths/instance/orders/details/DetailPage.tsx:296 -#: src/paths/instance/orders/list/Table.tsx:116 -#: src/paths/instance/transfers/create/CreatePage.tsx:84 -#, c-format -msgid "Amount" -msgstr "" - -#: src/components/form/InputTaxes.tsx:78 -#, c-format -msgid "currency and value separated with colon" -msgstr "" - -#: src/components/form/InputTaxes.tsx:84 -#: src/paths/instance/orders/create/InventoryProductForm.tsx:78 -#, c-format -msgid "Add" -msgstr "" - -#: src/components/menu/SideBar.tsx:53 -#, c-format -msgid "Instance" -msgstr "" - -#: src/components/menu/SideBar.tsx:59 -#, c-format -msgid "Settings" -msgstr "" - -#: src/components/menu/SideBar.tsx:65 -#: src/paths/instance/orders/list/Table.tsx:60 -#, c-format -msgid "Orders" -msgstr "" - -#: src/components/menu/SideBar.tsx:71 -#: src/paths/instance/orders/create/CreatePage.tsx:258 -#: src/paths/instance/products/list/Table.tsx:48 -#, c-format -msgid "Products" -msgstr "" - -#: src/components/menu/SideBar.tsx:77 -#: src/paths/instance/transfers/list/Table.tsx:65 -#, c-format -msgid "Transfers" -msgstr "" - -#: src/components/menu/SideBar.tsx:87 -#, c-format -msgid "Connection" -msgstr "" - -#: src/components/menu/SideBar.tsx:112 src/paths/admin/list/Table.tsx:57 -#, c-format -msgid "Instances" -msgstr "" - -#: src/components/menu/SideBar.tsx:116 -#, c-format -msgid "New" -msgstr "" - -#: src/components/menu/SideBar.tsx:122 -#, c-format -msgid "List" -msgstr "" - -#: src/components/menu/SideBar.tsx:129 -#, c-format -msgid "Log out" -msgstr "" - -#: src/components/modal/index.tsx:74 -#, c-format -msgid "Clear" -msgstr "" - -#: src/components/modal/index.tsx:110 src/components/modal/index.tsx:111 -#, c-format -msgid "should be the same" -msgstr "" - -#: src/components/modal/index.tsx:111 -#, c-format -msgid "cannot be the same as before" -msgstr "" - -#: src/components/modal/index.tsx:114 -#, c-format -msgid "" -"You are updating the authorization token from instance %1$s with id %2$s" -msgstr "" - -#: src/components/modal/index.tsx:124 -#, c-format -msgid "Old token" -msgstr "" - -#: src/components/modal/index.tsx:125 -#, c-format -msgid "New token" -msgstr "" - -#: src/components/modal/index.tsx:127 -#, c-format -msgid "Clearing the auth token will mean public access to the instance" -msgstr "" - -#: src/components/product/ProductForm.tsx:96 -#: src/paths/admin/create/CreatePage.tsx:85 src/paths/admin/list/Table.tsx:109 -#: src/paths/instance/transfers/list/Table.tsx:122 -#, c-format -msgid "ID" -msgstr "" - -#: src/components/product/ProductForm.tsx:98 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:121 -#: src/paths/instance/products/list/Table.tsx:85 -#, c-format -msgid "Image" -msgstr "" - -#: src/components/product/ProductForm.tsx:100 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:123 -#, c-format -msgid "Unit" -msgstr "" - -#: src/components/product/ProductForm.tsx:101 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:124 -#: src/paths/instance/products/list/Table.tsx:162 -#: src/paths/instance/products/list/Table.tsx:214 -#, c-format -msgid "Price" -msgstr "" - -#: src/components/product/ProductForm.tsx:103 -#: src/paths/instance/products/list/Table.tsx:90 -#, c-format -msgid "Stock" -msgstr "" - -#: src/components/product/ProductForm.tsx:105 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:128 -#: src/paths/instance/products/list/Table.tsx:88 -#, c-format -msgid "Taxes" -msgstr "" - -#: src/index.tsx:75 -#, c-format -msgid "Server not found" -msgstr "" - -#: src/index.tsx:85 -#, c-format -msgid "Couldn't access the server" -msgstr "" - -#: src/index.tsx:87 src/index.tsx:99 -#, c-format -msgid "Got message %1$s from %2$s" -msgstr "" - -#: src/index.tsx:97 -#, c-format -msgid "Unexpected Error" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:108 -#, c-format -msgid "Auth token" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:91 -#: src/paths/instance/details/DetailPage.tsx:77 -#: src/paths/instance/update/UpdatePage.tsx:110 -#, c-format -msgid "Account address" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:93 -#: src/paths/instance/update/UpdatePage.tsx:112 -#, c-format -msgid "Default max deposit fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:95 -#: src/paths/instance/update/UpdatePage.tsx:114 -#, c-format -msgid "Default max wire fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:97 -#: src/paths/instance/update/UpdatePage.tsx:116 -#, c-format -msgid "Default wire fee amortization" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:103 -#: src/paths/instance/update/UpdatePage.tsx:122 -#, c-format -msgid "Jurisdiction" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:107 -#: src/paths/instance/update/UpdatePage.tsx:126 -#, c-format -msgid "Default pay delay" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:109 -#: src/paths/instance/update/UpdatePage.tsx:128 -#, c-format -msgid "Default wire transfer delay" -msgstr "" - -#: src/paths/admin/create/index.tsx:58 -#, c-format -msgid "could not create instance" -msgstr "" - -#: src/paths/admin/list/Table.tsx:63 src/paths/admin/list/Table.tsx:131 -#: src/paths/instance/transfers/list/Table.tsx:71 -#, c-format -msgid "Delete" -msgstr "" - -#: src/paths/admin/list/Table.tsx:128 -#, c-format -msgid "Edit" -msgstr "" - -#: src/paths/admin/list/Table.tsx:149 -#: src/paths/instance/products/list/Table.tsx:245 -#, c-format -msgid "There is no instances yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:237 -#, c-format -msgid "Inventory products" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:286 -#, c-format -msgid "Total price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:287 -#, c-format -msgid "Total tax" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:289 -#: src/paths/instance/orders/create/CreatePage.tsx:297 -#, c-format -msgid "Order price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:295 -#, c-format -msgid "Net" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:300 -#: src/paths/instance/orders/details/DetailPage.tsx:144 -#: src/paths/instance/orders/details/DetailPage.tsx:295 -#: src/paths/instance/orders/list/Table.tsx:117 -#, c-format -msgid "Summary" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:302 -#, c-format -msgid "Payments options" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:303 -#, c-format -msgid "Auto refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:304 -#, c-format -msgid "Refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:305 -#, c-format -msgid "Pay deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:307 -#, c-format -msgid "Delivery date" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:308 -#, c-format -msgid "Location" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:312 -#, c-format -msgid "Max fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:313 -#, c-format -msgid "Max wire fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:314 -#, c-format -msgid "Wire fee amortization" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:315 -#, c-format -msgid "Fullfilment url" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:318 -#, c-format -msgid "Extra information" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:44 -#, c-format -msgid "select a product first" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:51 -#, c-format -msgid "should be greater than 0" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:58 -#, c-format -msgid "" -"cannot be greater than current stock and quantity previously added. max: %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:64 -#, c-format -msgid "cannot be greater than current stock %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:76 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:126 -#, c-format -msgid "Quantity" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:92 -#: src/paths/instance/orders/details/DetailPage.tsx:235 -#: src/paths/instance/orders/details/DetailPage.tsx:333 -#, c-format -msgid "Order" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:93 -#, c-format -msgid "claimed" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:110 -#: src/paths/instance/orders/details/DetailPage.tsx:261 -#: src/paths/instance/orders/list/Table.tsx:136 -#, c-format -msgid "copy url" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:126 -#: src/paths/instance/orders/details/DetailPage.tsx:349 -#, c-format -msgid "pay at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:127 -#: src/paths/instance/orders/details/DetailPage.tsx:350 -#, c-format -msgid "created at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:138 -#: src/paths/instance/orders/details/DetailPage.tsx:289 -#, c-format -msgid "Timeline" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:142 -#: src/paths/instance/orders/details/DetailPage.tsx:293 -#, c-format -msgid "Payment details" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:146 -#: src/paths/instance/orders/details/DetailPage.tsx:299 -#: src/paths/instance/orders/details/DetailPage.tsx:363 -#, c-format -msgid "Order status" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:156 -#: src/paths/instance/orders/details/DetailPage.tsx:308 -#, c-format -msgid "Product list" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:236 -#, c-format -msgid "paid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:238 -#, c-format -msgid "wired" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:241 -#, c-format -msgid "refunded" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:258 -#, c-format -msgid "refund" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:297 -#, c-format -msgid "Refunded amount" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:298 -#, c-format -msgid "Deposit total" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:336 -#, c-format -msgid "unpaid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:364 -#, c-format -msgid "Order status URL" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:365 -#, c-format -msgid "Pay URI" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:383 -#, c-format -msgid "" -"Unknown order status. This is an error, please contact the administrator." -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:56 -#: src/paths/instance/orders/list/index.tsx:147 -#, c-format -msgid "refund created successfully" -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:59 -#: src/paths/instance/orders/list/index.tsx:150 -#, c-format -msgid "could not create the refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:111 -#, c-format -msgid "load newer orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:115 -#, c-format -msgid "Date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:131 -#: src/paths/instance/orders/list/Table.tsx:223 -#, c-format -msgid "Refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:145 -#, c-format -msgid "load older orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:154 -#, c-format -msgid "No orders has been found" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:202 -#, c-format -msgid "date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:203 -#, c-format -msgid "amount" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:204 -#, c-format -msgid "reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:224 -#, c-format -msgid "Max refundable:" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "Reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "duplicated" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "requested by the customer" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "other" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:91 -#, c-format -msgid "go to order id" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:107 -#, c-format -msgid "Paid" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:108 -#, c-format -msgid "Refunded" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:109 -#, c-format -msgid "Not wired" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:110 -#, c-format -msgid "All" -msgstr "" - -#: src/paths/instance/products/create/index.tsx:48 -#: src/paths/instance/products/update/index.tsx:64 -#, c-format -msgid "could not create product" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:87 -#, c-format -msgid "Sell" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:89 -#, c-format -msgid "Profit" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:91 -#, c-format -msgid "Sold" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:59 -#, c-format -msgid "product updated successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:62 -#, c-format -msgid "could not update the product" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:70 -#, c-format -msgid "product delete successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:73 -#, c-format -msgid "could not delete the product" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:59 -#, c-format -msgid "Tips" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:111 -#, c-format -msgid "Committed amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:112 -#, c-format -msgid "Exchange initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:113 -#, c-format -msgid "Merchant initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:148 -#, c-format -msgid "There is no tips yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:50 -#: src/paths/instance/transfers/create/CreatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:56 -#, c-format -msgid "cannot be empty" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:51 -#, c-format -msgid "check the id, doest look valid" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:52 -#, c-format -msgid "should have 52 characters, current %1$s" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:57 -#, c-format -msgid "URL doesn't have the right format" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:74 -#, c-format -msgid "Transfer ID" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:76 -#, c-format -msgid "Account Address" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:82 -#: src/paths/instance/transfers/list/Table.tsx:125 -#, c-format -msgid "Exchange URL" -msgstr "" - -#: src/paths/instance/transfers/create/index.tsx:49 -#, c-format -msgid "could not inform transfer" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:118 -#, c-format -msgid "load newer transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:123 -#, c-format -msgid "Credit" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:126 -#, c-format -msgid "Confirmed" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:127 -#: src/paths/instance/transfers/list/index.tsx:60 -#, c-format -msgid "Verified" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:128 -#, c-format -msgid "Executed at" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "yes" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "no" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "unknown" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:145 -#, c-format -msgid "load older transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:154 -#, c-format -msgid "There is no transfer yet, add more pressing the + sign" -msgstr "" diff --git a/packages/merchant-backend-ui/src/i18n/taler-merchant-backoffice.pot b/packages/merchant-backend-ui/src/i18n/taler-merchant-backoffice.pot deleted file mode 100644 index 21fd863b0..000000000 --- a/packages/merchant-backend-ui/src/i18n/taler-merchant-backoffice.pot +++ /dev/null @@ -1,1054 +0,0 @@ -# This file is part of GNU Taler -# (C) 2021 Taler Systems S.A. -# GNU Taler is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. -# GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# You should have received a copy of the GNU General Public License along with -# GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Taler Wallet\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 00:00+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/ApplicationReadyRoutes.tsx:50 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:299 -#, c-format -msgid "Access denied" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:51 src/InstanceRoutes.tsx:118 -#: src/InstanceRoutes.tsx:300 -#, c-format -msgid "Check your token is valid" -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:72 -#, c-format -msgid "Couldn't access the server." -msgstr "" - -#: src/ApplicationReadyRoutes.tsx:73 -#, c-format -msgid "Could not infer instance id from url %1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:109 -#, c-format -msgid "HTTP status #%1$s: Server reported a problem" -msgstr "" - -#: src/InstanceRoutes.tsx:110 -#, c-format -msgid "Got message: \"%1$s\" from: %2$s" -msgstr "" - -#: src/InstanceRoutes.tsx:127 -#, c-format -msgid "No default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:128 -#, c-format -msgid "" -"in order to use merchant backoffice, you should create the default instance" -msgstr "" - -#: src/InstanceRoutes.tsx:288 -#, c-format -msgid "Server reported a problem: HTTP status #%1$s" -msgstr "" - -#: src/InstanceRoutes.tsx:289 -#, c-format -msgid "Got message: %1$s from: %2$s" -msgstr "" - -#: src/components/exception/login.tsx:46 -#, c-format -msgid "Login required" -msgstr "" - -#: src/components/exception/login.tsx:49 -#, c-format -msgid "" -"Please enter your auth token. Token should have \"secret-token:\" and start " -"with Bearer or ApiKey" -msgstr "" - -#: src/components/exception/login.tsx:86 src/components/modal/index.tsx:53 -#: src/components/modal/index.tsx:75 src/paths/admin/create/CreatePage.tsx:115 -#: src/paths/instance/orders/create/CreatePage.tsx:325 -#: src/paths/instance/products/create/CreatePage.tsx:51 -#: src/paths/instance/products/list/Table.tsx:174 -#: src/paths/instance/products/list/Table.tsx:228 -#: src/paths/instance/products/update/UpdatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:134 -#, c-format -msgid "Confirm" -msgstr "" - -#: src/components/form/InputArray.tsx:72 -#, c-format -msgid "The value %1$s is invalid for a payment url" -msgstr "" - -#: src/components/form/InputDate.tsx:67 -#: src/paths/instance/orders/list/index.tsx:123 -#, c-format -msgid "pick a date" -msgstr "" - -#: src/components/form/InputDate.tsx:81 -#, c-format -msgid "clear" -msgstr "" - -#: src/components/form/InputDate.tsx:83 -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "never" -msgstr "" - -#: src/components/form/InputImage.tsx:80 -#, c-format -msgid "Image should be smaller than 1 MB" -msgstr "" - -#: src/components/form/InputLocation.tsx:28 -#, c-format -msgid "Country" -msgstr "" - -#: src/components/form/InputLocation.tsx:30 -#: src/paths/admin/create/CreatePage.tsx:99 -#: src/paths/instance/transfers/list/Table.tsx:124 -#: src/paths/instance/update/UpdatePage.tsx:118 -#, c-format -msgid "Address" -msgstr "" - -#: src/components/form/InputLocation.tsx:34 -#, c-format -msgid "Building number" -msgstr "" - -#: src/components/form/InputLocation.tsx:35 -#, c-format -msgid "Building name" -msgstr "" - -#: src/components/form/InputLocation.tsx:36 -#, c-format -msgid "Street" -msgstr "" - -#: src/components/form/InputLocation.tsx:37 -#, c-format -msgid "Post code" -msgstr "" - -#: src/components/form/InputLocation.tsx:38 -#, c-format -msgid "Town location" -msgstr "" - -#: src/components/form/InputLocation.tsx:39 -#, c-format -msgid "Town" -msgstr "" - -#: src/components/form/InputLocation.tsx:40 -#, c-format -msgid "District" -msgstr "" - -#: src/components/form/InputLocation.tsx:41 -#, c-format -msgid "Country subdivision" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:59 -#, c-format -msgid "Product id" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:60 -#: src/components/product/ProductForm.tsx:99 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:122 -#: src/paths/instance/orders/list/Table.tsx:227 -#: src/paths/instance/products/list/Table.tsx:86 -#, c-format -msgid "Description" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:73 -#: src/components/form/InputTaxes.tsx:81 -#: src/paths/admin/create/CreatePage.tsx:87 src/paths/admin/list/Table.tsx:110 -#: src/paths/instance/details/DetailPage.tsx:76 -#: src/paths/instance/update/UpdatePage.tsx:106 -#, c-format -msgid "Name" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:102 -#, c-format -msgid "loading..." -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:108 -#, c-format -msgid "no products found" -msgstr "" - -#: src/components/form/InputSearchProduct.tsx:116 -#, c-format -msgid "no results" -msgstr "" - -#: src/components/form/InputSecured.tsx:33 -#, c-format -msgid "Deleting" -msgstr "" - -#: src/components/form/InputSecured.tsx:34 -#, c-format -msgid "Changing" -msgstr "" - -#: src/components/form/InputSecured.tsx:60 -#, c-format -msgid "Manage token" -msgstr "" - -#: src/components/form/InputSecured.tsx:83 -#, c-format -msgid "Update" -msgstr "" - -#: src/components/form/InputSecured.tsx:100 -#: src/paths/instance/orders/create/CreatePage.tsx:252 -#: src/paths/instance/orders/create/CreatePage.tsx:273 -#, c-format -msgid "Remove" -msgstr "" - -#: src/components/form/InputSecured.tsx:106 src/components/modal/index.tsx:52 -#: src/components/modal/index.tsx:73 src/paths/admin/create/CreatePage.tsx:114 -#: src/paths/instance/orders/create/CreatePage.tsx:324 -#: src/paths/instance/products/create/CreatePage.tsx:50 -#: src/paths/instance/products/list/Table.tsx:166 -#: src/paths/instance/products/list/Table.tsx:218 -#: src/paths/instance/products/update/UpdatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:88 -#: src/paths/instance/update/UpdatePage.tsx:133 -#, c-format -msgid "Cancel" -msgstr "" - -#: src/components/form/InputStock.tsx:91 -#, c-format -msgid "Manage stock" -msgstr "" - -#: src/components/form/InputStock.tsx:93 -#, c-format -msgid "Infinite" -msgstr "" - -#: src/components/form/InputStock.tsx:105 -#, c-format -msgid "lost cannot be greater that current + incoming (max %1$s)" -msgstr "" - -#: src/components/form/InputStock.tsx:111 -#, c-format -msgid "current stock will change from %1$s to %2$s" -msgstr "" - -#: src/components/form/InputStock.tsx:112 -#, c-format -msgid "current stock will stay at %1$s" -msgstr "" - -#: src/components/form/InputStock.tsx:129 -#: src/paths/instance/products/list/Table.tsx:204 -#, c-format -msgid "Incoming" -msgstr "" - -#: src/components/form/InputStock.tsx:130 -#: src/paths/instance/products/list/Table.tsx:205 -#, c-format -msgid "Lost" -msgstr "" - -#: src/components/form/InputStock.tsx:142 -#, c-format -msgid "Current" -msgstr "" - -#: src/components/form/InputStock.tsx:145 -#, c-format -msgid "without stock" -msgstr "" - -#: src/components/form/InputStock.tsx:150 -#, c-format -msgid "Next restock" -msgstr "" - -#: src/components/form/InputStock.tsx:152 -#, c-format -msgid "Delivery address" -msgstr "" - -#: src/components/form/InputTaxes.tsx:73 -#, c-format -msgid "this product has no taxes" -msgstr "" - -#: src/components/form/InputTaxes.tsx:77 -#: src/paths/instance/orders/details/DetailPage.tsx:145 -#: src/paths/instance/orders/details/DetailPage.tsx:296 -#: src/paths/instance/orders/list/Table.tsx:116 -#: src/paths/instance/transfers/create/CreatePage.tsx:84 -#, c-format -msgid "Amount" -msgstr "" - -#: src/components/form/InputTaxes.tsx:78 -#, c-format -msgid "currency and value separated with colon" -msgstr "" - -#: src/components/form/InputTaxes.tsx:84 -#: src/paths/instance/orders/create/InventoryProductForm.tsx:78 -#, c-format -msgid "Add" -msgstr "" - -#: src/components/menu/SideBar.tsx:53 -#, c-format -msgid "Instance" -msgstr "" - -#: src/components/menu/SideBar.tsx:59 -#, c-format -msgid "Settings" -msgstr "" - -#: src/components/menu/SideBar.tsx:65 -#: src/paths/instance/orders/list/Table.tsx:60 -#, c-format -msgid "Orders" -msgstr "" - -#: src/components/menu/SideBar.tsx:71 -#: src/paths/instance/orders/create/CreatePage.tsx:258 -#: src/paths/instance/products/list/Table.tsx:48 -#, c-format -msgid "Products" -msgstr "" - -#: src/components/menu/SideBar.tsx:77 -#: src/paths/instance/transfers/list/Table.tsx:65 -#, c-format -msgid "Transfers" -msgstr "" - -#: src/components/menu/SideBar.tsx:87 -#, c-format -msgid "Connection" -msgstr "" - -#: src/components/menu/SideBar.tsx:112 src/paths/admin/list/Table.tsx:57 -#, c-format -msgid "Instances" -msgstr "" - -#: src/components/menu/SideBar.tsx:116 -#, c-format -msgid "New" -msgstr "" - -#: src/components/menu/SideBar.tsx:122 -#, c-format -msgid "List" -msgstr "" - -#: src/components/menu/SideBar.tsx:129 -#, c-format -msgid "Log out" -msgstr "" - -#: src/components/modal/index.tsx:74 -#, c-format -msgid "Clear" -msgstr "" - -#: src/components/modal/index.tsx:110 src/components/modal/index.tsx:111 -#, c-format -msgid "should be the same" -msgstr "" - -#: src/components/modal/index.tsx:111 -#, c-format -msgid "cannot be the same as before" -msgstr "" - -#: src/components/modal/index.tsx:114 -#, c-format -msgid "" -"You are updating the authorization token from instance %1$s with id %2$s" -msgstr "" - -#: src/components/modal/index.tsx:124 -#, c-format -msgid "Old token" -msgstr "" - -#: src/components/modal/index.tsx:125 -#, c-format -msgid "New token" -msgstr "" - -#: src/components/modal/index.tsx:127 -#, c-format -msgid "Clearing the auth token will mean public access to the instance" -msgstr "" - -#: src/components/product/ProductForm.tsx:96 -#: src/paths/admin/create/CreatePage.tsx:85 src/paths/admin/list/Table.tsx:109 -#: src/paths/instance/transfers/list/Table.tsx:122 -#, c-format -msgid "ID" -msgstr "" - -#: src/components/product/ProductForm.tsx:98 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:121 -#: src/paths/instance/products/list/Table.tsx:85 -#, c-format -msgid "Image" -msgstr "" - -#: src/components/product/ProductForm.tsx:100 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:123 -#, c-format -msgid "Unit" -msgstr "" - -#: src/components/product/ProductForm.tsx:101 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:124 -#: src/paths/instance/products/list/Table.tsx:162 -#: src/paths/instance/products/list/Table.tsx:214 -#, c-format -msgid "Price" -msgstr "" - -#: src/components/product/ProductForm.tsx:103 -#: src/paths/instance/products/list/Table.tsx:90 -#, c-format -msgid "Stock" -msgstr "" - -#: src/components/product/ProductForm.tsx:105 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:128 -#: src/paths/instance/products/list/Table.tsx:88 -#, c-format -msgid "Taxes" -msgstr "" - -#: src/index.tsx:75 -#, c-format -msgid "Server not found" -msgstr "" - -#: src/index.tsx:85 -#, c-format -msgid "Couldn't access the server" -msgstr "" - -#: src/index.tsx:87 src/index.tsx:99 -#, c-format -msgid "Got message %1$s from %2$s" -msgstr "" - -#: src/index.tsx:97 -#, c-format -msgid "Unexpected Error" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:89 -#: src/paths/instance/update/UpdatePage.tsx:108 -#, c-format -msgid "Auth token" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:91 -#: src/paths/instance/details/DetailPage.tsx:77 -#: src/paths/instance/update/UpdatePage.tsx:110 -#, c-format -msgid "Account address" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:93 -#: src/paths/instance/update/UpdatePage.tsx:112 -#, c-format -msgid "Default max deposit fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:95 -#: src/paths/instance/update/UpdatePage.tsx:114 -#, c-format -msgid "Default max wire fee" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:97 -#: src/paths/instance/update/UpdatePage.tsx:116 -#, c-format -msgid "Default wire fee amortization" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:103 -#: src/paths/instance/update/UpdatePage.tsx:122 -#, c-format -msgid "Jurisdiction" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:107 -#: src/paths/instance/update/UpdatePage.tsx:126 -#, c-format -msgid "Default pay delay" -msgstr "" - -#: src/paths/admin/create/CreatePage.tsx:109 -#: src/paths/instance/update/UpdatePage.tsx:128 -#, c-format -msgid "Default wire transfer delay" -msgstr "" - -#: src/paths/admin/create/index.tsx:58 -#, c-format -msgid "could not create instance" -msgstr "" - -#: src/paths/admin/list/Table.tsx:63 src/paths/admin/list/Table.tsx:131 -#: src/paths/instance/transfers/list/Table.tsx:71 -#, c-format -msgid "Delete" -msgstr "" - -#: src/paths/admin/list/Table.tsx:128 -#, c-format -msgid "Edit" -msgstr "" - -#: src/paths/admin/list/Table.tsx:149 -#: src/paths/instance/products/list/Table.tsx:245 -#, c-format -msgid "There is no instances yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:237 -#, c-format -msgid "Inventory products" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:286 -#, c-format -msgid "Total price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:287 -#, c-format -msgid "Total tax" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:289 -#: src/paths/instance/orders/create/CreatePage.tsx:297 -#, c-format -msgid "Order price" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:295 -#, c-format -msgid "Net" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:300 -#: src/paths/instance/orders/details/DetailPage.tsx:144 -#: src/paths/instance/orders/details/DetailPage.tsx:295 -#: src/paths/instance/orders/list/Table.tsx:117 -#, c-format -msgid "Summary" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:302 -#, c-format -msgid "Payments options" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:303 -#, c-format -msgid "Auto refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:304 -#, c-format -msgid "Refund deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:305 -#, c-format -msgid "Pay deadline" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:307 -#, c-format -msgid "Delivery date" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:308 -#, c-format -msgid "Location" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:312 -#, c-format -msgid "Max fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:313 -#, c-format -msgid "Max wire fee" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:314 -#, c-format -msgid "Wire fee amortization" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:315 -#, c-format -msgid "Fullfilment url" -msgstr "" - -#: src/paths/instance/orders/create/CreatePage.tsx:318 -#, c-format -msgid "Extra information" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:44 -#, c-format -msgid "select a product first" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:51 -#, c-format -msgid "should be greater than 0" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:58 -#, c-format -msgid "" -"cannot be greater than current stock and quantity previously added. max: %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:64 -#, c-format -msgid "cannot be greater than current stock %1$s" -msgstr "" - -#: src/paths/instance/orders/create/InventoryProductForm.tsx:76 -#: src/paths/instance/orders/create/NonInventoryProductForm.tsx:126 -#, c-format -msgid "Quantity" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:92 -#: src/paths/instance/orders/details/DetailPage.tsx:235 -#: src/paths/instance/orders/details/DetailPage.tsx:333 -#, c-format -msgid "Order" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:93 -#, c-format -msgid "claimed" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:110 -#: src/paths/instance/orders/details/DetailPage.tsx:261 -#: src/paths/instance/orders/list/Table.tsx:136 -#, c-format -msgid "copy url" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:126 -#: src/paths/instance/orders/details/DetailPage.tsx:349 -#, c-format -msgid "pay at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:127 -#: src/paths/instance/orders/details/DetailPage.tsx:350 -#, c-format -msgid "created at" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:138 -#: src/paths/instance/orders/details/DetailPage.tsx:289 -#, c-format -msgid "Timeline" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:142 -#: src/paths/instance/orders/details/DetailPage.tsx:293 -#, c-format -msgid "Payment details" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:146 -#: src/paths/instance/orders/details/DetailPage.tsx:299 -#: src/paths/instance/orders/details/DetailPage.tsx:363 -#, c-format -msgid "Order status" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:156 -#: src/paths/instance/orders/details/DetailPage.tsx:308 -#, c-format -msgid "Product list" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:236 -#, c-format -msgid "paid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:238 -#, c-format -msgid "wired" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:241 -#, c-format -msgid "refunded" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:258 -#, c-format -msgid "refund" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:297 -#, c-format -msgid "Refunded amount" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:298 -#, c-format -msgid "Deposit total" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:336 -#, c-format -msgid "unpaid" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:364 -#, c-format -msgid "Order status URL" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:365 -#, c-format -msgid "Pay URI" -msgstr "" - -#: src/paths/instance/orders/details/DetailPage.tsx:383 -#, c-format -msgid "" -"Unknown order status. This is an error, please contact the administrator." -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:56 -#: src/paths/instance/orders/list/index.tsx:147 -#, c-format -msgid "refund created successfully" -msgstr "" - -#: src/paths/instance/orders/details/index.tsx:59 -#: src/paths/instance/orders/list/index.tsx:150 -#, c-format -msgid "could not create the refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:111 -#, c-format -msgid "load newer orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:115 -#, c-format -msgid "Date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:131 -#: src/paths/instance/orders/list/Table.tsx:223 -#, c-format -msgid "Refund" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:145 -#, c-format -msgid "load older orders" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:154 -#, c-format -msgid "No orders has been found" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:202 -#, c-format -msgid "date" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:203 -#, c-format -msgid "amount" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:204 -#, c-format -msgid "reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:224 -#, c-format -msgid "Max refundable:" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "Reason" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "duplicated" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "requested by the customer" -msgstr "" - -#: src/paths/instance/orders/list/Table.tsx:226 -#, c-format -msgid "other" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:91 -#, c-format -msgid "go to order id" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:107 -#, c-format -msgid "Paid" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:108 -#, c-format -msgid "Refunded" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:109 -#, c-format -msgid "Not wired" -msgstr "" - -#: src/paths/instance/orders/list/index.tsx:110 -#, c-format -msgid "All" -msgstr "" - -#: src/paths/instance/products/create/index.tsx:48 -#: src/paths/instance/products/update/index.tsx:64 -#, c-format -msgid "could not create product" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:87 -#, c-format -msgid "Sell" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:89 -#, c-format -msgid "Profit" -msgstr "" - -#: src/paths/instance/products/list/Table.tsx:91 -#, c-format -msgid "Sold" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:59 -#, c-format -msgid "product updated successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:62 -#, c-format -msgid "could not update the product" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:70 -#, c-format -msgid "product delete successfully" -msgstr "" - -#: src/paths/instance/products/list/index.tsx:73 -#, c-format -msgid "could not delete the product" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:59 -#, c-format -msgid "Tips" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:111 -#, c-format -msgid "Committed amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:112 -#, c-format -msgid "Exchange initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:113 -#, c-format -msgid "Merchant initial amount" -msgstr "" - -#: src/paths/instance/tips/list/Table.tsx:148 -#, c-format -msgid "There is no tips yet, add more pressing the + sign" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:50 -#: src/paths/instance/transfers/create/CreatePage.tsx:54 -#: src/paths/instance/transfers/create/CreatePage.tsx:55 -#: src/paths/instance/transfers/create/CreatePage.tsx:56 -#, c-format -msgid "cannot be empty" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:51 -#, c-format -msgid "check the id, doest look valid" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:52 -#, c-format -msgid "should have 52 characters, current %1$s" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:57 -#, c-format -msgid "URL doesn't have the right format" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:74 -#, c-format -msgid "Transfer ID" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:76 -#, c-format -msgid "Account Address" -msgstr "" - -#: src/paths/instance/transfers/create/CreatePage.tsx:82 -#: src/paths/instance/transfers/list/Table.tsx:125 -#, c-format -msgid "Exchange URL" -msgstr "" - -#: src/paths/instance/transfers/create/index.tsx:49 -#, c-format -msgid "could not inform transfer" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:118 -#, c-format -msgid "load newer transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:123 -#, c-format -msgid "Credit" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:126 -#, c-format -msgid "Confirmed" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:127 -#: src/paths/instance/transfers/list/index.tsx:60 -#, c-format -msgid "Verified" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:128 -#, c-format -msgid "Executed at" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "yes" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:138 -#: src/paths/instance/transfers/list/Table.tsx:139 -#, c-format -msgid "no" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:140 -#, c-format -msgid "unknown" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:145 -#, c-format -msgid "load older transfers" -msgstr "" - -#: src/paths/instance/transfers/list/Table.tsx:154 -#, c-format -msgid "There is no transfer yet, add more pressing the + sign" -msgstr "" diff --git a/packages/merchant-backend-ui/src/index.tsx b/packages/merchant-backend-ui/src/index.tsx deleted file mode 100644 index 4cfe8f7b4..000000000 --- a/packages/merchant-backend-ui/src/index.tsx +++ /dev/null @@ -1,51 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** - * - * @author Sebastian Javier Marchano (sebasjm) - */ - -import { Fragment, h, VNode } from "preact"; -import { BackendContextProvider } from "./context/backend"; -import { TranslationProvider } from "./context/translation"; -// import { Page as RequestPayment } from './RequestPayment'; -import { Route, Router } from "preact-router"; -import { Footer } from "./components/Footer"; -import "./css/pure-min.css"; - -export default function Application(): VNode { - return ( - // <FetchContextProvider> - <BackendContextProvider> - <TranslationProvider> - <ApplicationStatusRoutes /> - </TranslationProvider> - </BackendContextProvider> - // </FetchContextProvider> - ); -} - -function ApplicationStatusRoutes(): VNode { - return ( - <Fragment> - <Router> - <Route default component={() => <div>hello!</div>} /> - </Router> - <Footer /> - </Fragment> - ); -} diff --git a/packages/merchant-backend-ui/src/utils/amount.ts b/packages/merchant-backend-ui/src/utils/amount.ts deleted file mode 100644 index a54c52abe..000000000 --- a/packages/merchant-backend-ui/src/utils/amount.ts +++ /dev/null @@ -1,69 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ -import { amountFractionalBase, AmountJson, Amounts } from "@gnu-taler/taler-util"; -import { MerchantBackend } from "../declaration"; - -/** - * sums two prices, - * @param one - * @param two - * @returns - */ -const sumPrices = (one: string, two: string) => { - const [currency, valueOne] = one.split(':') - const [, valueTwo] = two.split(':') - return `${currency}:${parseInt(valueOne, 10) + parseInt(valueTwo, 10)}` -} - -/** - * merge refund with the same description and a difference less than one minute - * @param prev list of refunds that will hold the merged refunds - * @param cur new refund to add to the list - * @returns list with the new refund, may be merged with the last - */ -export function mergeRefunds(prev: MerchantBackend.Orders.RefundDetails[], cur: MerchantBackend.Orders.RefundDetails) { - let tail; - - if (prev.length === 0 || //empty list - cur.timestamp.t_s === 'never' || //current does not have timestamp - (tail = prev[prev.length - 1]).timestamp.t_s === 'never' || // last does not have timestamp - cur.reason !== tail.reason || //different reason - Math.abs(cur.timestamp.t_s - tail.timestamp.t_s) > 1000 * 60) {//more than 1 minute difference - - prev.push(cur) - return prev - } - - prev[prev.length - 1] = { - ...tail, - amount: sumPrices(tail.amount, cur.amount) - } - - return prev -} - -export const rate = (one: string, two: string) => { - const a = Amounts.parseOrThrow(one) - const b = Amounts.parseOrThrow(two) - const af = toFloat(a) - const bf = toFloat(b) - if (bf === 0) return 0 - return af / bf -} - -function toFloat(amount: AmountJson) { - return amount.value + (amount.fraction / amountFractionalBase); -} diff --git a/packages/merchant-backend-ui/src/utils/constants.ts b/packages/merchant-backend-ui/src/utils/constants.ts deleted file mode 100644 index 37c46e4c2..000000000 --- a/packages/merchant-backend-ui/src/utils/constants.ts +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -//https://tools.ietf.org/html/rfc8905 -export const PAYTO_REGEX = /^payto:\/\/[a-zA-Z][a-zA-Z0-9-.]+(\/[a-zA-Z0-9\-\.\~\(\)@_%:!$&'*+,;=]*)*\??((amount|receiver-name|sender-name|instruction|message)=[a-zA-Z0-9\-\.\~\(\)@_%:!$'*+,;=]*&?)*$/ -export const PAYTO_WIRE_METHOD_LOOKUP = /payto:\/\/([a-zA-Z][a-zA-Z0-9-.]+)\/.*/ - -export const AMOUNT_REGEX = /^[a-zA-Z][a-zA-Z]*:[0-9][0-9,]*\.?[0-9,]*$/ - -export const INSTANCE_ID_LOOKUP = /^\/instances\/([^/]*)\/?$/ - -export const AMOUNT_ZERO_REGEX = /^[a-zA-Z][a-zA-Z]*:0$/ - -export const CROCKFORD_BASE32_REGEX = /^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]+[*~$=U]*$/ - -export const URL_REGEX = /^((https?:)(\/\/\/?)([\w]*(?::[\w]*)?@)?([\d\w\.-]+)(?::(\d+))?)\/$/ - -// how much rows we add every time user hit load more -export const PAGE_SIZE = 20 -// how bigger can be the result set -// after this threshold, load more with move the cursor -export const MAX_RESULT_SIZE = PAGE_SIZE * 2 - 1; - -// how much we will wait for all request, in seconds -export const DEFAULT_REQUEST_TIMEOUT = 10; - -export const MAX_IMAGE_SIZE = 1024 * 1024; - -export const INSTANCE_ID_REGEX = /^[a-zA-Z0-9][a-zA-Z0-9_.@-]+$/ diff --git a/packages/merchant-backend-ui/src/utils/table.ts b/packages/merchant-backend-ui/src/utils/table.ts deleted file mode 100644 index 198c46543..000000000 --- a/packages/merchant-backend-ui/src/utils/table.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -import { WithId } from "../declaration"; - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -export interface Actions<T extends WithId> { - element: T; - type: 'DELETE' | 'UPDATE'; -} - -function notEmpty<TValue>(value: TValue | null | undefined): value is TValue { - return value !== null && value !== undefined; -} - -export function buildActions<T extends WithId>(instances: T[], selected: string[], action: 'DELETE'): Actions<T>[] { - return selected.map(id => instances.find(i => i.id === id)) - .filter(notEmpty) - .map(id => ({ element: id, type: action })) -} diff --git a/packages/merchant-backend-ui/src/utils/types.ts b/packages/merchant-backend-ui/src/utils/types.ts deleted file mode 100644 index 9e49d39e1..000000000 --- a/packages/merchant-backend-ui/src/utils/types.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -import { VNode } from "preact" - -export interface KeyValue { - [key: string]: string; -} - -export interface Notification { - message: string; - description?: string | VNode; - type: MessageType; -} - -export type ValueOrFunction<T> = T | ((p: T) => T) -export type MessageType = 'INFO' | 'WARN' | 'ERROR' | 'SUCCESS' - diff --git a/packages/merchant-backend-ui/trim-extension.cjs b/packages/merchant-backend-ui/trim-extension.cjs new file mode 100644 index 000000000..00e8f9f01 --- /dev/null +++ b/packages/merchant-backend-ui/trim-extension.cjs @@ -0,0 +1,23 @@ +// Simple plugin to trim extensions from the filename of relative import statements. +// Required to get linaria to work with `moduleResulution: "Node16"` imports. +// @author Florian Dold +module.exports = function({ types: t }) { + return { + name: "trim-extension", + visitor: { + ImportDeclaration: (x) => { + const src = x.node.source; + if (src.value.startsWith(".")) { + if (src.value.endsWith(".js")) { + const newVal = src.value.replace(/[.]js$/, "") + x.node.source = t.stringLiteral(newVal); + } + } + if (src.value.endsWith(".jsx")) { + const newVal = src.value.replace(/[.]jsx$/, "") + x.node.source = t.stringLiteral(newVal); + } + }, + } + }; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c6487186d..56f678e46 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -175,83 +175,44 @@ importers: packages/merchant-backend-ui: specifiers: '@babel/core': 7.18.9 - '@creativebulma/bulma-tooltip': ^1.2.0 '@gnu-taler/pogen': ^0.0.5 - '@gnu-taler/taler-util': workspace:* '@linaria/babel-preset': 3.0.0-beta.22 '@linaria/core': 3.0.0-beta.22 '@linaria/react': 3.0.0-beta.22 - '@linaria/rollup': 3.0.0-beta.22 '@linaria/shaker': 3.0.0-beta.22 '@linaria/webpack-loader': 3.0.0-beta.22 - '@rollup/plugin-alias': ^3.1.5 - '@rollup/plugin-babel': ^5.3.0 - '@rollup/plugin-commonjs': ^20.0.0 - '@rollup/plugin-html': ^0.2.3 - '@rollup/plugin-image': ^2.1.1 - '@rollup/plugin-json': ^4.1.0 - '@rollup/plugin-replace': ^3.0.0 - '@rollup/plugin-typescript': '11' - '@types/history': ^4.7.8 '@types/mocha': ^8.2.2 '@types/mustache': ^4.1.2 '@typescript-eslint/eslint-plugin': ^4.22.0 '@typescript-eslint/parser': ^4.22.0 - axios: ^0.21.1 babel-loader: ^8.2.2 base64-inline-loader: ^1.1.1 date-fns: ^2.21.1 eslint: ^7.25.0 eslint-config-preact: ^1.1.4 eslint-plugin-header: ^3.1.1 - history: 4.10.1 - jed: ^1.1.1 mustache: ^4.2.0 po2json: ^0.4.5 preact: 10.11.3 preact-render-to-string: ^5.1.19 - preact-router: 3.2.1 qrcode-generator: ^1.4.4 rimraf: ^3.0.2 - rollup: ^2.56.3 - rollup-plugin-bundle-html: ^0.2.2 - rollup-plugin-css-only: ^3.1.0 - script-ext-html-webpack-plugin: ^2.1.5 sirv-cli: ^1.0.11 - swr: ^0.5.5 + ts-node: ^10.9.1 tslib: 2.4.0 typescript: 4.9.4 - yup: ^0.32.9 dependencies: - '@gnu-taler/taler-util': link:../taler-util - axios: 0.21.4 date-fns: 2.29.3 - history: 4.10.1 - jed: 1.1.1 preact: 10.11.3 - preact-router: 3.2.1_preact@10.11.3 qrcode-generator: 1.4.4 - swr: 0.5.7 - yup: 0.32.11 devDependencies: '@babel/core': 7.18.9 - '@creativebulma/bulma-tooltip': 1.2.0 '@gnu-taler/pogen': link:../pogen '@linaria/babel-preset': 3.0.0-beta.22 '@linaria/core': 3.0.0-beta.22 '@linaria/react': 3.0.0-beta.22 - '@linaria/rollup': 3.0.0-beta.22 '@linaria/shaker': 3.0.0-beta.22 '@linaria/webpack-loader': 3.0.0-beta.22 - '@rollup/plugin-alias': 3.1.9_rollup@2.79.1 - '@rollup/plugin-babel': 5.3.1_cwbsg774jzhqoll5t2xfwyzz54 - '@rollup/plugin-commonjs': 20.0.0_rollup@2.79.1 - '@rollup/plugin-html': 0.2.4_rollup@2.79.1 - '@rollup/plugin-image': 2.1.1_rollup@2.79.1 - '@rollup/plugin-json': 4.1.0_rollup@2.79.1 - '@rollup/plugin-replace': 3.1.0_rollup@2.79.1 - '@rollup/plugin-typescript': 11.0.0_ds5km5eydjug3un6mvhihxeysu - '@types/history': 4.7.11 '@types/mocha': 8.2.3 '@types/mustache': 4.2.1 '@typescript-eslint/eslint-plugin': 4.33.0_thyv6urrmcfyirt6hwk42bhgva @@ -265,11 +226,8 @@ importers: po2json: 0.4.5 preact-render-to-string: 5.2.6_preact@10.11.3 rimraf: 3.0.2 - rollup: 2.79.1 - rollup-plugin-bundle-html: 0.2.2 - rollup-plugin-css-only: 3.1.0_rollup@2.79.1 - script-ext-html-webpack-plugin: 2.1.5 sirv-cli: 1.0.14 + ts-node: 10.9.1_typescript@4.9.4 tslib: 2.4.0 typescript: 4.9.4 @@ -3040,6 +2998,13 @@ packages: resolution: {integrity: sha512-ooImbeXEBxf77cttbzA7X5rC5aAWm9UsXIGViFOnsqB+6M944GkB28S5R4UWRqjFd2iW4zGEkEifAU+q43pt2w==} dev: true + /@cspotcode/source-map-support/0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + /@emotion/is-prop-valid/0.8.8: resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} dependencies: @@ -3378,6 +3343,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@jridgewell/trace-mapping/0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + /@leichtgewicht/ip-codec/2.0.4: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} dev: true @@ -3479,16 +3451,6 @@ packages: - supports-color dev: true - /@linaria/rollup/3.0.0-beta.22: - resolution: {integrity: sha512-VSMOvDsuAC/GoIwt111v6T7NlK5xvwVi5sK6OUNBCAZLdBai72uPKQKniye6qLMsI9SUfzPbktjTPVP/Uffweg==} - engines: {node: ^12.16.0 || >=13.7.0} - dependencies: - '@linaria/babel-preset': 3.0.0-beta.22 - '@rollup/pluginutils': 4.2.1 - transitivePeerDependencies: - - supports-color - dev: true - /@linaria/shaker/3.0.0-beta.22: resolution: {integrity: sha512-NOi71i/XfBJpBOT5eepRvv6B64IMdjsKwv+vxLW+IuFHx3wnqXgZsgimNK2qoXbpqy9xWsSEeB/4QA4m8GCUKQ==} engines: {node: ^12.16.0 || >=13.7.0} @@ -3696,33 +3658,6 @@ packages: webpack: 4.46.0 dev: true - /@rollup/plugin-alias/3.1.9_rollup@2.79.1: - resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} - engines: {node: '>=8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - rollup: 2.79.1 - slash: 3.0.0 - dev: true - - /@rollup/plugin-babel/5.3.1_cwbsg774jzhqoll5t2xfwyzz54: - resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} - engines: {node: '>= 10.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true - dependencies: - '@babel/core': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - rollup: 2.79.1 - dev: true - /@rollup/plugin-babel/5.3.1_vyv4jbhmcriklval33ak5sngky: resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} @@ -3740,51 +3675,6 @@ packages: rollup: 2.79.1 dev: true - /@rollup/plugin-commonjs/20.0.0_rollup@2.79.1: - resolution: {integrity: sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^2.38.3 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 7.2.3 - is-reference: 1.2.1 - magic-string: 0.25.9 - resolve: 1.22.1 - rollup: 2.79.1 - dev: true - - /@rollup/plugin-html/0.2.4_rollup@2.79.1: - resolution: {integrity: sha512-x0qpNXxbmGa9Jnl4OX89AORPe2T/a4DqNK69BGRnEdaPKq6MdiUXSTam/eCkF5DxkQGcRcPq0L4vzr/E3q4mVA==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - rollup: 2.79.1 - dev: true - - /@rollup/plugin-image/2.1.1_rollup@2.79.1: - resolution: {integrity: sha512-AgP4U85zuQJdUopLUCM+hTf45RepgXeTb8EJsleExVy99dIoYpt3ZlDYJdKmAc2KLkNntCDg6BPJvgJU3uGF+g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - mini-svg-data-uri: 1.4.4 - rollup: 2.79.1 - dev: true - - /@rollup/plugin-json/4.1.0_rollup@2.79.1: - resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - rollup: 2.79.1 - dev: true - /@rollup/plugin-node-resolve/11.2.1_rollup@2.79.1: resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} engines: {node: '>= 10.0.0'} @@ -3810,36 +3700,6 @@ packages: rollup: 2.79.1 dev: true - /@rollup/plugin-replace/3.1.0_rollup@2.79.1: - resolution: {integrity: sha512-pA3XRUrSKybVYqmH5TqWNZpGxF+VV+1GrYchKgCNIj2vsSOX7CVm2RCtx8p2nrC7xvkziYyK+lSi74T93MU3YA==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - magic-string: 0.25.9 - rollup: 2.79.1 - dev: true - - /@rollup/plugin-typescript/11.0.0_ds5km5eydjug3un6mvhihxeysu: - resolution: {integrity: sha512-goPyCWBiimk1iJgSTgsehFD5OOFHiAknrRJjqFCudcW8JtWiBlK284Xnn4flqMqg6YAjVG/EE+3aVzrL5qNSzQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.14.0||^3.0.0 - tslib: '*' - typescript: '>=3.7.0' - peerDependenciesMeta: - rollup: - optional: true - tslib: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.2_rollup@2.79.1 - resolve: 1.22.1 - rollup: 2.79.1 - tslib: 2.4.0 - typescript: 4.9.4 - dev: true - /@rollup/pluginutils/3.1.0_rollup@2.79.1: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} @@ -3852,29 +3712,6 @@ packages: rollup: 2.79.1 dev: true - /@rollup/pluginutils/4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true - - /@rollup/pluginutils/5.0.2_rollup@2.79.1: - resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 2.79.1 - dev: true - /@sindresorhus/is/0.14.0: resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} engines: {node: '>=6'} @@ -3901,6 +3738,22 @@ packages: engines: {node: '>=10.13.0'} dev: true + /@tsconfig/node10/1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: true + + /@tsconfig/node12/1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14/1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16/1.0.3: + resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + dev: true + /@types/body-parser/1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: @@ -3941,10 +3794,6 @@ packages: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: true - /@types/estree/1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - dev: true - /@types/express-serve-static-core/4.17.31: resolution: {integrity: sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==} dependencies: @@ -4886,6 +4735,10 @@ packages: resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} dev: true + /arg/4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + /argparse/1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -5233,6 +5086,7 @@ packages: follow-redirects: 1.15.2 transitivePeerDependencies: - debug + dev: true /axios/0.27.2: resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} @@ -5834,7 +5688,7 @@ packages: minipass-pipeline: 1.2.4 mkdirp: 1.0.4 p-map: 4.0.0 - promise-inflight: 1.0.1_bluebird@3.7.2 + promise-inflight: 1.0.1 rimraf: 3.0.2 ssri: 8.0.1 tar: 6.1.11 @@ -6029,30 +5883,6 @@ packages: /check-error/1.0.2: resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} - /cheerio-select/2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - dependencies: - boolbase: 1.0.0 - css-select: 5.1.0 - css-what: 6.1.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.0.1 - dev: true - - /cheerio/1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.0.1 - htmlparser2: 8.0.1 - parse5: 7.1.1 - parse5-htmlparser2-tree-adapter: 7.0.0 - dev: true - /chokidar/2.1.8: resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies @@ -6598,6 +6428,10 @@ packages: sha.js: 2.4.11 dev: true + /create-require/1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + /critters-webpack-plugin/2.5.0_html-webpack-plugin@3.2.0: resolution: {integrity: sha512-O41TSPV2orAfrV6kSVC0SivZCtVkeypCNKb7xtrbqE/CfjrHeRaFaGuxglcjOI2IGf+oNg6E+ZoOktdlhXPTIQ==} peerDependencies: @@ -6729,16 +6563,6 @@ packages: nth-check: 2.1.1 dev: true - /css-select/5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.0.1 - nth-check: 2.1.1 - dev: true - /css-tree/1.0.0-alpha.37: resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} engines: {node: '>=8.0.0'} @@ -7158,11 +6982,6 @@ packages: engines: {node: '>= 0.8'} dev: true - /dequal/2.0.2: - resolution: {integrity: sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==} - engines: {node: '>=6'} - dev: false - /des.js/1.0.1: resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==} dependencies: @@ -7179,6 +6998,11 @@ packages: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} dev: true + /diff/4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + /diff/5.0.0: resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} engines: {node: '>=0.3.1'} @@ -7245,14 +7069,6 @@ packages: entities: 2.2.0 dev: true - /dom-serializer/2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.4.0 - dev: true - /domain-browser/1.2.0: resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} engines: {node: '>=0.4', npm: '>=1.2'} @@ -7279,13 +7095,6 @@ packages: domelementtype: 2.3.0 dev: true - /domhandler/5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - dev: true - /domutils/1.7.0: resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} dependencies: @@ -7301,14 +7110,6 @@ packages: domhandler: 4.3.1 dev: true - /domutils/3.0.1: - resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dev: true - /dot-prop/5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -7462,11 +7263,6 @@ packages: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true - /entities/4.4.0: - resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} - engines: {node: '>=0.12'} - dev: true - /envinfo/7.8.1: resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} engines: {node: '>=4'} @@ -8257,10 +8053,6 @@ packages: resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} dev: true - /estree-walker/2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - /esutils/2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -9209,13 +9001,6 @@ packages: minimalistic-assert: 1.0.1 dev: true - /hasha/4.0.1: - resolution: {integrity: sha512-+wnvroCn3pq0CAKWfItGPyl0DJOob2qs/2D/Rh0a/O90LBzmo5GaKHwIRb6FInVvmEl1mCIHL5RqlfTLvh6FoQ==} - engines: {node: '>=8'} - dependencies: - is-stream: 1.1.0 - dev: true - /hasha/5.2.2: resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} engines: {node: '>=8'} @@ -9352,15 +9137,6 @@ packages: entities: 2.2.0 dev: true - /htmlparser2/8.0.1: - resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.0.1 - entities: 4.4.0 - dev: true - /http-cache-semantics/4.1.0: resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} dev: true @@ -9880,12 +9656,6 @@ packages: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} dev: true - /is-reference/1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - dependencies: - '@types/estree': 1.0.0 - dev: true - /is-regex/1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -9909,11 +9679,6 @@ packages: call-bind: 1.0.2 dev: true - /is-stream/1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - dev: true - /is-stream/2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -10546,6 +10311,10 @@ packages: semver: 6.3.0 dev: true + /make-error/1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + /map-age-cleaner/0.1.3: resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} engines: {node: '>=6'} @@ -10744,11 +10513,6 @@ packages: webpack-sources: 1.4.3 dev: true - /mini-svg-data-uri/1.4.4: - resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} - hasBin: true - dev: true - /minimalistic-assert/1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true @@ -11630,13 +11394,6 @@ packages: engines: {node: '>=6'} dev: true - /parse5-htmlparser2-tree-adapter/7.0.0: - resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} - dependencies: - domhandler: 5.0.3 - parse5: 7.1.1 - dev: true - /parse5/4.0.0: resolution: {integrity: sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==} dev: true @@ -11645,12 +11402,6 @@ packages: resolution: {integrity: sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==} dev: true - /parse5/7.1.1: - resolution: {integrity: sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==} - dependencies: - entities: 4.4.0 - dev: true - /parseurl/1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -12661,6 +12412,15 @@ packages: engines: {node: '>=0.4.0'} dev: true + /promise-inflight/1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + dev: true + /promise-inflight/1.0.1_bluebird@3.7.2: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -13215,23 +12975,6 @@ packages: inherits: 2.0.4 dev: true - /rollup-plugin-bundle-html/0.2.2: - resolution: {integrity: sha512-nK4Z/k3MVjfCcnC5T15ksHw3JyRJx110oduy3VBW0ki2qI0tu4pLlgXyltBgtd+gpiFCPqEnfy89XRPG+eCOwA==} - dependencies: - cheerio: 1.0.0-rc.12 - hasha: 4.0.1 - dev: true - - /rollup-plugin-css-only/3.1.0_rollup@2.79.1: - resolution: {integrity: sha512-TYMOE5uoD76vpj+RTkQLzC9cQtbnJNktHPB507FzRWBVaofg7KhIqq1kGbcVOadARSozWF883Ho9KpSPKH8gqA==} - engines: {node: '>=10.12.0'} - peerDependencies: - rollup: 1 || 2 - dependencies: - '@rollup/pluginutils': 4.2.1 - rollup: 2.79.1 - dev: true - /rollup-plugin-terser/7.0.2_rollup@2.79.1: resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser @@ -13364,18 +13107,6 @@ packages: ajv-keywords: 5.1.0_ajv@8.11.0 dev: true - /script-ext-html-webpack-plugin/2.1.5: - resolution: {integrity: sha512-nMjd5dtsnoB8dS+pVM9ZL4mC9O1uVtTxrDS99OGZsZxFbkZE6pw0HCMued/cncDrKivIShO9vwoyOTvsGqQHEQ==} - engines: {node: '>=6.11.5'} - peerDependencies: - html-webpack-plugin: ^3.0.0 || ^4.0.0 - webpack: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - /select-hose/2.0.0: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} dev: true @@ -14178,14 +13909,6 @@ packages: stable: 0.1.8 dev: true - /swr/0.5.7: - resolution: {integrity: sha512-Jh1Efgu8nWZV9rU4VLUMzBzcwaZgi4znqbVXvAtUy/0JzSiN6bNjLaJK8vhY/Rtp7a83dosz5YuehfBNwC/ZoQ==} - peerDependencies: - react: ^16.11.0 || ^17.0.0 - dependencies: - dequal: 2.0.2 - dev: false - /swr/1.3.0: resolution: {integrity: sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==} peerDependencies: @@ -14493,6 +14216,36 @@ packages: tslib: 2.4.1 dev: true + /ts-node/10.9.1_typescript@4.9.4: + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + acorn: 8.8.1 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.9.4 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + /ts-pnp/1.2.0_typescript@4.6.4: resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==} engines: {node: '>=6'} @@ -14926,6 +14679,10 @@ packages: hasBin: true dev: true + /v8-compile-cache-lib/3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + /v8-compile-cache/2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true @@ -15696,6 +15453,11 @@ packages: yargs-parser: 21.1.1 dev: true + /yn/3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} |