Compare commits

...

99 Commits

Author SHA1 Message Date
Zach Pomerantz
e242faca86 perf: render components on first frame (#2404)
* fix(nav): render Vote link while awaiting connection

Minimizes layout shift in the normal case.

* perf: inline logo svg

* perf: display connect button for web3 initial state
2021-09-20 16:03:57 -07:00
Crowdin Bot
1a73f513dc chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-20 15:38:09 +00:00
Crowdin Bot
c43912df94 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-20 10:05:15 +00:00
Crowdin Bot
b07bc40230 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-20 08:05:20 +00:00
Crowdin Bot
dabb511ff5 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-18 18:05:22 +00:00
Moody Salem
6ae632158e fix: bump walletconnect to fix android deep linking (#2384) 2021-09-17 15:56:08 -05:00
Justin Domingue
648e4e02c4 ignore v3 state when only v2 only (#2383) 2021-09-17 16:29:08 -04:00
Crowdin Bot
9bc00ccaf6 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-17 18:05:12 +00:00
Crowdin Bot
2e90561978 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-17 17:08:27 +00:00
Zach Pomerantz
bea63cd4b4 feat: report web-vitals to ga (#2363) 2021-09-17 09:14:45 -07:00
Carlos Diaz-Padron
cc8c5712ec feat: add @davatar/react for robust avatar support (#2321)
* add @davatar/react for robust avatar support

* remove @metamask/jazzicon, unused

* move @davatar/react to devDependencies

* pin exact version for @davatar/react
2021-09-16 16:04:11 -04:00
Justin Domingue
112b00521c fix: flip token logos in routing diagram (#2375)
* flip token logos in route

* update snapshot
2021-09-16 14:50:51 -04:00
Justin Domingue
1314477a88 add static route svg (#2373) 2021-09-16 14:16:19 -04:00
Crowdin Bot
c6b6e7f0d6 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-16 17:07:45 +00:00
Crowdin Bot
c8009ca909 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-16 16:05:14 +00:00
Crowdin Bot
2cabd7dc51 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-16 15:04:55 +00:00
Justin Domingue
cd22955817 feat: routing api integration (#2116)
* initial routing api integration

* add routing api slice

* display route in dialog

* addressed pr feedback

* improved routing

* switch to `get`

* first pass at integration new MultiRouteTrade

* initial implementation of RoutingDiagram

* add RoutingDiagram tests

* improve tests in RoutingDiagram

* integrate with v3-sdk 3.3.1

* removed references to MultiRouteTrade

* revert swapcallback

* fix abi compilation error

* added useRoute hook to build a Route from edges and nodes

* added react-hooks-testing-library

* integrated latest changes

* renamed router hook to routerTrade

* improve integration

* fixed routing

* usability

* mock RoutingDiagram children to reduce size

* undo mocked children

* adjust ui

* better support long routes

* use routing api logo and adjust ux

* set default percent to 0

* added intermediary hook to combine local and routing api trades

* added intermediary hook to combine local and routing api trades

* make account optional

* improve ux

* improve router

* fixed duplicate pool bug and inputAmount undefined bug

* extract input/outputAmounts from routes

* add todo

* fixed uninitialized issue and added %

* fixed tests

* fix duplicate pool bug

* added routing api setting

* change router label based on router version

* improve useRoutes and fix duplicate pool bug

* debounce routing api/local routing

* removed single hop setting

* fix bug when moving between v2/v3

* consider isUnitialized non loading

* ui fixes

* reverted change to usedebounce

* use new route schema

* visual updates

* log quoteId for polish session

* fix: persist advanced swap details toggle state

* fix no route found

* poll every 10s

* derive currencies from pool rather than input

* polish query status handling in useRouterTrade

* removed RouterVersion

* update ui

* update ui

* update loading state

* animate auto router

* apply loading treatment to out

* disable routing api on l2 and support auto slippage

* use opacity on the whole element

* show loading card when syncing

* updated gradient

* polished ui

* create routerlabel component

* disable router on all bu mainnet

* polish

* feat: [draft] routing api polish (#2224)

* show loading card when syncing

* updated gradient

* polished ui

* create routerlabel component

* disable router on all bu mainnet

* polish

* polished loading state

* add dashes

* fixed tooltip styles

* fixed merge conflict

* few updates

* polish

* updated yarn.lock

* fixed styles

* updated routing diagram

* Fix code style issues with ESLint

* routing api enabled without localstorage upgrade

* fixed lint error

* Fix code style issues with ESLint

* refined mocks in routing diagram tests

* addressed pr feedback

* polish

* revert sending eth

* improved loading animation

* handle stale routing api

* Fix code style issues with ESLint

* updated yarn.lock

* support native eth

* Compute gas adjusted quote for V2 trade and compare to V3 gas adjusted quote

* Incorporate approval gas cost estimate

* feat: simplify routing api ux (#2258)

* support native eth

* simplified ui

* perf optimization

* implement realized lp fee

* improved route realized lp fee

* fix lp realized fee

* fix auto router gradient

* initial route overlay

* add auto router svg

* adjusted ux to mocks

* fix lp fee

* upddated routing diagram

* optimize tradeBetter hook

* adjust type and name

* add useBetterTrade

* useBetterTrade takes gasEstimateWei

* implement gasEstimateForApproval

* import state from react

* use gas estimate

* improve integration with gas estimate comparison

* remove dependency on account

* fix currency switch bug

* improve syncing state

* add loadingbar

* style tooltip container

* updated tooltip styles

* increase opacity range

* always keep dependent currency input interactable

* show placeholders in tooltips

* Revert v2 gas estimates and approval estimates

* Add debug logs

* refactor

* fix bug

* removed comment

* update engish key

* add try-catch

* addressed pr feedback

* remove loading bar for price impact

* addressed pr feedback and bug bash feedback

* fix: use url to force version

* addressed pr feedback and bug bash feedback

* stop fetching when losing focus

* only show auto router label when activated

* avoid showing syncing status

* move V3TradeSTate to own file

* make useRoutes a function rather than hook

* use logo from active list when possible

* renamed and refactored hook

* renamed and refactored hook

* update status

* polish

* remove unused import

* fixed merge error

* updated combined trade tests

* remove priceimpact while loading

* Design tweaks

* polish latest design

* removed some styles

* log gaevent on tooltip open and clean up origin

* Small tweaks

* addressed pr feedback

* wrap route length in a loading container

* renamed local to clientside

* fix percent and token logo

* addressed pr feedback

* avoid comparing trades when v3 not ready

* some refactor

Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: Will Pote <will@uniswap.org>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
2021-09-16 10:50:58 -04:00
Crowdin Bot
fb33a06861 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-16 03:04:54 +00:00
Jordan Frankfurt
bcf64bcb11 feat(chain-connectivity): warn when the user is not receiving blocks (#2123)
* logic for tracking time since last block

* add polling times to chain info

* pr feedback

* add gui for chain connectivity warning

* add arb support

* update title of warning to indicate internet connectivity issues may be the problem

* pr review

* clean up useBlockWarningTimer

* softer language on mainnet

* only show warning if user has the window visible
2021-09-15 22:20:28 -04:00
Zach Pomerantz
c2093ce040 feat: lazily load token list validator (#2342)
Removes 125kb from main chunk. Moves ~90ms off of the critical pageload path.
2021-09-15 13:23:17 -07:00
Zach Pomerantz
308f7d59a0 fix: avoid replaceAll (#2361) 2021-09-15 13:20:14 -07:00
Zach Pomerantz
c68d08ac26 fix: shim array-flat (#2346)
* chore: remove @types/lodash.flatmap

* fix: shim array-flat
2021-09-15 11:03:12 -07:00
Crowdin Bot
f826554bd4 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-15 17:06:46 +00:00
Crowdin Bot
dc2d1b06d2 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-15 16:05:05 +00:00
Patrick
8ea5cb450a style: Fix letter case consistency (#2353)
* Fix letter case consistency

Fixed lower case to upper case to be consistent with:

src/pages/AddLiquidityV2/index.tsx
src/pages/RemoveLiquidity/index.tsx
src/pages/Swap/index.tsx
src/state/burn/hooks.ts
src/state/burn/v3/hooks.ts
src/state/mint/hooks.ts
src/state/mint/v3/hooks.ts
src/state/stake/hooks.ts
src/state/swap/hooks.ts

* style: Fix case to be consistent
2021-09-15 11:03:56 -04:00
Patrick
58249e3ce2 Fix letter case consistency (#2352)
Fixed upper case to lower case to be consistent with src/components/SearchModal/ImportList.tsx
2021-09-15 10:42:57 -04:00
Crowdin Bot
2ee79f74e9 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-15 11:04:52 +00:00
Crowdin Bot
24f85d422c chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-15 09:05:18 +00:00
Crowdin Bot
d98954067e chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-14 20:17:38 +00:00
Zach Pomerantz
58f1193a21 fix: add deps to try safe effect (#2349) 2021-09-14 11:20:52 -07:00
Zach Pomerantz
88cc20a61a feat(i18n): initialize locale before React (#2343)
* feat: initialize locale before React

* chore: explain react-router-dom hash/search usage
2021-09-14 10:17:56 -07:00
Zach Pomerantz
442ac8936d chore: use ubuntu-latest for integration tests (#2348) 2021-09-14 10:04:15 -07:00
Crowdin Bot
c563717aae chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-14 14:06:02 +00:00
Zach Pomerantz
15a339a0d7 lint: connect SafeApp on mount (#2341) 2021-09-13 15:29:27 -07:00
Zach Pomerantz
3c371af32a fix: only try SafeApp connection in an iframe (#2340)
* fix: only try SafeApp connection in an iframe

Improves non-iframe pageload by 300ms. Fixes #2338.

The Gnosis check for a SafeApp races a postMessage and a 300ms timeout [1]. The SafeApp embeds the interface in an iframe, so this avoids the check when not in iframes.

[1]: f224869dd5/packages/safe-apps-web3-react/src/connector.ts (L52)

* refactor: IS_IN_IFRAME const
2021-09-13 15:17:54 -07:00
Crowdin Bot
5797a6229b chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-13 18:05:31 +00:00
Crowdin Bot
32212332bb chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-13 17:07:56 +00:00
Justin Domingue
f7ac87fa85 fix: increase max block age for l2s (#2333)
* fix: increase max block age and refresh fee tier more often

* similar for tick data
2021-09-13 12:22:44 -04:00
Crowdin Bot
540ec24e21 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-13 16:05:01 +00:00
Crowdin Bot
cd4f19836c chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-13 14:05:06 +00:00
Crowdin Bot
a20b2ff7fa chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-10 07:05:03 +00:00
Noah Zinsmeister
a52b7bf06b feat: use SDK to format calldata passed to quoter (#2305)
* replace useSingleCallResult implementation

use useSingleContractMultipleData instead

* use sdk methods to format quoter calldata

* create cleaner useSingleContractWithCallData fn

* clean up useMultipleContractSingleData

* address comments
2021-09-09 16:40:37 -04:00
Moody Salem
0ab1e5f144 fix: cherry pick the logs hook fix from the liquidity incentives branch (#2315) 2021-09-08 14:06:41 -05:00
Justin Domingue
115c72db9e chore: start tracking approvals in ReactGA (#2311)
* chore: start tracking approvals in ReactGA

* move reactga to swap-only code
2021-09-08 10:22:44 -04:00
Ian Lapham
2bb695d84c reduce popup dismiss time on l2; (#2262) 2021-09-07 12:42:30 -04:00
kun
3ea6f6e0c8 chore(ci): upgrade crust pinner adapt to crust mainnet (#2281)
* Add Pin to Crust workflow

* Upgrade crust pinner adapt Crust Mainnet
2021-09-07 09:37:07 -05:00
Noah Zinsmeister
627a5d3a98 Squashed commit of the following:
commit 5f1d1af62bcd47286aafacc18788f4e7e22dd7c0
Author: Aseem Sood <asood123@yahoo.com>
Date:   Fri Sep 3 12:12:39 2021 -0400

    update readme

    tweak

commit 80a5b95c0e0ae8934b5591c982077eaa813db747
Author: Noah Zinsmeister <noahwz@gmail.com>
Date:   Fri Sep 3 11:52:56 2021 -0400

    consolidate and standardize unsupported tokens
2021-09-05 13:26:47 -04:00
Crowdin Bot
353c4751b8 chore(i18n): synchronize translations from crowdin [skip ci] 2021-09-03 17:08:55 +00:00
Zach Pomerantz
416a3f9433 chore: use native flatMap (#2231) 2021-09-03 12:29:37 -04:00
Noah Zinsmeister
30cffb7442 feat: governor bravo support (#2271)
* first pass

* Fix code style issues with ESLint

* address comments

Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
2021-09-03 12:29:25 -04:00
Zach Pomerantz
f59c5f6877 chore: paint currency selector on initialization (#2245)
Avoids a flash of "Select a token" as the App initializes.
2021-09-02 10:57:01 -07:00
Zach Pomerantz
4bdf3c191a fix: always paint StyledPollingNumber (#2254)
Adds a en-space to StyledPollingNumber so it is always painted. Fixes a layout shift when rendering the first block number.
StyledPollingNumber is taller than its container, so waiting to paint it causes a layout shift when rendering.
2021-09-02 10:42:07 -07:00
Zach Pomerantz
7b829135df fix: make non-interactive header elements unselectable (#2288) 2021-09-01 15:30:17 -07:00
Zach Pomerantz
5831328364 style: enforce object-shorthand (#2286) 2021-09-01 13:32:20 -07:00
Jordan Frankfurt
6b99740f91 use network-specific help center link (#2285) 2021-09-01 16:01:24 -04:00
Zach Pomerantz
f5557a434c chore: upgrade type system (#2276)
* chore: upgrade type system

Upgrade types, typescript, and formatters.

* fix: ListsState tests
2021-09-01 12:38:10 -07:00
circlehotarux
5dfe44dad4 fix: older browser suppport (#2228)
* fix: Object.fromEntries polyfill

* fix: update polyfills

* fix: update polyfills
2021-09-01 11:17:49 -07:00
Justin Domingue
cd50d576d4 update optimism subgraph url (#2282) 2021-09-01 11:58:10 -04:00
dependabot[bot]
d922447ef2 chore(deps): bump tar from 6.1.4 to 6.1.11 (#2280)
Bumps [tar](https://github.com/npm/node-tar) from 6.1.4 to 6.1.11.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v6.1.4...v6.1.11)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-01 09:31:25 -04:00
Jordan Frankfurt
81b1346937 update explorer links for arbitrum (#2279) 2021-08-31 18:19:26 -04:00
Zach Pomerantz
f51335df9d fix: disable serviceworker in integration tests (#2274) 2021-08-31 11:00:19 -07:00
Zach Pomerantz
13a289f6f1 Revert "test: support stubbing subgraph data in cypress (#2259)" (#2269)
This reverts commit 00403a4810.
2021-08-31 11:10:07 -04:00
Jordan Frankfurt
0afeb5acaf add arbitrum token list (#2268) 2021-08-31 11:05:12 -04:00
Zach Pomerantz
9e8d08e22c fix(governance): special case bravo parsing (#2247)
* fix(governance): special case bravo parsing

* fix(governance): explicitly parse U+2018, U+2026

* chore: upgrade ethers to ^5.4.6

Updates parseLog to delay parsing nested properties, so that they will only fail when accessed.

* fix(vote): recover from invalid UTF-8 in proposal descriptions

* fix(vote): special case bravo proposal newlines

* chore: rm dead reference
2021-08-31 10:47:06 -04:00
Ian Lapham
299286a0d9 update token list (#2270) 2021-08-31 10:37:58 -04:00
Justin Domingue
00403a4810 test: support stubbing subgraph data in cypress (#2259)
* upgrade to 7.0

* first iteration of stubbing subgraph in integration tests

* added fixtures

* add tests for fee tier distribution and liquidity chart

* remove unused test utils

* update yarn.lock

* fixed merge artifacts
2021-08-30 15:56:38 -04:00
Moody Salem
b8a9191653 fix: turn service workers back on (#1944)
reconfigure service workers to only cache used assets (excluding .po language files and non-.var.woff2 font files)

* fix: turn service workers back on

* chore: configure service worker caches

* chore: add newline

* Fix code style issues with ESLint

* chore: limit service-worker caching

Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
2021-08-25 12:46:56 -07:00
Moody Salem
1304acd8c7 fix: walletconnect on L2 issues with Rainbow (#2242)
* fix: remove the walletconnect bridge url

* fix: use the latest ethereum provider which fixes the optimism rainbow issue
2021-08-24 12:01:53 -05:00
Zach Pomerantz
8112e48e9a chore: rm redux-devtools-extension (#2230)
redux-devtools-extension integration is already provided through @reduxjs/toolkit.
2021-08-23 10:17:24 -05:00
Zach Pomerantz
f3c400c514 chore: remove unused cross-env (#2232) 2021-08-23 10:15:54 -05:00
Zach Pomerantz
c2c7d87ca3 chore: update multicodec usage (#2233) 2021-08-23 10:15:43 -05:00
Zach Pomerantz
db18b486b4 chore: rm unused styled-system (#2234) 2021-08-23 10:13:57 -05:00
Noah Zinsmeister
1613cc473b fix: proposal formatting 2021-08-20 16:57:45 -04:00
Noah Zinsmeister
e1f37b0ec6 fix(governance): hot fix for parseLog crash 2021-08-20 00:04:06 -04:00
Zach Pomerantz
805af2fdb4 chore(accessibility): increase contrast for connections (#2223) 2021-08-19 16:53:06 -04:00
Zach Pomerantz
b833d07b4f chore: change language icon to globe (#2222)
* chore: change language icon to globe
2021-08-19 16:44:28 -04:00
Moody Salem
ec5da7ec8f fix: update walletconnect for deep links and scalability (#2215) 2021-08-18 12:26:00 -05:00
Crowdin Bot
ff10346b06 chore(i18n): synchronize translations from crowdin [skip ci] 2021-08-17 11:04:45 +00:00
Crowdin Bot
f15522a47c chore(i18n): synchronize translations from crowdin [skip ci] 2021-08-17 00:09:22 +00:00
Crowdin Bot
67b66235ba chore(i18n): synchronize translations from crowdin [skip ci] 2021-08-16 23:05:26 +00:00
Zach Pomerantz
7153908935 chore: fix SEO and accessibility nits for Lighthouse (#2212)
* refactor: index.html

* chore: preconnect to GA

* chore(SEO): add meta content

* chore(SEO): add alt to ethereum logo

* chore(accessibility): add aria-labels to menus

* chore(accessibility): mark AppBody as main

* chore(accessibility): update nav link ids

* chore(accessibility): set html.lang to match i18n locale

* chore(refactor): mv html.lang to useEffect
2021-08-16 18:30:52 -04:00
Crowdin Bot
4541e37388 chore(i18n): synchronize translations from crowdin [skip ci] 2021-08-16 13:18:27 +00:00
Crowdin Bot
3bbcdcb8ae chore(i18n): synchronize translations from crowdin [skip ci] 2021-08-13 22:05:18 +00:00
Zach Pomerantz
2daee152ef chore(i18n): do not compile i18n messages (#2211) 2021-08-13 14:03:14 -07:00
Zach Pomerantz
9af7e0e0c3 chore(i18n): touch en-US to prevent lingui from adding a creation date (#2210)
Fixes #2198. Touching en-US.po before extracting messages prevents lingui from adding a creation date, maintaining deterministic builds and IPFS hashes.
2021-08-13 14:02:59 -07:00
Noah Zinsmeister
757741c3df fix: use @walletconnect/ethereum-provider instead of @walletconnect/web3-provider (#2175)
* use @walletconnect/ethereum-provider

* bump to support client-side disconnect
2021-08-13 10:01:56 -05:00
Moody Salem
a3aa6647e7 chore: set default_bump to false per https://github.com/mathieudutour/github-tag-action/issues/85 2021-08-11 10:19:37 -05:00
Moody Salem
f463df97bf fix: do not construct routes with the same pool twice (#2196) 2021-08-11 10:15:53 -05:00
Ian Lapham
99a282b7b4 update blocked address list (#2182)
Co-authored-by: Ian Lapham <ianlapham@Ians-MacBook-Pro.local>
2021-08-10 10:30:54 -04:00
Moody Salem
5a3165358f fix: #isTradeBetter should check that output currencies are equal (#2177)
* fix: isTradeBetter should check that input/output are equal

* fix the fix
2021-08-10 09:25:43 -05:00
Moody Salem
26e334c78f fix: proposal descriptions should be pulled from the right governor (#2176) 2021-08-10 08:53:22 -05:00
Justin Domingue
bd8192c81e update chinese simplified and traditional display names (#2180) 2021-08-10 09:05:17 -04:00
Justin Domingue
ff6bd38992 add ReactGA event for full range (#2181) 2021-08-10 09:05:05 -04:00
Justin Domingue
a48b7ce702 fix: avoid running BestV3Trade when tokens are the same (#2172)
* avoid running BestV3Trade when tokens are the same

* flipped condition
2021-08-09 10:38:23 -04:00
Crowdin Bot
fc08d1fc6a chore(i18n): synchronize translations from crowdin [skip ci] 2021-08-06 20:05:37 +00:00
Ian Lapham
b416603ff4 update unsupported list (#2143)
Co-authored-by: Ian Lapham <ianlapham@Ians-MacBook-Pro.local>
2021-08-05 20:52:17 -04:00
Justin Domingue
c4dc26e1b2 fix: rename weth9 to weth (#2133)
* update @uniswap/sdk-core and @uniswap/v3-sdk

* reorder
2021-08-05 14:43:02 -04:00
Justin Domingue
adfe7225a8 upgrade to walletconnect 1.5.2 (#2134) 2021-08-04 08:49:46 -04:00
dependabot[bot]
13e347ee02 chore(deps): bump tar from 6.1.0 to 6.1.4 (#2132)
Bumps [tar](https://github.com/npm/node-tar) from 6.1.0 to 6.1.4.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v6.1.0...v6.1.4)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-04 08:40:22 -04:00
151 changed files with 13807 additions and 3022 deletions

1
.env
View File

@@ -1,2 +1 @@
REACT_APP_INFURA_KEY="4bf032f2d38a4ed6bb975b80d6340847"
REACT_APP_WALLETCONNECT_BRIDGE_URL="https://uniswap.bridge.walletconnect.org"

View File

@@ -29,6 +29,7 @@
"@typescript-eslint/ban-ts-ignore": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"react/react-in-jsx-scope": "off",
"object-shorthand": ["error", "always"],
"no-restricted-imports": [
"error",
{

View File

@@ -11,7 +11,7 @@ on:
jobs:
integration-tests:
name: Cypress
runs-on: ubuntu-16.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -42,6 +42,7 @@ jobs:
env:
CI: false
REACT_APP_NETWORK_URL: "https://mainnet.infura.io/v3/4bf032f2d38a4ed6bb975b80d6340847"
REACT_APP_SERVICE_WORKER: false
- run: yarn integration-test
env:

View File

@@ -23,6 +23,7 @@ jobs:
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
release_branches: .*
default_bump: false
create_release:
name: Create Release
@@ -55,7 +56,7 @@ jobs:
pinata-secret-api-key: ${{ secrets.PINATA_API_SECRET_KEY }}
- name: Pin to Crust
uses: crustio/ipfs-crust-action@v1.0.8
uses: crustio/ipfs-crust-action@v2.0.3
continue-on-error: true
timeout-minutes: 2
with:

View File

@@ -26,14 +26,19 @@ To access the Uniswap Interface, use an IPFS gateway link from the
[latest release](https://github.com/Uniswap/uniswap-interface/releases/latest),
or visit [app.uniswap.org](https://app.uniswap.org).
## Unsupported tokens
Check out `useUnsupportedTokenList()` in [src/state/lists/hooks.ts](./src/state/lists/hooks.ts) for blocking tokens in your instance of the interface.
You can block an entire list of tokens by passing in a tokenlist like [here](./src/constants/lists.ts) or you can block specific tokens by adding them to [unsupported.tokenlist.json](./src/constants/tokenLists/unsupported.tokenlist.json).
## Contributions
For steps on local deployment, development, and code contribution, please see [CONTRIBUTING](./CONTRIBUTING.md).
## Accessing Uniswap V2
The Uniswap Interface supports swapping, adding liquidity, removing liquidity and migrating liquidity for
Uniswap protocol V2.
The Uniswap Interface supports swapping, adding liquidity, removing liquidity and migrating liquidity for Uniswap protocol V2.
- Swap on Uniswap V2: https://app.uniswap.org/#/swap?use=v2
- View V2 liquidity: https://app.uniswap.org/#/pool/v2
@@ -41,6 +46,6 @@ Uniswap protocol V2.
- Migrate V2 liquidity to V3: https://app.uniswap.org/#/migrate/v2
## Accessing Uniswap V1
The Uniswap V1 interface for mainnet and testnets is accessible via IPFS gateways
The Uniswap V1 interface for mainnet and testnets is accessible via IPFS gateways
linked from the [v1.0.0 release](https://github.com/Uniswap/uniswap-interface/releases/tag/v1.0.0).

View File

@@ -4,6 +4,7 @@
"homepage": ".",
"private": true,
"devDependencies": {
"@davatar/react": "1.1.0",
"@ethersproject/experimental": "^5.4.0",
"@gnosis.pm/safe-apps-web3-react": "^0.6.0",
"@graphql-codegen/cli": "1.21.5",
@@ -14,7 +15,6 @@
"@lingui/loader": "^3.9.0",
"@lingui/macro": "^3.9.0",
"@lingui/react": "^3.9.0",
"@metamask/jazzicon": "^2.0.0",
"@popperjs/core": "^2.4.4",
"@reach/dialog": "^0.10.3",
"@reach/portal": "^0.10.3",
@@ -22,13 +22,15 @@
"@reduxjs/toolkit": "^1.6.1",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^12.0.0",
"@testing-library/react-hooks": "^7.0.2",
"@typechain/ethers-v5": "^7.0.0",
"@types/array.prototype.flat": "^1.2.1",
"@types/array.prototype.flatmap": "^1.2.2",
"@types/d3": "^6.7.1",
"@types/jest": "^25.2.1",
"@types/lingui__core": "^2.7.1",
"@types/lingui__macro": "^2.7.4",
"@types/lingui__react": "^2.8.3",
"@types/lodash.flatmap": "^4.5.6",
"@types/luxon": "^1.24.4",
"@types/ms.macro": "^2.0.0",
"@types/multicodec": "^1.0.0",
@@ -51,23 +53,25 @@
"@uniswap/governance": "^1.0.2",
"@uniswap/liquidity-staker": "^1.0.2",
"@uniswap/merkle-distributor": "1.0.1",
"@uniswap/sdk-core": "^3.0.1",
"@uniswap/token-lists": "^1.0.0-beta.25",
"@uniswap/v2-core": "1.0.0",
"@uniswap/v2-periphery": "^1.1.0-beta.0",
"@uniswap/v2-sdk": "^3.0.0-alpha.2",
"@uniswap/v3-core": "1.0.0",
"@uniswap/v3-periphery": "^1.1.1",
"@uniswap/v3-sdk": "^3.2.1",
"@uniswap/v3-sdk": "^3.4.1",
"@web3-react/core": "^6.0.9",
"@web3-react/fortmatic-connector": "^6.0.9",
"@web3-react/injected-connector": "^6.0.7",
"@web3-react/portis-connector": "^6.0.9",
"@web3-react/walletconnect-connector": "^6.2.0",
"@web3-react/walletconnect-connector": "^7.0.2-alpha.0",
"@web3-react/walletlink-connector": "^6.2.3",
"ajv": "^6.12.3",
"array.prototype.flat": "^1.2.4",
"array.prototype.flatmap": "^1.2.4",
"cids": "^1.0.0",
"copy-to-clipboard": "^3.2.0",
"cross-env": "^7.0.2",
"cypress": "^7.7.0",
"d3": "^7.0.0",
"eslint": "^7.11.0",
@@ -75,18 +79,18 @@
"eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-react": "^7.19.0",
"eslint-plugin-react-hooks": "^4.0.0",
"ethers": "^5.4.0",
"ethers": "^5.4.6",
"graphql": "^15.5.0",
"graphql-request": "^3.4.0",
"inter-ui": "^3.13.1",
"jest-styled-components": "^7.0.5",
"lodash.flatmap": "^4.5.0",
"luxon": "^1.25.0",
"ms.macro": "^2.0.0",
"multicodec": "^3.0.1",
"multihashes": "^4.0.2",
"node-vibrant": "^3.1.5",
"polished": "^3.3.2",
"polyfill-object.fromentries": "^1.0.1",
"prettier": "^2.2.1",
"qs": "^6.9.4",
"react": "^17.0.1",
@@ -106,39 +110,36 @@
"react-virtualized-auto-sizer": "^1.0.2",
"react-window": "^1.8.5",
"rebass": "^4.0.7",
"redux-devtools-extension": "^2.13.9",
"redux-localstorage-simple": "^2.3.1",
"serve": "^11.3.2",
"start-server-and-test": "^1.11.0",
"styled-components": "^5.3.0",
"styled-system": "^5.1.5",
"typechain": "^5.0.0",
"typescript": "^4.2.3",
"ua-parser-js": "^0.7.28",
"use-count-up": "^2.2.5",
"wcag-contrast": "^3.0.0",
"web-vitals": "^2.1.0",
"workbox-core": "^6.1.0",
"workbox-expiration": "^6.1.0",
"workbox-precaching": "^6.1.0",
"workbox-routing": "^6.1.0",
"workbox-strategies": "^6.1.0"
"workbox-routing": "^6.1.0"
},
"resolutions": {
"@walletconnect/web3-provider": "1.5.1"
"@walletconnect/ethereum-provider": "1.6.5"
},
"scripts": {
"compile-contract-types": "yarn compile-external-abi-types && yarn compile-v3-contract-types",
"compile-external-abi-types": "typechain --target ethers-v5 --out-dir src/abis/types './src/abis/**/*.json'",
"compile-v3-contract-types": "typechain --target ethers-v5 --out-dir src/types/v3 './node_modules/@uniswap/?(v3-core|v3-periphery)/artifacts/contracts/**/*.json'",
"build": "yarn compile-contract-types && yarn graphql:generate && yarn i18n:extract && yarn i18n:compile && react-scripts build",
"build": "yarn compile-contract-types && yarn graphql:generate && yarn i18n:extract && react-scripts build",
"i18n:extract": "lingui extract --locale en-US",
"i18n:compile": "lingui compile",
"integration-test": "start-server-and-test 'serve build -l 3000' http://localhost:3000 'cypress run --record'",
"graphql:generate": "graphql-codegen --config codegen.yml",
"postinstall": "yarn compile-contract-types",
"start": "yarn compile-contract-types && react-scripts start",
"test": "react-scripts test --env=./custom-test-env.js",
"prestart": "yarn graphql:generate && touch src/locales/en-US.po"
"prei18n:extract": "touch src/locales/en-US.po",
"prestart": "yarn graphql:generate && yarn prei18n:extract"
},
"eslintConfig": {
"extends": "react-app",

View File

@@ -2,6 +2,14 @@
<html translate="no">
<head>
<meta charset="utf-8" />
<title>Uniswap Interface</title>
<meta name="description" content="Uniswap Interface" />
<!--
%PUBLIC_URL% will be replaced with the URL of the `public` folder during build.
Only files inside the `public` folder can be referenced from the HTML.
-->
<link rel="shortcut icon" type="image/png" href="%PUBLIC_URL%/favicon.png" />
<link rel="apple-touch-icon" sizes="192x192" href="%PUBLIC_URL%/images/192x192_App_Icon.png" />
<link rel="apple-touch-icon" sizes="512x512" href="%PUBLIC_URL%/images/512x512_App_Icon.png" />
@@ -9,20 +17,14 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#ff007a" />
<meta name="fortmatic-site-verification" content="j93LgcVZk79qcgyo" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
manifest.json provides metadata used when the app is installed as a PWA.
See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<link rel="preconnect" href="https://www.google-analytics.com/">
<style>
* {
@@ -83,8 +85,6 @@
}
}
</style>
<title>Uniswap Interface</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>

1046
src/abis/governor-bravo.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
<svg width="23" height="20" viewBox="0 0 23 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="gradient1" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(95)">
<stop id="stop1" offset="0" stop-color="#2274E2"/>
<stop id="stop1" offset="0.5" stop-color="#2274E2"/>
<stop id="stop2" offset="1" stop-color="#3FB672" />
</linearGradient>
</defs>
<path d="M16 16C10 16 9 10 5 10M16 16C16 17.6569 17.3431 19 19 19C20.6569 19 22 17.6569 22 16C22 14.3431 20.6569 13 19 13C17.3431 13 16 14.3431 16 16ZM5 10C9 10 10 4 16 4M5 10H1.5M16 4C16 5.65685 17.3431 7 19 7C20.6569 7 22 5.65685 22 4C22 2.34315 20.6569 1 19 1C17.3431 1 16 2.34315 16 4Z" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="url(#gradient1)" />
</svg>

After

Width:  |  Height:  |  Size: 782 B

View File

@@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19 18C19 18.5523 18.5523 19 18 19V21C19.6569 21 21 19.6569 21 18H19ZM18 19C17.4477 19 17 18.5523 17 18H15C15 19.6569 16.3431 21 18 21V19ZM17 18C17 17.4477 17.4477 17 18 17V15C16.3431 15 15 16.3431 15 18H17ZM18 17C18.5523 17 19 17.4477 19 18H21C21 16.3431 19.6569 15 18 15V17ZM8 7H16V5H8V7ZM16 11H8V13H16V11ZM8 19H16V17H8V19ZM4 15C4 17.2091 5.79086 19 8 19V17C6.89543 17 6 16.1046 6 15H4ZM8 11C5.79086 11 4 12.7909 4 15H6C6 13.8954 6.89543 13 8 13V11ZM18 9C18 10.1046 17.1046 11 16 11V13C18.2091 13 20 11.2091 20 9H18ZM16 7C17.1046 7 18 7.89543 18 9H20C20 6.79086 18.2091 5 16 5V7ZM7 6C7 6.55228 6.55228 7 6 7V9C7.65685 9 9 7.65685 9 6H7ZM6 7C5.44772 7 5 6.55228 5 6H3C3 7.65685 4.34315 9 6 9V7ZM5 6C5 5.44772 5.44772 5 6 5V3C4.34315 3 3 4.34315 3 6H5ZM6 5C6.55228 5 7 5.44772 7 6H9C9 4.34315 7.65685 3 6 3V5Z"/>
</svg>

After

Width:  |  Height:  |  Size: 925 B

View File

@@ -9,6 +9,7 @@ const BLOCKED_ADDRESSES: string[] = [
'0x901bb9583b24D97e995513C6778dc6888AB6870e',
'0xA7e5d5A720f06526557c513402f2e6B5fA20b008',
'0x8576aCC5C05D6Ce88f4e49bf65BdF0C62F91353C',
'0xC8a65Fadf0e0dDAf421F28FEAb69Bf6E2E589963',
]
export default function Blocklist({ children }: { children: ReactNode }) {

View File

@@ -1,24 +1,25 @@
import { Pair } from '@uniswap/v2-sdk'
import { Trans } from '@lingui/macro'
import { Currency, CurrencyAmount, Percent, Token } from '@uniswap/sdk-core'
import { useState, useCallback, ReactNode } from 'react'
import styled from 'styled-components/macro'
import { Pair } from '@uniswap/v2-sdk'
import { AutoColumn } from 'components/Column'
import { loadingOpacityMixin, LoadingOpacityContainer } from 'components/Loader/styled'
import { darken } from 'polished'
import { ReactNode, useCallback, useState } from 'react'
import { Lock } from 'react-feather'
import styled from 'styled-components/macro'
import { formatCurrencyAmount } from 'utils/formatCurrencyAmount'
import { ReactComponent as DropDown } from '../../assets/images/dropdown.svg'
import useTheme from '../../hooks/useTheme'
import { useActiveWeb3React } from '../../hooks/web3'
import { useCurrencyBalance } from '../../state/wallet/hooks'
import CurrencySearchModal from '../SearchModal/CurrencySearchModal'
import { TYPE } from '../../theme'
import { ButtonGray } from '../Button'
import CurrencyLogo from '../CurrencyLogo'
import DoubleCurrencyLogo from '../DoubleLogo'
import { ButtonGray } from '../Button'
import { RowBetween, RowFixed } from '../Row'
import { TYPE } from '../../theme'
import { Input as NumericalInput } from '../NumericalInput'
import { ReactComponent as DropDown } from '../../assets/images/dropdown.svg'
import { useActiveWeb3React } from '../../hooks/web3'
import { Trans } from '@lingui/macro'
import useTheme from '../../hooks/useTheme'
import { Lock } from 'react-feather'
import { AutoColumn } from 'components/Column'
import { RowBetween, RowFixed } from '../Row'
import CurrencySearchModal from '../SearchModal/CurrencySearchModal'
import { FiatValue } from './FiatValue'
import { formatCurrencyAmount } from 'utils/formatCurrencyAmount'
const InputPanel = styled.div<{ hideInput?: boolean }>`
${({ theme }) => theme.flexColumnNoWrap}
@@ -53,7 +54,8 @@ const Container = styled.div<{ hideInput: boolean }>`
}
`
const CurrencySelect = styled(ButtonGray)<{ selected: boolean; hideInput?: boolean }>`
const CurrencySelect = styled(ButtonGray)<{ visible: boolean; selected: boolean; hideInput?: boolean }>`
visibility: ${({ visible }) => (visible ? 'visible' : 'hidden')};
align-items: center;
font-size: 24px;
font-weight: 500;
@@ -80,6 +82,7 @@ const CurrencySelect = styled(ButtonGray)<{ selected: boolean; hideInput?: boole
const InputRow = styled.div<{ selected: boolean }>`
${({ theme }) => theme.flexRowNoWrap}
align-items: center;
justify-content: space-between;
padding: ${({ selected }) => (selected ? ' 1rem 1rem 0.75rem 1rem' : '1rem 1rem 0.75rem 1rem')};
`
@@ -144,6 +147,10 @@ const StyledBalanceMax = styled.button<{ disabled?: boolean }>`
`};
`
const StyledNumericalInput = styled(NumericalInput)<{ $loading: boolean }>`
${loadingOpacityMixin}
`
interface CurrencyInputPanelProps {
value: string
onUserInput: (value: string) => void
@@ -164,6 +171,7 @@ interface CurrencyInputPanelProps {
disableNonToken?: boolean
renderBalance?: (amount: CurrencyAmount<Currency>) => ReactNode
locked?: boolean
loading?: boolean
}
export default function CurrencyInputPanel({
@@ -185,6 +193,7 @@ export default function CurrencyInputPanel({
pair = null, // used for double token logo
hideInput = false,
locked = false,
loading = false,
...rest
}: CurrencyInputPanelProps) {
const [modalOpen, setModalOpen] = useState(false)
@@ -211,6 +220,7 @@ export default function CurrencyInputPanel({
<Container hideInput={hideInput}>
<InputRow style={hideInput ? { padding: '0', borderRadius: '8px' } : {}} selected={!onCurrencySelect}>
<CurrencySelect
visible={currency !== null}
selected={!!currency}
hideInput={hideInput}
className="open-currency-select-button"
@@ -247,15 +257,12 @@ export default function CurrencyInputPanel({
</Aligner>
</CurrencySelect>
{!hideInput && (
<>
<NumericalInput
className="token-amount-input"
value={value}
onUserInput={(val) => {
onUserInput(val)
}}
/>
</>
<StyledNumericalInput
className="token-amount-input"
value={value}
onUserInput={onUserInput}
$loading={loading}
/>
)}
</InputRow>
{!hideInput && !hideBalance && (
@@ -289,7 +296,9 @@ export default function CurrencyInputPanel({
) : (
<span />
)}
<FiatValue fiatValue={fiatValue} priceImpact={priceImpact} />
<LoadingOpacityContainer $loading={loading}>
<FiatValue fiatValue={fiatValue} priceImpact={priceImpact} />
</LoadingOpacityContainer>
</RowBetween>
</FiatRow>
)}

View File

@@ -30,7 +30,7 @@ export default function CurrencyLogo({
style,
...rest
}: {
currency?: Currency
currency?: Currency | null
size?: string
style?: React.CSSProperties
}) {
@@ -50,7 +50,7 @@ export default function CurrencyLogo({
}, [currency, uriLocations])
if (currency?.isNative) {
return <StyledEthereumLogo src={EthereumLogo} size={size} style={style} {...rest} />
return <StyledEthereumLogo src={EthereumLogo} alt="ethereum logo" size={size} style={style} {...rest} />
}
return <StyledLogo size={size} srcs={srcs} alt={`${currency?.symbol ?? 'token'} logo`} style={style} {...rest} />

View File

@@ -0,0 +1,76 @@
import { Trans } from '@lingui/macro'
import { CHAIN_INFO, L2ChainInfo, SupportedChainId } from 'constants/chains'
import { useActiveWeb3React } from 'hooks/web3'
import { AlertOctagon } from 'react-feather'
import styled from 'styled-components/macro'
import { ExternalLink, MEDIA_WIDTHS } from 'theme'
const BodyRow = styled.div`
color: ${({ theme }) => theme.black};
font-size: 12px;
`
const CautionIcon = styled(AlertOctagon)`
color: ${({ theme }) => theme.black};
`
const Link = styled(ExternalLink)`
color: ${({ theme }) => theme.black};
text-decoration: underline;
`
const TitleRow = styled.div`
align-items: center;
display: flex;
justify-content: flex-start;
margin-bottom: 8px;
`
const TitleText = styled.div`
color: black;
font-weight: 600;
font-size: 16px;
line-height: 20px;
margin: 0px 12px;
`
const Wrapper = styled.div`
background-color: ${({ theme }) => theme.yellow3};
border-radius: 12px;
bottom: 60px;
display: none;
max-width: 348px;
padding: 16px 20px;
position: absolute;
right: 16px;
@media screen and (min-width: ${MEDIA_WIDTHS.upToMedium}px) {
display: block;
}
`
export function ChainConnectivityWarning() {
const { chainId } = useActiveWeb3React()
const info = CHAIN_INFO[chainId ?? SupportedChainId.MAINNET]
const label = info?.label
return (
<Wrapper>
<TitleRow>
<CautionIcon />
<TitleText>
<Trans>Network Warning</Trans>
</TitleText>
</TitleRow>
<BodyRow>
{chainId === SupportedChainId.MAINNET ? (
<Trans>You may have lost your network connection.</Trans>
) : (
<Trans>{label} may be down right now, or you may have lost your network connection.</Trans>
)}{' '}
{(info as L2ChainInfo).statusPage !== undefined && (
<span>
<Trans>Check network status</Trans>{' '}
<Link href={(info as L2ChainInfo).statusPage || ''}>
<Trans>here.</Trans>
</Link>
</span>
)}
</BodyRow>
</Wrapper>
)
}

View File

@@ -66,6 +66,7 @@ const FallbackWrapper = styled(YellowCard)`
border-radius: 12px;
padding: 8px 12px;
width: 100%;
user-select: none;
`
const Icon = styled.img`
width: 16px;

View File

@@ -1,19 +1,21 @@
import { useEffect, useState } from 'react'
import { useAppSelector } from 'state/hooks'
import styled, { keyframes } from 'styled-components/macro'
import { useActiveWeb3React } from '../../hooks/web3'
import { useBlockNumber } from '../../state/application/hooks'
import { ExternalLink, TYPE } from '../../theme'
import { ExplorerDataType, getExplorerLink } from '../../utils/getExplorerLink'
import { ChainConnectivityWarning } from './ChainConnectivityWarning'
const StyledPolling = styled.div`
const StyledPolling = styled.div<{ warning: boolean }>`
position: fixed;
display: flex;
align-items: center;
right: 0;
bottom: 0;
padding: 1rem;
color: ${({ theme }) => theme.green1};
color: ${({ theme, warning }) => (warning ? theme.yellow3 : theme.green1)};
transition: 250ms ease color;
${({ theme }) => theme.mediaWidth.upToMedium`
display: none;
@@ -26,15 +28,15 @@ const StyledPollingNumber = styled(TYPE.small)<{ breathe: boolean; hovering: boo
opacity: 1;
}
`
const StyledPollingDot = styled.div`
const StyledPollingDot = styled.div<{ warning: boolean }>`
width: 8px;
height: 8px;
min-height: 8px;
min-width: 8px;
margin-left: 0.5rem;
border-radius: 50%;
position: relative;
background-color: ${({ theme }) => theme.green1};
background-color: ${({ theme, warning }) => (warning ? theme.yellow3 : theme.green1)};
transition: 250ms ease background-color;
`
const rotate360 = keyframes`
@@ -46,19 +48,20 @@ const rotate360 = keyframes`
}
`
const Spinner = styled.div`
const Spinner = styled.div<{ warning: boolean }>`
animation: ${rotate360} 1s cubic-bezier(0.83, 0, 0.17, 1) infinite;
transform: translateZ(0);
border-top: 1px solid transparent;
border-right: 1px solid transparent;
border-bottom: 1px solid transparent;
border-left: 2px solid ${({ theme }) => theme.green1};
border-left: 2px solid ${({ theme, warning }) => (warning ? theme.yellow3 : theme.green1)};
background: transparent;
width: 14px;
height: 14px;
border-radius: 50%;
position: relative;
transition: 250ms ease border-color;
left: -3px;
top: -3px;
@@ -66,11 +69,10 @@ const Spinner = styled.div`
export default function Polling() {
const { chainId } = useActiveWeb3React()
const blockNumber = useBlockNumber()
const [isMounting, setIsMounting] = useState(false)
const [isHover, setIsHover] = useState(false)
const chainConnectivityWarning = useAppSelector((state) => state.application.chainConnectivityWarning)
useEffect(
() => {
@@ -91,15 +93,24 @@ export default function Polling() {
)
return (
<ExternalLink
href={chainId && blockNumber ? getExplorerLink(chainId, blockNumber.toString(), ExplorerDataType.BLOCK) : ''}
>
<StyledPolling onMouseEnter={() => setIsHover(true)} onMouseLeave={() => setIsHover(false)}>
<StyledPollingNumber breathe={isMounting} hovering={isHover}>
{blockNumber}
</StyledPollingNumber>
<StyledPollingDot>{isMounting && <Spinner />}</StyledPollingDot>
</StyledPolling>
</ExternalLink>
<>
<ExternalLink
href={chainId && blockNumber ? getExplorerLink(chainId, blockNumber.toString(), ExplorerDataType.BLOCK) : ''}
>
<StyledPolling
onMouseEnter={() => setIsHover(true)}
onMouseLeave={() => setIsHover(false)}
warning={chainConnectivityWarning}
>
<StyledPollingNumber breathe={isMounting} hovering={isHover}>
{blockNumber}&ensp;
</StyledPollingNumber>
<StyledPollingDot warning={chainConnectivityWarning}>
{isMounting && <Spinner warning={chainConnectivityWarning} />}
</StyledPollingDot>{' '}
</StyledPolling>
</ExternalLink>
{chainConnectivityWarning && <ChainConnectivityWarning />}
</>
)
}

View File

@@ -11,8 +11,8 @@ import { useUserHasSubmittedClaim } from 'state/transactions/hooks'
import { useDarkModeManager } from 'state/user/hooks'
import { useETHBalances } from 'state/wallet/hooks'
import styled from 'styled-components/macro'
import Logo from '../../assets/svg/logo.svg'
import LogoDark from '../../assets/svg/logo_white.svg'
import { ReactComponent as Logo } from '../../assets/svg/logo.svg'
import { ReactComponent as LogoDark } from '../../assets/svg/logo_white.svg'
import { useActiveWeb3React } from '../../hooks/web3'
import { ExternalLink, TYPE } from '../../theme'
import ClaimModal from '../claim/ClaimModal'
@@ -122,7 +122,6 @@ const AccountElement = styled.div<{ active: boolean }>`
border-radius: 12px;
white-space: nowrap;
width: 100%;
cursor: pointer;
:focus {
border: 1px solid blue;
@@ -265,7 +264,11 @@ export default function Header() {
</Modal>
<Title href=".">
<UniIcon>
<img width={'24px'} src={darkMode ? LogoDark : Logo} alt="logo" />
{darkMode ? (
<LogoDark width="24px" height="100%" title="logo" />
) : (
<Logo width="24px" height="100%" title="logo" />
)}
</UniIcon>
</Title>
<HeaderLinks>
@@ -285,12 +288,12 @@ export default function Header() {
>
<Trans>Pool</Trans>
</StyledNavLink>
{chainId && chainId === SupportedChainId.MAINNET && (
<StyledNavLink id={`stake-nav-link`} to={'/vote'}>
{(!chainId || chainId === SupportedChainId.MAINNET) && (
<StyledNavLink id={`vote-nav-link`} to={'/vote'}>
<Trans>Vote</Trans>
</StyledNavLink>
)}
<StyledExternalLink id={`stake-nav-link`} href={infoLink}>
<StyledExternalLink id={`charts-nav-link`} href={infoLink}>
<Trans>Charts</Trans>
<sup></sup>
</StyledExternalLink>
@@ -315,9 +318,9 @@ export default function Header() {
<CardNoise />
</UNIWrapper>
)}
<AccountElement active={!!account} style={{ pointerEvents: 'auto' }}>
<AccountElement active={!!account}>
{account && userEthBalance ? (
<BalanceText style={{ flexShrink: 0 }} pl="0.75rem" pr="0.5rem" fontWeight={500}>
<BalanceText style={{ flexShrink: 0, userSelect: 'none' }} pl="0.75rem" pr="0.5rem" fontWeight={500}>
<Trans>{userEthBalance?.toSignificant(3)} ETH</Trans>
</BalanceText>
) : null}

View File

@@ -1,9 +1,7 @@
import { useEffect, useRef } from 'react'
import styled from 'styled-components/macro'
import { useActiveWeb3React } from '../../hooks/web3'
import Jazzicon from '@metamask/jazzicon'
import Davatar from '@davatar/react'
const StyledIdenticonContainer = styled.div`
height: 1rem;
@@ -13,17 +11,12 @@ const StyledIdenticonContainer = styled.div`
`
export default function Identicon() {
const ref = useRef<HTMLDivElement>()
const { account } = useActiveWeb3React()
useEffect(() => {
if (account && ref.current) {
ref.current.innerHTML = ''
ref.current.appendChild(Jazzicon(16, parseInt(account.slice(2, 10), 16)))
}
}, [account])
const { account, library } = useActiveWeb3React()
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/30451
return <StyledIdenticonContainer ref={ref as any} />
return (
<StyledIdenticonContainer>
{account && library?.provider && <Davatar address={account} size={16} provider={library.provider} />}
</StyledIdenticonContainer>
)
}

View File

@@ -0,0 +1,39 @@
import styled, { css, keyframes } from 'styled-components/macro'
export const loadingAnimation = keyframes`
0% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
`
export const LoadingRows = styled.div`
display: grid;
& > div {
animation: ${loadingAnimation} 1.5s infinite;
animation-fill-mode: both;
background: linear-gradient(
to left,
${({ theme }) => theme.bg1} 25%,
${({ theme }) => theme.bg2} 50%,
${({ theme }) => theme.bg1} 75%
);
background-size: 400%;
border-radius: 12px;
height: 2.4em;
will-change: background-position;
}
`
export const loadingOpacityMixin = css<{ $loading: boolean }>`
filter: ${({ $loading }) => ($loading ? 'grayscale(1)' : 'none')};
opacity: ${({ $loading }) => ($loading ? '0.4' : '1')};
transition: opacity 0.2s ease-in-out;
`
export const LoadingOpacityContainer = styled.div<{ $loading: boolean }>`
${loadingOpacityMixin}
`

View File

@@ -1,16 +1,6 @@
import { t } from '@lingui/macro'
import React, { useEffect, useRef, useState } from 'react'
import {
BookOpen,
Code,
Info,
MessageCircle,
PieChart,
Moon,
Sun,
ChevronRight,
ChevronLeft,
Check,
} from 'react-feather'
import { BookOpen, Code, Info, MessageCircle, PieChart, Moon, Sun, Globe, ChevronLeft, Check } from 'react-feather'
import { Link } from 'react-router-dom'
import styled, { css } from 'styled-components/macro'
import { ReactComponent as MenuIcon } from '../../assets/images/menu.svg'
@@ -229,7 +219,7 @@ export default function Menu() {
return (
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/30451
<StyledMenu ref={node as any}>
<StyledMenuButton onClick={toggle}>
<StyledMenuButton onClick={toggle} aria-label={t`Menu`}>
<StyledMenuIcon />
</StyledMenuButton>
@@ -276,7 +266,7 @@ export default function Menu() {
<div>
<Trans>Language</Trans>
</div>
<ChevronRight size={16} opacity={0.6} />
<Globe opacity={0.6} size={16} />
</ToggleMenuItem>
<ToggleMenuItem onClick={() => toggleDarkMode()}>
<div>{darkMode ? <Trans>Light Theme</Trans> : <Trans>Dark Theme</Trans>}</div>

View File

@@ -110,16 +110,18 @@ export function AddLiquidityNetworkAlert() {
return null
}
const info = CHAIN_INFO[chainId as SupportedL2ChainId]
const depositUrl = [SupportedChainId.OPTIMISM, SupportedChainId.OPTIMISTIC_KOVAN].includes(chainId)
? `${info.bridge}?chainId=1`
: info.bridge
const isOptimism = [SupportedChainId.OPTIMISM, SupportedChainId.OPTIMISTIC_KOVAN].includes(chainId)
const depositUrl = isOptimism ? `${info.bridge}?chainId=1` : info.bridge
const readMoreLink = isOptimism
? 'https://help.uniswap.org/en/articles/5392809-how-to-deposit-tokens-to-optimism'
: 'https://help.uniswap.org/en/articles/5538618-how-to-deposit-tokens-to-arbitrum'
return (
<Wrapper darkMode={darkMode} chainId={chainId} logoUrl={info.logoUrl}>
<L2Icon src={info.logoUrl} />
<Body>
<Trans>This is an alpha release of Uniswap on the {info.label} network.</Trans>
<DesktopTextBreak /> <Trans>You must bridge L1 assets to the network to use them.</Trans>{' '}
<ReadMoreLink href="https://help.uniswap.org/en/articles/5392809-how-to-deposit-tokens-to-optimism">
<ReadMoreLink href={readMoreLink}>
<Trans>Read more</Trans>
</ReadMoreLink>
</Body>

View File

@@ -110,16 +110,18 @@ export function MinimalNetworkAlert() {
return null
}
const info = CHAIN_INFO[chainId as SupportedL2ChainId]
const depositUrl = [SupportedChainId.OPTIMISM, SupportedChainId.OPTIMISTIC_KOVAN].includes(chainId)
? `${info.bridge}?chainId=1`
: info.bridge
const isOptimism = [SupportedChainId.OPTIMISM, SupportedChainId.OPTIMISTIC_KOVAN].includes(chainId)
const depositUrl = isOptimism ? `${info.bridge}?chainId=1` : info.bridge
const readMoreLink = isOptimism
? 'https://help.uniswap.org/en/articles/5392809-how-to-deposit-tokens-to-optimism'
: 'https://help.uniswap.org/en/articles/5538618-how-to-deposit-tokens-to-arbitrum'
return (
<Wrapper darkMode={darkMode} chainId={chainId} logoUrl={info.logoUrl}>
<L2Icon src={info.logoUrl} />
<Body>
<Trans>This is an alpha release of Uniswap on the {info.label} network.</Trans>
<DesktopTextBreak /> <Trans>You must bridge L1 assets to the network to use them.</Trans>{' '}
<ReadMoreLink href="https://help.uniswap.org/en/articles/5392809-how-to-deposit-tokens-to-optimism">
<ReadMoreLink href={readMoreLink}>
<Trans>Read more</Trans>
</ReadMoreLink>
</Body>

View File

@@ -137,10 +137,11 @@ export function NetworkAlert() {
return null
}
const info = CHAIN_INFO[chainId as SupportedL2ChainId]
const depositUrl = [SupportedChainId.OPTIMISM, SupportedChainId.OPTIMISTIC_KOVAN].includes(chainId)
? `${info.bridge}?chainId=1`
: info.bridge
const isOptimism = [SupportedChainId.OPTIMISM, SupportedChainId.OPTIMISTIC_KOVAN].includes(chainId)
const depositUrl = isOptimism ? `${info.bridge}?chainId=1` : info.bridge
const readMoreLink = isOptimism
? 'https://help.uniswap.org/en/articles/5392809-how-to-deposit-tokens-to-optimism'
: 'https://help.uniswap.org/en/articles/5538618-how-to-deposit-tokens-to-arbitrum'
return (
<RootWrapper chainId={chainId} darkMode={darkMode} logoUrl={info.logoUrl}>
<CloseIcon onClick={dismiss} />
@@ -154,7 +155,7 @@ export function NetworkAlert() {
This is an alpha release of Uniswap on the {info.label} network. You must bridge L1 assets to the network to
swap them.
</Trans>{' '}
<ReadMoreLink href="https://help.uniswap.org/en/articles/5392809-how-to-deposit-tokens-to-optimism">
<ReadMoreLink href={readMoreLink}>
<Trans>Read more</Trans>
</ReadMoreLink>
</Body>

View File

@@ -1,21 +1,16 @@
import { Placement } from '@popperjs/core'
import { transparentize } from 'polished'
import React, { useCallback, useState } from 'react'
import { Options, Placement } from '@popperjs/core'
import Portal from '@reach/portal'
import React, { useCallback, useMemo, useState } from 'react'
import { usePopper } from 'react-popper'
import styled from 'styled-components/macro'
import useInterval from '../../hooks/useInterval'
import Portal from '@reach/portal'
const PopoverContainer = styled.div<{ show: boolean }>`
z-index: 9999;
visibility: ${(props) => (props.show ? 'visible' : 'hidden')};
opacity: ${(props) => (props.show ? 1 : 0)};
transition: visibility 150ms linear, opacity 150ms linear;
background: ${({ theme }) => theme.bg2};
border: 1px solid ${({ theme }) => theme.bg3};
box-shadow: 0 4px 8px 0 ${({ theme }) => transparentize(0.9, theme.shadow1)};
color: ${({ theme }) => theme.text2};
border-radius: 8px;
`
const ReferenceElement = styled.div`
@@ -34,9 +29,9 @@ const Arrow = styled.div`
z-index: 9998;
content: '';
border: 1px solid ${({ theme }) => theme.bg3};
border: 1px solid ${({ theme }) => theme.bg2};
transform: rotate(45deg);
background: ${({ theme }) => theme.bg2};
background: ${({ theme }) => theme.bg0};
}
&.arrow-top {
@@ -84,14 +79,22 @@ export default function Popover({ content, show, children, placement = 'auto' }:
const [referenceElement, setReferenceElement] = useState<HTMLDivElement | null>(null)
const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null)
const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null)
const { styles, update, attributes } = usePopper(referenceElement, popperElement, {
placement,
strategy: 'fixed',
modifiers: [
{ name: 'offset', options: { offset: [8, 8] } },
{ name: 'arrow', options: { element: arrowElement } },
],
})
const options = useMemo(
(): Options => ({
placement,
strategy: 'fixed',
modifiers: [
{ name: 'offset', options: { offset: [8, 8] } },
{ name: 'arrow', options: { element: arrowElement } },
{ name: 'preventOverflow', options: { padding: 8 } },
],
}),
[arrowElement, placement]
)
const { styles, update, attributes } = usePopper(referenceElement, popperElement, options)
const updateCallback = useCallback(() => {
update && update()
}, [update])

View File

@@ -4,6 +4,7 @@ import { AutoRow } from 'components/Row'
import { TYPE } from 'theme'
import styled from 'styled-components/macro'
import { Trans } from '@lingui/macro'
import ReactGA from 'react-ga'
const Button = styled(ButtonOutlined).attrs(() => ({
padding: '8px',
@@ -16,7 +17,15 @@ const Button = styled(ButtonOutlined).attrs(() => ({
export default function PresetsButtons({ setFullRange }: { setFullRange: () => void }) {
return (
<AutoRow gap="4px" width="auto">
<Button onClick={() => setFullRange()}>
<Button
onClick={() => {
setFullRange()
ReactGA.event({
category: 'Liquidity',
action: 'Full Range Clicked',
})
}}
>
<TYPE.body fontSize={12}>
<Trans>Full Range</Trans>
</TYPE.body>

View File

@@ -0,0 +1,55 @@
import { Currency, Percent } from '@uniswap/sdk-core'
import { FeeAmount } from '@uniswap/v3-sdk'
import { DAI, USDC, WBTC } from 'constants/tokens'
import { render } from 'test-utils'
import RoutingDiagram, { RoutingDiagramEntry } from './RoutingDiagram'
const percent = (strings: TemplateStringsArray) => new Percent(parseInt(strings[0]), 100)
const singleRoute: RoutingDiagramEntry = { percent: percent`100`, path: [[USDC, DAI, FeeAmount.LOW]] }
const multiRoute: RoutingDiagramEntry[] = [
{ percent: percent`75`, path: [[USDC, DAI, FeeAmount.LOW]] },
{
percent: percent`25`,
path: [
[USDC, WBTC, FeeAmount.MEDIUM],
[WBTC, DAI, FeeAmount.HIGH],
],
},
]
jest.mock(
'components/CurrencyLogo',
() =>
({ currency }: { currency: Currency }) =>
`CurrencyLogo currency=${currency.symbol}`
)
jest.mock(
'components/DoubleLogo',
() =>
({ currency0, currency1 }: { currency0: Currency; currency1: Currency }) =>
`DoubleCurrencyLogo currency0=${currency0.symbol} currency1=${currency1.symbol}`
)
jest.mock('../Popover', () => () => 'Popover')
jest.mock('hooks/useTokenInfoFromActiveList', () => ({
useTokenInfoFromActiveList: (currency: Currency) => currency,
}))
it('renders when no routes are provided', () => {
const { asFragment } = render(<RoutingDiagram currencyIn={DAI} currencyOut={USDC} routes={[]} />)
expect(asFragment()).toMatchSnapshot()
})
it('renders single route', () => {
const { asFragment } = render(<RoutingDiagram currencyIn={USDC} currencyOut={DAI} routes={[singleRoute]} />)
expect(asFragment()).toMatchSnapshot()
})
it('renders multi route', () => {
const { asFragment } = render(<RoutingDiagram currencyIn={USDC} currencyOut={DAI} routes={multiRoute} />)
expect(asFragment()).toMatchSnapshot()
})

View File

@@ -0,0 +1,113 @@
import { Currency, Percent } from '@uniswap/sdk-core'
import { FeeAmount } from '@uniswap/v3-sdk'
import Badge from 'components/Badge'
import CurrencyLogo from 'components/CurrencyLogo'
import DoubleCurrencyLogo from 'components/DoubleLogo'
import Row, { AutoRow } from 'components/Row'
import { useTokenInfoFromActiveList } from 'hooks/useTokenInfoFromActiveList'
import { Box } from 'rebass'
import styled from 'styled-components/macro'
import { TYPE } from 'theme'
export interface RoutingDiagramEntry {
percent: Percent
path: [Currency, Currency, FeeAmount][]
}
const Wrapper = styled(Box)`
align-items: center;
background-color: ${({ theme }) => theme.bg0};
width: 400px;
`
const RouteContainerRow = styled(Row)`
display: grid;
grid-gap: 8px;
grid-template-columns: 24px 1fr 24px;
`
const RouteRow = styled(Row)`
align-items: center;
display: flex;
justify-content: center;
padding: 0.1rem 0.5rem;
position: relative;
`
const PoolBadge = styled(Badge)`
display: flex;
padding: 0.25rem 0.5rem;
`
const DottedLine = styled.div`
border-color: ${({ theme }) => theme.bg4};
border-top-style: dotted;
border-width: 4px;
height: 0px;
position: absolute;
width: calc(100%);
z-index: 1;
`
const OpaqueBadge = styled(Badge)`
background-color: ${({ theme }) => theme.bg2};
z-index: 2;
`
export default function RoutingDiagram({
currencyIn,
currencyOut,
routes,
}: {
currencyIn: Currency
currencyOut: Currency
routes: RoutingDiagramEntry[]
}) {
const tokenIn = useTokenInfoFromActiveList(currencyIn)
const tokenOut = useTokenInfoFromActiveList(currencyOut)
return (
<Wrapper>
{routes.map(({ percent, path }, index) => (
<RouteContainerRow key={index}>
<CurrencyLogo currency={tokenIn} />
<Route percent={percent} path={path} />
<CurrencyLogo currency={tokenOut} />
</RouteContainerRow>
))}
</Wrapper>
)
}
function Route({ percent, path }: { percent: RoutingDiagramEntry['percent']; path: RoutingDiagramEntry['path'] }) {
return (
<RouteRow>
<DottedLine />
<OpaqueBadge>
<TYPE.small fontSize={12} style={{ wordBreak: 'normal' }}>
{percent.toSignificant(2)}%
</TYPE.small>
</OpaqueBadge>
<AutoRow gap="1px" width="100%" style={{ justifyContent: 'space-evenly', zIndex: 2 }}>
{path.map(([currency0, currency1, feeAmount], index) => (
<Pool key={index} currency0={currency0} currency1={currency1} feeAmount={feeAmount} />
))}
</AutoRow>
</RouteRow>
)
}
function Pool({ currency0, currency1, feeAmount }: { currency0: Currency; currency1: Currency; feeAmount: FeeAmount }) {
const tokenInfo0 = useTokenInfoFromActiveList(currency0)
const tokenInfo1 = useTokenInfoFromActiveList(currency1)
return (
<PoolBadge>
<Box margin="0 5px 0 10px">
<DoubleCurrencyLogo currency0={tokenInfo1} currency1={tokenInfo0} size={20} />
</Box>
<TYPE.small fontSize={12}>{feeAmount / 10000}%</TYPE.small>
</PoolBadge>
)
}

View File

@@ -0,0 +1,170 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders multi route 1`] = `
<DocumentFragment>
<div
class="RoutingDiagram__Wrapper-sc-o1ook0-0 fUoVYh css-vurnku"
>
<div
class="sc-bdnxRM Row-sc-nrd8cx-0 RoutingDiagram__RouteContainerRow-sc-o1ook0-1 lmTMKd itvFNV iiQQUx"
>
CurrencyLogo currency=USDC
<div
class="sc-bdnxRM Row-sc-nrd8cx-0 RoutingDiagram__RouteRow-sc-o1ook0-2 lmTMKd itvFNV fzMiot"
>
<div
class="RoutingDiagram__DottedLine-sc-o1ook0-4 gwivhA"
/>
<div
class="Badge-sc-1mhw5si-0 RoutingDiagram__OpaqueBadge-sc-o1ook0-5 gayll cvyxdH"
>
<div
class="theme__TextWrapper-sc-18nh1jk-0 cWOfab css-15li2d9"
style="word-break: normal;"
>
75%
</div>
</div>
<div
class="sc-bdnxRM Row-sc-nrd8cx-0 Row__AutoRow-sc-nrd8cx-3 iqvZFe itvFNV kkMfuq"
style="justify-content: space-evenly; z-index: 2;"
width="100%"
>
<div
class="Badge-sc-1mhw5si-0 RoutingDiagram__PoolBadge-sc-o1ook0-3 gayll bRJvWg"
>
<div
class="css-1t7xebc"
>
DoubleCurrencyLogo currency0=DAI currency1=USDC
</div>
<div
class="theme__TextWrapper-sc-18nh1jk-0 cWOfab css-15li2d9"
>
0.05%
</div>
</div>
</div>
</div>
CurrencyLogo currency=DAI
</div>
<div
class="sc-bdnxRM Row-sc-nrd8cx-0 RoutingDiagram__RouteContainerRow-sc-o1ook0-1 lmTMKd itvFNV iiQQUx"
>
CurrencyLogo currency=USDC
<div
class="sc-bdnxRM Row-sc-nrd8cx-0 RoutingDiagram__RouteRow-sc-o1ook0-2 lmTMKd itvFNV fzMiot"
>
<div
class="RoutingDiagram__DottedLine-sc-o1ook0-4 gwivhA"
/>
<div
class="Badge-sc-1mhw5si-0 RoutingDiagram__OpaqueBadge-sc-o1ook0-5 gayll cvyxdH"
>
<div
class="theme__TextWrapper-sc-18nh1jk-0 cWOfab css-15li2d9"
style="word-break: normal;"
>
25%
</div>
</div>
<div
class="sc-bdnxRM Row-sc-nrd8cx-0 Row__AutoRow-sc-nrd8cx-3 iqvZFe itvFNV kkMfuq"
style="justify-content: space-evenly; z-index: 2;"
width="100%"
>
<div
class="Badge-sc-1mhw5si-0 RoutingDiagram__PoolBadge-sc-o1ook0-3 gayll bRJvWg"
>
<div
class="css-1t7xebc"
>
DoubleCurrencyLogo currency0=WBTC currency1=USDC
</div>
<div
class="theme__TextWrapper-sc-18nh1jk-0 cWOfab css-15li2d9"
>
0.3%
</div>
</div>
<div
class="Badge-sc-1mhw5si-0 RoutingDiagram__PoolBadge-sc-o1ook0-3 gayll bRJvWg"
>
<div
class="css-1t7xebc"
>
DoubleCurrencyLogo currency0=DAI currency1=WBTC
</div>
<div
class="theme__TextWrapper-sc-18nh1jk-0 cWOfab css-15li2d9"
>
1%
</div>
</div>
</div>
</div>
CurrencyLogo currency=DAI
</div>
</div>
</DocumentFragment>
`;
exports[`renders single route 1`] = `
<DocumentFragment>
<div
class="RoutingDiagram__Wrapper-sc-o1ook0-0 fUoVYh css-vurnku"
>
<div
class="sc-bdnxRM Row-sc-nrd8cx-0 RoutingDiagram__RouteContainerRow-sc-o1ook0-1 lmTMKd itvFNV iiQQUx"
>
CurrencyLogo currency=USDC
<div
class="sc-bdnxRM Row-sc-nrd8cx-0 RoutingDiagram__RouteRow-sc-o1ook0-2 lmTMKd itvFNV fzMiot"
>
<div
class="RoutingDiagram__DottedLine-sc-o1ook0-4 gwivhA"
/>
<div
class="Badge-sc-1mhw5si-0 RoutingDiagram__OpaqueBadge-sc-o1ook0-5 gayll cvyxdH"
>
<div
class="theme__TextWrapper-sc-18nh1jk-0 cWOfab css-15li2d9"
style="word-break: normal;"
>
100%
</div>
</div>
<div
class="sc-bdnxRM Row-sc-nrd8cx-0 Row__AutoRow-sc-nrd8cx-3 iqvZFe itvFNV kkMfuq"
style="justify-content: space-evenly; z-index: 2;"
width="100%"
>
<div
class="Badge-sc-1mhw5si-0 RoutingDiagram__PoolBadge-sc-o1ook0-3 gayll bRJvWg"
>
<div
class="css-1t7xebc"
>
DoubleCurrencyLogo currency0=DAI currency1=USDC
</div>
<div
class="theme__TextWrapper-sc-18nh1jk-0 cWOfab css-15li2d9"
>
0.05%
</div>
</div>
</div>
</div>
CurrencyLogo currency=DAI
</div>
</div>
</DocumentFragment>
`;
exports[`renders when no routes are provided 1`] = `
<DocumentFragment>
<div
class="RoutingDiagram__Wrapper-sc-o1ook0-0 fUoVYh css-vurnku"
/>
</DocumentFragment>
`;

View File

@@ -7,7 +7,7 @@ import styled, { ThemeContext } from 'styled-components/macro'
import { useOnClickOutside } from '../../hooks/useOnClickOutside'
import { ApplicationModal } from '../../state/application/actions'
import { useModalOpen, useToggleSettingsMenu } from '../../state/application/hooks'
import { useExpertModeManager, useUserSingleHopOnly } from '../../state/user/hooks'
import { useExpertModeManager, useClientSideRouter } from '../../state/user/hooks'
import { TYPE } from '../../theme'
import { ButtonError } from '../Button'
import { AutoColumn } from '../Column'
@@ -17,6 +17,8 @@ import { RowBetween, RowFixed } from '../Row'
import Toggle from '../Toggle'
import TransactionSettings from '../TransactionSettings'
import { Percent } from '@uniswap/sdk-core'
import { useActiveWeb3React } from 'hooks/web3'
import { SupportedChainId } from 'constants/chains'
const StyledMenuIcon = styled(Settings)`
height: 20px;
@@ -115,6 +117,8 @@ const ModalContentWrapper = styled.div`
`
export default function SettingsTab({ placeholderSlippage }: { placeholderSlippage: Percent }) {
const { chainId } = useActiveWeb3React()
const node = useRef<HTMLDivElement>()
const open = useModalOpen(ApplicationModal.SETTINGS)
const toggle = useToggleSettingsMenu()
@@ -123,7 +127,7 @@ export default function SettingsTab({ placeholderSlippage }: { placeholderSlippa
const [expertMode, toggleExpertMode] = useExpertModeManager()
const [singleHopOnly, setSingleHopOnly] = useUserSingleHopOnly()
const [clientSideRouter, setClientSideRouter] = useClientSideRouter()
// show confirmation view before turning on
const [showConfirmation, setShowConfirmation] = useState(false)
@@ -173,7 +177,7 @@ export default function SettingsTab({ placeholderSlippage }: { placeholderSlippa
</AutoColumn>
</ModalContentWrapper>
</Modal>
<StyledMenuButton onClick={toggle} id="open-settings-dialog-button">
<StyledMenuButton onClick={toggle} id="open-settings-dialog-button" aria-label={t`Transaction Settings`}>
<StyledMenuIcon />
{expertMode ? (
<EmojiWrapper>
@@ -193,10 +197,35 @@ export default function SettingsTab({ placeholderSlippage }: { placeholderSlippa
<Text fontWeight={600} fontSize={14}>
<Trans>Interface Settings</Trans>
</Text>
{chainId === SupportedChainId.MAINNET && (
<RowBetween>
<RowFixed>
<TYPE.black fontWeight={400} fontSize={14} color={theme.text2}>
<Trans>Auto Router</Trans>
</TYPE.black>
<QuestionHelper
text={<Trans>Use the Uniswap Labs API to get better pricing through a more efficient route.</Trans>}
/>
</RowFixed>
<Toggle
id="toggle-optimized-router-button"
isActive={!clientSideRouter}
toggle={() => {
ReactGA.event({
category: 'Routing',
action: clientSideRouter ? 'enable routing API' : 'disable routing API',
})
setClientSideRouter(!clientSideRouter)
}}
/>
</RowBetween>
)}
<RowBetween>
<RowFixed>
<TYPE.black fontWeight={400} fontSize={14} color={theme.text2}>
<Trans>Toggle Expert Mode</Trans>
<Trans>Expert Mode</Trans>
</TYPE.black>
<QuestionHelper
text={
@@ -220,25 +249,6 @@ export default function SettingsTab({ placeholderSlippage }: { placeholderSlippa
}
/>
</RowBetween>
<RowBetween>
<RowFixed>
<TYPE.black fontWeight={400} fontSize={14} color={theme.text2}>
<Trans>Disable Multihops</Trans>
</TYPE.black>
<QuestionHelper text={<Trans>Restricts swaps to direct pairs only.</Trans>} />
</RowFixed>
<Toggle
id="toggle-disable-multihop-button"
isActive={singleHopOnly}
toggle={() => {
ReactGA.event({
category: 'Routing',
action: singleHopOnly ? 'disable single hop' : 'enable single hop',
})
setSingleHopOnly(!singleHopOnly)
}}
/>
</RowBetween>
</AutoColumn>
</MenuFlyout>
)}

View File

@@ -1,5 +1,7 @@
import { TextInput, ResizingTextArea } from './'
import { render, screen, fireEvent } from 'test-utils'
// include style rules in snapshots
import 'jest-styled-components'
describe('TextInput', () => {
it('renders correctly', () => {

View File

@@ -1,12 +1,18 @@
import { transparentize } from 'polished'
import { ReactNode, useCallback, useState } from 'react'
import styled from 'styled-components/macro'
import Popover, { PopoverProps } from '../Popover'
const TooltipContainer = styled.div`
export const TooltipContainer = styled.div`
width: 256px;
padding: 0.6rem 1rem;
font-weight: 400;
word-break: break-word;
background: ${({ theme }) => theme.bg0};
border-radius: 12px;
border: 1px solid ${({ theme }) => theme.bg2};
box-shadow: 0 4px 8px 0 ${({ theme }) => transparentize(0.9, theme.shadow1)};
`
interface TooltipProps extends Omit<PopoverProps, 'content'> {
@@ -15,14 +21,17 @@ interface TooltipProps extends Omit<PopoverProps, 'content'> {
interface TooltipContentProps extends Omit<PopoverProps, 'content'> {
content: ReactNode
onOpen?: () => void
// whether to wrap the content in a `TooltipContainer`
wrap?: boolean
}
export default function Tooltip({ text, ...rest }: TooltipProps) {
return <Popover content={<TooltipContainer>{text}</TooltipContainer>} {...rest} />
}
function TooltipContent({ content, ...rest }: TooltipContentProps) {
return <Popover content={<TooltipContainer>{content}</TooltipContainer>} {...rest} />
function TooltipContent({ content, wrap = false, ...rest }: TooltipContentProps) {
return <Popover content={wrap ? <TooltipContainer>{content}</TooltipContainer> : content} {...rest} />
}
export function MouseoverTooltip({ children, ...rest }: Omit<TooltipProps, 'show'>) {
@@ -38,9 +47,17 @@ export function MouseoverTooltip({ children, ...rest }: Omit<TooltipProps, 'show
)
}
export function MouseoverTooltipContent({ content, children, ...rest }: Omit<TooltipContentProps, 'show'>) {
export function MouseoverTooltipContent({
content,
children,
onOpen: openCallback = undefined,
...rest
}: Omit<TooltipContentProps, 'show'>) {
const [show, setShow] = useState(false)
const open = useCallback(() => setShow(true), [setShow])
const open = useCallback(() => {
setShow(true)
openCallback?.()
}, [openCallback])
const close = useCallback(() => setShow(false), [setShow])
return (
<TooltipContent {...rest} show={show} content={content}>

View File

@@ -235,14 +235,12 @@ export default function Web3Status() {
const pending = sortedRecentTransactions.filter((tx) => !tx.receipt).map((tx) => tx.hash)
const confirmed = sortedRecentTransactions.filter((tx) => tx.receipt).map((tx) => tx.hash)
if (!contextNetwork.active && !active) {
return null
}
return (
<>
<Web3StatusInner />
<WalletModal ENSName={ENSName ?? undefined} pendingTransactions={pending} confirmedTransactions={confirmed} />
{(contextNetwork.active || active) && (
<WalletModal ENSName={ENSName ?? undefined} pendingTransactions={pending} confirmedTransactions={confirmed} />
)}
</>
)
}

View File

@@ -1,9 +1,26 @@
import { useEffect } from 'react'
import ReactGA from 'react-ga'
import { getCLS, getFCP, getFID, getLCP, Metric } from 'web-vitals'
import { RouteComponentProps } from 'react-router-dom'
// fires a GA pageview every time the route changes
function reportWebVitals({ name, delta, id }: Metric) {
ReactGA.timing({
category: 'Web Vitals',
variable: name,
value: Math.round(name === 'CLS' ? delta * 1000 : delta),
label: id,
})
}
// tracks web vitals and pageviews
export default function GoogleAnalyticsReporter({ location: { pathname, search } }: RouteComponentProps): null {
useEffect(() => {
getFCP(reportWebVitals)
getFID(reportWebVitals)
getLCP(reportWebVitals)
getCLS(reportWebVitals)
}, [])
useEffect(() => {
ReactGA.pageview(`${pathname}${search}`)
}, [pathname, search])

View File

@@ -58,7 +58,7 @@ export default function ClaimRewardModal({ isOpen, onDismiss, stakingInfo }: Sta
let error: string | undefined
if (!account) {
error = t`Connect wallet`
error = t`Connect Wallet`
}
if (!stakingInfo?.stakedAmount) {
error = error ?? t`Enter an amount`

View File

@@ -1,7 +1,8 @@
import { Trans } from '@lingui/macro'
import { Percent, Currency, TradeType } from '@uniswap/sdk-core'
import { Currency, Percent, TradeType } from '@uniswap/sdk-core'
import { Trade as V2Trade } from '@uniswap/v2-sdk'
import { Trade as V3Trade } from '@uniswap/v3-sdk'
import { LoadingRows } from 'components/Loader/styled'
import { useContext, useMemo } from 'react'
import { ThemeContext } from 'styled-components/macro'
import { TYPE } from '../../theme'
@@ -9,14 +10,33 @@ import { computeRealizedLPFeePercent } from '../../utils/prices'
import { AutoColumn } from '../Column'
import { RowBetween, RowFixed } from '../Row'
import FormattedPriceImpact from './FormattedPriceImpact'
import SwapRoute from './SwapRoute'
import { TransactionDetailsLabel } from './styleds'
interface AdvancedSwapDetailsProps {
trade?: V2Trade<Currency, Currency, TradeType> | V3Trade<Currency, Currency, TradeType>
allowedSlippage: Percent
syncing?: boolean
}
export function AdvancedSwapDetails({ trade, allowedSlippage }: AdvancedSwapDetailsProps) {
function TextWithLoadingPlaceholder({
syncing,
width,
children,
}: {
syncing: boolean
width: number
children: JSX.Element
}) {
return syncing ? (
<LoadingRows>
<div style={{ height: '15px', width: `${width}px` }} />
</LoadingRows>
) : (
children
)
}
export function AdvancedSwapDetails({ trade, allowedSlippage, syncing = false }: AdvancedSwapDetailsProps) {
const theme = useContext(ThemeContext)
const { realizedLPFee, priceImpact } = useMemo(() => {
@@ -30,61 +50,61 @@ export function AdvancedSwapDetails({ trade, allowedSlippage }: AdvancedSwapDeta
return !trade ? null : (
<AutoColumn gap="8px">
<TransactionDetailsLabel fontWeight={500} fontSize={14}>
<Trans>Transaction Details</Trans>
</TransactionDetailsLabel>
<RowBetween>
<RowFixed>
<TYPE.black fontSize={12} fontWeight={400} color={theme.text2}>
<TYPE.subHeader color={theme.text1}>
<Trans>Liquidity Provider Fee</Trans>
</TYPE.black>
</TYPE.subHeader>
</RowFixed>
<TYPE.black textAlign="right" fontSize={12} color={theme.text1}>
{realizedLPFee ? `${realizedLPFee.toSignificant(4)} ${realizedLPFee.currency.symbol}` : '-'}
</TYPE.black>
<TextWithLoadingPlaceholder syncing={syncing} width={65}>
<TYPE.black textAlign="right" fontSize={14}>
{realizedLPFee ? `${realizedLPFee.toSignificant(4)} ${realizedLPFee.currency.symbol}` : '-'}
</TYPE.black>
</TextWithLoadingPlaceholder>
</RowBetween>
<RowBetween>
<RowFixed>
<TYPE.black fontSize={12} fontWeight={400} color={theme.text2}>
<Trans>Route</Trans>
</TYPE.black>
</RowFixed>
<TYPE.black textAlign="right" fontSize={12} color={theme.text1}>
<SwapRoute trade={trade} />
</TYPE.black>
</RowBetween>
<RowBetween>
<RowFixed>
<TYPE.black fontSize={12} fontWeight={400} color={theme.text2}>
<TYPE.subHeader color={theme.text1}>
<Trans>Price Impact</Trans>
</TYPE.black>
</TYPE.subHeader>
</RowFixed>
<TYPE.black textAlign="right" fontSize={12} color={theme.text1}>
<FormattedPriceImpact priceImpact={priceImpact} />
</TYPE.black>
<TextWithLoadingPlaceholder syncing={syncing} width={50}>
<TYPE.black textAlign="right" fontSize={14}>
<FormattedPriceImpact priceImpact={priceImpact} />
</TYPE.black>
</TextWithLoadingPlaceholder>
</RowBetween>
<RowBetween>
<RowFixed>
<TYPE.black fontSize={12} fontWeight={400} color={theme.text2}>
<TYPE.subHeader color={theme.text1}>
<Trans>Allowed Slippage</Trans>
</TYPE.subHeader>
</RowFixed>
<TextWithLoadingPlaceholder syncing={syncing} width={45}>
<TYPE.black textAlign="right" fontSize={14}>
{allowedSlippage.toFixed(2)}%
</TYPE.black>
</TextWithLoadingPlaceholder>
</RowBetween>
<RowBetween>
<RowFixed>
<TYPE.subHeader color={theme.text1}>
{trade.tradeType === TradeType.EXACT_INPUT ? <Trans>Minimum received</Trans> : <Trans>Maximum sent</Trans>}
</TYPE.black>
</TYPE.subHeader>
</RowFixed>
<TYPE.black textAlign="right" fontSize={12} color={theme.text1}>
{trade.tradeType === TradeType.EXACT_INPUT
? `${trade.minimumAmountOut(allowedSlippage).toSignificant(6)} ${trade.outputAmount.currency.symbol}`
: `${trade.maximumAmountIn(allowedSlippage).toSignificant(6)} ${trade.inputAmount.currency.symbol}`}
</TYPE.black>
</RowBetween>
<RowBetween>
<RowFixed>
<TYPE.black fontSize={12} fontWeight={400} color={theme.text2}>
<Trans>Slippage tolerance</Trans>
<TextWithLoadingPlaceholder syncing={syncing} width={70}>
<TYPE.black textAlign="right" fontSize={14}>
{trade.tradeType === TradeType.EXACT_INPUT
? `${trade.minimumAmountOut(allowedSlippage).toSignificant(6)} ${trade.outputAmount.currency.symbol}`
: `${trade.maximumAmountIn(allowedSlippage).toSignificant(6)} ${trade.inputAmount.currency.symbol}`}
</TYPE.black>
</RowFixed>
<TYPE.black textAlign="right" fontSize={12} color={theme.text1}>
{allowedSlippage.toFixed(2)}%
</TYPE.black>
</TextWithLoadingPlaceholder>
</RowBetween>
</AutoColumn>
)

View File

@@ -1,64 +0,0 @@
import { stringify } from 'qs'
import { useMemo } from 'react'
import { useLocation } from 'react-router'
import { Link } from 'react-router-dom'
import useParsedQueryString from '../../hooks/useParsedQueryString'
import { DEFAULT_VERSION, Version } from '../../hooks/useToggledVersion'
import { HideSmall, TYPE, SmallOnly } from '../../theme'
import { ButtonPrimary } from '../Button'
import styled from 'styled-components/macro'
import { Zap } from 'react-feather'
const ResponsiveButton = styled(ButtonPrimary)`
width: fit-content;
padding: 0.2rem 0.5rem;
word-break: keep-all;
height: 24px;
margin-left: 0.75rem;
${({ theme }) => theme.mediaWidth.upToSmall`
padding: 4px;
border-radius: 8px;
`};
`
export default function BetterTradeLink({
version,
otherTradeNonexistent = false,
}: {
version: Version
otherTradeNonexistent: boolean
}) {
const location = useLocation()
const search = useParsedQueryString()
const linkDestination = useMemo(() => {
return {
...location,
search: `?${stringify({
...search,
use: version !== DEFAULT_VERSION ? version : undefined,
})}`,
}
}, [location, search, version])
return (
<ResponsiveButton as={Link} to={linkDestination}>
<Zap size={12} style={{ marginRight: '0.25rem' }} />
<HideSmall>
<TYPE.small style={{ lineHeight: '120%' }} fontSize={12}>
{otherTradeNonexistent
? `No liquidity! Click to trade with ${version.toUpperCase()}`
: `Get a better price on ${version.toUpperCase()}`}
</TYPE.small>
</HideSmall>
<SmallOnly>
<TYPE.small style={{ lineHeight: '120%' }} fontSize={12}>
{otherTradeNonexistent
? `No liquidity! Click to trade with ${version.toUpperCase()}`
: `Better ${version.toUpperCase()} price`}
</TYPE.small>
</SmallOnly>
</ResponsiveButton>
)
}

View File

@@ -7,7 +7,7 @@ import { ErrorText } from './styleds'
*/
export default function FormattedPriceImpact({ priceImpact }: { priceImpact?: Percent }) {
return (
<ErrorText fontWeight={500} fontSize={12} severity={warningSeverity(priceImpact)}>
<ErrorText fontWeight={500} fontSize={14} severity={warningSeverity(priceImpact)}>
{priceImpact ? `${priceImpact.multiply(-1).toFixed(2)}%` : '-'}
</ErrorText>
)

View File

@@ -0,0 +1,57 @@
import { Trans } from '@lingui/macro'
import { useRoutingAPIEnabled } from 'state/user/hooks'
import styled from 'styled-components/macro'
import { TYPE } from 'theme'
import { ReactComponent as AutoRouterIcon } from '../../assets/svg/auto_router.svg'
import { ReactComponent as StaticRouterIcon } from '../../assets/svg/static_route.svg'
const StyledAutoRouterIcon = styled(AutoRouterIcon)`
height: 16px;
width: 16px;
:hover {
filter: brightness(1.3);
}
`
const StyledStaticRouterIcon = styled(StaticRouterIcon)`
height: 16px;
width: 16px;
fill: ${({ theme }) => theme.text3};
:hover {
filter: brightness(1.3);
}
`
const StyledAutoRouterLabel = styled(TYPE.black)`
line-height: 1rem;
/* fallback color */
color: ${({ theme }) => theme.green1};
@supports (-webkit-background-clip: text) and (-webkit-text-fill-color: transparent) {
background-image: linear-gradient(90deg, #2172e5 0%, #54e521 163.16%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
`
export function AutoRouterLogo() {
const routingAPIEnabled = useRoutingAPIEnabled()
return routingAPIEnabled ? <StyledAutoRouterIcon /> : <StyledStaticRouterIcon />
}
export function AutoRouterLabel() {
const routingAPIEnabled = useRoutingAPIEnabled()
return routingAPIEnabled ? (
<StyledAutoRouterLabel fontSize={14}>Auto Router</StyledAutoRouterLabel>
) : (
<TYPE.black fontSize={14}>
<Trans>Trade Route</Trans>
</TYPE.black>
)
}

View File

@@ -1,47 +1,110 @@
import { Currency, TradeType } from '@uniswap/sdk-core'
import { Trans } from '@lingui/macro'
import { Currency, Percent, TradeType } from '@uniswap/sdk-core'
import { Trade as V2Trade } from '@uniswap/v2-sdk'
import { Trade as V3Trade, FeeAmount } from '@uniswap/v3-sdk'
import { Fragment, memo, useContext } from 'react'
import { ChevronRight } from 'react-feather'
import { Flex } from 'rebass'
import { ThemeContext } from 'styled-components/macro'
import { TYPE } from '../../theme'
import { unwrappedToken } from 'utils/unwrappedToken'
import { FeeAmount, Trade as V3Trade } from '@uniswap/v3-sdk'
import Badge from 'components/Badge'
import { AutoColumn } from 'components/Column'
import { LoadingRows } from 'components/Loader/styled'
import RoutingDiagram, { RoutingDiagramEntry } from 'components/RoutingDiagram/RoutingDiagram'
import { AutoRow, RowBetween } from 'components/Row'
import { Version } from 'hooks/useToggledVersion'
import { memo } from 'react'
import { useRoutingAPIEnabled } from 'state/user/hooks'
import styled from 'styled-components/macro'
import { TYPE } from 'theme'
import { getTradeVersion } from 'utils/getTradeVersion'
import { AutoRouterLabel, AutoRouterLogo } from './RouterLabel'
function LabeledArrow({}: { fee: FeeAmount }) {
const theme = useContext(ThemeContext)
const Separator = styled.div`
border-top: 1px solid ${({ theme }) => theme.bg2};
height: 1px;
width: 100%;
`
// todo: render the fee in the label
return <ChevronRight size={14} color={theme.text2} />
}
const V2_DEFAULT_FEE_TIER = 3000
export default memo(function SwapRoute({
trade,
syncing,
}: {
trade: V2Trade<Currency, Currency, TradeType> | V3Trade<Currency, Currency, TradeType>
syncing: boolean
}) {
const tokenPath = trade instanceof V2Trade ? trade.route.path : trade.route.tokenPath
const theme = useContext(ThemeContext)
const routingAPIEnabled = useRoutingAPIEnabled()
return (
<Flex flexWrap="wrap" width="100%" justifyContent="flex-start" alignItems="center">
{tokenPath.map((token, i, path) => {
const isLastItem: boolean = i === path.length - 1
const currency = unwrappedToken(token)
return (
<Fragment key={i}>
<Flex alignItems="end">
<TYPE.black color={theme.text1} ml="0.145rem" mr="0.145rem">
{currency.symbol}
</TYPE.black>
</Flex>
{isLastItem ? null : trade instanceof V2Trade ? (
<ChevronRight size={14} color={theme.text2} />
) : (
<LabeledArrow fee={trade.route.pools[i].fee} />
)}
</Fragment>
)
})}
</Flex>
<AutoColumn gap="12px">
<RowBetween>
<AutoRow gap="4px" width="auto">
<AutoRouterLogo />
<AutoRouterLabel />
</AutoRow>
{syncing ? (
<LoadingRows>
<div style={{ width: '30px', height: '24px' }} />
</LoadingRows>
) : (
<Badge>
<TYPE.black fontSize={12}>
{getTradeVersion(trade) === Version.v2 ? <Trans>V2</Trans> : <Trans>V3</Trans>}
</TYPE.black>
</Badge>
)}
</RowBetween>
<Separator />
{syncing ? (
<LoadingRows>
<div style={{ width: '400px', height: '30px' }} />
</LoadingRows>
) : (
<RoutingDiagram
currencyIn={trade.inputAmount.currency}
currencyOut={trade.outputAmount.currency}
routes={getTokenPath(trade)}
/>
)}
{routingAPIEnabled && (
<TYPE.main fontSize={12} width={400}>
<Trans>This route optimizes your price by considering split routes, multiple hops, and gas costs.</Trans>
</TYPE.main>
)}
</AutoColumn>
)
})
function getTokenPath(
trade: V2Trade<Currency, Currency, TradeType> | V3Trade<Currency, Currency, TradeType>
): RoutingDiagramEntry[] {
// convert V2 path to a list of routes
if (trade instanceof V2Trade) {
const { path: tokenPath } = (trade as V2Trade<Currency, Currency, TradeType>).route
const path = []
for (let i = 1; i < tokenPath.length; i++) {
path.push([tokenPath[i - 1], tokenPath[i], V2_DEFAULT_FEE_TIER] as RoutingDiagramEntry['path'][0])
}
return [{ percent: new Percent(100, 100), path }]
}
return trade.swaps.map(({ route: { tokenPath, pools }, inputAmount, outputAmount }) => {
const portion =
trade.tradeType === TradeType.EXACT_INPUT
? inputAmount.divide(trade.inputAmount)
: outputAmount.divide(trade.outputAmount)
const percent = new Percent(portion.numerator, portion.denominator)
const path: [Currency, Currency, FeeAmount][] = []
for (let i = 0; i < pools.length; i++) {
const nextPool = pools[i]
const tokenIn = tokenPath[i]
const tokenOut = tokenPath[i + 1]
path.push([tokenIn, tokenOut, nextPool.fee])
}
return {
percent,
path,
}
})
}

View File

@@ -1,6 +1,5 @@
import { useCallback } from 'react'
import { Price, Currency } from '@uniswap/sdk-core'
import { useContext } from 'react'
import { useCallback, useContext } from 'react'
import { Currency, Price } from '@uniswap/sdk-core'
import { Text } from 'rebass'
import styled, { ThemeContext } from 'styled-components/macro'

View File

@@ -43,7 +43,7 @@ export default function UnsupportedCurrencyFooter({
currencies,
}: {
show: boolean
currencies: (Currency | undefined)[]
currencies: (Currency | undefined | null)[]
}) {
const { chainId } = useActiveWeb3React()
const [showDetails, setShowDetails] = useState(false)

View File

@@ -5,6 +5,10 @@ import { AlertTriangle } from 'react-feather'
import styled, { css } from 'styled-components/macro'
import { Text } from 'rebass'
import { AutoColumn } from '../Column'
import { TYPE } from 'theme'
import { TooltipContainer } from 'components/Tooltip'
import TradePrice from './TradePrice'
import { loadingOpacityMixin } from 'components/Loader/styled'
export const Wrapper = styled.div`
position: relative;
@@ -128,3 +132,24 @@ export const SwapShowAcceptChanges = styled(AutoColumn)`
border-radius: 12px;
margin-top: 8px;
`
export const TransactionDetailsLabel = styled(TYPE.black)`
border-bottom: 1px solid ${({ theme }) => theme.bg2};
padding-bottom: 0.5rem;
`
export const ResponsiveTooltipContainer = styled(TooltipContainer)<{ origin?: string; width?: string }>`
background-color: ${({ theme }) => theme.bg0};
border: 1px solid ${({ theme }) => theme.bg2};
padding: 1rem;
width: ${({ width }) => width ?? 'auto'};
${({ theme, origin }) => theme.mediaWidth.upToExtraSmall`
transform: scale(0.8);
transform-origin: ${origin ?? 'top left'};
`}
`
export const StyledTradePrice = styled(TradePrice)<{ $loading: boolean }>`
${loadingOpacityMixin}
`

View File

@@ -10,7 +10,7 @@ import { TYPE, CustomLightSpinner } from '../../theme'
import { X, ArrowUpCircle } from 'react-feather'
import { ButtonPrimary } from '../Button'
import Circle from '../../assets/images/blue-loader.svg'
import { useVoteCallback, useUserVotes } from '../../state/governance/hooks'
import { useVoteCallback, useUserVotes, VoteOption } from '../../state/governance/hooks'
import { ExternalLink } from '../../theme/components'
import { formatCurrencyAmount } from 'utils/formatCurrencyAmount'
import { Trans } from '@lingui/macro'
@@ -38,17 +38,13 @@ const ConfirmedIcon = styled(ColumnCenter)`
interface VoteModalProps {
isOpen: boolean
onDismiss: () => void
support: boolean // if user is for or against proposal
voteOption: VoteOption | undefined
proposalId: string | undefined // id for the proposal to vote on
}
export default function VoteModal({ isOpen, onDismiss, proposalId, support }: VoteModalProps) {
export default function VoteModal({ isOpen, onDismiss, proposalId, voteOption }: VoteModalProps) {
const { chainId } = useActiveWeb3React()
const {
voteCallback,
}: {
voteCallback: (proposalId: string | undefined, support: boolean) => Promise<string> | undefined
} = useVoteCallback()
const { voteCallback } = useVoteCallback()
const { votes: availableVotes } = useUserVotes()
// monitor call to help UI loading state
@@ -69,10 +65,10 @@ export default function VoteModal({ isOpen, onDismiss, proposalId, support }: Vo
setAttempting(true)
// if callback not returned properly ignore
if (!voteCallback) return
if (!voteCallback || voteOption === undefined) return
// try delegation and store hash
const hash = await voteCallback(proposalId, support)?.catch((error) => {
const hash = await voteCallback(proposalId, voteOption)?.catch((error) => {
setAttempting(false)
console.log(error)
})
@@ -89,10 +85,12 @@ export default function VoteModal({ isOpen, onDismiss, proposalId, support }: Vo
<AutoColumn gap="lg" justify="center">
<RowBetween>
<TYPE.mediumHeader fontWeight={500}>
{support ? (
{voteOption === VoteOption.Against ? (
<Trans>Vote against proposal {proposalId}</Trans>
) : voteOption === VoteOption.For ? (
<Trans>Vote for proposal {proposalId}</Trans>
) : (
<Trans>Vote against proposal {proposalId}</Trans>
<Trans>Vote to abstain on proposal {proposalId}</Trans>
)}
</TYPE.mediumHeader>
<StyledClosed stroke="black" onClick={wrappedOndismiss} />
@@ -102,10 +100,12 @@ export default function VoteModal({ isOpen, onDismiss, proposalId, support }: Vo
</TYPE.largeHeader>
<ButtonPrimary onClick={onVote}>
<TYPE.mediumHeader color="white">
{support ? (
{voteOption === VoteOption.Against ? (
<Trans>Vote against proposal {proposalId}</Trans>
) : voteOption === VoteOption.For ? (
<Trans>Vote for proposal {proposalId}</Trans>
) : (
<Trans>Vote against proposal {proposalId}</Trans>
<Trans>Vote to abstain on proposal {proposalId}</Trans>
)}
</TYPE.mediumHeader>
</ButtonPrimary>

View File

@@ -13,7 +13,6 @@ import { NetworkConnector } from './NetworkConnector'
const INFURA_KEY = process.env.REACT_APP_INFURA_KEY
const FORMATIC_KEY = process.env.REACT_APP_FORTMATIC_KEY
const PORTIS_ID = process.env.REACT_APP_PORTIS_ID
const WALLETCONNECT_BRIDGE_URL = process.env.REACT_APP_WALLETCONNECT_BRIDGE_URL
if (typeof INFURA_KEY === 'undefined') {
throw new Error(`REACT_APP_INFURA_KEY must be a defined environment variable`)
@@ -50,9 +49,7 @@ export const gnosisSafe = new SafeAppConnector()
export const walletconnect = new WalletConnectConnector({
supportedChainIds: ALL_SUPPORTED_CHAIN_IDS,
rpc: NETWORK_URLS,
bridge: WALLETCONNECT_BRIDGE_URL,
qrcode: true,
pollingInterval: 15000,
})
// mainnet only

View File

@@ -16,17 +16,23 @@ export const V2_FACTORY_ADDRESSES: AddressMap = constructSameAddressMap(V2_FACTO
export const V2_ROUTER_ADDRESS: AddressMap = constructSameAddressMap('0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D')
/**
* The older V0 governance account
* The oldest V0 governance address
*/
export const GOVERNANCE_ALPHA_V0_ADDRESSES: AddressMap = constructSameAddressMap(
'0x5e4be8Bc9637f0EAA1A755019e06A68ce081D58F'
)
/**
* The latest governor alpha that is currently admin of timelock
* The older V1 governance address
*/
export const GOVERNANCE_ALPHA_V1_ADDRESSES: AddressMap = {
[SupportedChainId.MAINNET]: '0xC4e172459f1E7939D522503B81AFAaC1014CE6F6',
}
/**
* The latest governor bravo that is currently admin of timelock
*/
export const GOVERNANCE_BRAVO_ADDRESSES: AddressMap = {
[SupportedChainId.MAINNET]: '0x408ED6354d4973f66138C91495F2f2FCbd8724C3',
}
export const TIMELOCK_ADDRESS: AddressMap = constructSameAddressMap('0x1a9C8182C09F50C8318d769245beA52c32BE35BC')

View File

@@ -1,5 +1,6 @@
import arbitrumLogoUrl from 'assets/svg/arbitrum_logo.svg'
import optimismLogoUrl from 'assets/svg/optimism_logo.svg'
import ms from 'ms.macro'
export enum SupportedChainId {
MAINNET = 1,
@@ -47,6 +48,7 @@ export const L2_CHAIN_IDS = [
export type SupportedL2ChainId = typeof L2_CHAIN_IDS[number]
interface L1ChainInfo {
readonly blockWaitMsBeforeWarning?: number
readonly docs: string
readonly explorer: string
readonly infoLink: string
@@ -55,6 +57,7 @@ interface L1ChainInfo {
export interface L2ChainInfo extends L1ChainInfo {
readonly bridge: string
readonly logoUrl: string
readonly statusPage?: string
}
type ChainInfo = { readonly [chainId: number]: L1ChainInfo | L2ChainInfo } & {
@@ -64,17 +67,19 @@ type ChainInfo = { readonly [chainId: number]: L1ChainInfo | L2ChainInfo } & {
export const CHAIN_INFO: ChainInfo = {
[SupportedChainId.ARBITRUM_ONE]: {
blockWaitMsBeforeWarning: ms`10m`,
bridge: 'https://bridge.arbitrum.io/',
docs: 'https://offchainlabs.com/',
explorer: 'https://explorer.arbitrum.io/',
explorer: 'https://arbiscan.io/',
infoLink: 'https://info.uniswap.org/#/arbitrum',
label: 'Arbitrum',
logoUrl: arbitrumLogoUrl,
},
[SupportedChainId.ARBITRUM_RINKEBY]: {
blockWaitMsBeforeWarning: ms`10m`,
bridge: 'https://bridge.arbitrum.io/',
docs: 'https://offchainlabs.com/',
explorer: 'https://explorer.arbitrum.io/',
explorer: 'https://rinkeby-explorer.arbitrum.io/',
infoLink: 'https://info.uniswap.org/#/arbitrum/',
label: 'Arbitrum Rinkeby',
logoUrl: arbitrumLogoUrl,
@@ -110,19 +115,23 @@ export const CHAIN_INFO: ChainInfo = {
label: 'Görli',
},
[SupportedChainId.OPTIMISM]: {
blockWaitMsBeforeWarning: ms`10m`,
bridge: 'https://gateway.optimism.io/',
docs: 'https://optimism.io/',
explorer: 'https://optimistic.etherscan.io/',
infoLink: 'https://info.uniswap.org/#/optimism/',
label: 'Optimism',
logoUrl: optimismLogoUrl,
statusPage: 'https://optimism.io/status',
},
[SupportedChainId.OPTIMISTIC_KOVAN]: {
blockWaitMsBeforeWarning: ms`10m`,
bridge: 'https://gateway.optimism.io/',
docs: 'https://optimism.io/',
explorer: 'https://optimistic.etherscan.io/',
infoLink: 'https://info.uniswap.org/#/optimism',
label: 'Optimistic Kovan',
logoUrl: optimismLogoUrl,
statusPage: 'https://optimism.io/status',
},
}

View File

@@ -1,5 +1,3 @@
import { IS_ON_APP_URL } from './misc'
const AAVE_LIST = 'tokenlist.aave.eth'
const BA_LIST = 'https://raw.githubusercontent.com/The-Blockchain-Association/sec-notice-list/master/ba-sec-list.json'
const CMC_ALL_LIST = 'defi.cmc.eth'
@@ -7,17 +5,18 @@ const CMC_STABLECOIN = 'stablecoin.cmc.eth'
const COINGECKO_LIST = 'https://tokens.coingecko.com/uniswap/all.json'
const COMPOUND_LIST = 'https://raw.githubusercontent.com/compound-finance/token-list/master/compound.tokenlist.json'
const GEMINI_LIST = 'https://www.gemini.com/uniswap/manifest.json'
export const ARBITRUM_LIST = 'https://bridge.arbitrum.io/token-list-42161.json'
const KLEROS_LIST = 't2crtokens.eth'
export const OPTIMISM_LIST = 'https://static.optimism.io/optimism.tokenlist.json'
const ROLL_LIST = 'https://app.tryroll.com/tokens.json'
const SET_LIST = 'https://raw.githubusercontent.com/SetProtocol/uniswap-tokenlist/main/set.tokenlist.json'
const WRAPPED_LIST = 'wrapped.tokensoft.eth'
// only load blocked list if on app url
export const UNSUPPORTED_LIST_URLS: string[] = IS_ON_APP_URL ? [BA_LIST] : []
export const UNSUPPORTED_LIST_URLS: string[] = [BA_LIST]
// this is the default list of lists that are exposed to users
// lower index == higher priority for token import
export const DEFAULT_LIST_OF_LISTS: string[] = [
const DEFAULT_LIST_OF_LISTS_TO_DISPLAY: string[] = [
COMPOUND_LIST,
AAVE_LIST,
CMC_ALL_LIST,
@@ -27,9 +26,14 @@ export const DEFAULT_LIST_OF_LISTS: string[] = [
ROLL_LIST,
COINGECKO_LIST,
KLEROS_LIST,
ARBITRUM_LIST,
OPTIMISM_LIST,
GEMINI_LIST,
...UNSUPPORTED_LIST_URLS, // need to load unsupported tokens as well
]
export const DEFAULT_LIST_OF_LISTS: string[] = [
...DEFAULT_LIST_OF_LISTS_TO_DISPLAY,
...UNSUPPORTED_LIST_URLS, // need to load dynamic unsupported tokens as well
]
// default lists to be 'active' aka searched across

View File

@@ -66,6 +66,6 @@ export const LOCALE_LABEL: { [locale in SupportedLocale]: string } = {
'tr-TR': 'Türkçe',
'uk-UA': 'Український',
'vi-VN': 'Tiếng Việt',
'zh-CN': '中文 ( 中国 )',
'zh-TW': '中文 ( 台灣 )',
'zh-CN': '简体中文',
'zh-TW': '繁体中文',
}

View File

@@ -5,10 +5,16 @@ export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'
export const NetworkContextName = 'NETWORK'
export const IS_IN_IFRAME = window.parent !== window
// 30 minutes, denominated in seconds
export const DEFAULT_DEADLINE_FROM_NOW = 60 * 30
export const L2_DEADLINE_FROM_NOW = 60 * 5
// transaction popup dismisal amounts
export const DEFAULT_TXN_DISMISS_MS = 25000
export const L2_TXN_DISMISS_MS = 5000
// used for rewards deadlines
export const BIG_INT_SECONDS_IN_WEEK = JSBI.BigInt(60 * 60 * 24 * 7)
@@ -30,6 +36,5 @@ export const BLOCKED_PRICE_IMPACT_NON_EXPERT: Percent = new Percent(JSBI.BigInt(
export const BETTER_TRADE_LESS_HOPS_THRESHOLD = new Percent(JSBI.BigInt(50), BIPS_BASE)
export const ZERO_PERCENT = new Percent('0')
export const TWO_PERCENT = new Percent(JSBI.BigInt(200), BIPS_BASE)
export const ONE_HUNDRED_PERCENT = new Percent('1')
export const IS_ON_APP_URL = window && window.location.hostname === 'app.uniswap.org'

View File

@@ -1 +1,2 @@
export const UNISWAP_GRANTS_START_BLOCK = 11473815
export const BRAVO_START_BLOCK = 13059344

View File

@@ -1045,6 +1045,34 @@
"name": "Mirrored Tesla",
"symbol": "MTSLA",
"decimals": 18
},
{
"chainId": 1,
"address": "0xe82bbB62fA81d0701643d1675FB50ec52fD3Df92",
"name": "DYDX Token",
"symbol": "DYDX",
"decimals": 18
},
{
"chainId": 10,
"address": "0xE405de8F52ba7559f9df3C368500B6E6ae6Cee49",
"name": "sETH",
"symbol": "Synth Ether",
"decimals": 18
},
{
"chainId": 10,
"address": "0x298B9B95708152ff6968aafd889c6586e9169f1D",
"name": "sBTC",
"symbol": "Synth Bitcoin",
"decimals": 18
},
{
"chainId": 10,
"address": "0xc5Db22719A06418028A40A9B5E9A7c02959D0d08",
"name": "sLINK",
"symbol": "Synth Link",
"decimals": 18
}
]
}

View File

@@ -76,7 +76,7 @@ export function useSearchInactiveTokenLists(search: string | undefined, minResul
if (!list) continue
for (const tokenInfo of list.tokens) {
if (tokenInfo.chainId === chainId && tokenFilter(tokenInfo)) {
const wrapped = new WrappedTokenInfo(tokenInfo, list)
const wrapped: WrappedTokenInfo = new WrappedTokenInfo(tokenInfo, list)
if (!(wrapped.address in activeTokens) && !addressSet[wrapped.address]) {
addressSet[wrapped.address] = true
result.push(wrapped)
@@ -123,9 +123,9 @@ function parseStringOrBytes32(str: string | undefined, bytes32: string | undefin
}
// undefined if invalid or does not exist
// null if loading
// null if loading or null was passed
// otherwise returns the token
export function useToken(tokenAddress?: string): Token | undefined | null {
export function useToken(tokenAddress?: string | null): Token | undefined | null {
const { chainId } = useActiveWeb3React()
const tokens = useAllTokens()
@@ -148,6 +148,7 @@ export function useToken(tokenAddress?: string): Token | undefined | null {
return useMemo(() => {
if (token) return token
if (tokenAddress === null) return null
if (!chainId || !address) return undefined
if (decimals.loading || symbol.loading || tokenName.loading) return null
if (decimals.result) {
@@ -169,13 +170,14 @@ export function useToken(tokenAddress?: string): Token | undefined | null {
symbol.result,
symbolBytes32.result,
token,
tokenAddress,
tokenName.loading,
tokenName.result,
tokenNameBytes32.result,
])
}
export function useCurrency(currencyId: string | undefined): Currency | null | undefined {
export function useCurrency(currencyId: string | null | undefined): Currency | null | undefined {
const { chainId } = useActiveWeb3React()
const isETH = currencyId?.toUpperCase() === 'ETH'
const token = useToken(isETH ? undefined : currencyId)

View File

@@ -1,13 +1,16 @@
import { DEFAULT_LOCALE, SupportedLocale, SUPPORTED_LOCALES } from 'constants/locales'
import { useEffect, useMemo } from 'react'
import { useUserLocale, useUserLocaleManager } from 'state/user/hooks'
import { useMemo } from 'react'
import store from 'state'
import { useUserLocale } from 'state/user/hooks'
import useParsedQueryString from './useParsedQueryString'
import { parsedQueryString } from './useParsedQueryString'
/**
* Given a locale string (e.g. from user agent), return the best match for corresponding SupportedLocale
* @param maybeSupportedLocale the fuzzy locale identifier
*/
function parseLocale(maybeSupportedLocale: string): SupportedLocale | undefined {
function parseLocale(maybeSupportedLocale: unknown): SupportedLocale | undefined {
if (typeof maybeSupportedLocale !== 'string') return undefined
const lowerMaybeSupportedLocale = maybeSupportedLocale.toLowerCase()
return SUPPORTED_LOCALES.find(
(locale) => locale.toLowerCase() === lowerMaybeSupportedLocale || locale.split('-')[0] === lowerMaybeSupportedLocale
@@ -29,25 +32,24 @@ export function navigatorLocale(): SupportedLocale | undefined {
return parseLocale(language)
}
export function useSetLocaleFromUrl() {
const parsed = useParsedQueryString()
const [userLocale, setUserLocale] = useUserLocaleManager()
function storeLocale(): SupportedLocale | undefined {
return store.getState().user.userLocale ?? undefined
}
useEffect(() => {
const urlLocale = typeof parsed.lng === 'string' ? parseLocale(parsed.lng) : undefined
if (urlLocale && urlLocale !== userLocale) {
setUserLocale(urlLocale)
}
}, [parsed.lng, setUserLocale, userLocale])
export const initialLocale =
parseLocale(parsedQueryString().lng) ?? storeLocale() ?? navigatorLocale() ?? DEFAULT_LOCALE
function useUrlLocale() {
const parsed = useParsedQueryString()
return parseLocale(parsed.lng)
}
/**
* Returns the currently active locale, from a combination of user agent, query string, and user settings stored in redux
* Stores the query string locale in redux (if set) to persist across sessions
*/
export function useActiveLocale(): SupportedLocale {
const urlLocale = useUrlLocale()
const userLocale = useUserLocale()
return useMemo(() => {
return userLocale ?? navigatorLocale() ?? DEFAULT_LOCALE
}, [userLocale])
return useMemo(() => urlLocale ?? userLocale ?? navigatorLocale() ?? DEFAULT_LOCALE, [urlLocale, userLocale])
}

View File

@@ -1,5 +1,4 @@
import { Currency, Token } from '@uniswap/sdk-core'
import flatMap from 'lodash.flatmap'
import { useMemo } from 'react'
import { ADDITIONAL_BASES, BASES_TO_CHECK_TRADES_AGAINST, CUSTOM_BASES } from '../constants/routing'
import { useActiveWeb3React } from './web3'
@@ -20,7 +19,7 @@ export function useAllCurrencyCombinations(currencyA?: Currency, currencyB?: Cur
}, [chainId, tokenA, tokenB])
const basePairs: [Token, Token][] = useMemo(
() => flatMap(bases, (base): [Token, Token][] => bases.map((otherBase) => [base, otherBase])),
() => bases.flatMap((base): [Token, Token][] => bases.map((otherBase) => [base, otherBase])),
[bases]
)

View File

@@ -1,10 +1,21 @@
import { Currency } from '@uniswap/sdk-core'
import { Pool, Route } from '@uniswap/v3-sdk'
import { useMemo } from 'react'
import { useUserSingleHopOnly } from '../state/user/hooks'
import { useActiveWeb3React } from './web3'
import { useV3SwapPools } from './useV3SwapPools'
/**
* Returns true if poolA is equivalent to poolB
* @param poolA one of the two pools
* @param poolB the other pool
*/
function poolEquals(poolA: Pool, poolB: Pool): boolean {
return (
poolA === poolB ||
(poolA.token0.equals(poolB.token0) && poolA.token1.equals(poolB.token1) && poolA.fee === poolB.fee)
)
}
function computeAllRoutes(
currencyIn: Currency,
currencyOut: Currency,
@@ -20,7 +31,7 @@ function computeAllRoutes(
if (!tokenIn || !tokenOut) throw new Error('Missing tokenIn/tokenOut')
for (const pool of pools) {
if (currentPath.indexOf(pool) !== -1 || !pool.involvesToken(tokenIn)) continue
if (!pool.involvesToken(tokenIn) || currentPath.find((pathPool) => poolEquals(pool, pathPool))) continue
const outputToken = pool.token0.equals(tokenIn) ? pool.token1 : pool.token0
if (outputToken.equals(tokenOut)) {
@@ -54,12 +65,10 @@ export function useAllV3Routes(
const { chainId } = useActiveWeb3React()
const { pools, loading: poolsLoading } = useV3SwapPools(currencyIn, currencyOut)
const [singleHopOnly] = useUserSingleHopOnly()
return useMemo(() => {
if (poolsLoading || !chainId || !pools || !currencyIn || !currencyOut) return { loading: true, routes: [] }
const routes = computeAllRoutes(currencyIn, currencyOut, pools, chainId, [], [], currencyIn, singleHopOnly ? 1 : 2)
const routes = computeAllRoutes(currencyIn, currencyOut, pools, chainId, [], [], currencyIn, 2)
return { loading: false, routes }
}, [chainId, currencyIn, currencyOut, pools, poolsLoading, singleHopOnly])
}, [chainId, currencyIn, currencyOut, pools, poolsLoading])
}

View File

@@ -90,7 +90,7 @@ export function useApproveCallback(
.then((response: TransactionResponse) => {
addTransaction(response, {
summary: 'Approve ' + amountToApprove.currency.symbol,
approval: { tokenAddress: token.address, spender: spender },
approval: { tokenAddress: token.address, spender },
})
})
.catch((error: Error) => {

View File

@@ -1,21 +1,14 @@
import { Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core'
import { encodeRouteToPath, Route, Trade } from '@uniswap/v3-sdk'
import { Route, SwapQuoter, Trade } from '@uniswap/v3-sdk'
import { SupportedChainId } from 'constants/chains'
import { BigNumber } from 'ethers'
import { useMemo } from 'react'
import { useSingleContractMultipleData } from '../state/multicall/hooks'
import { V3TradeState } from 'state/routing/types'
import { useSingleContractWithCallData } from '../state/multicall/hooks'
import { useAllV3Routes } from './useAllV3Routes'
import { useV3Quoter } from './useContract'
import { useActiveWeb3React } from './web3'
export enum V3TradeState {
LOADING,
INVALID,
NO_ROUTE_FOUND,
VALID,
SYNCING,
}
const QUOTE_GAS_OVERRIDES: { [chainId: number]: number } = {
[SupportedChainId.OPTIMISM]: 6_000_000,
[SupportedChainId.OPTIMISTIC_KOVAN]: 6_000_000,
@@ -28,27 +21,31 @@ const DEFAULT_GAS_QUOTE = 2_000_000
* @param amountIn the amount to swap in
* @param currencyOut the desired output currency
*/
export function useBestV3TradeExactIn(
export function useClientV3TradeExactIn(
amountIn?: CurrencyAmount<Currency>,
currencyOut?: Currency
): { state: V3TradeState; trade: Trade<Currency, Currency, TradeType.EXACT_INPUT> | null } {
const { chainId } = useActiveWeb3React()
const quoter = useV3Quoter()
const { routes, loading: routesLoading } = useAllV3Routes(amountIn?.currency, currencyOut)
const quoteExactInInputs = useMemo(() => {
return routes.map((route) => [
encodeRouteToPath(route, false),
amountIn ? `0x${amountIn.quotient.toString(16)}` : undefined,
])
}, [amountIn, routes])
const quotesResults = useSingleContractMultipleData(quoter, 'quoteExactInput', quoteExactInInputs, {
gasRequired: chainId ? QUOTE_GAS_OVERRIDES[chainId] ?? DEFAULT_GAS_QUOTE : undefined,
})
const quoter = useV3Quoter()
const { chainId } = useActiveWeb3React()
const quotesResults = useSingleContractWithCallData(
quoter,
amountIn
? routes.map((route) => SwapQuoter.quoteCallParameters(route, amountIn, TradeType.EXACT_INPUT).calldata)
: [],
{
gasRequired: chainId ? QUOTE_GAS_OVERRIDES[chainId] ?? DEFAULT_GAS_QUOTE : undefined,
}
)
return useMemo(() => {
if (!amountIn || !currencyOut) {
if (
!amountIn ||
!currencyOut ||
// skip when tokens are the same
amountIn.currency.equals(currencyOut)
) {
return {
state: V3TradeState.INVALID,
trade: null,
@@ -93,10 +90,8 @@ export function useBestV3TradeExactIn(
}
}
const isSyncing = quotesResults.some(({ syncing }) => syncing)
return {
state: isSyncing ? V3TradeState.SYNCING : V3TradeState.VALID,
state: V3TradeState.VALID,
trade: Trade.createUncheckedTrade({
route: bestRoute,
tradeType: TradeType.EXACT_INPUT,
@@ -112,27 +107,32 @@ export function useBestV3TradeExactIn(
* @param currencyIn the desired input currency
* @param amountOut the amount to swap out
*/
export function useBestV3TradeExactOut(
export function useClientSideV3TradeExactOut(
currencyIn?: Currency,
amountOut?: CurrencyAmount<Currency>
): { state: V3TradeState; trade: Trade<Currency, Currency, TradeType.EXACT_OUTPUT> | null } {
const { chainId } = useActiveWeb3React()
const quoter = useV3Quoter()
const { routes, loading: routesLoading } = useAllV3Routes(currencyIn, amountOut?.currency)
const quoteExactOutInputs = useMemo(() => {
return routes.map((route) => [
encodeRouteToPath(route, true),
amountOut ? `0x${amountOut.quotient.toString(16)}` : undefined,
])
}, [amountOut, routes])
const quotesResults = useSingleContractMultipleData(quoter, 'quoteExactOutput', quoteExactOutInputs, {
gasRequired: chainId ? QUOTE_GAS_OVERRIDES[chainId] ?? DEFAULT_GAS_QUOTE : undefined,
})
const quoter = useV3Quoter()
const { chainId } = useActiveWeb3React()
const quotesResults = useSingleContractWithCallData(
quoter,
amountOut
? routes.map((route) => SwapQuoter.quoteCallParameters(route, amountOut, TradeType.EXACT_OUTPUT).calldata)
: [],
{
gasRequired: chainId ? QUOTE_GAS_OVERRIDES[chainId] ?? DEFAULT_GAS_QUOTE : undefined,
}
)
return useMemo(() => {
if (!amountOut || !currencyIn || quotesResults.some(({ valid }) => !valid)) {
if (
!amountOut ||
!currencyIn ||
quotesResults.some(({ valid }) => !valid) ||
// skip when tokens are the same
amountOut.currency.equals(currencyIn)
) {
return {
state: V3TradeState.INVALID,
trade: null,
@@ -177,10 +177,8 @@ export function useBestV3TradeExactOut(
}
}
const isSyncing = quotesResults.some(({ syncing }) => syncing)
return {
state: isSyncing ? V3TradeState.SYNCING : V3TradeState.VALID,
state: V3TradeState.VALID,
trade: Trade.createUncheckedTrade({
route: bestRoute,
tradeType: TradeType.EXACT_OUTPUT,

View File

@@ -0,0 +1,207 @@
import { renderHook } from '@testing-library/react-hooks'
import { CurrencyAmount } from '@uniswap/sdk-core'
import { DAI, USDC } from 'constants/tokens'
import { V3TradeState } from 'state/routing/types'
import { useRoutingAPIEnabled } from 'state/user/hooks'
import { useRoutingAPITradeExactIn, useRoutingAPITradeExactOut } from '../state/routing/useRoutingAPITrade'
import { useV3TradeExactIn, useV3TradeExactOut } from './useCombinedV3Trade'
import useDebounce from './useDebounce'
import useIsWindowVisible from './useIsWindowVisible'
import { useClientV3TradeExactIn, useClientSideV3TradeExactOut } from './useClientSideV3Trade'
const USDCAmount = CurrencyAmount.fromRawAmount(USDC, '10000')
const DAIAmount = CurrencyAmount.fromRawAmount(DAI, '10000')
jest.mock('./useDebounce')
const mockUseDebounce = useDebounce as jest.MockedFunction<typeof useDebounce>
// mock modules containing hooks
jest.mock('state/routing/useRoutingAPITrade')
jest.mock('./useClientSideV3Trade')
jest.mock('state/user/hooks')
jest.mock('./useIsWindowVisible')
const mockUseRoutingAPIEnabled = useRoutingAPIEnabled as jest.MockedFunction<typeof useRoutingAPIEnabled>
const mockUseIsWindowVisible = useIsWindowVisible as jest.MockedFunction<typeof useIsWindowVisible>
// useRouterTrade mocks
const mockUseRoutingAPITradeExactIn = useRoutingAPITradeExactIn as jest.MockedFunction<typeof useRoutingAPITradeExactIn>
const mockUseRoutingAPITradeExactOut = useRoutingAPITradeExactOut as jest.MockedFunction<
typeof useRoutingAPITradeExactOut
>
// useClientSideV3Trade mocks
const mockUseClientSideV3TradeExactIn = useClientV3TradeExactIn as jest.MockedFunction<typeof useClientV3TradeExactIn>
const mockUseClientSideV3TradeExactOut = useClientSideV3TradeExactOut as jest.MockedFunction<
typeof useClientSideV3TradeExactOut
>
// helpers to set mock expectations
const expectRouterMock = (state: V3TradeState) => {
mockUseRoutingAPITradeExactIn.mockReturnValue({ state, trade: null })
mockUseRoutingAPITradeExactOut.mockReturnValue({ state, trade: null })
}
const expectClientSideMock = (state: V3TradeState) => {
mockUseClientSideV3TradeExactIn.mockReturnValue({ state, trade: null })
mockUseClientSideV3TradeExactOut.mockReturnValue({ state, trade: null })
}
beforeEach(() => {
// ignore debounced value
mockUseDebounce.mockImplementation((value) => value)
mockUseIsWindowVisible.mockReturnValue(true)
mockUseRoutingAPIEnabled.mockReturnValue(true)
})
describe('#useV3TradeExactIn', () => {
it('does not compute routing api trade when routing API is disabled', () => {
mockUseRoutingAPIEnabled.mockReturnValue(false)
expectRouterMock(V3TradeState.INVALID)
expectClientSideMock(V3TradeState.VALID)
const { result } = renderHook(() => useV3TradeExactIn(USDCAmount, DAI))
expect(mockUseRoutingAPITradeExactIn).toHaveBeenCalledWith(undefined, DAI)
expect(mockUseClientSideV3TradeExactIn).toHaveBeenCalledWith(USDCAmount, DAI)
expect(result.current).toEqual({ state: V3TradeState.VALID, trade: null })
})
it('does not compute routing api trade when window is not focused', () => {
mockUseIsWindowVisible.mockReturnValue(false)
expectRouterMock(V3TradeState.NO_ROUTE_FOUND)
expectClientSideMock(V3TradeState.VALID)
const { result } = renderHook(() => useV3TradeExactIn(USDCAmount, DAI))
expect(mockUseRoutingAPITradeExactIn).toHaveBeenCalledWith(undefined, DAI)
expect(mockUseClientSideV3TradeExactIn).toHaveBeenCalledWith(USDCAmount, DAI)
expect(result.current).toEqual({ state: V3TradeState.VALID, trade: null })
})
describe('when routing api is in non-error state', () => {
it('does not compute client side v3 trade if routing api is LOADING', () => {
expectRouterMock(V3TradeState.LOADING)
const { result } = renderHook(() => useV3TradeExactIn(USDCAmount, DAI))
expect(mockUseClientSideV3TradeExactIn).toHaveBeenCalledWith(undefined, undefined)
expect(result.current).toEqual({ state: V3TradeState.LOADING, trade: null })
})
it('does not compute client side v3 trade if routing api is VALID', () => {
expectRouterMock(V3TradeState.VALID)
const { result } = renderHook(() => useV3TradeExactIn(USDCAmount, DAI))
expect(mockUseClientSideV3TradeExactIn).toHaveBeenCalledWith(undefined, undefined)
expect(result.current).toEqual({ state: V3TradeState.VALID, trade: null })
})
it('does not compute client side v3 trade if routing api is SYNCING', () => {
expectRouterMock(V3TradeState.SYNCING)
const { result } = renderHook(() => useV3TradeExactIn(USDCAmount, DAI))
expect(mockUseClientSideV3TradeExactIn).toHaveBeenCalledWith(undefined, undefined)
expect(result.current).toEqual({ state: V3TradeState.SYNCING, trade: null })
})
})
describe('when routing api is in error state', () => {
it('does not compute client side v3 trade if routing api is INVALID', () => {
expectRouterMock(V3TradeState.INVALID)
expectClientSideMock(V3TradeState.VALID)
renderHook(() => useV3TradeExactIn(USDCAmount, DAI))
expect(mockUseClientSideV3TradeExactIn).toHaveBeenCalledWith(undefined, undefined)
})
it('computes client side v3 trade if routing api is NO_ROUTE_FOUND', () => {
expectRouterMock(V3TradeState.NO_ROUTE_FOUND)
expectClientSideMock(V3TradeState.VALID)
const { result } = renderHook(() => useV3TradeExactIn(USDCAmount, DAI))
expect(mockUseClientSideV3TradeExactIn).toHaveBeenCalledWith(USDCAmount, DAI)
expect(result.current).toEqual({ state: V3TradeState.VALID, trade: null })
})
})
})
describe('#useV3TradeExactOut', () => {
it('does not compute routing api trade when routing API is disabled', () => {
mockUseRoutingAPIEnabled.mockReturnValue(false)
expectRouterMock(V3TradeState.INVALID)
expectClientSideMock(V3TradeState.VALID)
const { result } = renderHook(() => useV3TradeExactOut(USDC, DAIAmount))
expect(mockUseRoutingAPITradeExactOut).toHaveBeenCalledWith(undefined, DAIAmount)
expect(mockUseClientSideV3TradeExactOut).toHaveBeenCalledWith(USDC, DAIAmount)
expect(result.current).toEqual({ state: V3TradeState.VALID, trade: null })
})
it('does not compute routing api trade when window is not focused', () => {
mockUseIsWindowVisible.mockReturnValue(false)
expectRouterMock(V3TradeState.NO_ROUTE_FOUND)
expectClientSideMock(V3TradeState.VALID)
const { result } = renderHook(() => useV3TradeExactOut(USDC, DAIAmount))
expect(mockUseRoutingAPITradeExactOut).toHaveBeenCalledWith(undefined, DAIAmount)
expect(mockUseClientSideV3TradeExactOut).toHaveBeenCalledWith(USDC, DAIAmount)
expect(result.current).toEqual({ state: V3TradeState.VALID, trade: null })
})
describe('when routing api is in non-error state', () => {
it('does not compute client side v3 trade if routing api is LOADING', () => {
expectRouterMock(V3TradeState.LOADING)
const { result } = renderHook(() => useV3TradeExactOut(USDC, DAIAmount))
expect(mockUseClientSideV3TradeExactOut).toHaveBeenCalledWith(undefined, undefined)
expect(result.current).toEqual({ state: V3TradeState.LOADING, trade: null })
})
it('does not compute client side v3 trade if routing api is VALID', () => {
expectRouterMock(V3TradeState.VALID)
const { result } = renderHook(() => useV3TradeExactOut(USDC, DAIAmount))
expect(mockUseClientSideV3TradeExactOut).toHaveBeenCalledWith(undefined, undefined)
expect(result.current).toEqual({ state: V3TradeState.VALID, trade: null })
})
it('does not compute client side v3 trade if routing api is SYNCING', () => {
expectRouterMock(V3TradeState.SYNCING)
const { result } = renderHook(() => useV3TradeExactOut(USDC, DAIAmount))
expect(mockUseClientSideV3TradeExactOut).toHaveBeenCalledWith(undefined, undefined)
expect(result.current).toEqual({ state: V3TradeState.SYNCING, trade: null })
})
})
describe('when routing api is in error state', () => {
it('computes client side v3 trade if routing api is INVALID', () => {
expectRouterMock(V3TradeState.INVALID)
expectClientSideMock(V3TradeState.VALID)
renderHook(() => useV3TradeExactOut(USDC, DAIAmount))
expect(mockUseClientSideV3TradeExactOut).toHaveBeenCalledWith(undefined, undefined)
})
it('computes client side v3 trade if routing api is NO_ROUTE_FOUND', () => {
expectRouterMock(V3TradeState.NO_ROUTE_FOUND)
expectClientSideMock(V3TradeState.VALID)
const { result } = renderHook(() => useV3TradeExactOut(USDC, DAIAmount))
expect(mockUseClientSideV3TradeExactOut).toHaveBeenCalledWith(USDC, DAIAmount)
expect(result.current).toEqual({ state: V3TradeState.VALID, trade: null })
})
})
})

View File

@@ -0,0 +1,104 @@
import { Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core'
import { Trade } from '@uniswap/v3-sdk'
import { V3TradeState } from 'state/routing/types'
import { useRoutingAPITradeExactIn, useRoutingAPITradeExactOut } from 'state/routing/useRoutingAPITrade'
import { useRoutingAPIEnabled } from 'state/user/hooks'
import useDebounce from './useDebounce'
import useIsWindowVisible from './useIsWindowVisible'
import { useClientV3TradeExactIn, useClientSideV3TradeExactOut } from './useClientSideV3Trade'
/**
* Returns the best v3 trade for a desired exact input swap.
* Uses optimized routes from the Routing API and falls back to the v3 router.
* @param amountIn The amount to swap in
* @param currentOut the desired output currency
*/
export function useV3TradeExactIn(
amountIn?: CurrencyAmount<Currency>,
currencyOut?: Currency
): {
state: V3TradeState
trade: Trade<Currency, Currency, TradeType.EXACT_INPUT> | null
} {
const routingAPIEnabled = useRoutingAPIEnabled()
const isWindowVisible = useIsWindowVisible()
const debouncedAmountIn = useDebounce(amountIn, 100)
const routingAPITradeExactIn = useRoutingAPITradeExactIn(
routingAPIEnabled && isWindowVisible ? debouncedAmountIn : undefined,
currencyOut
)
const isLoading = amountIn !== undefined && debouncedAmountIn === undefined
// consider trade debouncing when inputs/outputs do not match
const debouncing =
routingAPITradeExactIn.trade &&
amountIn &&
(!routingAPITradeExactIn.trade.inputAmount.equalTo(amountIn) ||
!amountIn.currency.equals(routingAPITradeExactIn.trade.inputAmount.currency) ||
!currencyOut?.equals(routingAPITradeExactIn.trade.outputAmount.currency))
const useFallback =
!routingAPIEnabled || (!debouncing && routingAPITradeExactIn.state === V3TradeState.NO_ROUTE_FOUND)
// only use client side router if routing api trade failed
const bestV3TradeExactIn = useClientV3TradeExactIn(
useFallback ? debouncedAmountIn : undefined,
useFallback ? currencyOut : undefined
)
return {
...(useFallback ? bestV3TradeExactIn : routingAPITradeExactIn),
...(debouncing ? { state: V3TradeState.SYNCING } : {}),
...(isLoading ? { state: V3TradeState.LOADING } : {}),
}
}
/**
* Returns the best v3 trade for a desired exact output swap.
* Uses optimized routes from the Routing API and falls back to the v3 router.
* @param currentIn the desired input currency
* @param amountOut The amount to swap out
*/
export function useV3TradeExactOut(
currencyIn?: Currency,
amountOut?: CurrencyAmount<Currency>
): {
state: V3TradeState
trade: Trade<Currency, Currency, TradeType.EXACT_OUTPUT> | null
} {
const routingAPIEnabled = useRoutingAPIEnabled()
const isWindowVisible = useIsWindowVisible()
const debouncedAmountOut = useDebounce(amountOut, 100)
const routingAPITradeExactOut = useRoutingAPITradeExactOut(
routingAPIEnabled && isWindowVisible ? currencyIn : undefined,
debouncedAmountOut
)
const isLoading = amountOut !== undefined && debouncedAmountOut === undefined
const debouncing =
routingAPITradeExactOut.trade &&
amountOut &&
(!routingAPITradeExactOut.trade.outputAmount.equalTo(amountOut) ||
!currencyIn?.equals(routingAPITradeExactOut.trade.inputAmount.currency) ||
!amountOut.currency.equals(routingAPITradeExactOut.trade.outputAmount.currency))
const useFallback =
!routingAPIEnabled || (!debouncing && routingAPITradeExactOut.state === V3TradeState.NO_ROUTE_FOUND)
const bestV3TradeExactOut = useClientSideV3TradeExactOut(
useFallback ? currencyIn : undefined,
useFallback ? debouncedAmountOut : undefined
)
return {
...(useFallback ? bestV3TradeExactOut : routingAPITradeExactOut),
...(debouncing ? { state: V3TradeState.SYNCING } : {}),
...(isLoading ? { state: V3TradeState.LOADING } : {}),
}
}

View File

@@ -10,6 +10,7 @@ import { abi as IUniswapV2Router02ABI } from '@uniswap/v2-periphery/build/IUnisw
import { abi as MulticallABI } from '@uniswap/v3-periphery/artifacts/contracts/lens/UniswapInterfaceMulticall.sol/UniswapInterfaceMulticall.json'
import ARGENT_WALLET_DETECTOR_ABI from 'abis/argent-wallet-detector.json'
import GOVERNOR_BRAVO_ABI from 'abis/governor-bravo.json'
import ENS_PUBLIC_RESOLVER_ABI from 'abis/ens-public-resolver.json'
import ENS_ABI from 'abis/ens-registrar.json'
import ERC20_ABI from 'abis/erc20.json'
@@ -28,6 +29,7 @@ import {
ENS_REGISTRAR_ADDRESSES,
GOVERNANCE_ALPHA_V0_ADDRESSES,
GOVERNANCE_ALPHA_V1_ADDRESSES,
GOVERNANCE_BRAVO_ADDRESSES,
} from 'constants/addresses'
import { abi as NFTPositionManagerABI } from '@uniswap/v3-periphery/artifacts/contracts/NonfungiblePositionManager.sol/NonfungiblePositionManager.json'
import { useMemo } from 'react'
@@ -111,14 +113,18 @@ export function useMerkleDistributorContract() {
}
export function useGovernanceV0Contract(): Contract | null {
return useContract(GOVERNANCE_ALPHA_V0_ADDRESSES, GOVERNANCE_ABI, true)
return useContract(GOVERNANCE_ALPHA_V0_ADDRESSES, GOVERNANCE_ABI, false)
}
export function useGovernanceV1Contract(): Contract | null {
return useContract(GOVERNANCE_ALPHA_V1_ADDRESSES, GOVERNANCE_ABI, true)
return useContract(GOVERNANCE_ALPHA_V1_ADDRESSES, GOVERNANCE_ABI, false)
}
export const useLatestGovernanceContract = useGovernanceV1Contract
export function useGovernanceBravoContract(): Contract | null {
return useContract(GOVERNANCE_BRAVO_ADDRESSES, GOVERNOR_BRAVO_ABI, true)
}
export const useLatestGovernanceContract = useGovernanceBravoContract
export function useUniContract() {
const { chainId } = useActiveWeb3React()

View File

@@ -11,7 +11,7 @@ import ms from 'ms.macro'
import { PoolState, usePool } from './usePools'
// maximum number of blocks past which we consider the data stale
const MAX_DATA_BLOCK_AGE = 10
const MAX_DATA_BLOCK_AGE = 20
interface FeeTierDistribution {
isLoading: boolean
@@ -85,7 +85,7 @@ function usePoolTVL(token0: Token | undefined, token1: Token | undefined) {
const { isLoading, isFetching, isUninitialized, isError, data } = useFeeTierDistributionQuery(
token0 && token1 ? { token0: token0.address.toLowerCase(), token1: token1.address.toLowerCase() } : skipToken,
{
pollingInterval: ms`2m`,
pollingInterval: ms`30s`,
}
)

View File

@@ -7,7 +7,7 @@ import { useUnsupportedTokens } from './Tokens'
* @param currencyIn the input currency to check
* @param currencyOut the output currency to check
*/
export function useIsSwapUnsupported(currencyIn?: Currency, currencyOut?: Currency): boolean {
export function useIsSwapUnsupported(currencyIn?: Currency | null, currencyOut?: Currency | null): boolean {
const unsupportedTokens: { [address: string]: Token } = useUnsupportedTokens()
return useMemo(() => {

View File

@@ -2,10 +2,16 @@ import { parse, ParsedQs } from 'qs'
import { useMemo } from 'react'
import { useLocation } from 'react-router-dom'
export function parsedQueryString(search?: string): ParsedQs {
if (!search) {
// react-router-dom places search string in the hash
const hash = window.location.hash
search = hash.substr(hash.indexOf('?'))
}
return search && search.length > 1 ? parse(search, { parseArrays: false, ignoreQueryPrefix: true }) : {}
}
export default function useParsedQueryString(): ParsedQs {
const { search } = useLocation()
return useMemo(
() => (search && search.length > 1 ? parse(search, { parseArrays: false, ignoreQueryPrefix: true }) : {}),
[search]
)
return useMemo(() => parsedQueryString(search), [search])
}

View File

@@ -31,11 +31,10 @@ export function useAllV3Ticks(
const poolAddress =
currencyA && currencyB && feeAmount ? Pool.getAddress(currencyA?.wrapped, currencyB?.wrapped, feeAmount) : undefined
//TODO(judo): determine if pagination is necessary for this query
const { isLoading, isError, error, isUninitialized, data } = useAllV3TicksQuery(
poolAddress ? { poolAddress: poolAddress?.toLowerCase(), skip: 0 } : skipToken,
{
pollingInterval: ms`2m`,
pollingInterval: ms`30s`,
}
)
@@ -126,7 +125,7 @@ export function usePoolActiveLiquidity(
return {
isLoading,
isUninitialized,
isError: isError,
isError,
error,
activeTick,
data: ticksProcessed,

View File

@@ -1,30 +0,0 @@
import { skipToken } from '@reduxjs/toolkit/query/react'
import { Currency, CurrencyAmount } from '@uniswap/sdk-core'
import ms from 'ms.macro'
import { useBlockNumber } from 'state/application/hooks'
import { useGetQuoteQuery } from 'state/routing/slice'
import { useActiveWeb3React } from './web3'
export function useRouterTradeExactIn(amountIn?: CurrencyAmount<Currency>, currencyOut?: Currency) {
const { account } = useActiveWeb3React()
const blockNumber = useBlockNumber()
const { isLoading, isError, data } = useGetQuoteQuery(
amountIn && currencyOut && account && blockNumber
? {
tokenInAddress: amountIn.currency.wrapped.address,
tokenInChainId: amountIn.currency.chainId,
tokenOutAddress: currencyOut.wrapped.address,
tokenOutChainId: currencyOut.chainId,
amount: amountIn.quotient.toString(),
type: 'exactIn',
}
: skipToken,
{ pollingInterval: ms`10s` }
)
// todo(judo): validate block number for freshness
return !isLoading && !isError ? data?.routeString : undefined
}

View File

@@ -101,7 +101,7 @@ function useSwapCallArguments(
approveAmountCalldata(trade.maximumAmountIn(allowedSlippage), routerContract.address),
{
to: routerContract.address,
value: value,
value,
data: routerContract.interface.encodeFunctionData(methodName, args),
},
],
@@ -155,7 +155,7 @@ function useSwapCallArguments(
approveAmountCalldata(trade.maximumAmountIn(allowedSlippage), swapRouterAddress),
{
to: swapRouterAddress,
value: value,
value,
data: calldata,
},
],

View File

@@ -5,12 +5,10 @@ export enum Version {
v3 = 'V3',
}
export const DEFAULT_VERSION: Version = Version.v3
export default function useToggledVersion(): Version {
export default function useToggledVersion(): Version | undefined {
const { use } = useParsedQueryString()
if (typeof use !== 'string') {
return DEFAULT_VERSION
return undefined
}
switch (use.toLowerCase()) {
case 'v2':
@@ -18,6 +16,6 @@ export default function useToggledVersion(): Version {
case 'v3':
return Version.v3
default:
return Version.v3
return undefined
}
}

View File

@@ -0,0 +1,23 @@
import { Currency } from '@uniswap/sdk-core'
import { useActiveWeb3React } from 'hooks/web3'
import { useMemo } from 'react'
import { useCombinedActiveList } from 'state/lists/hooks'
/**
* Returns a WrappedTokenInfo from the active token lists when possible,
* or the passed token otherwise. */
export function useTokenInfoFromActiveList(currency: Currency) {
const { chainId } = useActiveWeb3React()
const activeList = useCombinedActiveList()
return useMemo(() => {
if (!chainId) return
if (currency.isNative) return currency
try {
return activeList[chainId][currency.wrapped.address].token
} catch (e) {
return currency
}
}, [activeList, chainId, currency])
}

View File

@@ -3,7 +3,7 @@ import { useMemo } from 'react'
import { SupportedChainId } from '../constants/chains'
import { DAI_OPTIMISM, USDC, USDC_ARBITRUM } from '../constants/tokens'
import { useV2TradeExactOut } from './useV2Trade'
import { useBestV3TradeExactOut } from './useBestV3Trade'
import { useClientSideV3TradeExactOut } from './useClientSideV3Trade'
import { useActiveWeb3React } from './web3'
// Stablecoin amounts used when calculating spot price for a given currency.
@@ -27,7 +27,7 @@ export default function useUSDCPrice(currency?: Currency): Price<Currency, Token
const v2USDCTrade = useV2TradeExactOut(currency, amountOut, {
maxHops: 2,
})
const v3USDCTrade = useBestV3TradeExactOut(currency, amountOut)
const v3USDCTrade = useClientSideV3TradeExactOut(currency, amountOut)
return useMemo(() => {
if (!currency || !stablecoin) {

View File

@@ -21,15 +21,15 @@ const NOT_APPLICABLE = { wrapType: WrapType.NOT_APPLICABLE }
* @param typedValue the user input value
*/
export default function useWrapCallback(
inputCurrency: Currency | undefined,
outputCurrency: Currency | undefined,
inputCurrency: Currency | undefined | null,
outputCurrency: Currency | undefined | null,
typedValue: string | undefined
): { wrapType: WrapType; execute?: undefined | (() => Promise<void>); inputError?: string } {
const { chainId, account } = useActiveWeb3React()
const wethContract = useWETHContract()
const balance = useCurrencyBalance(account ?? undefined, inputCurrency)
const balance = useCurrencyBalance(account ?? undefined, inputCurrency ?? undefined)
// we can always parse the amount typed as the input currency, since wrapping is 1:1
const inputAmount = useMemo(() => tryParseAmount(typedValue, inputCurrency), [inputCurrency, typedValue])
const inputAmount = useMemo(() => tryParseAmount(typedValue, inputCurrency ?? undefined), [inputCurrency, typedValue])
const addTransaction = useTransactionAdder()
return useMemo(() => {

View File

@@ -1,26 +1,43 @@
import { Web3Provider } from '@ethersproject/providers'
import { useSafeAppConnection } from '@gnosis.pm/safe-apps-web3-react'
import { useWeb3React as useWeb3ReactCore } from '@web3-react/core'
import { useWeb3React } from '@web3-react/core'
import { Web3ReactContextInterface } from '@web3-react/core/dist/types'
import { useEffect, useState } from 'react'
import { isMobile } from 'react-device-detect'
import { gnosisSafe, injected } from '../connectors'
import { NetworkContextName } from '../constants/misc'
import { IS_IN_IFRAME, NetworkContextName } from '../constants/misc'
export function useActiveWeb3React(): Web3ReactContextInterface<Web3Provider> {
const context = useWeb3ReactCore<Web3Provider>()
const contextNetwork = useWeb3ReactCore<Web3Provider>(NetworkContextName)
const context = useWeb3React<Web3Provider>()
const contextNetwork = useWeb3React<Web3Provider>(NetworkContextName)
return context.active ? context : contextNetwork
}
export function useEagerConnect() {
const { activate, active } = useWeb3ReactCore() // specifically using useWeb3ReactCore because of what this hook does
const { activate, active } = useWeb3React()
const [tried, setTried] = useState(false)
const triedToConnectToSafe = useSafeAppConnection(gnosisSafe)
// gnosisSafe.isSafeApp() races a timeout against postMessage, so it delays pageload if we are not in a safe app;
// if we are not embedded in an iframe, it is not worth checking
const [triedSafe, setTriedSafe] = useState(!IS_IN_IFRAME)
// first, try connecting to a gnosis safe
useEffect(() => {
if (triedToConnectToSafe && !active) {
if (!triedSafe) {
gnosisSafe.isSafeApp().then((loadedInSafe) => {
if (loadedInSafe) {
activate(gnosisSafe, undefined, true).catch(() => {
setTriedSafe(true)
})
} else {
setTriedSafe(true)
}
})
}
}, [activate, setTriedSafe, triedSafe])
// then, if that fails, try connecting to an injected connector
useEffect(() => {
if (!active && triedSafe) {
injected.isAuthorized().then((isAuthorized) => {
if (isAuthorized) {
activate(injected, undefined, true).catch(() => {
@@ -37,14 +54,14 @@ export function useEagerConnect() {
}
})
}
}, [activate, active, triedToConnectToSafe]) // intentionally only running on mount (make sure it's only mounted once :))
}, [activate, active, triedSafe])
// if the connection worked, wait until we get confirmation of that to flip the flag
// wait until we get confirmation of a connection to flip the flag
useEffect(() => {
if (active && triedToConnectToSafe) {
if (active) {
setTried(true)
}
}, [active, triedToConnectToSafe])
}, [active])
return tried
}
@@ -54,7 +71,7 @@ export function useEagerConnect() {
* and out after checking what network theyre on
*/
export function useInactiveListener(suppress = false) {
const { active, error, activate } = useWeb3ReactCore() // specifically using useWeb3React because of what this hook does
const { active, error, activate } = useWeb3React()
useEffect(() => {
const { ethereum } = window

View File

@@ -2,7 +2,7 @@ import { useEffect, useState } from 'react'
import { i18n } from '@lingui/core'
import { I18nProvider } from '@lingui/react'
import { ReactNode } from 'react'
import { useActiveLocale, useSetLocaleFromUrl } from 'hooks/useActiveLocale'
import { initialLocale, useActiveLocale } from 'hooks/useActiveLocale'
import { SupportedLocale } from 'constants/locales'
import {
af,
@@ -36,6 +36,7 @@ import {
zh,
PluralCategory,
} from 'make-plural/plurals'
import { useUserLocaleManager } from 'state/user/hooks'
type LocalePlural = {
[key in SupportedLocale]: (n: number | string, ord?: boolean) => PluralCategory
@@ -82,20 +83,24 @@ async function dynamicActivate(locale: SupportedLocale) {
i18n.activate(locale)
}
dynamicActivate(initialLocale)
export function LanguageProvider({ children }: { children: ReactNode }) {
useSetLocaleFromUrl()
const locale = useActiveLocale()
const [, setUserLocale] = useUserLocaleManager()
const [loaded, setLoaded] = useState(false)
useEffect(() => {
dynamicActivate(locale)
.then(() => {
document.documentElement.setAttribute('lang', locale)
setUserLocale(locale) // stores the selected locale to persist across sessions
setLoaded(true)
})
.catch((error) => {
console.error('Failed to activate locale', locale, error)
})
}, [locale])
}, [locale, setUserLocale])
// prevent the app from rendering with placeholder text before the locale is loaded
if (!loaded) return null

View File

@@ -1,5 +1,6 @@
import 'inter-ui'
import '@reach/dialog/styles.css'
import 'polyfills'
import { createWeb3ReactRoot, Web3ReactProvider } from '@web3-react/core'
import { StrictMode } from 'react'
import { isMobile } from 'react-device-detect'
@@ -86,4 +87,6 @@ ReactDOM.render(
document.getElementById('root')
)
serviceWorkerRegistration.unregister()
if (process.env.REACT_APP_SERVICE_WORKER !== 'false') {
serviceWorkerRegistration.register()
}

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: af_ZA\n"
"Language-Team: Afrikaans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: af\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: af\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Afrikaans\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Stemme"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0> Rekeninganalise en opgelope fooie</0> <1> ↗</1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> Terug na</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Huidige prys:</0> <1> <2 /></1> <3>{0} per {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Laat die Uniswap-protokol toe om u {0} te gebruik"
msgid "Allowed"
msgstr "Toegelaat"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Toegelaatde gly"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Bedrag"
@@ -280,6 +280,10 @@ msgstr "Minstens {0} {1} en {2} {3} sal aan u beursie terugbetaal word weens die
msgid "Auto"
msgstr "Outomaties"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Outo -router"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Beskikbaar vir deposito: {0}"
@@ -343,6 +347,10 @@ msgstr "Verander u netwerk om terug te gaan na L1"
msgid "Charts"
msgstr "Grafieke"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Gaan die netwerkstatus na"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Kyk na ons v3 LP-deurleidings- en migrasiegidse."
@@ -484,6 +492,8 @@ msgstr "Bevestig hierdie transaksie in u beursie"
msgid "Confirm transaction in wallet"
msgstr "Bevestig transaksie in beursie"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Koppel aan 'n beursie om u V2-likiditeit te sien."
msgid "Connect to a wallet to view your liquidity."
msgstr "Koppel aan 'n beursie om u likiditeit te sien."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Verbind beursie"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Gekoppel met {name}"
@@ -660,10 +665,6 @@ msgstr "Gedetailleerd"
msgid "Details"
msgstr "Besonderhede"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Skakel Multihops uit"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Ontkoppel"
@@ -757,6 +758,10 @@ msgstr "Uitgevoer"
msgid "Expanded results from inactive Token Lists"
msgstr "Uitgebreide resultate van onaktiewe tekenlyste"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Deskundige modus"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Die kundige modus skakel die bevestiging van die transaksie uit en laat transaksies met 'n hoë glip toe wat dikwels slegte tariewe en verlore fondse tot gevolg het."
@@ -814,11 +819,8 @@ msgstr "Steek weg"
msgid "High Price Impact"
msgstr "Hoë prysimpak"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Ek verstaan"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "ek verstaan"
@@ -877,10 +879,6 @@ msgstr "Installeer Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Onvoldoende likiditeit vir hierdie handel."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Onvoldoende likiditeit vir hierdie handel. Probeer multi-hop-transaksies aan te skakel."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Maksimum:"
msgid "Maximum sent"
msgstr "Maksimum gestuur"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Spyskaart"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimum ontvang"
msgid "More"
msgstr "Meer"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Netwerkwaarskuwing"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Nuwe posisie"
@@ -1376,20 +1382,12 @@ msgstr "Verwyder {0}/{1} V3 likiditeit"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Verwyder {0} {1} en {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Beperk ruilings slegs vir direkte pare."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Keer terug"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Roete"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Soek naam of plak adres"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Eenvoudig"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Glipverdraagsaamheid"
@@ -1595,6 +1592,10 @@ msgstr "Hierdie poel moet geïnisialiseer word voordat u likiditeit kan byvoeg.
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Hierdie poel moet op {0} geïnisialiseer word voordat u likiditeit kan byvoeg. Kies 'n aanvangsprys vir die swembad om te initialiseer. Voer dan u likiditeitspryse en depositobedrag in."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Hierdie roete optimaliseer u prys deur middel van gesplete roetes, veelvuldige hop en gaskoste."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Hierdie teken verskyn nie op die aktiewe tekenlys(te) nie. Maak seker dat dit die teken is wat u wil verhandel."
@@ -1626,10 +1627,6 @@ msgstr "Aan"
msgid "To (at least)"
msgstr "Aan (ten minste)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Skakel deskundige modus af"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Tekens"
@@ -1654,6 +1651,15 @@ msgstr "Totale deposito"
msgid "Total deposits"
msgstr "Totale deposito's"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Handelsroete"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Transaksiebesonderhede"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Transaksie-instellings"
@@ -1804,10 +1810,18 @@ msgstr "Delegasie op te dateer"
msgid "Update list"
msgstr "Lys van opdaterings"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Gebruik die Uniswap Labs API om beter pryse te kry deur 'n meer doeltreffende roete."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Gebruiker"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 is nie beskikbaar op Laag 2. Skakel oor na Laag 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 is nie beskikbaar op Laag 2. Skakel oor na Laag 1 Ethereum."
msgid "V2 liquidity"
msgstr "V2 likiditeit"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Stem teen voorstel {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Stem vir voorstel {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Stem om te onthou van voorstel {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Die stemming het geeïnding {0}"
@@ -1980,6 +1999,10 @@ msgstr "U het nie genoeg stemme om 'n voorstel in te dien nie"
msgid "You dont have liquidity in this pool yet."
msgstr "U het nog nie likiditeit in hierdie poel nie."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "U het moontlik u netwerkverbinding verloor."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "vir {0}"
msgid "has socks emoji"
msgstr "het sokkies emoji"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "hier."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // of ipfs: // of ENS naam"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} tokens"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} dalk nou af, of u het moontlik u netwerkverbinding verloor."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: ar_SA\n"
"Language-Team: Arabic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: ar\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: ar\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Arabic\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> الأصوات"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>تحليلات الحساب والرسوم المتراكمة</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> رجوع إلى</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> السعر الحالي:</0> <1> <2 /></1> <3>{0} لكل {1}</3>"
@@ -220,6 +216,10 @@ msgstr "السماح لبروتوكول Uniswap باستخدام {0} الخاص
msgid "Allowed"
msgstr "مسموح"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "الانزلاق السعري المسموح به"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "المبلغ"
@@ -280,6 +280,10 @@ msgstr "سيتم استرداد {0} {1} و {2} {3} على الأقل إلى مح
msgid "Auto"
msgstr "تلقائي"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "جهاز التوجيه التلقائي"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "متاح للإيداع: {0}"
@@ -343,6 +347,10 @@ msgstr "قم بتغيير شبكتك للعودة إلى L1"
msgid "Charts"
msgstr "الرسوم البيانية"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "تحقق من حالة الشبكة"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "تحقق من أدلة التجول والترحيل الخاصة بـ v3 LP."
@@ -484,6 +492,8 @@ msgstr "تأكيد هذه المعاملة في محفظتك"
msgid "Confirm transaction in wallet"
msgstr "تأكيد المعاملة في المحفظة"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "وصّل بمحفظة لعرض سيولة V2 الخاصة بك."
msgid "Connect to a wallet to view your liquidity."
msgstr "وصّل بمحفظة لعرض السيولة الخاصة بك."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "توصيل بمحفظة"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "متصل مع {name}"
@@ -660,10 +665,6 @@ msgstr "مفصل"
msgid "Details"
msgstr "التفاصيل"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "تعطيل Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "قطع الاتصال"
@@ -757,6 +758,10 @@ msgstr "أعدم"
msgid "Expanded results from inactive Token Lists"
msgstr "النتائج الموسعة من قوائم الرموز غير النشطة"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "وضع الخبراء"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "وضع الخبراء يلغي تأكيد سرعة المعاملات ويسمح بتداول صفحات الانزلاق المرتفع التي غالبًا ما تؤدي إلى معدلات رديئة وأموال مفقودة."
@@ -814,11 +819,8 @@ msgstr "يخفي"
msgid "High Price Impact"
msgstr "تأثير ارتفاع السعر"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "أنا أفهم"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "أنا أفهم"
@@ -877,10 +879,6 @@ msgstr "تثبيت Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "السيولة غير كافية لهذه التجارة."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "السيولة غير كافية لهذا التداول. حاول تفعيل التداول متعدد المراحل."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "الحد الأقصى:"
msgid "Maximum sent"
msgstr "الحد الأقصى المرسل"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "قائمة الطعام"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "تلقى الحد الأدنى"
msgid "More"
msgstr "المزيد"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "تحذير الشبكة"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "موضع جديد"
@@ -1376,20 +1382,12 @@ msgstr "إزالة سيولة {0}/{1} V3"
msgid "Removing {0} {1} and {2} {3}"
msgstr "إزالة {0} {1} و {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "يقيد المبادلات إلى أزواج فقط ."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "رجوع"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "طريق"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "البحث عن اسم أو لصق العنوان"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "بسيط"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "تحمل الانزلاق"
@@ -1595,6 +1592,10 @@ msgstr "يجب تهيئة هذا المستودع قبل أن تتمكن من إ
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "يجب تهيئة هذا المستودع على {0} قبل أن تتمكن من إضافة السيولة. للتهيئة ، حدد سعر البداية للمجمع. ثم أدخل نطاق سعر السيولة ومبلغ الإيداع."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "يعمل هذا المسار على تحسين سعرك من خلال التفكير في الطرق المنقسمة والقفزات المتعددة وتكاليف الغاز."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "لا يظهر هذا الرمز في قائمة (قوائم) الرموز النشطة. تأكد من أن هذا هو الرمز الذي تريد تداوله."
@@ -1626,10 +1627,6 @@ msgstr "إلى"
msgid "To (at least)"
msgstr "إلى (على الأقل)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "تبديل وضع الخبير"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "الرموز"
@@ -1654,6 +1651,15 @@ msgstr "الإجمالي المودَع"
msgid "Total deposits"
msgstr "مجموع الودائع"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "طريق التجارة"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "تفاصيل الصفقه"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "إعدادات المعاملة"
@@ -1804,10 +1810,18 @@ msgstr "تحديث التفويض"
msgid "Update list"
msgstr "قائمة التحديث"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "استخدم Uniswap Labs API للحصول على أسعار أفضل من خلال مسار أكثر كفاءة."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "المستخدم"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 غير متوفر في الطبقة 2. قم بالتبديل إلى الطبقة الأولى من Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 غير متوفر في الطبقة 2. قم بالتبديل إلى
msgid "V2 liquidity"
msgstr "سيولة V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "التصويت ضد الاقتراح {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "التصويت لصالح الاقتراح {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "التصويت على الامتناع عن التصويت {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "انتهى التصويت {0}"
@@ -1980,6 +1999,10 @@ msgstr "ليس لديك ما يكفي من الأصوات لتقديم اقتر
msgid "You dont have liquidity in this pool yet."
msgstr "ليس لديك سيولة في هذه المجموعة حتى الآن."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "ربما تكون قد فقدت اتصالك بالشبكة."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "لـ {0}"
msgid "has socks emoji"
msgstr "لديه رمز تعبيري جوارب"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "هنا."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // أو ipfs: // أو اسم ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} توكينز"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} قد يكون معطلاً الآن ، أو ربما فقدت اتصالك بالشبكة."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: ca_ES\n"
"Language-Team: Catalan\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: ca\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: ca\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Catalan\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Vots"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Anàlisi del compte i comissions acumulades</0> <1> ↗</1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Torna a</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Preu actual:</0> <1> <2 /></1> <3>{0} per {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Permetre que el protocol Uniswap utilitzi el vostre {0}"
msgid "Allowed"
msgstr "Es permet"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Lliscament permès"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Import"
@@ -280,6 +280,10 @@ msgstr "Com a mínim {0} {1} i {2} {3} seran reemborsats a la cartera a causa de
msgid "Auto"
msgstr "Automàtic"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Enrutador automàtic"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Disponible per ingressar: {0}"
@@ -343,6 +347,10 @@ msgstr "Canvieu la vostra xarxa per tornar a L1"
msgid "Charts"
msgstr "Gràfics"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Comproveu l'estat de la xarxa"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Consulteu les nostres guies de migració i tutorial v3 LP."
@@ -484,6 +492,8 @@ msgstr "Confirmeu aquesta transacció a la vostra cartera"
msgid "Confirm transaction in wallet"
msgstr "Confirmeu la transacció a la cartera"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Connecteu-vos a una cartera per veure la vostra liquiditat V2."
msgid "Connect to a wallet to view your liquidity."
msgstr "Connecteu-vos a una cartera per veure la vostra liquiditat."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Connecteu la cartera"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Connectat amb {name}"
@@ -660,10 +665,6 @@ msgstr "Detallada"
msgid "Details"
msgstr "Detalls"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Desactiva els Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Desconnecta"
@@ -757,6 +758,10 @@ msgstr "Executat"
msgid "Expanded results from inactive Token Lists"
msgstr "Resultats ampliats de llistes de fitxes inactives"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Mode expert"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "El mode expert desactiva la sol·licitud de confirmació de la transacció i permet operacions amb altes relliscades que sovint resulten en males taxes i en la pèrdua de fons."
@@ -814,11 +819,8 @@ msgstr "Amaga"
msgid "High Price Impact"
msgstr "Alt impacte en els preus"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Entenc"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Entenc"
@@ -877,10 +879,6 @@ msgstr "Instal·leu Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Liquiditat insuficient per a aquest comerç."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Liquiditat insuficient per a aquest comerç. Proveu dhabilitar operacions multitop."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Màx.:"
msgid "Maximum sent"
msgstr "Màxim enviat"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Menú"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Mínim rebut"
msgid "More"
msgstr "Més"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Advertiment de xarxa"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Nova posició"
@@ -1376,20 +1382,12 @@ msgstr "Elimina {0}/{1} liquiditat V3"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Eliminació de {0} {1} i {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Restringeix els intercanvis només a parells directes."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Torna"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Ruta"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Cerqueu el nom o enganxeu l'adreça"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Senzill"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Tolerància al lliscament"
@@ -1595,6 +1592,10 @@ msgstr "Aquest grup sha dinicialitzar abans dafegir liquiditat. Per ini
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Aquest grup sha dinicialitzar a {0} abans dafegir liquiditat. Per inicialitzar, seleccioneu un preu inicial per a la piscina. A continuació, introduïu l'interval de preus de liquiditat i l'import del dipòsit."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Aquesta ruta optimitza el vostre preu tenint en compte les rutes dividides, diversos salts i els costos de gasolina."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Aquest testimoni no apareix a la llista de fitxes actives. Assegureu-vos que aquest sigui el testimoni que voleu canviar."
@@ -1626,10 +1627,6 @@ msgstr "Per a"
msgid "To (at least)"
msgstr "A (com a mínim)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Commuta el mode expert"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Fitxes"
@@ -1654,6 +1651,15 @@ msgstr "Total dipositat"
msgid "Total deposits"
msgstr "Dipòsits totals"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Ruta del comerç"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Detalls de la transacció"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Configuració de transaccions"
@@ -1804,10 +1810,18 @@ msgstr "Actualitza la delegació"
msgid "Update list"
msgstr "Actualitza la llista"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Utilitzeu lAPI Uniswap Labs per obtenir millors preus mitjançant una ruta més eficient."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Usuari"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 no està disponible a la capa 2. Canvia a Ethereum de la capa 1."
@@ -1816,7 +1830,7 @@ msgstr "V2 no està disponible a la capa 2. Canvia a Ethereum de la capa 1."
msgid "V2 liquidity"
msgstr "Liquiditat V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Vota contra la proposta {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Vota la proposta {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Voteu per abstenir-vos de la proposta {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "La votació ha finalitzat {0}"
@@ -1980,6 +1999,10 @@ msgstr "No teniu prou vots per enviar una proposta"
msgid "You dont have liquidity in this pool yet."
msgstr "Encara no teniu liquiditat en aquest grup."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "És possible que hàgiu perdut la connexió de xarxa."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "per a {0}"
msgid "has socks emoji"
msgstr "té emoji de mitjons"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "aquí."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // o ipfs: // o nom ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} fitxes"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} possible que 0 estigui inactiu en aquest moment o bé hagueu perdut la connexió de xarxa."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: cs_CZ\n"
"Language-Team: Czech\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: cs\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: cs\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Czech\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> hlasů"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Analýza účtu a naběhlé poplatky</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> Zpět na</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Aktuální cena:</0> <1> <2 /></1> <3>{0} za {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Povolit protokolu Uniswap používat váš {0}"
msgid "Allowed"
msgstr "Povoleno"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Povolený skluz"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Částka"
@@ -280,6 +280,10 @@ msgstr "Alespoň {0} {1} a {2} {3} budou kvůli vybranému cenovému rozpětí v
msgid "Auto"
msgstr "Automaticky"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Automatický router"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "K dispozici k uložení: {0}"
@@ -343,6 +347,10 @@ msgstr "Změňte síť a vraťte se zpět na L1"
msgid "Charts"
msgstr "Grafy"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Zkontrolujte stav sítě"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Podívejte se na naše průvodce v3 LP a migrační průvodce."
@@ -484,6 +492,8 @@ msgstr "Potvrďte tuto transakci ve své peněžence"
msgid "Confirm transaction in wallet"
msgstr "Potvrďte transakci v peněžence"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Chcete-li si zobrazit svou likviditu V2, připojte se k peněžence."
msgid "Connect to a wallet to view your liquidity."
msgstr "Chcete-li si zobrazit svou likviditu, připojte se k peněžence."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Připojit peněženku"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Propojeno s {name}"
@@ -660,10 +665,6 @@ msgstr "Podrobně"
msgid "Details"
msgstr "Podrobnosti"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Zakázat Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Odpojit"
@@ -757,6 +758,10 @@ msgstr "Popraven"
msgid "Expanded results from inactive Token Lists"
msgstr "Rozšířené výsledky z neaktivních seznamů žetonů"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Expertní režim"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Režim Expert vypne výzvu k potvrzení transakce a umožní obchody s velkým skluzem, které často vedou ke špatným kurzům a ztrátě finančních prostředků."
@@ -814,11 +819,8 @@ msgstr "Skrýt"
msgid "High Price Impact"
msgstr "Vysoký dopad na cenu"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Chápu"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Rozumím"
@@ -877,10 +879,6 @@ msgstr "Nainstalovat Metamasku"
msgid "Insufficient liquidity for this trade."
msgstr "Nedostatek likvidity pro tento obchod."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Nedostatečná likvidita pro tento obchod. Zkuste povolit obchodování multi-hop."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Maximálně:"
msgid "Maximum sent"
msgstr "Maximum odeslané"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Jídelní lístek"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimum přijato"
msgid "More"
msgstr "Více"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Varování sítě"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Nová pozice"
@@ -1376,20 +1382,12 @@ msgstr "Odstranit likviditu V3 {0}/{1}"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Odstraňování {0} {1} a {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Omezte swapy jen na přímé páry."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Návrat"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Trasa"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Vyhledejte název nebo vložte adresu"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Jednoduché"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Tolerance skluzu"
@@ -1595,6 +1592,10 @@ msgstr "Tento fond musí být inicializován, než budete moci přidat likviditu
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Tento fond musí být inicializován na {0} než budete moci přidat likviditu. Chcete-li inicializovat, vyberte počáteční cenu fondu. Poté zadejte rozsah cen likvidity a částku vkladu."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Tato trasa optimalizuje vaši cenu zvážením dělených tras, vícenásobného chmele a nákladů na plyn."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Tento žeton není na seznamech aktivních žetonů. Ujistěte se, že toto je ten žeton, který chcete obchodovat."
@@ -1626,10 +1627,6 @@ msgstr "Do"
msgid "To (at least)"
msgstr "Do (alespoň)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Přepnout režim Expert"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Žetony"
@@ -1654,6 +1651,15 @@ msgstr "Celkem uloženo"
msgid "Total deposits"
msgstr "Vklady celkem"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Obchodní cesta"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Detaily transakce"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Nastavení transakcí"
@@ -1804,10 +1810,18 @@ msgstr "Aktualizovat delegaci"
msgid "Update list"
msgstr "Aktualizovat seznam"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Pomocí rozhraní Uniswap Labs API získáte lepší ceny prostřednictvím efektivnější trasy."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Uživatel"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 není k dispozici na vrstvě 2. Přepněte na vrstvu 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 není k dispozici na vrstvě 2. Přepněte na vrstvu 1 Ethereum."
msgid "V2 liquidity"
msgstr "Likvidita V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Hlasovat proti návrhu {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Hlasovat pro návrh {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Hlasujte, abyste se zdrželi hlasování o návrhu {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Hlasování skončilo {0}"
@@ -1980,6 +1999,10 @@ msgstr "Nemáte dostatek hlasů k odeslání návrhu"
msgid "You dont have liquidity in this pool yet."
msgstr "V tomto fondu zatím nemáte likviditu."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Možná jste ztratili připojení k síti."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "pro {0}"
msgid "has socks emoji"
msgstr "má emoji na ponožkách"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "tady."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https:// nebo ipfs:// nebo název ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} žetonů"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} může být právě mimo provoz, nebo jste možná ztratili připojení k síti."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: da_DK\n"
"Language-Team: Danish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: da\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: da\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Danish\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Stemmer"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Kontoanalyser og påløbne gebyrer</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Tilbage til </0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Aktuel pris:</0> <1> <2 /></1> <3>{0} pr. {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Tillad Uniswap-protokollen at bruge din {0}"
msgid "Allowed"
msgstr "Tilladt"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Tilladt glidning"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Beløb"
@@ -280,6 +280,10 @@ msgstr "Mindst {0} {1} og {2} {3} vil blive refunderet til din tegnebog på grun
msgid "Auto"
msgstr "Automatisk"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Auto router"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Tilgængelig for depositum: {0}"
@@ -343,6 +347,10 @@ msgstr "Skift dit netværk for at gå tilbage til L1"
msgid "Charts"
msgstr "Diagrammer"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Kontroller netværksstatus"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Tjek vores v3 LP-gennemgang og migrationsguider."
@@ -484,6 +492,8 @@ msgstr "Bekræft denne transaktion i din tegnebog"
msgid "Confirm transaction in wallet"
msgstr "Bekræft transaktion i tegnebogen"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Opret forbindelse til en tegnebog for at se din V2-likviditet."
msgid "Connect to a wallet to view your liquidity."
msgstr "Opret forbindelse til en tegnebog for at se din likviditet."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Forbind tegnebog"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Forbundet med {name}"
@@ -660,10 +665,6 @@ msgstr "Detaljeret"
msgid "Details"
msgstr "Detaljer"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Deaktivér Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Afbryd"
@@ -757,6 +758,10 @@ msgstr "Henrettet"
msgid "Expanded results from inactive Token Lists"
msgstr "Ekspanderede resultater fra inaktive token-lister"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Ekspert tilstand"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Eksperttilstand slukker for bekræft transaktion-prompten og tillader høj slippage-handler, der ofte resulterer i dårlige satser og tabte midler."
@@ -814,11 +819,8 @@ msgstr "Skjule"
msgid "High Price Impact"
msgstr "Høj prispåvirkning"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Jeg forstår"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Jeg har forstået"
@@ -877,10 +879,6 @@ msgstr "Installer Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Utilstrækkelig likviditet til denne handel."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Utilstrækkelig likviditet til denne handel. Prøv at aktivere multi-hop-handler."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Maks:"
msgid "Maximum sent"
msgstr "Maksimum sendt"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Menu"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimum modtaget"
msgid "More"
msgstr "Mere"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Netværksadvarsel"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Ny position"
@@ -1376,20 +1382,12 @@ msgstr "Fjern {0}/{1} V3-likviditet"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Fjerner {0} {1} og {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Begræns swaps til direkte par."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Retur"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Rute"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Søg navn eller indsæt adresse"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Simpel"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Glidningstolerance"
@@ -1595,6 +1592,10 @@ msgstr "Denne pulje skal initialiseres, før du kan tilføje likviditet. For at
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Denne pool skal initialiseres {0} før du kan tilføje likviditet. For at initialisere skal du vælge en startpris for puljen. Indtast derefter dit likviditetsprisklasse og indbetalingsbeløb."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Denne rute optimerer din pris ved at overveje opdelte ruter, flere humle- og gasomkostninger."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Dette token vises ikke på den/de aktive tokenlister. Sørg for, at dette er det token, du vil handle."
@@ -1626,10 +1627,6 @@ msgstr "Til"
msgid "To (at least)"
msgstr "Til (mindst)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Skift Eksperttilstand"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Tokens"
@@ -1654,6 +1651,15 @@ msgstr "I alt deponeret"
msgid "Total deposits"
msgstr "Indlån i alt"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Handelsrute"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "overførselsdetaljer"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Transaktionsindstillinger"
@@ -1804,10 +1810,18 @@ msgstr "Opdater delegation"
msgid "Update list"
msgstr "Opdater liste"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Brug Uniswap Labs API til at få bedre priser via en mere effektiv rute."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Bruger"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 er ikke tilgængelig på lag 2. Skift til lag 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 er ikke tilgængelig på lag 2. Skift til lag 1 Ethereum."
msgid "V2 liquidity"
msgstr "V2-likviditet"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Stem imod forslag {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Stem på forslag {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Stem for at undlade at stemme om forslag {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Afstemning sluttede {0}"
@@ -1980,6 +1999,10 @@ msgstr "Du har ikke nok stemmer til at indsende et forslag"
msgid "You dont have liquidity in this pool yet."
msgstr "Du har ikke likviditet i denne pulje endnu."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Du har muligvis mistet din netværksforbindelse."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "for {0}"
msgid "has socks emoji"
msgstr "har sokker-emoji"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "her."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // eller ipfs: // eller ENS-navn"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} poletter"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} muligvis nede lige nu, eller du har muligvis mistet din netværksforbindelse."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider} %"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: de_DE\n"
"Language-Team: German\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: de\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: de\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: German\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Stimmen"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Kontoanalyse und eingenommene Gebühren</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Zurück zu </0>V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0>Aktueller Preis:</0><1><2/></1> <3>{0} pro {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Erlaube dem Uniswap Protokoll, {0} zu verwenden"
msgid "Allowed"
msgstr "Erlaubt"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Zulässiges Rutschen"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Betrag"
@@ -280,6 +280,10 @@ msgstr "Mindestens {0} {1} und {2} {3} werden aufgrund des gewählten Preisberei
msgid "Auto"
msgstr "Autom."
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Automatischer Router"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Zur Einlage verfügbar: {0}"
@@ -343,6 +347,10 @@ msgstr "Ändern Sie Ihr Netzwerk, um zu L1 zurückzukehren"
msgid "Charts"
msgstr "Charts"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Netzwerkstatus prüfen"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Schauen Sie sich unsere v3 LP Einführung und die Hilfe zur Liquiditätsmigration an."
@@ -484,6 +492,8 @@ msgstr "Diese Transaktion in Ihrer Wallet bestätigen"
msgid "Confirm transaction in wallet"
msgstr "Transaktion in Wallet bestätigen"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Verbinden Sie sich mit einer Wallet, um Ihre V2-Liquidität anzuzeigen."
msgid "Connect to a wallet to view your liquidity."
msgstr "Verbinden Sie sich mit einer Wallet, um Ihre Liquidität anzuzeigen."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Wallet verbinden"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Verbunden mit {name}"
@@ -660,10 +665,6 @@ msgstr "Detailliert"
msgid "Details"
msgstr "Details"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Multihops deaktivieren"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Verbindung trennen"
@@ -757,6 +758,10 @@ msgstr "Ausgeführt"
msgid "Expanded results from inactive Token Lists"
msgstr "Erweiterte Ergebnisse aus inaktiven Token-Listen"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Expertenmodus"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Der Expertenmodus schaltet die Transaktions-Bestätigung aus und ermöglicht Transaktionen mit viel Schlupf, was zu schlechten Kursen und verlorenem Geld führen kann."
@@ -814,11 +819,8 @@ msgstr "Ausblenden"
msgid "High Price Impact"
msgstr "Hoher Preiseinfluss"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Ich verstehe"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Einverstanden"
@@ -877,10 +879,6 @@ msgstr "Metamask installieren"
msgid "Insufficient liquidity for this trade."
msgstr "Unzureichende Liquidität für diesen Handel."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Unzureichende Liquidität für diesen Tausch. Versuchen Sie es erneut mit aktiviertem Multihop."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Max.:"
msgid "Maximum sent"
msgstr "Maximum gesendet"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Menü"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1044,7 +1046,7 @@ msgstr "Migrieren Sie Ihre Liquiditäts-Token von Uniswap V2 nach Uniswap V3."
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "Migrating"
msgstr "Migriere"
msgstr "Migrieren"
#: src/components/PositionPreview/index.tsx
#: src/components/RangeSelector/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimum erhalten"
msgid "More"
msgstr "Mehr"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Netzwerkwarnung"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Neue Position"
@@ -1138,7 +1144,7 @@ msgstr "Hoppla! Ein unbekannter Fehler ist aufgetreten. Bitte aktualisieren Sie
#: src/components/OptimismDowntimeWarning/index.tsx
msgid "Optimism Planned Downtime"
msgstr "Optimismus Geplante Ausfallzeiten"
msgstr "Geplante Ausfallzeit bei Optimism"
#: src/components/OptimismDowntimeWarning/index.tsx
msgid "Optimism expects planned downtime in the near future. Unplanned downtime may also occur. While the network is down, fees will not be generated and you will be unable to remove liquidity. <0>Read more.</0>"
@@ -1376,20 +1382,12 @@ msgstr "V3 Liquidität {0}/{1} entfernen"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Entferne {0} {1} und {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Begrenzt Swaps nur auf Direktpaare."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Zurück"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Route"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Name suchen oder Adresse einfügen"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Einfach"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Schlupftoleranz"
@@ -1595,6 +1592,10 @@ msgstr "Dieser Pool muss initialisiert werden, bevor Sie Liquidität hinzufügen
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Dieser Pool muss auf {0} initialisiert werden, bevor Sie Liquidität hinzufügen können. Wählen Sie zum Initialisieren einen Startpreis für den Pool aus. Geben Sie dann Ihre Liquiditätspreisspanne und den Einzahlungsbetrag ein."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Diese Route optimiert Ihren Preis, indem geteilte Routen, mehrere Hops und Benzinkosten berücksichtigt werden."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Dieser Token erscheint nicht in der/den aktiven Token-Liste(n). Stellen Sie sicher, dass dies der Token ist, den Sie handeln möchten."
@@ -1626,10 +1627,6 @@ msgstr "Nach"
msgid "To (at least)"
msgstr "Nach (mindestens)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Experten-Modus umschalten"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Token"
@@ -1654,6 +1651,15 @@ msgstr "Gesamt deponiert"
msgid "Total deposits"
msgstr "Gesamteinlagen"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Handelsroute"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Transaktionsdetails"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Transaktionseinstellungen"
@@ -1804,10 +1810,18 @@ msgstr "Delegation aktualisieren"
msgid "Update list"
msgstr "Liste aktualisieren"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Verwenden Sie die Uniswap Labs-API, um durch eine effizientere Route bessere Preise zu erzielen."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Benutzer"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 ist auf Layer 2 nicht verfügbar. Wechseln Sie zu Layer 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 ist auf Layer 2 nicht verfügbar. Wechseln Sie zu Layer 1 Ethereum."
msgid "V2 liquidity"
msgstr "V2-Liquidität"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Stimme gegen Antrag {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Für Vorschlag {proposalId} stimmen"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Stimme für Enthaltung bei Vorschlag {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Abstimmung beendet {0}"
@@ -1980,6 +1999,10 @@ msgstr "Ihr Stimmrecht reicht nicht aus, um einen Vorschlag einzureichen"
msgid "You dont have liquidity in this pool yet."
msgstr "Sie haben noch keine Liquidität in diesem Pool."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Möglicherweise haben Sie Ihre Netzwerkverbindung verloren."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "für {0}"
msgid "has socks emoji"
msgstr "hat \"socks\" Emoji"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "Hier."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // oder ipfs: // oder ENS-Name"
@@ -2169,7 +2196,7 @@ msgstr "{0} ETH"
#: src/components/Header/NetworkCard.tsx
msgid "{0} Explorer"
msgstr "{0} Entdecker"
msgstr "{0} Explorer"
#: src/pages/RemoveLiquidity/V3.tsx
#: src/pages/RemoveLiquidity/V3.tsx
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} Token"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} möglicherweise gerade nicht verfügbar oder Sie haben Ihre Netzwerkverbindung verloren."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: el_GR\n"
"Language-Team: Greek\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: el\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: el\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Greek\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Ψήφοι"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Αναλυτικά λογαριασμού και δεδουλευμένα τέλη</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Επιστροφή στη </0>V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Τρέχουσα τιμή:</0> <1> <2 /></1> <3>{0} ανά {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Επιτρέψτε στο πρωτόκολλο Uniswap να χρησιμ
msgid "Allowed"
msgstr "Επιτρέπεται"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Επιτρέπεται η ολίσθηση"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Ποσό"
@@ -280,6 +280,10 @@ msgstr "Τουλάχιστον {0} {1} και {2} {3} θα επιστραφού
msgid "Auto"
msgstr "Αυτόματο"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Αυτόματος δρομολογητής"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Διαθέσιμο για κατάθεση: {0}"
@@ -343,6 +347,10 @@ msgstr "Αλλάξτε το δίκτυό σας για να επιστρέψετ
msgid "Charts"
msgstr "Διαγράμματα"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Ελέγξτε την κατάσταση του δικτύου"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Ρίξτε μια ματιά στους οδηγούς μας συνέχειας και μεταφοράς παρόχων ρευστότητας (LP) της v3."
@@ -484,6 +492,8 @@ msgstr "Επιβεβαιώστε αυτή τη συναλλαγή στο πορ
msgid "Confirm transaction in wallet"
msgstr "Επιβεβαίωση συναλλαγής στο πορτοφόλι"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Συνδεθείτε σε ένα πορτοφόλι για να δείτ
msgid "Connect to a wallet to view your liquidity."
msgstr "Συνδεθείτε σε ένα πορτοφόλι για να δείτε την ρευστότητά σας."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Σύνδεση πορτοφολιού"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Συνδέθηκε με {name}"
@@ -660,10 +665,6 @@ msgstr "Λεπτομερής"
msgid "Details"
msgstr "Λεπτομέρειες"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Απενεργοποίηση Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Αποσύνδεση"
@@ -757,6 +758,10 @@ msgstr "Εκτελέστηκε"
msgid "Expanded results from inactive Token Lists"
msgstr "Εκτεταμένα αποτελέσματα από ανενεργές Λίστες Μάρκας"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Λειτουργία ειδικού"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Η λειτουργία εμπειρογνωμόνων απενεργοποιεί την ειδοποίηση επιβεβαίωσης της συναλλαγής και επιτρέπει την υψηλή διαφορά κόστους συναλλαγών που συχνά οδηγεί σε κακές τιμές και χαμένα κεφάλαια."
@@ -814,11 +819,8 @@ msgstr "Κρύβω"
msgid "High Price Impact"
msgstr "Υψηλή Επίδραση Τιμών"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Καταλαβαίνω"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Κατανοώ"
@@ -877,10 +879,6 @@ msgstr "Εγκατάσταση Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Ανεπαρκής ρευστότητα για αυτή τη διαπραγμάτευση."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Ανεπαρκής ρευστότητα για αυτήν τη διαπραγμάτευση. Δοκιμάστε να ενεργοποιήσετε τις διαπραγματεύσεις/το εμπόριο πολλαπλών λυκίσκων."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Μέγιστο:"
msgid "Maximum sent"
msgstr "Απεστάλη το μέγιστο"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Μενού"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Ελάχιστο λαμβανόμενο"
msgid "More"
msgstr "Περισσότερα"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Προειδοποίηση δικτύου"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Νέα Θέση"
@@ -1376,20 +1382,12 @@ msgstr "Αφαίρεση {0}/{1} V3 ρευστότητας"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Αφαίρεση των {0} {1} και {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Περιορίζει τις ανταλλαγές μόνο σε απευθείας ζεύγη."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Επιστροφή"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Διαδρομή"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Αναζήτηση ονόματος ή επικόλλησης διεύθυνσης"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Απλό"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Ανοχή ολίσθησης"
@@ -1595,6 +1592,10 @@ msgstr "Αυτή η ομάδα πρέπει να προετοιμαστεί γι
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Αυτή η ομάδα πρέπει να αρχικοποιηθεί στις {0} για να μπορέσετε να προσθέσετε ρευστότητα. Για να ξεκινήσετε, επιλέξτε μια τιμή εκκίνησης για την ομάδα. Στη συνέχεια, εισαγάγετε το εύρος τιμών ρευστότητας και το ποσό κατάθεσης."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Αυτή η διαδρομή βελτιστοποιεί την τιμή σας λαμβάνοντας υπόψη τις χωρισμένες διαδρομές, το πολλαπλό λυκίσκο και το κόστος αερίου."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Αυτή η μάρκα δεν εμφανίζεται στην(ις) ενεργή (ές) λίστα(ες). Βεβαιωθείτε ότι αυτή είναι η μάρκα που θέλετε να διαπραγματευτείτε."
@@ -1626,10 +1627,6 @@ msgstr "'Ως"
msgid "To (at least)"
msgstr "Έως (από το ελάχιστο)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Λειτουργία Εναλλαγής Εμπειρογνωμόνων"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Μάρκες"
@@ -1654,6 +1651,15 @@ msgstr "Σύνολο που κατατέθηκε"
msgid "Total deposits"
msgstr "Συνολικές καταθέσεις"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Εμπορική οδός"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Λεπτομέρειες Συναλλαγής"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Ρυθμίσεις Συναλλαγής"
@@ -1804,10 +1810,18 @@ msgstr "Ενημέρωση Ανάθεσης"
msgid "Update list"
msgstr "Ενημέρωση λίστας"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Χρησιμοποιήστε το API Uniswap Labs για να έχετε καλύτερες τιμές μέσω μιας πιο αποτελεσματικής διαδρομής."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Χρήστης"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "Το V2 δεν είναι διαθέσιμο στο Layer 2. Μετάβαση στο Layer 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "Το V2 δεν είναι διαθέσιμο στο Layer 2. Μετάβ
msgid "V2 liquidity"
msgstr "V2 ρευστότητα"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Ψήφοι κατά της πρότασης {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Ψήφοι υπέρ της πρότασης {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Vηφοφορία για αποχή στην πρόταση {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Η ψηφοφορία έληξε {0}"
@@ -1980,6 +1999,10 @@ msgstr "Δεν έχετε αρκετές ψήφους για να υποβάλε
msgid "You dont have liquidity in this pool yet."
msgstr "Δεν έχετε ακόμα ρευστότητα σε αυτή την δεξαμενή."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Ενδέχεται να έχετε χάσει τη σύνδεση δικτύου σας."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "για {0}"
msgid "has socks emoji"
msgstr "έχει κάλτσες emoji"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "εδώ."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // ή ipfs: // ή όνομα ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} μάρκες"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} μπορεί να είναι εκτός λειτουργίας αυτή τη στιγμή ή να έχετε χάσει τη σύνδεσή σας στο δίκτυο."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: es_ES\n"
"Language-Team: Spanish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: es\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: es-ES\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Spanish\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Votos"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Análisis de cuentas y comisiones acumuladas</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> Volver a</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Precio actual:</0> <1> <2 /></1> <3>{0} por {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Permitir que el protocolo Uniswap utilice su {0}"
msgid "Allowed"
msgstr "Permitido"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Deslizamiento permitido"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Cantidad"
@@ -280,6 +280,10 @@ msgstr "Al menos {0} {1} y {2} {3} serán reembolsados a su cartera debido al ra
msgid "Auto"
msgstr "Auto"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Enrutador automático"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Disponible para depositar: {0}"
@@ -343,6 +347,10 @@ msgstr "Cambie su red para volver a L1"
msgid "Charts"
msgstr "Gráficos"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Verificar el estado de la red"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Eche un vistazo a nuestras guías de navegación y migración de LP v3."
@@ -484,6 +492,8 @@ msgstr "Confirmar esta transacción en su cartera"
msgid "Confirm transaction in wallet"
msgstr "Confirmar transacción en billetera"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Conéctese a una cartera para ver su liquidez V2."
msgid "Connect to a wallet to view your liquidity."
msgstr "Conéctese a una cartera para ver su liquidez."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Conectar cartera"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Conectado con {name}"
@@ -660,10 +665,6 @@ msgstr "Detallado"
msgid "Details"
msgstr "Detalles"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Desactivar Multisaltos"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Desconectar"
@@ -757,6 +758,10 @@ msgstr "Ejecutado"
msgid "Expanded results from inactive Token Lists"
msgstr "Resultados ampliados de listas de token inactivas"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Modo experto"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "El modo experto desactiva el indicador de transacción de confirmación y permite operaciones de deslizamiento elevadas que a menudo resultan en malas tasas y fondos perdidos."
@@ -814,11 +819,8 @@ msgstr "Esconder"
msgid "High Price Impact"
msgstr "Impacto de precio alto"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Entiendo"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Entiendo"
@@ -877,10 +879,6 @@ msgstr "Instalar Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Liquidez insuficiente para esta operación."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Liquidez insuficiente para esta operación. Intente habilitar operaciones de varios saltos."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Máx:"
msgid "Maximum sent"
msgstr "Máximo enviado"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Menú"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Mínimo recibido"
msgid "More"
msgstr "Más"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Advertencia de red"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Nueva posición"
@@ -1376,20 +1382,12 @@ msgstr "Eliminar {0}/{1} liquidez V3"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Eliminando {0} {1} y {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Restringe los intercambios a pares directos únicamente."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Retorno"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Ruta"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Buscar nombre o pegar dirección"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Simple"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Tolerancia de deslizamiento"
@@ -1595,6 +1592,10 @@ msgstr "Este grupo debe inicializarse antes de poder agregar liquidez. Para inic
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Este grupo debe inicializarse en {0} antes de que pueda agregar liquidez. Para inicializar, seleccione un precio inicial para el grupo. Luego, ingrese su rango de precio de liquidez y el monto del depósito."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Esta ruta optimiza su precio considerando rutas divididas, múltiples saltos y costos de gasolina."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Este token no aparece en las listas de tokens activos. Asegúrese de que este sea el token que desea intercambiar."
@@ -1626,10 +1627,6 @@ msgstr "A"
msgid "To (at least)"
msgstr "A (al menos)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Cambiar a modo experto"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Tokens"
@@ -1654,6 +1651,15 @@ msgstr "Total depositado"
msgid "Total deposits"
msgstr "Total de depósitos"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Ruta comercial"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Detalles de la transacción"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Ajustes de la transacción"
@@ -1804,10 +1810,18 @@ msgstr "Actualizar delegación"
msgid "Update list"
msgstr "Actualizar lista"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Utilice la API de Uniswap Labs para obtener mejores precios a través de una ruta más eficiente."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Usuario"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 no está disponible en la capa 2. Cambie a la capa 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 no está disponible en la capa 2. Cambie a la capa 1 Ethereum."
msgid "V2 liquidity"
msgstr "Liquidez V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Votar en contra de la propuesta {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Votar por la propuesta {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Votar para abstenerse sobre la propuesta {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Voto finalizado {0}"
@@ -1980,6 +1999,10 @@ msgstr "No tienes suficientes votos para enviar una propuesta."
msgid "You dont have liquidity in this pool yet."
msgstr "Todavía no tiene liquidez en este fondo común."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Es posible que haya perdido su conexión de red."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "para {0}"
msgid "has socks emoji"
msgstr "tiene socks emoji"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "aquí."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https:// o ipfs:// o nombre ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} fichas"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} puede estar inactivo en este momento o puede haber perdido su conexión de red."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider} %"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: fi_FI\n"
"Language-Team: Finnish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: fi\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: fi\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Finnish\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Äänet"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Tilin analytiikka ja kertyneet maksut</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> Takaisin kohtaan</0>V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Nykyinen hinta:</0> <1> <2 /></1> <3>{0} per {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Salli Uniswap-protokollan käyttää {0}"
msgid "Allowed"
msgstr "Sallittu"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Sallittu liukuminen"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Määrä"
@@ -280,6 +280,10 @@ msgstr "Vähintään {0} {1} ja {2} {3} palautetaan lompakkoosi valitun hinta-al
msgid "Auto"
msgstr "Automaattinen"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Automaattinen reititin"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Talletettavissa: {0}"
@@ -343,6 +347,10 @@ msgstr "Vaihda verkko palataksesi kohtaan L1"
msgid "Charts"
msgstr "Kaaviot"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Tarkista verkon tila"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Tutustu v3 LP -läpikävelyymme ja siirto-oppaisiimme."
@@ -484,6 +492,8 @@ msgstr "Vahvista lompakkosi tapahtuma"
msgid "Confirm transaction in wallet"
msgstr "Vahvista tapahtuma lompakossa"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Yhdistä lompakkoon nähdäksesi V2-likviditeettisi."
msgid "Connect to a wallet to view your liquidity."
msgstr "Yhdistä lompakkoon nähdäksesi likviditeettisi."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Yhdistä lompakko"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Yhdistetty kohteeseen {name}"
@@ -660,10 +665,6 @@ msgstr "Yksityiskohtainen"
msgid "Details"
msgstr "Tiedot"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Poista Multihops käytöstä"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Katkaise yhteys"
@@ -757,6 +758,10 @@ msgstr "Suoritettu"
msgid "Expanded results from inactive Token Lists"
msgstr "Laajennetut tulokset passiivisista rahakeluetteloista"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Asiantuntijatila"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Asiantuntijatila ottaa vahvistuskehotuksen pois käytöstä ja mahdollistaa korkean luiston kaupat, jotka johtavat usein huonoihin kursseihin ja varojen menettämiseen."
@@ -814,11 +819,8 @@ msgstr "Piilottaa"
msgid "High Price Impact"
msgstr "Korkea hintavaikutus"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Ymmärrän"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Ymmärrän"
@@ -877,10 +879,6 @@ msgstr "Asenna Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Ei riittävästi likviditeettiä tälle kaupalle."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Ei riittävästi likviditeettiä tälle kaupalle. Yritä mahdollistaa monihyppyiset kaupat."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Maksimi:"
msgid "Maximum sent"
msgstr "Maksimimäärä lähetetty"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Valikko"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimi vastaanotettu"
msgid "More"
msgstr "Lisää"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Varoitus verkosta"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Uusi positio"
@@ -1376,20 +1382,12 @@ msgstr "Poista {0}/{1} V3-likviditeetti"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Poistetaan {0} {1} ja {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Rajoittaa vaihdot vain suoriin pareihin."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Palaa"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Reitti"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Etsi nimeä tai liitä osoite"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Yksinkertainen"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Luistonsieto"
@@ -1595,6 +1592,10 @@ msgstr "Tämä pooli on alustettava, ennen kuin voit lisätä likviditeettiä. A
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Tämä pooli on alustettava arvoon {0} ennen kuin voit lisätä likviditeettiä. Alusta valitsemalla altaan aloitushinta. Syötä sitten likviditeetin hintaluokka ja talletussumma."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Tämä reitti optimoi hintasi ottamalla huomioon jaetut reitit, useita hyppyjä ja kaasukustannuksia."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Tätä rahaketta ei näy aktiivisissa rahakeluetteloissa. Varmista, että tämä on rahake, jonka haluat vaihtaa."
@@ -1626,10 +1627,6 @@ msgstr "Vastaanottaja"
msgid "To (at least)"
msgstr "Mihin (ainakin)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Hallitse asiantuntijatilaa"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Rahakkeet"
@@ -1654,6 +1651,15 @@ msgstr "Talletettu yhteensä"
msgid "Total deposits"
msgstr "Talletuksia yhteensä"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Kauppareitti"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "maksutapahtuman tiedot"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Tapahtuma-asetukset"
@@ -1804,10 +1810,18 @@ msgstr "Päivitä delegointi"
msgid "Update list"
msgstr "Päivitä luettelo"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Käytä Uniswap Labs -sovellusliittymää saadaksesi paremman hinnan tehokkaamman reitin kautta."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Käyttäjä"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 ei ole käytettävissä kerroksessa 2. Vaihda kerrokseen 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 ei ole käytettävissä kerroksessa 2. Vaihda kerrokseen 1 Ethereum."
msgid "V2 liquidity"
msgstr "V2-likviditeetti"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Äänestä ehdotusta {proposalId} vastaan"
msgid "Vote for proposal {proposalId}"
msgstr "Äänestä ehdotuksen {proposalId} puolesta"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Äänestää tyhjää ehdotuksesta {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Äänestys päättynyt {0}"
@@ -1980,6 +1999,10 @@ msgstr "Sinulla ei ole tarpeeksi ääniä ehdotuksen lähettämiseen"
msgid "You dont have liquidity in this pool yet."
msgstr "Sinulla ei ole vielä likviditeettiä tässä poolissa."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Olet ehkä menettänyt verkkoyhteytesi."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "kohteelle {0}"
msgid "has socks emoji"
msgstr "on sukkahymiö"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "tässä."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https:// tai ipfs:// tai ENS-nimi"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} rahaketta"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} ei ehkä toimi juuri nyt tai verkkoyhteys on kadonnut."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: fr_FR\n"
"Language-Team: French\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: fr\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: fr\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: French\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Votes"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Analyses du compte et des frais accumulés</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> Retour à</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0>Prix actuel :</0> <1><2/></1> <3>{0} pour {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Autoriser le protocole Uniswap à utiliser vos {0}"
msgid "Allowed"
msgstr "Autorisé"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Glissement autorisé"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Montant"
@@ -280,6 +280,10 @@ msgstr "Au moins {0} {1} et {2} {3} seront remboursés sur votre portefeuille en
msgid "Auto"
msgstr "Automatique"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Routeur automatique"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Disponible pour déposer: {0}"
@@ -343,6 +347,10 @@ msgstr "Changez de réseau pour revenir à la L1"
msgid "Charts"
msgstr "Graphiques"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Vérifier l'état du réseau"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Consultez nos guides d'utilisation et de migration pour la v3 LP."
@@ -484,6 +492,8 @@ msgstr "Validez cette transaction dans votre portefeuille"
msgid "Confirm transaction in wallet"
msgstr "Confirmer la transaction dans le portefeuille"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Connectez-vous à un portefeuille pour afficher vos liquidités V2."
msgid "Connect to a wallet to view your liquidity."
msgstr "Connectez-vous à un portefeuille pour voir vos liquidités."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Connecter le portefeuille"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Connecté avec {name}"
@@ -660,10 +665,6 @@ msgstr "Détaillé"
msgid "Details"
msgstr "Détails"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Désactiver les liens multiples"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Déconnecter"
@@ -757,6 +758,10 @@ msgstr "Exécutée"
msgid "Expanded results from inactive Token Lists"
msgstr "Résultats étendus des listes de jetons inactifs"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Mode expert"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Le mode expert désactive l'invite de transaction de confirmation et permet des transactions de slippage élevées qui se traduisent souvent par de mauvais taux et des pertes de fonds."
@@ -814,11 +819,8 @@ msgstr "Cacher"
msgid "High Price Impact"
msgstr "Impact sur les prix élevés"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Je comprends"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Je comprends"
@@ -877,10 +879,6 @@ msgstr "Installer Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Pas assez de liquidités pour cette transaction."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Pas assez de liquidités pour cette transaction. Essayez d'activer les transactions multi-liens."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Max :"
msgid "Maximum sent"
msgstr "Maximum envoyé"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Menu"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimum reçu"
msgid "More"
msgstr "En savoir plus"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Avertissement réseau"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Nouvelle position"
@@ -1376,20 +1382,12 @@ msgstr "Supprimer la liquidité {0}/{1} V3"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Suppression de {0} {1} et {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Restreint les swaps uniquement aux paires directes."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Retour"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Route"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Rechercher un nom ou coller une adresse"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Simple"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Tolérance du slippage"
@@ -1595,6 +1592,10 @@ msgstr "Ce pool doit être initialisé avant de pouvoir ajouter des liquidités.
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Ce pool doit être initialisé à {0} avant de pouvoir ajouter de la liquidité. Pour initialiser, sélectionnez un prix de départ pour le pool. Ensuite, entrez votre fourchette de prix de liquidité et le montant du dépôt."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Cet itinéraire optimise votre prix en tenant compte des itinéraires fractionnés, des sauts multiples et des coûts de gaz."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Ce jeton n'apparaît pas sur la ou les listes de jetons actifs. Assurez-vous qu'il s'agit du jeton que vous souhaitez échanger."
@@ -1626,10 +1627,6 @@ msgstr "À"
msgid "To (at least)"
msgstr "Vers (au moins)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Activer/désactiver le mode expert"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Jetons"
@@ -1654,6 +1651,15 @@ msgstr "Total déposé"
msgid "Total deposits"
msgstr "Total des dépôts"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Route commerciale"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "détails de la transaction"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Paramètres de la transaction"
@@ -1804,10 +1810,18 @@ msgstr "Mettre à jour la délégation"
msgid "Update list"
msgstr "Mettre à jour la liste"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Utilisez l'API Uniswap Labs pour obtenir de meilleurs prix grâce à un itinéraire plus efficace."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Utilisateur"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 n'est pas disponible sur la Layer 2. Passez à la Layer 1 d'Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 n'est pas disponible sur la Layer 2. Passez à la Layer 1 d'Ethereum.
msgid "V2 liquidity"
msgstr "liquidités V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Voter contre la proposition {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Voter pour la proposition {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Votez pour vous abstenir sur la proposition {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Vote terminé {0}"
@@ -1980,6 +1999,10 @@ msgstr "Vous n'avez pas assez de votes pour soumettre une proposition"
msgid "You dont have liquidity in this pool yet."
msgstr "Vous n'avez pas encore de liquidités dans ce pool."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Vous avez peut-être perdu votre connexion réseau."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "pour {0}"
msgid "has socks emoji"
msgstr "a des chaussettes d'émoji"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "ici."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // ou ipfs: // ou nom ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} jetons"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} peut-être en panne en ce moment, ou vous avez peut-être perdu votre connexion réseau."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: he_IL\n"
"Language-Team: Hebrew\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: he\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: he\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Hebrew\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> הצבעות"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0> ניתוח חשבונות ועמלות שנצברו</0> <1> ↗</1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> חזרה אל</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> מחיר נוכחי:</0> <1> <2 /></1> <3>{0} לכל {1}</3>"
@@ -220,6 +216,10 @@ msgstr "אפשר לפרוטוקול Uniswap להשתמש ב- {0}"
msgid "Allowed"
msgstr "מוּתָר"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "מותר החלקה"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "כמות"
@@ -280,6 +280,10 @@ msgstr "לפחות {0} {1} ו {2} {3} יוחזרו לארנק שלך בגלל ט
msgid "Auto"
msgstr "אוטומטי"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "נתב אוטומטי"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "זמין להפקדה: {0}"
@@ -343,6 +347,10 @@ msgstr "שנה את הרשת שלך כדי לחזור ל- L1"
msgid "Charts"
msgstr "תרשימים"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "בדוק את מצב הרשת"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "עיין במדריכי ההדרכה וההעברה של v3 LP שלנו."
@@ -484,6 +492,8 @@ msgstr "אשר את העסקה בארנק שלך"
msgid "Confirm transaction in wallet"
msgstr "אשר עסקה בארנק"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "התחבר לארנק כדי להציג את נזילות V2 שלך."
msgid "Connect to a wallet to view your liquidity."
msgstr "התחבר לארנק כדי להציג את הנזילות שלך."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "חבר ארנק"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "מחובר עם {name}"
@@ -660,10 +665,6 @@ msgstr "מְפוֹרָט"
msgid "Details"
msgstr "פרטים"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "השבת את Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "לְנַתֵק"
@@ -757,6 +758,10 @@ msgstr "יצא לפועל"
msgid "Expanded results from inactive Token Lists"
msgstr "תוצאות מורחבות מרשימות אסימון לא פעילות"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "מצב מומחה"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "מצב מומחה מכבה את בקשת האישור לעסקה ומאפשר עסקאות החלקה גבוהות שלעתים קרובות גורמות לשיעורים גרועים ולאובדן כספים."
@@ -814,11 +819,8 @@ msgstr "להתחבא"
msgid "High Price Impact"
msgstr "השפעה על מחיר גבוה"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "אני מבין"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "אני מבין"
@@ -877,10 +879,6 @@ msgstr "התקן את Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "לא מספיק נזילות למסחר זה."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "לא מספיק נזילות למסחר זה. נסה לאפשר עסקאות מרובות הופ."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "מקסימום:"
msgid "Maximum sent"
msgstr "מקסימום נשלח"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "תַפרִיט"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "מינימום שהתקבל"
msgid "More"
msgstr "יותר"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "אזהרת רשת"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "עמדה חדשה"
@@ -1376,20 +1382,12 @@ msgstr "הסר {0}/{1} נזילות V3"
msgid "Removing {0} {1} and {2} {3}"
msgstr "הסרת {0} {1} ו {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "מגבלות מחליפות לזוגות ישירים בלבד."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "לַחֲזוֹר"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "מַסלוּל"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "חפש שם או הדבק כתובת"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "פָּשׁוּט"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "סובלנות להחלקה"
@@ -1595,6 +1592,10 @@ msgstr "יש לאתחל את המאגר הזה לפני שתוכל להוסיף
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "יש לאתחל את המאגר הזה ב- {0} לפני שתוכל להוסיף נזילות. כדי לאתחל, בחר מחיר התחלתי לבריכה. לאחר מכן, הזן את טווח מחירי הנזילות ואת סכום ההפקדה."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "מסלול זה מייעל את המחיר שלך על ידי התחשבות במסלולים מפוצלים, כשות מרובות ועלויות גז."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "אסימון זה אינו מופיע ברשימות האסימונים הפעילות. ודא שזה האסימון שאתה רוצה לסחור בו."
@@ -1626,10 +1627,6 @@ msgstr "ל"
msgid "To (at least)"
msgstr "עבור (לפחות)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "החלף מצב מומחה"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "אסימונים"
@@ -1654,6 +1651,15 @@ msgstr "סה\"כ מה שהופקד"
msgid "Total deposits"
msgstr "סך ההפקדות"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "נתיב מסחר"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "פרטי העברה"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "הגדרות עסקה"
@@ -1804,10 +1810,18 @@ msgstr "עדכן משלחת"
msgid "Update list"
msgstr "רשימת עדכונים"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "השתמש בממשק ה- Uniswap Labs כדי לקבל תמחור טוב יותר דרך מסלול יעיל יותר."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "מִשׁתַמֵשׁ"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 אינו זמין בשכבה 2. עבור לשכבה 1 אתריום."
@@ -1816,7 +1830,7 @@ msgstr "V2 אינו זמין בשכבה 2. עבור לשכבה 1 אתריום."
msgid "V2 liquidity"
msgstr "נזילות V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "הצביעו נגד הצעה {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "הצביע להצעה {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "הצביעו להימנע מהצעה {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "ההצבעה הסתיימה ב {0}"
@@ -1980,6 +1999,10 @@ msgstr "אין לך מספיק קולות כדי להגיש הצעה"
msgid "You dont have liquidity in this pool yet."
msgstr "עדיין אין לך נזילות במאגר זה."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "יכול להיות שאיבדת את חיבור הרשת שלך."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "עבור {0}"
msgid "has socks emoji"
msgstr "יש אימוג'י של גרביים"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "פה."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // או ipfs: // או שם ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} אסימונים"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} עשוי להיות כרגע, או שאולי איבדת את חיבור הרשת שלך."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: hu_HU\n"
"Language-Team: Hungarian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: hu\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: hu\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Hungarian\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0 /> Szavazatok"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0> Számlaelemzés és elhatárolt díjak</0> <1> ↗</1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> Vissza ide:</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Jelenlegi ára:</0> <1> <2 /></1> <3>{0} per {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Engedélyezze az Uniswap protokollnak a(z) {0} használatát"
msgid "Allowed"
msgstr "Engedélyezve"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Megengedett csúszás"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Összeg"
@@ -280,6 +280,10 @@ msgstr "Legalább {0} {1} és {2} {3} visszatérítésre kerül a pénztárcáj
msgid "Auto"
msgstr "Auto"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Automatikus útválasztó"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Letétbe helyezhető: {0}"
@@ -343,6 +347,10 @@ msgstr "Változtassa meg a hálózatát, hogy visszatérjen az L1-re"
msgid "Charts"
msgstr "Grafikonok"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Ellenőrizze a hálózat állapotát"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Nézze meg a v3 LP használati és migrációs útmutatókat."
@@ -484,6 +492,8 @@ msgstr "Tranzakció megerősítése a pénztárcájában"
msgid "Confirm transaction in wallet"
msgstr "A tranzakció megerősítése a pénztárcában"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Csatlakozzon egy pénztárcához a V2 likviditás megtekintéséhez."
msgid "Connect to a wallet to view your liquidity."
msgstr "Csatlakozzon egy pénztárcához a likviditás megtekintéséhez."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Pénztárca csatlakoztatása"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Csatlakoztatva: {name}"
@@ -660,10 +665,6 @@ msgstr "Részletes"
msgid "Details"
msgstr "Részletek"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Multihopok letiltása"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Kapcsolat bontása"
@@ -757,6 +758,10 @@ msgstr "Végrehajtott"
msgid "Expanded results from inactive Token Lists"
msgstr "Az inaktív tokenlisták kibővített eredményei"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Szakértői mód"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "A szakértői mód kikapcsolja a tranzakció megerősítését, és lehetővé teszi a nagy csúszásmentes kereskedéseket, amelyek gyakran rossz arányokat és elvesztett forrásokat eredményeznek.\n"
@@ -815,11 +820,8 @@ msgstr "Elrejt"
msgid "High Price Impact"
msgstr "Magas árhatás"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Megértem"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Értem"
@@ -878,10 +880,6 @@ msgstr "Metamask telepítése"
msgid "Insufficient liquidity for this trade."
msgstr "Nincs elegendő likviditás ehhez a kereskedéshez."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Nincs elegendő likviditás ehhez a kereskedéshez. Próbálja meg engedélyezni a multi-hop kereskedéseket."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1018,6 +1016,10 @@ msgstr "Max:"
msgid "Maximum sent"
msgstr "Maximum elküldve"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Menü"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1068,6 +1070,10 @@ msgstr "Minimum beérkezett"
msgid "More"
msgstr "Több"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Hálózati figyelmeztetés"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Új pozíció"
@@ -1377,20 +1383,12 @@ msgstr "{0}/{1} V3 likviditás eltávolítása"
msgid "Removing {0} {1} and {2} {3}"
msgstr "{0} {1} és {2} {3} eltávolítása"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Kizárólag a közvetlen párokra korlátozza a swapokat."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Visszatérés"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Útvonal"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Név keresése vagy cím beillesztése"
@@ -1458,7 +1456,6 @@ msgid "Simple"
msgstr "Egyszerű"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Csúszási tolerancia"
@@ -1596,6 +1593,10 @@ msgstr "Ezt a készletet inicializálni kell a likviditás növelése előtt. Az
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "{0} on kell inicializálni, mielőtt hozzáadhatná a likviditást. Az inicializáláshoz válassza ki a készlet kikiáltási árát. Ezután adja meg likviditási ártartományát és betéti összegét."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Ez az útvonal optimalizálja az árát, figyelembe véve a megosztott útvonalakat, a több ugrást és a gázköltségeket."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Ez a token nem jelenik meg az aktív tokenek listájában. Győződjön meg arról, hogy ez az a token, amelyet kereskedni szeretne."
@@ -1627,10 +1628,6 @@ msgstr "-nak/-nek"
msgid "To (at least)"
msgstr "(Legalább)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Szakértő módbe átpcsolása"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Tokenek"
@@ -1655,6 +1652,15 @@ msgstr "Összesen letétbe helyezett"
msgid "Total deposits"
msgstr "Összes letét"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Kereskedelmi útvonal"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "tranzakció részletek"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Tranzakció beállítások"
@@ -1805,10 +1811,18 @@ msgstr "Delegálás frissítése"
msgid "Update list"
msgstr "Lista frissítése"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Használja az Uniswap Labs API -t, hogy hatékonyabb útvonalon jobb árakat kapjon."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Felhasználó"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "A V2 nem érhető el a 2. rétegben. Váltás az 1. réteg Ethereumra."
@@ -1817,7 +1831,7 @@ msgstr "A V2 nem érhető el a 2. rétegben. Váltás az 1. réteg Ethereumra."
msgid "V2 liquidity"
msgstr "V2 likviditás"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1882,6 +1896,11 @@ msgstr "Szavazat a(z) {proposalId} javaslat ellen"
msgid "Vote for proposal {proposalId}"
msgstr "Szavazat a(z) {proposalId} mellett"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Szavazzon a tartózkodásra a {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "A szavazás befejeződött {0}"
@@ -1981,6 +2000,10 @@ msgstr "Nincs elég szavazata a javaslat benyújtásához"
msgid "You dont have liquidity in this pool yet."
msgstr "Ebben a poolban még nincs likviditása."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Lehet, hogy elvesztette a hálózati kapcsolatot."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2114,6 +2137,10 @@ msgstr "{0}"
msgid "has socks emoji"
msgstr "zokni emoji"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "itt."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // vagy ipfs: // vagy ENS név"
@@ -2280,6 +2307,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} token"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} jelenleg nem működik, vagy megszakadt a hálózati kapcsolat."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: id_ID\n"
"Language-Team: Indonesian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: id\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: id\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Indonesian\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Suara"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Analisis akun dan biaya yang masih harus dibayar</0><1>↗</1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Kembali ke</0>V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0>Harga Saat Ini:</0> <1><2/></1> <3>{0} per {1}</3>"
@@ -109,7 +105,7 @@ msgstr "<0>Kiat:</0> Menghapus token pool akan mengubah posisi Anda kembali ke t
#: src/pages/CreateProposal/index.tsx
msgid "<0>Tip:</0> Select an action and describe your proposal for the community. The proposal cannot be modified after submission, so please verify all information before submitting. The voting period will begin immediately and last for 7 days. To propose a custom action, <1>read the docs</1>."
msgstr "<0>Kiat:</0> Pilih tindakan dan jelaskan proposal Anda untuk komunitas. Proposal tidak dapat diubah setelah pengiriman, jadi harap verifikasi semua informasi sebelum mengirimkan. Periode pemungutan suara akan segera dimulai dan berlangsung selama 7 hari. Untuk mengusulkan tindakan khusus, <1>baca dokumen</1> ."
msgstr "<0>Kiat:</0> Pilih tindakan dan jelaskan proposal Anda untuk komunitas. Proposal tidak dapat diubah setelah dikirimkan, jadi harap verifikasi semua informasi sebelum dikirm. Periode pemungutan suara akan segera dimulai dan berlangsung selama 7 hari. Untuk mengusulkan tindakan khusus, <1>baca dokumen</1>."
#: src/pages/PoolFinder/index.tsx
msgid "<0>Tip:</0> Use this tool to find v2 pools that don't automatically appear in the interface."
@@ -129,7 +125,7 @@ msgstr "<0>🎉</0>Selamat datang di tim Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Ambang batas minimum 0,25% dari total pasokan UNI diperlukan untuk mengirimkan proposal"
msgstr "Memerlukan minimal 0,25% dari total pasokan UNI untuk mengirimkan proposal"
#: src/components/Menu/index.tsx
msgid "About"
@@ -220,13 +216,17 @@ msgstr "Izinkan Protokol Uniswap untuk menggunakan {0}"
msgid "Allowed"
msgstr "Diizinkan"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Slip yang Diizinkan"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Jumlah"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Terjadi kesalahan saat mencoba menjalankan swap ini. Anda mungkin perlu meningkatkan toleransi selip Anda. Jika itu tidak berhasil, mungkin ada ketidakcocokan dengan token yang Anda perdagangkan. Catatan: biaya transfer dan token rebase tidak sesuai dengan Uniswap V3."
msgstr "Terjadi kesalahan saat mengeksekusi swap ini. Anda mungkin memerlukan peningkatan toleransi slip Anda. Jika tidak berhasil, kemungkinan token yang anda perdagangkan tidak cocok. Catatan: biaya transfer token rebase tidak cocok dengan Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -280,6 +280,10 @@ msgstr "Setidaknya {0} {1} dan {2} {3} akan dikembalikan ke dompet Anda akibat r
msgid "Auto"
msgstr "Otomatis"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Router Otomatis"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Tersedia untuk disetor: {0}"
@@ -343,6 +347,10 @@ msgstr "Ubah jaringan Anda untuk kembali ke L1"
msgid "Charts"
msgstr "Grafik"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Periksa status jaringan"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Lihat panduan migrasi dan tutorial LP v3 kami."
@@ -484,6 +492,8 @@ msgstr "Konfirmasikan transaksi ini di dompet Anda"
msgid "Confirm transaction in wallet"
msgstr "Konfirmasi transaksi di dompet"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Hubungkan ke dompet untuk melihat likuiditas V2 Anda."
msgid "Connect to a wallet to view your liquidity."
msgstr "Hubungkan ke dompet untuk melihat likuiditas Anda."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Hubungkan dompet"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Terhubung dengan {name}"
@@ -660,10 +665,6 @@ msgstr "Terperinci"
msgid "Details"
msgstr "Perincian"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Nonaktifkan Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Putuskan"
@@ -690,7 +691,7 @@ msgstr "Token UNI yang diperoleh mewakili hak suara dalam pengaturan Uniswap."
#: src/components/FeeSelector/index.tsx
msgid "Edit"
msgstr "Sunting"
msgstr "Ubah"
#: src/pages/AddLiquidity/index.tsx
msgid "Efficiency Comparison"
@@ -757,6 +758,10 @@ msgstr "Dieksekusi"
msgid "Expanded results from inactive Token Lists"
msgstr "Hasil yang diperluas dari Daftar Token yang tidak aktif"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Mode ahli"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Mode ahli mematikan permintaan konfirmasi transaksi dan memungkinkan perdagangan dengan slippage tinggi yang sering kali menimbulkan suku bunga yang buruk dan hilangnya dana."
@@ -796,7 +801,7 @@ msgstr "Dari (paling banyak)"
#: src/components/RangeSelector/PresetsButtons.tsx
msgid "Full Range"
msgstr "Lengkap"
msgstr "Rentang Penuh"
#: src/pages/AddLiquidity/index.tsx
msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here</0>."
@@ -814,11 +819,8 @@ msgstr "Menyembunyikan"
msgid "High Price Impact"
msgstr "Dampak Harga Tinggi"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Saya mengerti"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Saya mengerti"
@@ -877,10 +879,6 @@ msgstr "Pasang Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Likuiditas tidak cukup untuk perdagangan ini."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Likuiditas tidak cukup untuk perdagangan ini. Coba aktifkan perdagangan multi-hop."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -929,11 +927,11 @@ msgstr "Pelajari tentang menyediakan likuiditas"
#: src/components/Header/NetworkCard.tsx
msgid "Learn more"
msgstr "Belajarlah lagi"
msgstr "Pelajari lebih lanjut"
#: src/components/Menu/index.tsx
msgid "Light Theme"
msgstr "Tema Cahaya"
msgstr "Tema Terang"
#: src/components/claim/ClaimModal.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -1017,6 +1015,10 @@ msgstr "Maks:"
msgid "Maximum sent"
msgstr "Maksimum dikirim"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Menu"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimum diterima"
msgid "More"
msgstr "Lebih"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Peringatan Jaringan"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Posisi baru"
@@ -1094,7 +1100,7 @@ msgstr "Tidak ada kolam yang ditemukan."
#: src/components/vote/ProposalEmptyState.tsx
msgid "No proposals found."
msgstr "Usulan tidak ditemukan."
msgstr "Proposal tidak ditemukan."
#: src/components/SearchModal/CurrencySearch.tsx
msgid "No results found."
@@ -1150,7 +1156,7 @@ msgstr "Optimis Etherscan"
#: src/components/Header/NetworkCard.tsx
msgid "Optimistic L2 Gateway"
msgstr "Gerbang L2 yang Optimis"
msgstr "Optimis L2 Gateway"
#: src/components/Badge/RangeBadge.tsx
msgid "Out of range"
@@ -1187,7 +1193,7 @@ msgstr "Konfirmasikan bahwa Anda ingin menghapus daftar ini dengan mengetik HAPU
#: src/components/vote/ProposalEmptyState.tsx
msgid "Please connect to Layer 1 Ethereum"
msgstr "Silakan terhubung ke Layer 1 Ethereum"
msgstr "Silakan hubungkan ke Layer 1 Ethereum"
#: src/components/WalletModal/index.tsx
msgid "Please connect to the appropriate Ethereum network."
@@ -1273,7 +1279,7 @@ msgstr "Harga dan bagian pool"
#: src/pages/CreateProposal/ProposalEditor.tsx
msgid "Proposal"
msgstr "Usul"
msgstr "Proposal"
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Proposal Submitted"
@@ -1289,7 +1295,7 @@ msgstr "Usulan"
#: src/components/vote/ProposalEmptyState.tsx
msgid "Proposals submitted by community members will appear here."
msgstr "Usulan yang diajukan oleh anggota komunitas akan muncul di sini."
msgstr "Proposal yang diajukan oleh anggota komunitas akan muncul di sini."
#: src/pages/CreateProposal/ProposalActionSelector.tsx
msgid "Proposed Action"
@@ -1301,7 +1307,7 @@ msgstr "Pengusul"
#: src/pages/Vote/styled.tsx
msgid "Queued"
msgstr "antri"
msgstr "Mengantri"
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
msgid "Rates"
@@ -1376,20 +1382,12 @@ msgstr "Hapus {0}/{1} likuiditas V3"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Menghapus {0} {1} dan {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Membatasi swap hanya untuk pasangan langsung."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Kembali"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Rute"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Cari nama atau tempel alamat"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Sederhana"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Toleransi slip"
@@ -1479,7 +1476,7 @@ msgstr "Langkah 1. Dapatkan token Likuiditas UNI-V2"
#: src/state/governance/hooks.ts
msgid "Submitted new proposal"
msgstr "Usulan baru yang diajukan"
msgstr "Proposal baru diajukan"
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Submitting Proposal"
@@ -1495,7 +1492,7 @@ msgstr "Berhasil"
#: src/components/TransactionConfirmationModal/index.tsx
msgid "Success"
msgstr "Kesuksesan"
msgstr "Berhasil"
#: src/pages/AddLiquidityV2/index.tsx
msgid "Supply"
@@ -1532,7 +1529,7 @@ msgstr "Terima kasih telah menjadi bagian dari komunitas Uniswap <0/>"
#: src/components/FeeSelector/index.tsx
msgid "The % you will earn in fees."
msgstr "% yang akan Anda peroleh dalam biaya."
msgstr "% yang akan Anda peroleh dalam bentuk biaya."
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."
@@ -1552,7 +1549,7 @@ msgstr "Token output tidak dapat ditransfer. Mungkin ada masalah dengan token ou
#: src/hooks/useSwapCallback.ts
msgid "The output token cannot be transferred. There may be an issue with the output token. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Token keluaran tidak dapat ditransfer. Mungkin ada masalah dengan token keluaran. Catatan: biaya transfer dan token rebase tidak sesuai dengan Uniswap V3."
msgstr "Output token tidak dapat ditransfer. Mungkin ada masalah dengan output token. Catatan: biaya transfer dan token rebase tidak sesuai dengan Uniswap V3."
#: src/components/Badge/RangeBadge.tsx
msgid "The price of this pool is outside of your selected range. Your position is not currently earning fees."
@@ -1581,19 +1578,23 @@ msgstr "Token ini biasanya dipasangkan dengan token lain."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "This is an alpha release of Uniswap on the {0} network."
msgstr "Ini adalah rilis alfa Uniswap di jaringan {0}"
msgstr "Ini adalah rilisan alpha dari Uniswap pada jaringan {0}."
#: src/components/NetworkAlert/NetworkAlert.tsx
msgid "This is an alpha release of Uniswap on the {0} network. You must bridge L1 assets to the network to swap them."
msgstr "Ini adalah rilis alfa Uniswap di jaringan {0} Anda harus menjembatani aset L1 ke jaringan untuk menukarnya."
msgstr "Ini adalah rilisan alpha dari Uniswap pada jaringan {0}. Anda harus menjembatani aset L1 ke jaringan untuk menukarnya."
#: src/pages/AddLiquidity/index.tsx
msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction."
msgstr "Kumpulan ini harus diinisialisasi sebelum Anda dapat menambahkan likuiditas. Untuk menginisialisasi, pilih harga awal untuk kumpulan. Kemudian, masukkan kisaran harga likuiditas dan jumlah deposit Anda. Biaya gas akan lebih tinggi dari biasanya karena transaksi inisialisasi."
msgstr "Pool ini harus diinisialisasi sebelum Anda dapat menambahkan likuiditas. Untuk menginisialisasi, pilih harga awal untuk pool. Kemudian, masukkan kisaran harga likuiditas dan jumlah deposit Anda. Biaya gas akan lebih tinggi dari biasanya karena transaksi inisialisasi."
#: src/pages/AddLiquidity/index.tsx
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Kumpulan ini harus diinisialisasi pada {0} sebelum Anda dapat menambahkan likuiditas. Untuk menginisialisasi, pilih harga awal untuk kumpulan. Kemudian, masukkan kisaran harga likuiditas dan jumlah deposit Anda."
msgstr "Pool ini harus diinisialisasi pada {0} sebelum Anda dapat menambahkan likuiditas. Untuk menginisialisasi, pilih harga awal untuk kumpulan. Kemudian, masukkan kisaran harga likuiditas dan jumlah deposit Anda."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Rute ini mengoptimalkan harga Anda dengan mempertimbangkan rute terpisah, beberapa lompatan, dan biaya bahan bakar."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
@@ -1626,10 +1627,6 @@ msgstr "Untuk"
msgid "To (at least)"
msgstr "Untuk (setidaknya)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Beralih Mode Pakar"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Token"
@@ -1654,6 +1651,15 @@ msgstr "Total deposit"
msgid "Total deposits"
msgstr "Jumlah simpanan"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Rute Perdagangan"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Detil transaksi"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Pengaturan Transaksi"
@@ -1670,7 +1676,7 @@ msgstr "Transaksi Dikirim"
#: src/components/TransactionConfirmationModal/index.tsx
msgid "Transaction completed in"
msgstr "Transaksi selesai di"
msgstr "Transaksi selesai pada"
#: src/components/TransactionSettings/index.tsx
msgid "Transaction deadline"
@@ -1731,7 +1737,7 @@ msgstr "Tidak diklaim:"
#: src/pages/Vote/styled.tsx
msgid "Undetermined"
msgstr "Yg tak dpt ditentukan"
msgstr "Tidak dapat ditentukan"
#: src/pages/Vote/index.tsx
msgid "Uniswap Governance"
@@ -1804,10 +1810,18 @@ msgstr "Perbarui Delegasi"
msgid "Update list"
msgstr "Perbarui daftar"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Gunakan Uniswap Labs API untuk mendapatkan harga yang lebih baik melalui rute yang lebih efisien."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Pengguna"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 tidak tersedia di Layer 2. Beralih ke Layer 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 tidak tersedia di Layer 2. Beralih ke Layer 1 Ethereum."
msgid "V2 liquidity"
msgstr "Likuiditas V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Beri suara melawan usulan {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Beri suara untuk usulan {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Pilih untuk abstain pada proposal {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Voting berakhir {0}"
@@ -1980,6 +1999,10 @@ msgstr "Anda tidak memiliki cukup suara untuk mengirimkan proposal"
msgid "You dont have liquidity in this pool yet."
msgstr "Anda belum memiliki likuiditas di pool ini."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Anda mungkin kehilangan koneksi jaringan."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "untuk {0}"
msgid "has socks emoji"
msgstr "memiliki emoji kaus kaki"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "di sini."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https:// atau ipfs:// atau nama ENS"
@@ -2248,11 +2275,11 @@ msgstr "{0}%"
#: src/components/FeeSelector/index.tsx
msgid "{0}% fee tier"
msgstr "tingkat biaya {0}"
msgstr "tingkat biaya {0}%"
#: src/components/FeeSelector/index.tsx
msgid "{0}% select"
msgstr "{0}% pilih"
msgstr "{0}% memilih"
#: src/pages/Earn/Manage.tsx
msgid "{0}-{1} Liquidity Mining"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} token"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} mungkin sedang down sekarang, atau Anda mungkin kehilangan koneksi jaringan Anda."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: it_IT\n"
"Language-Team: Italian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: it\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: it\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Italian\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Voti"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Analisi account e commissioni maturate</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Torna a</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0>Prezzo attuale:</0> <1><2/></1> <3>{0} per {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Permetti al Protocollo Uniswap di utilizzare il tuo {0}"
msgid "Allowed"
msgstr "Consentito"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Slittamento consentito"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Importo"
@@ -280,6 +280,10 @@ msgstr "Almeno {0} {1} e {2} {3} saranno rimborsati al tuo portafoglio a causa d
msgid "Auto"
msgstr "Automatico"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Router automatico"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Disponibile per il deposito: {0}"
@@ -343,6 +347,10 @@ msgstr "Cambia la tua rete per tornare a L1"
msgid "Charts"
msgstr "Grafici"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Controlla lo stato della rete"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Scopri le nostre guide di passaggio v3 LP e di migrazione."
@@ -484,6 +492,8 @@ msgstr "Conferma questa transazione nel tuo portafoglio"
msgid "Confirm transaction in wallet"
msgstr "Conferma transazione nel portafoglio"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Connettiti a un portafoglio per visualizzare la tua liquidità V2."
msgid "Connect to a wallet to view your liquidity."
msgstr "Connettiti a un portafoglio per visualizzare la tua liquidità."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Collega portafoglio"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Connesso con {name}"
@@ -660,10 +665,6 @@ msgstr "Dettagliato"
msgid "Details"
msgstr "Dettagli"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Disabilita Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Disconnessione"
@@ -757,6 +758,10 @@ msgstr "Eseguito"
msgid "Expanded results from inactive Token Lists"
msgstr "Risultati espansi dalle liste Token inattive"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Modalità esperto"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "La modalità Esperto disattiva il prompt delle transazioni di conferma e permette operazioni ad alto slittamento che spesso si traducono in cattive tariffe e fondi persi."
@@ -814,11 +819,8 @@ msgstr "Nascondere"
msgid "High Price Impact"
msgstr "Impatto Ad Alto Prezzo"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Capisco"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Capisco"
@@ -877,10 +879,6 @@ msgstr "Installa Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Liquidità insufficiente per questa operazione."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Liquidità insufficiente per questo scambio. Prova ad abilitare le operazioni multi-hop."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Max:"
msgid "Maximum sent"
msgstr "Massimo inviato"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Menù"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimo ricevuto"
msgid "More"
msgstr "Altro"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Avviso di rete"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Nuova Posizione"
@@ -1376,20 +1382,12 @@ msgstr "Rimuovi {0}/{1} V3 liquidità"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Rimozione di {0} {1} e {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Limita gli swap solo alle coppie dirette."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Ritorno"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Itinerario"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Cerca nome o incolla indirizzo"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Semplice"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Tolleranza allo slittamento"
@@ -1595,6 +1592,10 @@ msgstr "Questo pool deve essere inizializzato prima di poter aggiungere liquidit
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Questo pool deve essere inizializzato su {0} prima di poter aggiungere liquidità. Per inizializzare, seleziona un prezzo di partenza per il pool. Quindi, inserisci la tua fascia di prezzo della liquidità e l'importo del deposito."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Questo percorso ottimizza il tuo prezzo considerando percorsi divisi, più luppoli e costi del gas."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Questo token non viene visualizzato negli elenchi di token attivi. Assicurati che questo sia il token che vuoi scambiare."
@@ -1626,10 +1627,6 @@ msgstr "A"
msgid "To (at least)"
msgstr "A (almeno)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Attiva/Disattiva Modalità Esperto"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Token"
@@ -1654,6 +1651,15 @@ msgstr "Totale depositato"
msgid "Total deposits"
msgstr "Depositi totali"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Rotta commerciale"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Dettagli di Transazione"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Impostazioni della transazione"
@@ -1804,10 +1810,18 @@ msgstr "Aggiorna la delega"
msgid "Update list"
msgstr "Aggiorna elenco"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Usa l'API di Uniswap Labs per ottenere prezzi migliori attraverso un percorso più efficiente."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Utente"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 non è disponibile su Layer 2. Passa a Layer 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 non è disponibile su Layer 2. Passa a Layer 1 Ethereum."
msgid "V2 liquidity"
msgstr "Liquidità V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Vota contro la proposta {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Vota la proposta {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Vota per l'astensione sulla proposta {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Votazione terminata {0}"
@@ -1980,6 +1999,10 @@ msgstr "Non hai abbastanza voti per inviare una proposta"
msgid "You dont have liquidity in this pool yet."
msgstr "Non hai ancora liquidità in questo pool."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Potresti aver perso la connessione di rete."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "per {0}"
msgid "has socks emoji"
msgstr "ha le emoji dei calzini"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "qui."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // o ipfs: // o nome ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} gettoni"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} potrebbe essere inattivo in questo momento o potresti aver perso la connessione di rete."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: ja_JP\n"
"Language-Team: Japanese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: ja\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: ja\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Japanese\n"
"PO-Revision-Date: 2021-08-03 12:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/>投票"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>アカウント分析と発生した手数料</0><1>↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "V3に<0>戻る</0>"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0>現在の価格:</0><1><2/></1><3>{0} / {1}</3>"
@@ -220,6 +216,10 @@ msgstr "{0} の使用をUniswapに許可する"
msgid "Allowed"
msgstr "許可"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "許可されたスリッページ"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "数量"
@@ -280,6 +280,10 @@ msgstr "少なくとも {0} の {1} と {2} の {3} は設定した価格範囲
msgid "Auto"
msgstr "自動"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "自動ルーター"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "預け入れ可能: {0}"
@@ -343,6 +347,10 @@ msgstr "ネットワークを変更してL1に戻ります"
msgid "Charts"
msgstr "チャート"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "ネットワークステータスを確認する"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "V3の流動性と移行ガイドをご覧ください。"
@@ -484,6 +492,8 @@ msgstr "ウォレットで取引を確認する"
msgid "Confirm transaction in wallet"
msgstr "ウォレットで取引を確認する"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "ウォレットに接続してV2の流動性を確認します。"
msgid "Connect to a wallet to view your liquidity."
msgstr "ウォレットに接続して流動性を確認します。"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "ウォレットに接続"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "{name} と接続しました"
@@ -660,10 +665,6 @@ msgstr "詳細"
msgid "Details"
msgstr "詳細"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "マルチホップの無効化"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "接続を解除"
@@ -757,6 +758,10 @@ msgstr "実行済"
msgid "Expanded results from inactive Token Lists"
msgstr "あなたが利用していないトークンリストからの検索結果"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "エキスパートモード"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "エキスパートモードは取引確認画面をスキップし、不利な価格や資金を失う可能性のある高スリッページ取引を許可します。"
@@ -814,11 +819,8 @@ msgstr "非表示"
msgid "High Price Impact"
msgstr "大きな価格への影響"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "理解しました"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "理解しました"
@@ -877,10 +879,6 @@ msgstr "メタマスクのインストール"
msgid "Insufficient liquidity for this trade."
msgstr "流動性が不足しているため、取引できません。"
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "流動性が不足しているため、取引できません。マルチホップ取引を有効にしてください。"
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "最大:"
msgid "Maximum sent"
msgstr "最大売却数"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "メニュー"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "最小購入数"
msgid "More"
msgstr "もっと見る"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "ネットワーク警告"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "新しいポジション"
@@ -1376,20 +1382,12 @@ msgstr "{0}/{1} V3流動性を削除"
msgid "Removing {0} {1} and {2} {3}"
msgstr "{0} {1} と {2} {3} を解除中"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "スワップをダイレクトペアのみに制限します。"
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "戻る"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "取引ルート"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "トークン名またはアドレス"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "シンプル"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "スリッページの許容範囲"
@@ -1595,6 +1592,10 @@ msgstr "流動性を追加する前に、このプールを初期化する必要
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "流動性を追加する前に {0} に初期化する必要があります。初期化するには、プールの開始価格を選択します。次に、流動性の価格帯と預金額を入力します。"
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "このルートは、分割ルート、複数のホップ、およびガスのコストを考慮して価格を最適化します。"
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "このトークンはご利用中のトークンリストに存在しません。取引したいトークンであることを確認してください。"
@@ -1626,10 +1627,6 @@ msgstr "買うトークン"
msgid "To (at least)"
msgstr "買うトークン(少なくとも)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "エキスパートモード"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "トークン"
@@ -1654,6 +1651,15 @@ msgstr "合計預入数量"
msgid "Total deposits"
msgstr "合計預入額"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "交易路"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "取引の詳細"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "取引設定"
@@ -1804,10 +1810,18 @@ msgstr "委任を更新"
msgid "Update list"
msgstr "リストを更新"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Uniswap Labs APIを使用して、より効率的なルートでより良い価格を取得します。"
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "ユーザー"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2はレイヤー2では使用できません。イーサリアムのレイヤー1に切り替えてください。"
@@ -1816,7 +1830,7 @@ msgstr "V2はレイヤー2では使用できません。イーサリアムのレ
msgid "V2 liquidity"
msgstr "V2の流動性"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "提案 {proposalId} に反対票を入れる"
msgid "Vote for proposal {proposalId}"
msgstr "提案 {proposalId} に賛成票を入れる"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "{proposalId}を棄権するために投票する"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "{0} に投票は終了しました"
@@ -1980,6 +1999,10 @@ msgstr "提案を提出するのに十分な票がありません"
msgid "You dont have liquidity in this pool yet."
msgstr "プールにはまだ流動性がありません。"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "ネットワーク接続が失われた可能性があります。"
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "賛成 {0}"
msgid "has socks emoji"
msgstr "靴下の絵文字があります"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "ここ。"
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https://、ipfs://またはENS名"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} トークン"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} が現在ダウンしているか、ネットワーク接続が失われている可能性があります。"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: ko_KR\n"
"Language-Team: Korean\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: ko\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: ko\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Korean\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> 투표"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0> 계정 분석 및 발생 수수료</0> <1> ↗</1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> 돌아가기</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> 현재 가격 :</0> <1> <2 /></1> <3>{0} 당 {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Uniswap 프로토콜이 귀하의 {0}을(를) 사용하도록 허용"
msgid "Allowed"
msgstr "허용됨"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "허용된 미끄러짐"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "금액"
@@ -280,6 +280,10 @@ msgstr "선택한 가격 범위로 인해 최소 {0} {1} 및 {2} {3} 이 지갑
msgid "Auto"
msgstr "자동"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "자동 라우터"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "입금 가능 : {0}"
@@ -343,6 +347,10 @@ msgstr "L1로 돌아가도록 네트워크 변경"
msgid "Charts"
msgstr "차트"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "네트워크 상태 확인"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "v3 LP 연습 및 마이그레이션 가이드를 확인하세요."
@@ -484,6 +492,8 @@ msgstr "지갑에서 이 거래를 확인하세요"
msgid "Confirm transaction in wallet"
msgstr "지갑에서 거래 확인"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "V2 유동성을 보려면 지갑에 연결하십시오."
msgid "Connect to a wallet to view your liquidity."
msgstr "유동성을 보려면 지갑에 연결하십시오."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "지갑 연결"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "{name}와(과) 연결됨"
@@ -660,10 +665,6 @@ msgstr "자세히"
msgid "Details"
msgstr "세부 정보"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "멀티 홉 비활성화"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "연결 해제"
@@ -757,6 +758,10 @@ msgstr "실행"
msgid "Expanded results from inactive Token Lists"
msgstr "비활성 토큰 목록에서 확장된 결과"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "전문가 모드"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "전문가 모드를 사용하면 거래 확인창이 꺼지고 안 좋은 요율과 자금 손실을 초래하는 높은 슬리피지 거래를 허용할 수 있습니다."
@@ -814,11 +819,8 @@ msgstr "숨는 장소"
msgid "High Price Impact"
msgstr "높은 가격 영향"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "이해 했어요"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "알겠습니다"
@@ -877,10 +879,6 @@ msgstr "메타 마스크 설치"
msgid "Insufficient liquidity for this trade."
msgstr "이 거래에 대한 유동성이 충분하지 않습니다."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "이 거래에 대한 유동성이 충분하지 않습니다. 멀티 홉 거래를 활성화하십시오."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "최대 :"
msgid "Maximum sent"
msgstr "최대 이체"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "메뉴"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "최소 수령됨"
msgid "More"
msgstr "추가"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "네트워크 경고"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "새로운 위치"
@@ -1376,20 +1382,12 @@ msgstr "{0}/{1} V3 유동성 제거"
msgid "Removing {0} {1} and {2} {3}"
msgstr "{0} {1} 및 {2} {3} 제거 중"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "스왑을 직접 쌍으로만 제한합니다."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "반환"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "경로"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "이름 검색 또는 주소 붙여 넣기"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "단순한"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "슬리피지 허용 오차"
@@ -1595,6 +1592,10 @@ msgstr "유동성을 추가하려면 이 풀을 초기화해야 합니다. 초
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "유동성을 추가하려면 이 풀을 {0} 초기화하려면 풀의 시작 가격을 선택하십시오. 그런 다음 유동성 가격 범위와 예금 금액을 입력하십시오."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "이 경로는 분할 경로, 다중 홉 및 가스 비용을 고려하여 가격을 최적화합니다."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "이 토큰은 활성 토큰 목록에 표시되지 않습니다. 이것이 거래하려는 토큰인지 확인하십시오."
@@ -1626,10 +1627,6 @@ msgstr "스왑 후"
msgid "To (at least)"
msgstr "스왑 후(최소)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "전문가 모드 전환"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "토큰"
@@ -1654,6 +1651,15 @@ msgstr "총 입금"
msgid "Total deposits"
msgstr "총 입금"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "무역로"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "상세 거래 내역"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "거래 설정"
@@ -1804,10 +1810,18 @@ msgstr "위임 업데이트"
msgid "Update list"
msgstr "목록 업데이트"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Uniswap Labs API를 사용하여 보다 효율적인 경로를 통해 더 나은 가격을 얻으십시오."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "사용자"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2는 레이어 2에서 사용할 수 없습니다. 레이어 1 이더 리움으로 전환합니다."
@@ -1816,7 +1830,7 @@ msgstr "V2는 레이어 2에서 사용할 수 없습니다. 레이어 1 이더
msgid "V2 liquidity"
msgstr "V2 유동성"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "{proposalId} 제안에 반대 투표"
msgid "Vote for proposal {proposalId}"
msgstr "{proposalId} 제안에 투표"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "{proposalId}에 대한 기권 투표"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "투표 종료 {0}"
@@ -1980,6 +1999,10 @@ msgstr "제안서를 제출할 수있는 표가 충분하지 않습니다."
msgid "You dont have liquidity in this pool yet."
msgstr "아직 이 풀에 유동성이 없습니다."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "네트워크 연결이 끊어졌을 수 있습니다."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "{0}에 찬성"
msgid "has socks emoji"
msgstr "양말 이모티콘 있음"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "여기."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https:// 또는 ipfs:// 또는 ENS 이름"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} 토큰"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} 이 지금 다운되었거나 네트워크 연결이 끊어졌을 수 있습니다."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: nl_NL\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: nl\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: nl\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Dutch\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Stemmen"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Account analyse en opgebouwde vergoedingen </0><1>↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Terug naar</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0>Huidige prijs:</0> <1><2/></1> <3>{0} per {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Sta het Uniswap Protocol toe om uw {0} te gebruiken"
msgid "Allowed"
msgstr "Toegestaan"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Toegestane slip"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Bedrag"
@@ -280,6 +280,10 @@ msgstr "Tenminste {0} {1} en {2} {3} zullen worden teruggestort naar uw portemon
msgid "Auto"
msgstr "Automatisch"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Automatische router"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Beschikbaar om te storten: {0}"
@@ -343,6 +347,10 @@ msgstr "Wijzig uw netwerk om terug te gaan naar L1"
msgid "Charts"
msgstr "Grafieken"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Controleer netwerkstatus"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Bekijk onze v3 LP handleidingen en migratiegidsen."
@@ -484,6 +492,8 @@ msgstr "Bevestig deze transactie in uw portemonnee"
msgid "Confirm transaction in wallet"
msgstr "Bevestig transactie in portemonnee"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Maak verbinding met een portemonnee om uw V2 liquiditeit te bekijken."
msgid "Connect to a wallet to view your liquidity."
msgstr "Maak verbinding met een portemonnee om uw liquiditeit te bekijken."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Verbind portemonnee"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Verbonden met {name}"
@@ -660,10 +665,6 @@ msgstr "Gedetailleerd"
msgid "Details"
msgstr "Details"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Multihops uitschakelen"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Verbinding verbreken"
@@ -757,6 +758,10 @@ msgstr "Uitgevoerd"
msgid "Expanded results from inactive Token Lists"
msgstr "Uitgebreide resultaten van inactieve tokenlijsten"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Expert modus"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "In de Expertmodus wordt de prompt voor het bevestigen van de transactie uitgeschakeld en hoge slippage-verhandelingen, die vaak leiden tot slechte tarieven en verloren geld, toegestaan."
@@ -814,11 +819,8 @@ msgstr "Zich verstoppen"
msgid "High Price Impact"
msgstr "Hoge prijsimpact"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Ik begrijp het"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Ik begrijp het"
@@ -877,10 +879,6 @@ msgstr "Metamask installeren"
msgid "Insufficient liquidity for this trade."
msgstr "Onvoldoende liquiditeit voor deze transactie."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Onvoldoende liquiditeit voor deze transactie. Probeer multi-hop-transacties in te schakelen."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Max:"
msgid "Maximum sent"
msgstr "Maximaal verzonden"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Menu"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimum ontvangen"
msgid "More"
msgstr "Meer"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Netwerkwaarschuwing"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Nieuwe positie"
@@ -1376,20 +1382,12 @@ msgstr "Verwijder {0}/{1} V3 liquiditeit"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Verwijderen van {0} {1} en {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Beperkt swaps alleen tot directe paren."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Terug"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Route"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Zoek naam of plak adres"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Eenvoudig"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Slippage tolerantie"
@@ -1595,6 +1592,10 @@ msgstr "Deze pool moet worden geïnitialiseerd voordat u liquiditeit kunt toevoe
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Deze pool moet worden geïnitialiseerd op {0} voordat u liquiditeit kunt toevoegen. Selecteer een startprijs voor het zwembad om te initialiseren. Voer vervolgens uw liquiditeitsprijsbereik en stortingsbedrag in."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Deze route optimaliseert uw prijs door rekening te houden met gesplitste routes, meerdere hops en gaskosten."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Deze token wordt niet weergegeven op de actieve tokenlijst(en). Zorg ervoor dat dit de token is die u wilt verhandelen."
@@ -1626,10 +1627,6 @@ msgstr "Naar"
msgid "To (at least)"
msgstr "Naar (ten minste)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Schakel Expertmodus in"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Tokens"
@@ -1654,6 +1651,15 @@ msgstr "Totaal gestort"
msgid "Total deposits"
msgstr "Totale stortingen"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Handelsroute"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "transactie details"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Transactie-instellingen"
@@ -1804,10 +1810,18 @@ msgstr "Werk delegatie bij"
msgid "Update list"
msgstr "Lijst bijwerken"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Gebruik de Uniswap Labs API om betere prijzen te krijgen via een efficiëntere route."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Gebruiker"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 is niet beschikbaar op Layer 2. Schakel over naar Layer 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 is niet beschikbaar op Layer 2. Schakel over naar Layer 1 Ethereum."
msgid "V2 liquidity"
msgstr "V2-liquiditeit"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Stem tegen voorstel {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Stem op voorstel {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Stem onthouding op voorstel {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Stemmen beëindigd {0}"
@@ -1980,6 +1999,10 @@ msgstr "Je hebt niet genoeg stemmen om een voorstel in te dienen"
msgid "You dont have liquidity in this pool yet."
msgstr "U heeft nog geen liquiditeit in deze pool."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Mogelijk bent u uw netwerkverbinding kwijtgeraakt."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "voor {0}"
msgid "has socks emoji"
msgstr "heeft sokken emoji"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "hier."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // of ipfs: // of ENS-naam"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} tokens"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} is op dit moment mogelijk niet beschikbaar of u bent uw netwerkverbinding kwijtgeraakt."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: no_NO\n"
"Language-Team: Norwegian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: no\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: no\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Norwegian\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Stemmer"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Konto-analyser og påløpte avgifter</0><1> :up-″: </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Tilbake til</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Gjeldende pris:</0> <1> <2 /></1> <3>{0} per {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Tillat Uniswap-protokollen å bruke din {0}"
msgid "Allowed"
msgstr "Tillatt"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Tillatt glidning"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Beløp"
@@ -280,6 +280,10 @@ msgstr "Minst {0} {1} og {2} {3} vil bli refundert til lommeboken på grunn av v
msgid "Auto"
msgstr "Auto"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Auto ruter"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Tilgjengelig for innskudd: {0}"
@@ -343,6 +347,10 @@ msgstr "Bytt nettverk for å gå tilbake til L1"
msgid "Charts"
msgstr "Diagrammer"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Sjekk nettverksstatus"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Sjekk ut våre v3 LP-gjennomgangs- og migrasjonsguider."
@@ -484,6 +492,8 @@ msgstr "Bekreft denne transaksjonen i lommeboken din"
msgid "Confirm transaction in wallet"
msgstr "Bekreft transaksjonen i lommeboken"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Koble til en lommebok for å se V2-likviditeten."
msgid "Connect to a wallet to view your liquidity."
msgstr "Koble til en lommebok for å se innholdet ditt."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Koble til lommebok"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Koblet til med {name}"
@@ -660,10 +665,6 @@ msgstr "Detaljert"
msgid "Details"
msgstr "Detaljer"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Deaktiver multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Frakoble"
@@ -757,6 +758,10 @@ msgstr "Henrettet"
msgid "Expanded results from inactive Token Lists"
msgstr "Ekspanderte resultater fra inaktive pollettlister"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Ekspert modus"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Ekspertmodus deaktiverer ledeteksten for transaksjonen og gir mulighet for høy glidehandel som ofte resulterer i dårlige priser og tapte midler."
@@ -814,11 +819,8 @@ msgstr "Gjemme seg"
msgid "High Price Impact"
msgstr "Høy pris konsekvens"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Jeg forstår"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Jeg forstår"
@@ -877,10 +879,6 @@ msgstr "Installer metamaske"
msgid "Insufficient liquidity for this trade."
msgstr "Utilstrekkelig likviditet for denne handelen."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Utilstrekkelig likviditet for denne handelen. Prøv å aktivere multihop-handler."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Maks:"
msgid "Maximum sent"
msgstr "Maksimum sendt"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Meny"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimum mottatt"
msgid "More"
msgstr "Mer"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Advarsel om nettverk"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Ny posisjon"
@@ -1376,20 +1382,12 @@ msgstr "Fjerne {0}/{1} V3-likviditet"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Fjerner {0} {1} og {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Begrenset byttebytte til bare direkte par par."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Retur"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Rute"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Søk navn eller lim inn adresse"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Enkel"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Toleranse for sammenføyning"
@@ -1595,6 +1592,10 @@ msgstr "Dette bassenget må initialiseres før du kan tilføre likviditet. For
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Dette bassenget må initialiseres {0} før du kan tilføre likviditet. For å initialisere, velg en startpris for bassenget. Deretter angir du likviditetsprisklasse og innskuddsbeløp."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Denne ruten optimaliserer prisen ved å vurdere delte ruter, flere hopp og bensinkostnader."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Denne polletten vises ikke på den / de aktive pollettlistene. Forsikre deg om at dette er polletten du vil handle."
@@ -1626,10 +1627,6 @@ msgstr "Til"
msgid "To (at least)"
msgstr "Til (minst)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Bytte ekspertmodus"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Polletter"
@@ -1654,6 +1651,15 @@ msgstr "Totalt avsatt"
msgid "Total deposits"
msgstr "Totale innskudd"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Handelsrute"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Transaksjonsdetaljer"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Transaksjonsinnstillinger"
@@ -1804,10 +1810,18 @@ msgstr "Oppdater delegasjon"
msgid "Update list"
msgstr "Oppdater liste"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Bruk Uniswap Labs API for å få bedre priser gjennom en mer effektiv rute."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Bruker"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 er ikke tilgjengelig på lag 2. Bytt til lag 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 er ikke tilgjengelig på lag 2. Bytt til lag 1 Ethereum."
msgid "V2 liquidity"
msgstr "V2-likviditet"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Stem mot forslag {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Stem på forslag {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Stem for å avstå fra forslag {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Stemmegivningen avsluttet {0}"
@@ -1980,6 +1999,10 @@ msgstr "Du har ikke nok stemmer til å sende inn et forslag"
msgid "You dont have liquidity in this pool yet."
msgstr "Du har ikke likviditet i denne potten ennå."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Du kan ha mistet nettverkstilkoblingen."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "for {0}"
msgid "has socks emoji"
msgstr "har sokker emoji"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "her."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // eller ipfs: // eller ENS-navn"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} poletter"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} kan være nede akkurat nå, eller du kan ha mistet nettverkstilkoblingen."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider} %"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: pl_PL\n"
"Language-Team: Polish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: pl\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: pl\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Polish\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/>Głosów"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Analiza konta i naliczone opłaty</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Powrót do</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0>Aktualna cena:</0> <1><2/></1> <3>{0} na {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Zezwól protokołowi Uniswap na używanie {0}"
msgid "Allowed"
msgstr "Dozwolone"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Dozwolony poślizg"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Kwota"
@@ -280,6 +280,10 @@ msgstr "Co najmniej {0} {1} i {2} {3} zostaną zwrócone do twojego portfela z p
msgid "Auto"
msgstr "Auto"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Automatyczny router"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Dostępne do wpłaty: {0}"
@@ -343,6 +347,10 @@ msgstr "Zmień sieć, aby wrócić do L1"
msgid "Charts"
msgstr "Wykresy"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Sprawdź stan sieci"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Zapoznaj się z naszym przewodnikiem po wersji 3 LP i przewodnikami migracji."
@@ -484,6 +492,8 @@ msgstr "Potwierdź tę transakcję w swoim portfelu"
msgid "Confirm transaction in wallet"
msgstr "Potwierdź transakcję w portfelu"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Połącz się z portfelem, aby zobaczyć płynność V2."
msgid "Connect to a wallet to view your liquidity."
msgstr "Połącz się z portfelem, aby zobaczyć płynność."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Połącz portfel"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Połączony z {name}"
@@ -660,10 +665,6 @@ msgstr "Szczegółowy"
msgid "Details"
msgstr "Szczegóły"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Wyłącz chmiel"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Rozłącz"
@@ -757,6 +758,10 @@ msgstr "Wykonany"
msgid "Expanded results from inactive Token Lists"
msgstr "Rozszerzone wyniki z nieaktywnych list tokenów"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Tryb ekspercki"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Tryb ekspercki wyłącza monit potwierdzania transakcji i umożliwia transakcje o wysokim poślizgu, które często skutkują złymi stawkami i straconymi środkami."
@@ -814,11 +819,8 @@ msgstr "Ukryć"
msgid "High Price Impact"
msgstr "Wpływ Wysokiej Ceny"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Rozumiem"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Rozumiem"
@@ -877,10 +879,6 @@ msgstr "Zainstaluj Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Niewystarczająca płynność na tę transakcję."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Niewystarczająca płynność dla tej transakcji. Spróbuj włączyć transakcje z wieloma skokami."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Maks.:"
msgid "Maximum sent"
msgstr "Maksymalna wysłana"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Menu"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Otrzymane minimum"
msgid "More"
msgstr "Więcej"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Ostrzeżenie sieciowe"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Nowa pozycja"
@@ -1376,20 +1382,12 @@ msgstr "Usuń płynność {0}/{1} V3"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Usuwanie {0} {1} i {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Ogranicza swapy tylko do par bezpośrednich."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Powrót"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Trasa"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Wyszukaj nazwę lub wklej adres"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Prosty"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Tolerancja poślizgu"
@@ -1595,6 +1592,10 @@ msgstr "Ta pula musi zostać zainicjowana, zanim będzie można dodać płynnoś
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Ta pula musi zostać zainicjowana na {0} zanim będzie można dodać płynność. Aby zainicjować, wybierz cenę wywoławczą dla puli. Następnie wprowadź zakres cen płynności i kwotę depozytu."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Ta trasa optymalizuje cenę, biorąc pod uwagę podzielone trasy, wiele przeskoków i koszty gazu."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Ten token nie pojawia się na aktywnych listach tokenów. Upewnij się, że jest to token, którym chcesz handlować."
@@ -1626,10 +1627,6 @@ msgstr "Do"
msgid "To (at least)"
msgstr "Co najmniej do"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Przełącz tryb eksperta"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Tokeny"
@@ -1654,6 +1651,15 @@ msgstr "Całkowita wpłata"
msgid "Total deposits"
msgstr "Depozyty ogółem"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Szlak handlowy"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "szczegóły transakcji"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Ustawienia transakcji"
@@ -1804,10 +1810,18 @@ msgstr "Zaktualizuj delegację"
msgid "Update list"
msgstr "Aktualizuj listę"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Skorzystaj z interfejsu API Uniswap Labs, aby uzyskać lepsze ceny dzięki bardziej wydajnej trasie."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Użytkownik"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "Wersja 2 nie jest dostępna w warstwie 2. Przełącz się na warstwę 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "Wersja 2 nie jest dostępna w warstwie 2. Przełącz się na warstwę 1
msgid "V2 liquidity"
msgstr "V2 płynność"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Głosuj przeciwko wnioskowi {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Głosuj na propozycję {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Głosuj za wstrzymaniem się od propozycji {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Głosowanie zakończyło się {0}"
@@ -1980,6 +1999,10 @@ msgstr "Nie masz wystarczającej liczby głosów, aby przesłać propozycję"
msgid "You dont have liquidity in this pool yet."
msgstr "Nie masz jeszcze płynności w tej puli."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Możliwe, że utraciłeś połączenie sieciowe."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "dla {0}"
msgid "has socks emoji"
msgstr "ma emoji skarpetki"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "tutaj."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // lub ipfs: // lub nazwa ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} tokenów"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} może być w tej chwili nieaktywne lub możesz utracić połączenie sieciowe."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: pt_BR\n"
"Language-Team: Portuguese, Brazilian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: pt\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: pt-BR\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Portuguese, Brazilian\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Votos"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Análise de contas e taxas acumuladas</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> Voltar para</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Preço atual:</0> <1> <2 /></1> <3>{0} por {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Permitir que o Protocolo Uniswap utilize seu {0}"
msgid "Allowed"
msgstr "Permitido"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Deslizamento permitido"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Valor"
@@ -280,6 +280,10 @@ msgstr "Pelo menos {0} {1} e {2} {3} serão reembolsados na sua carteira, devido
msgid "Auto"
msgstr "Automático"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Auto Router"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Disponível para depósito: {0}"
@@ -343,6 +347,10 @@ msgstr "Mude sua rede para voltar para L1"
msgid "Charts"
msgstr "Gráficos"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Verifique o status da rede"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Confira nosso passo-a-passo e o guia de migração da V3 do LP."
@@ -484,6 +492,8 @@ msgstr "Confirmar esta operação na sua carteira"
msgid "Confirm transaction in wallet"
msgstr "Confirme a transação na carteira"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Conectar-se a uma carteira para ver sua Liquidez V2."
msgid "Connect to a wallet to view your liquidity."
msgstr "Conectar-se a uma carteira para ver sua liquidez."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Conectar-se à carteira"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Conectado a {name}"
@@ -660,10 +665,6 @@ msgstr "Detalhado"
msgid "Details"
msgstr "Detalhes"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Desabilitar o Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Desconectar"
@@ -757,6 +758,10 @@ msgstr "Executado"
msgid "Expanded results from inactive Token Lists"
msgstr "Resultados ampliados de Listas de Tokens inativas"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Modo especialista"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "O modo Expert desativa o prompt de confirmação da operação e permite negociações com altas taxas de discrepância, que muitas vezes resultam em taxas ruins e perda de fundos."
@@ -814,11 +819,8 @@ msgstr "Esconder"
msgid "High Price Impact"
msgstr "Impacto de preços altos"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Eu entendo"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Entendi"
@@ -877,10 +879,6 @@ msgstr "Instalar o Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Liquidez insuficiente para esta negociação."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Liquidez insuficiente para esta negociação. Tente habilitar negociações tipo multi-hop."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Máx:"
msgid "Maximum sent"
msgstr "Máximo enviado"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Cardápio"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Mínimo recebido"
msgid "More"
msgstr "Mais"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Aviso de rede"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Nova Posição"
@@ -1376,20 +1382,12 @@ msgstr "Remover liquidez V3 de {0}/{1}"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Removendo {0} {1} e {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Restringir a conversão somente aos pares diretos."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Voltar"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Rota"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Pesquise o nome ou cole o endereço"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Simples"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Tolerância a discrepâncias"
@@ -1595,6 +1592,10 @@ msgstr "Este pool deve ser inicializado antes que você possa adicionar liquidez
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Este pool deve ser inicializado em {0} antes que você possa adicionar liquidez. Para inicializar, selecione um preço inicial para o pool. Em seguida, insira sua faixa de preço de liquidez e o valor do depósito."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Esta rota otimiza seu preço considerando rotas divididas, vários saltos e custos de gás."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Este token não figura na(s) lista(s) de tokens ativos. Certifique-se de que este é o tokens que você pretende negociar."
@@ -1626,10 +1627,6 @@ msgstr "Para"
msgid "To (at least)"
msgstr "Para (pelo menos)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Alternar para o Modo Expert"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Tokens"
@@ -1654,6 +1651,15 @@ msgstr "Total depositado"
msgid "Total deposits"
msgstr "Total dos depósitos"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Rota comercial"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Detalhes da transação"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Configurações das operações"
@@ -1804,10 +1810,18 @@ msgstr "Atualizar Delegação"
msgid "Update list"
msgstr "Atualizar lista"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Use a API Uniswap Labs para obter melhores preços por meio de uma rota mais eficiente."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Usuário"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 não está disponível na camada 2. Alterne para a camada 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 não está disponível na camada 2. Alterne para a camada 1 Ethereum.
msgid "V2 liquidity"
msgstr "Liquidez V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Vote contra a proposta {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Votar na proposta {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Vote para se abster na proposta {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Votação encerrada {0}"
@@ -1980,6 +1999,10 @@ msgstr "Você não tem votos suficientes para enviar uma proposta"
msgid "You dont have liquidity in this pool yet."
msgstr "Você ainda não tem liquidez neste lote."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Você pode ter perdido sua conexão de rede."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "para {0}"
msgid "has socks emoji"
msgstr "tem emoji de meias"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "aqui."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https: // ou ipfs: // ou nome ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} tokens"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} pode estar desativado agora ou você pode ter perdido a conexão com a rede."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: pt_PT\n"
"Language-Team: Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: pt\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: pt-PT\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Portuguese\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Votos"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Análise da conta e comissões acumuladas</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> Voltar para</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Preço atual:</0> <1> <2 /></1> <3>{0} por {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Permitir que o Protocolo Uniswap use o seu {0}"
msgid "Allowed"
msgstr "Permitido"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Deslizamento permitido"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Quantia"
@@ -280,6 +280,10 @@ msgstr "Pelo menos {0} {1} e {2} {3} serão reembolsados para a sua carteira dev
msgid "Auto"
msgstr "Automático"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Auto Router"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Disponível para depositar: {0}"
@@ -343,6 +347,10 @@ msgstr "Mude sua rede para voltar para L1"
msgid "Charts"
msgstr "Tabelas"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Verifique o status da rede"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Consulte os nossos guias passo-a-passo v3 LP e guias de migração."
@@ -484,6 +492,8 @@ msgstr "Confirmar esta transação na sua carteira"
msgid "Confirm transaction in wallet"
msgstr "Confirme a transação na carteira"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Ligar a uma carteira para ver a sua liquidez V2."
msgid "Connect to a wallet to view your liquidity."
msgstr "Ligar a uma carteira para ver sua liquidez."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Ligar carteira"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Ligado com {name}"
@@ -660,10 +665,6 @@ msgstr "Detalhada"
msgid "Details"
msgstr "Detalhes"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Desativar Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Desligar"
@@ -757,6 +758,10 @@ msgstr "Executado"
msgid "Expanded results from inactive Token Lists"
msgstr "Resultados expandidos da lista de tokens inativos"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Modo especialista"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "O modo Especialista desativa o pedido de confirmação de transação e permite negociações de deslizamento elevado que muitas vezes resultam em taxas más e perda de fundos."
@@ -814,11 +819,8 @@ msgstr "Esconder"
msgid "High Price Impact"
msgstr "Impacto de preço elevado"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Eu entendo"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Eu compreendo"
@@ -877,10 +879,6 @@ msgstr "Instalar Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Liquidez insuficiente para esta troca."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Liquidez insuficiente para esta troca. Tente ativar trocas multi-salto."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Máx:"
msgid "Maximum sent"
msgstr "Máximo enviado"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Cardápio"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Mínimo recebido"
msgid "More"
msgstr "Mais"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Aviso de rede"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Nova Posição"
@@ -1376,20 +1382,12 @@ msgstr "Remover {0}/{1} liquidez V3"
msgid "Removing {0} {1} and {2} {3}"
msgstr "A remover {0} {1} e {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Restringe trocas apenas para pares diretos."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Voltar"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Rota"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Pesquisar nome ou colar endereço"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Simples"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Tolerância de Deslizamento"
@@ -1595,6 +1592,10 @@ msgstr "Este pool deve ser inicializado antes que você possa adicionar liquidez
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Este pool deve ser inicializado em {0} antes que você possa adicionar liquidez. Para inicializar, selecione um preço inicial para o pool. Em seguida, insira sua faixa de preço de liquidez e o valor do depósito."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Esta rota otimiza seu preço considerando rotas divididas, vários saltos e custos de gás."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Este token não aparece na(s) lista(s) de tokens ativos. Certifique-se que este é o token que deseja negociar."
@@ -1626,10 +1627,6 @@ msgstr "Para"
msgid "To (at least)"
msgstr "Para (no mínimo)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Ativar/Desativar Modo Especialista"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Tokens"
@@ -1654,6 +1651,15 @@ msgstr "Total depositado"
msgid "Total deposits"
msgstr "Total de depósitos"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Rota comercial"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Detalhes da transação"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Configurações de transação"
@@ -1804,10 +1810,18 @@ msgstr "Atualizar Delegação"
msgid "Update list"
msgstr "Atualizar lista"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Use a API Uniswap Labs para obter melhores preços por meio de uma rota mais eficiente."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Utilizador"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 não está disponível na camada 2. Alterne para a camada 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 não está disponível na camada 2. Alterne para a camada 1 Ethereum.
msgid "V2 liquidity"
msgstr "Liquidez V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Votar contra a proposta {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Votar a favor da proposta {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Vote para se abster na proposta {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Votação terminada {0}"
@@ -1980,6 +1999,10 @@ msgstr "Você não tem votos suficientes para enviar uma proposta"
msgid "You dont have liquidity in this pool yet."
msgstr "Ainda não tem liquidez nesta pool."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Você pode ter perdido sua conexão de rede."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "para {0}"
msgid "has socks emoji"
msgstr "tem meias emojis"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "aqui."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https:// ou ipfs:// ou nome ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} tokens"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} pode estar desativado agora ou você pode ter perdido a conexão com a rede."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: ro_RO\n"
"Language-Team: Romanian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: ro\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: ro\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Romanian\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "Voturi <0/>"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Statisticile contului și comisioane acumulate</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> Înapoi la</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Preț curent:</0> <1> <2 /></1> <3>{0} pe {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Permite Protocolului Uniswap să îți utilizeze {0}"
msgid "Allowed"
msgstr "Permis"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Glisare permisă"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Sumă"
@@ -280,6 +280,10 @@ msgstr "Cel puțin {0} {1} și {2} {3} vor fi rambursați în portofelul tău da
msgid "Auto"
msgstr "Automat"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Router auto"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Disponibil pentru depunere: {0}"
@@ -343,6 +347,10 @@ msgstr "Schimbați-vă rețeaua pentru a reveni la L1"
msgid "Charts"
msgstr "Diagramele"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Verificați starea rețelei"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Vezi ghicurile noastre v3 LP de utilizare și migrare."
@@ -484,6 +492,8 @@ msgstr "Confirmă această tranzacție în portofelul tău"
msgid "Confirm transaction in wallet"
msgstr "Confirmați tranzacția în portofel"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Conectează-te la un portofel pentru a vizualiza lichiditatea V2 a ta."
msgid "Connect to a wallet to view your liquidity."
msgstr "Conectează-te la un portofel pentru a vizualiza lichiditatea ta."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Conectare la portofel"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Conectat cu {name}"
@@ -660,10 +665,6 @@ msgstr "Detaliat"
msgid "Details"
msgstr "Detalii"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Dezactivează Multihops"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Deconectare"
@@ -757,6 +758,10 @@ msgstr "Executat"
msgid "Expanded results from inactive Token Lists"
msgstr "Rezultate extinse din Listele de Jetoane/Grupuri inactive"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Modul expert"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Modul Expert dezactivează prompt tranzacția de confirmare și permite tranzacțiile cu derapaj ridicat, care duc adesea la rate nefavorabile și la pierderi de fonduri."
@@ -814,11 +819,8 @@ msgstr "Ascunde"
msgid "High Price Impact"
msgstr "Impact Preț Ridicat"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Înțeleg"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Înţeleg"
@@ -877,10 +879,6 @@ msgstr "Instalează Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Lichiditate insuficientă pentru această tranzacție."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Lichiditate insuficientă pentru această tranzacție. Încearcă să permiți tranzacțiile multi-hop."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Max:"
msgid "Maximum sent"
msgstr "Maximum trimis"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Meniul"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimum primit"
msgid "More"
msgstr "Mai mult"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Avertisment rețea"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Poziție nouă"
@@ -1376,20 +1382,12 @@ msgstr "Elimină lichiditățile V3 {0}/{1}"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Se elimină {0} {1} și {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Restricționează rocadele doar la perechi directe."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Întoarcere"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Traseu"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Caută nume sau lipește adresa"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Simplu"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Toleranță derapaj"
@@ -1595,6 +1592,10 @@ msgstr "Acest pool trebuie inițializat înainte de a putea adăuga lichidităț
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Acest pool trebuie inițializat la {0} înainte de a putea adăuga lichiditate. Pentru a inițializa, selectați un preț de pornire pentru piscină. Apoi, introduceți intervalul de preț al lichidității și suma depozitului."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Această rută vă optimizează prețul luând în considerare traseele împărțite, hameiul multiplu și costurile cu benzina."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Acest jeton nu apare pe lista (listele) de jetoane active. Asigură-te că acesta este jetonul pe care vrei să îl tranzacționezi."
@@ -1626,10 +1627,6 @@ msgstr "La"
msgid "To (at least)"
msgstr "La (cel puțin)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Comută pe Modul Expert"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Jetoane"
@@ -1654,6 +1651,15 @@ msgstr "Total depozitat"
msgid "Total deposits"
msgstr "Depozite totale"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Rută comercială"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Detalii tranzacție"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Setări Tranzacție"
@@ -1804,10 +1810,18 @@ msgstr "Actualizează Delegarea"
msgid "Update list"
msgstr "Actualizare listă"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Utilizați API Uniswap Labs pentru a obține prețuri mai bune printr-un traseu mai eficient."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Utilizator"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 nu este disponibil în Layer 2. Treceți la Layer 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 nu este disponibil în Layer 2. Treceți la Layer 1 Ethereum."
msgid "V2 liquidity"
msgstr "Lichiditate V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Votează împotriva propunerii {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Votează pentru propunerea {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Votați pentru a vă abține la propunerea {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Votarea s-a încheiat {0}"
@@ -1980,6 +1999,10 @@ msgstr "Nu aveți suficiente voturi pentru a trimite o propunere"
msgid "You dont have liquidity in this pool yet."
msgstr "Încă nu ai lichidități în această rezervă."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Este posibil să fi pierdut conexiunea la rețea."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "pentru {0}"
msgid "has socks emoji"
msgstr "are emoji cu șosete"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "Aici."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https:// sau ipfs:// sau numele ENS"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} jetoane"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} să nu funcționeze chiar acum sau să vă fi pierdut conexiunea la rețea."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: ru_RU\n"
"Language-Team: Russian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: ru\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: ru\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Russian\n"
"PO-Revision-Date: 2021-08-02 19:04\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Голоса"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Аналитика по аккаунту и начисленные комиссии</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0> Вернуться к</0> V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Текущая цена:</0> <1> <2/></1> <3>{0} за {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Разрешить протоколу Uniswap использовать
msgid "Allowed"
msgstr "Разрешено"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Допустимое проскальзывание"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Сумма"
@@ -280,6 +280,10 @@ msgstr "Не менее {0} {1} и {2} {3} будут возвращены на
msgid "Auto"
msgstr "Авто"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Авто Маршрутизатор"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Доступно для внесения: {0}"
@@ -343,6 +347,10 @@ msgstr "Переключите сеть, чтобы вернуться к L1"
msgid "Charts"
msgstr "Графики"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Проверить статус сети"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Ознакомьтесь с нашими руководствами по предоставлению и переносу ликвидности в V3."
@@ -484,6 +492,8 @@ msgstr "Подтвердите эту транзакцию в своём кош
msgid "Confirm transaction in wallet"
msgstr "Подтвердите транзакцию в кошельке"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Подключите кошелёк, чтобы просмотреть
msgid "Connect to a wallet to view your liquidity."
msgstr "Подключите кошелёк, чтобы просмотреть вашу ликвидность."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Подключить кошелёк"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Подключено к {name}"
@@ -660,10 +665,6 @@ msgstr "Подробно"
msgid "Details"
msgstr "Подробности"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Без сложных маршрутов"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Отключить"
@@ -757,6 +758,10 @@ msgstr "Исполнено"
msgid "Expanded results from inactive Token Lists"
msgstr "Расширенные результаты из неактивных списков токенов"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Экспертный режим"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Экспертный режим отключает экран подтверждения транзакции и позволяет совершать сделки с большим проскальзыванием, что часто приводит к плохим обменным курсам и потере средств."
@@ -814,11 +819,8 @@ msgstr "Скрыть"
msgid "High Price Impact"
msgstr "Высокое влияние на цену"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Я понимаю"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Я понимаю"
@@ -877,10 +879,6 @@ msgstr "Установить MetaMask"
msgid "Insufficient liquidity for this trade."
msgstr "Недостаточно ликвидности для этой сделки."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Недостаточно ликвидности для этой сделки. Попробуйте активировать сложные маршруты."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Макс.:"
msgid "Maximum sent"
msgstr "Максимально к отправлению"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Меню"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Минимум к получению"
msgid "More"
msgstr "Ещё"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Предупреждение сети"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Новая позиция"
@@ -1376,20 +1382,12 @@ msgstr "Удалить ликвидность {0}/{1} из V3"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Удаление {0} {1} и {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Производить обмен только через прямые пары."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Назад"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Маршрут"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Найдите по имени или вставьте адрес"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Простой"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Допустимое проскальзывание"
@@ -1595,6 +1592,10 @@ msgstr "Этот пул необходимо инициализировать,
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Этот пул необходимо инициализировать в {0}, прежде чем вы сможете добавить ликвидность. Для инициализации выберите начальную цену для пула. Затем введите диапазон цен для ликвидности и сумму депозита."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Этот маршрут оптимизирует вашу цену, учитывая разделенные маршруты, несколько участков и стоимость газа."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Этот токен не входит в активные списки токенов. Убедитесь, что это действительно тот токен, которым вы хотите торговать."
@@ -1626,10 +1627,6 @@ msgstr "На токены"
msgid "To (at least)"
msgstr "На токены (минимум)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Экспертный режим"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Токены"
@@ -1654,6 +1651,15 @@ msgstr "Всего внесено"
msgid "Total deposits"
msgstr "Всего внесено"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Торговый путь"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Детали транзакции"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Настройки транзакций"
@@ -1804,10 +1810,18 @@ msgstr "Обновить делегирование"
msgid "Update list"
msgstr "Обновить список"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Используйте API Uniswap Labs, чтобы получить более выгодную цену за счет более эффективного маршрута."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Пользователь"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 недоступна на 2-м уровне. Переключитесь на Ethereum 1-го уровня."
@@ -1816,7 +1830,7 @@ msgstr "V2 недоступна на 2-м уровне. Переключитес
msgid "V2 liquidity"
msgstr "Ликвидность в V2"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Проголосовать против предложения {proposal
msgid "Vote for proposal {proposalId}"
msgstr "Проголосовать за предложение {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Воздержаться при голосовании по предложению {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Голосование закончилось {0}"
@@ -1980,6 +1999,10 @@ msgstr "У вас недостаточно голосов для внесени
msgid "You dont have liquidity in this pool yet."
msgstr "У вас пока нет ликвидности в этом пуле."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Возможно, вы потеряли сетевое соединение."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "за {0}"
msgid "has socks emoji"
msgstr "имеет эмодзи с носками"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "здесь."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https:// или ipfs:// или ENS-имя"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} токенов"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} может быть отключен прямо сейчас, или вы могли потерять сетевое соединение."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: sr_SP\n"
"Language-Team: Serbian (Cyrillic)\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: sr\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: sr\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Serbian (Cyrillic)\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Гласови"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0> Аналитика рачуна и обрачунате накнаде</0> <1> ↗</1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Назад на </0>В3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Тренутна цена:</0> <1> <2 /></1> <3>{0} по {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Дозволите Uniswap протоколу да користи ваш
msgid "Allowed"
msgstr "Дозвољен"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Дозвољено клизање"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Износ"
@@ -280,6 +280,10 @@ msgstr "Најмање {0} {1} и {2} {3} ће бити враћени у ваш
msgid "Auto"
msgstr "Аutomatski"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Ауто Роутер"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Доступно за депозит: {0}"
@@ -343,6 +347,10 @@ msgstr "Промените мрежу да бисте се вратили на
msgid "Charts"
msgstr "Графикони"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Проверите статус мреже"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Погледајте наше водиче за v3 LP и водиче за миграцију."
@@ -484,6 +492,8 @@ msgstr "Потврдите ову трансакцију у новчанику"
msgid "Confirm transaction in wallet"
msgstr "Потврдите трансакцију у новчанику"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Повежите се са новчаником да бисте виде
msgid "Connect to a wallet to view your liquidity."
msgstr "Повежите се са новчаником да бисте видели своју ликвидност."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Повежите новчаник"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Повезано са {name}"
@@ -660,10 +665,6 @@ msgstr "Детаљно"
msgid "Details"
msgstr "Детаљи"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Онемогући Мултихоп"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Прекини везу"
@@ -757,6 +758,10 @@ msgstr "Погубљен"
msgid "Expanded results from inactive Token Lists"
msgstr "Проширени резултати са неактивних листа токена"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Режим стручњака"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Експертни режим искључује упит за потврду трансакције и омогућава велике клизне трансакције које често резултирају лошим стопама и изгубљеним новчаним средствима."
@@ -814,11 +819,8 @@ msgstr "Сакрити"
msgid "High Price Impact"
msgstr "Утицај високе цене"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Разумем"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "разумем"
@@ -877,10 +879,6 @@ msgstr "Инсталирајте Метамаск"
msgid "Insufficient liquidity for this trade."
msgstr "Недовољна ликвидност за ову трговину."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Недовољна ликвидност за ову трговину. Покушајте да омогућите мултихоп трговине."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Макс:"
msgid "Maximum sent"
msgstr "Максимално послато"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Мени"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Минимално примљено"
msgid "More"
msgstr "Више"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Упозорење на мрежу"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Нова позиција"
@@ -1376,20 +1382,12 @@ msgstr "Уклони {0}/{1} V3 ликвидност"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Уклањање {0} {1} и {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Ограничава замене само на директне парове."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Повратак"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Рута"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Претражите име или налепите адресу"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Једноставно"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Клизна толеранција"
@@ -1595,6 +1592,10 @@ msgstr "Овај фонд мора бити иницијализован да б
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Овај фонд мора бити иницијализован на {0} да бисте могли да додате ликвидност. Да бисте иницијализирали, одаберите почетну цену за базен. Затим унесите опсег цена ликвидности и износ депозита."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Ова рута оптимизује вашу цену узимајући у обзир подељене руте, више прескакања и трошкове гаса."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Овај токен се не појављује на листи активних токена. Уверите се да је ово жетон којим желите да тргујете."
@@ -1626,10 +1627,6 @@ msgstr "До"
msgid "To (at least)"
msgstr "До (најмање)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Укључивање експертног режима"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Жетони"
@@ -1654,6 +1651,15 @@ msgstr "Укупно депоновано"
msgid "Total deposits"
msgstr "Укупни депозити"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Трговачка рута"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Детаљи трансакције"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Поставке трансакције"
@@ -1804,10 +1810,18 @@ msgstr "Ажурирање делегације"
msgid "Update list"
msgstr "Ажурирај листу"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Користите Унисвап Лабс АПИ да бисте добили боље цене путем ефикасније руте."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Корисник"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "В2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "В2 није доступан на слоју 2. Пребаците се на слој 1 Етхереум."
@@ -1816,7 +1830,7 @@ msgstr "В2 није доступан на слоју 2. Пребаците се
msgid "V2 liquidity"
msgstr "V2 ликвидност"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Гласајте против предлога {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Гласајте за предлог {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Гласајте за уздржавање по предлогу {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Гласање се завршило {0}"
@@ -1980,6 +1999,10 @@ msgstr "Немате довољно гласова за подношење пр
msgid "You dont have liquidity in this pool yet."
msgstr "Још увек немате ликвидност у овом фонду."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Можда сте изгубили мрежну везу."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "за {0}"
msgid "has socks emoji"
msgstr "има чарапе емоџи"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "овде."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https:// или ipfs:// или ENS име"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} жетона"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} тренутно у квару или сте изгубили мрежну везу."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

View File

@@ -1,20 +1,20 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
"Mime-Version: 1.0\n"
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-09-16 15:04\n"
"Last-Translator: \n"
"Language: sv_SE\n"
"Language-Team: Swedish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: sv\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: uniswap-interface\n"
"X-Crowdin-Project-ID: 458284\n"
"X-Crowdin-Language: sv-SE\n"
"X-Crowdin-File: en-US.po\n"
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Swedish\n"
"PO-Revision-Date: 2021-08-02 15:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -95,10 +95,6 @@ msgstr "<0/> Röster"
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Kontoanalys och upplupna avgifter</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "<0>Tillbaka till</0>V3"
#: src/pages/AddLiquidity/index.tsx
msgid "<0>Current Price:</0><1><2/></1><3>{0} per {1}</3>"
msgstr "<0> Nuvarande pris:</0> <1> <2 /></1> <3>{0} per {1}</3>"
@@ -220,6 +216,10 @@ msgstr "Tillåt Uniswap-protokollet att använda din {0}"
msgid "Allowed"
msgstr "Tillåten"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Allowed Slippage"
msgstr "Tillåten glidning"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "Belopp"
@@ -280,6 +280,10 @@ msgstr "Minst {0} {1} och {2} {3} kommer att återbetalas till din plånbok på
msgid "Auto"
msgstr "Automatiskt"
#: src/components/Settings/index.tsx
msgid "Auto Router"
msgstr "Automatisk router"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "Tillgänglig för insättning: {0}"
@@ -343,6 +347,10 @@ msgstr "Ändra ditt nätverk för att gå tillbaka till L1"
msgid "Charts"
msgstr "Diagram"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Check network status"
msgstr "Kontrollera nätverksstatus"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "Kolla in våra v3 LP-genomgångs och migrationsguider."
@@ -484,6 +492,8 @@ msgstr "Bekräfta transaktionen i din plånbok"
msgid "Confirm transaction in wallet"
msgstr "Bekräfta transaktionen i plånboken"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
#: src/pages/Swap/index.tsx
@@ -518,11 +528,6 @@ msgstr "Anslut till en plånbok för att visa din V2-likviditet."
msgid "Connect to a wallet to view your liquidity."
msgstr "Anslut till en plånbok för att visa din likviditet."
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "Anslut plånbok"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
msgstr "Ansluten med {name}"
@@ -660,10 +665,6 @@ msgstr "Detaljerad"
msgid "Details"
msgstr "Information"
#: src/components/Settings/index.tsx
msgid "Disable Multihops"
msgstr "Inaktivera multihopp"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Koppla från"
@@ -757,6 +758,10 @@ msgstr "Avrättade"
msgid "Expanded results from inactive Token Lists"
msgstr "Utökade resultat från inaktiva tokenlistor"
#: src/components/Settings/index.tsx
msgid "Expert Mode"
msgstr "Expertläge"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "Expertläget stänger av bekräftelsetransaktionen och tillåter handel med hög tolerrans som ofta resulterar i dåliga kurser och penningförluster."
@@ -814,11 +819,8 @@ msgstr "Dölj"
msgid "High Price Impact"
msgstr "Hög prispåverkan"
#: src/pages/AddLiquidity/index.tsx
msgid "I Understand"
msgstr "Jag förstår"
#: src/components/SearchModal/ImportList.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "I understand"
msgstr "Jag förstår"
@@ -877,10 +879,6 @@ msgstr "Installera Metamask"
msgid "Insufficient liquidity for this trade."
msgstr "Otillräcklig likviditet för denna handel."
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "Otillräcklig likviditet för den här handeln. Försök att aktivera multihopp handel."
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -1017,6 +1015,10 @@ msgstr "Högst:"
msgid "Maximum sent"
msgstr "Maximalt skickat"
#: src/components/Menu/index.tsx
msgid "Menu"
msgstr "Meny"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1067,6 +1069,10 @@ msgstr "Minimum mottaget"
msgid "More"
msgstr "Mer"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "Network Warning"
msgstr "Nätverksvarning"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "Ny position"
@@ -1376,20 +1382,12 @@ msgstr "Ta bort {0}/{1} V3-likviditet"
msgid "Removing {0} {1} and {2} {3}"
msgstr "Tar bort {0} {1} och {2} {3}"
#: src/components/Settings/index.tsx
msgid "Restricts swaps to direct pairs only."
msgstr "Begränsar byten till direkta par."
#: src/components/TransactionConfirmationModal/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
msgid "Return"
msgstr "Återgå"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Route"
msgstr "Sökväg"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "Sök namn eller klistra in adress"
@@ -1457,7 +1455,6 @@ msgid "Simple"
msgstr "Enkel"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr "Toleransmarginal"
@@ -1595,6 +1592,10 @@ msgstr "Denna pool måste initieras innan du kan lägga till likviditet. För at
msgid "This pool must be initialized on {0} before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount."
msgstr "Denna pool måste initieras den {0} innan du kan lägga till likviditet. För att initialisera, välj ett startpris för poolen. Ange sedan ditt likviditetsprisklass och insättningsbelopp."
#: src/components/swap/SwapRoute.tsx
msgid "This route optimizes your price by considering split routes, multiple hops, and gas costs."
msgstr "Denna rutt optimerar ditt pris genom att överväga delade rutter, flera hopp och bensinkostnader."
#: src/components/SearchModal/ImportToken.tsx
msgid "This token doesn't appear on the active token list(s). Make sure this is the token that you want to trade."
msgstr "Den här token visas inte i den eller de aktiva tokenlistorna. Se till att detta är den token som du vill handla med."
@@ -1626,10 +1627,6 @@ msgstr "Till"
msgid "To (at least)"
msgstr "Till (minst)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "Växla expertläge"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
msgstr "Tokens"
@@ -1654,6 +1651,15 @@ msgstr "Totalt insatt"
msgid "Total deposits"
msgstr "Summa insättningar"
#: src/components/swap/RouterLabel.tsx
msgid "Trade Route"
msgstr "Handelsväg"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Transaction Details"
msgstr "Transaktions Detaljer"
#: src/components/Settings/index.tsx
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
msgstr "Transaktionsinställningar"
@@ -1804,10 +1810,18 @@ msgstr "Uppdatera delegering"
msgid "Update list"
msgstr "Uppdatera lista"
#: src/components/Settings/index.tsx
msgid "Use the Uniswap Labs API to get better pricing through a more efficient route."
msgstr "Använd Uniswap Labs API för att få bättre priser genom en effektivare väg."
#: src/components/claim/ClaimModal.tsx
msgid "User"
msgstr "Användare"
#: src/components/swap/SwapRoute.tsx
msgid "V2"
msgstr "V2"
#: src/pages/Pool/v2.tsx
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
msgstr "V2 är inte tillgängligt i Layer 2. Byt till Layer 1 Ethereum."
@@ -1816,7 +1830,7 @@ msgstr "V2 är inte tillgängligt i Layer 2. Byt till Layer 1 Ethereum."
msgid "V2 liquidity"
msgstr "V2-likviditet"
#: src/pages/Swap/index.tsx
#: src/components/swap/SwapRoute.tsx
msgid "V3"
msgstr "V3"
@@ -1881,6 +1895,11 @@ msgstr "Rösta emot förslag {proposalId}"
msgid "Vote for proposal {proposalId}"
msgstr "Rösta för förslag {proposalId}"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "Vote to abstain on proposal {proposalId}"
msgstr "Rösta för att avstå från förslag {proposalId}"
#: src/pages/Vote/VotePage.tsx
msgid "Voting ended {0}"
msgstr "Röstningen avslutades {0}"
@@ -1980,6 +1999,10 @@ msgstr "Du har inte tillräckligt med röster för att skicka in ett förslag"
msgid "You dont have liquidity in this pool yet."
msgstr "Du har inte likviditet i denna pool ännu."
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "You may have lost your network connection."
msgstr "Du kan ha tappat din nätverksanslutning."
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
msgid "You must bridge L1 assets to the network to use them."
@@ -2113,6 +2136,10 @@ msgstr "för {0}"
msgid "has socks emoji"
msgstr "har socks emotikon"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "here."
msgstr "här."
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https:// eller ipfs:// eller ENS-namn"
@@ -2278,6 +2305,10 @@ msgstr "{USER_AMOUNT} UNI"
msgid "{activeTokensOnThisChain} tokens"
msgstr "{activeTokensOnThisChain} tokens"
#: src/components/Header/ChainConnectivityWarning.tsx
msgid "{label} may be down right now, or you may have lost your network connection."
msgstr "{label} kan vara nere just nu, eller så kan du ha tappat din nätverksanslutning."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{percentForSlider}%"
msgstr "{percentForSlider}%"

2327
src/locales/sw-KE.po Normal file

File diff suppressed because it is too large Load Diff

2327
src/locales/sw-TZ.po Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More