Compare commits
70 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99a282b7b4 | ||
|
|
5a3165358f | ||
|
|
26e334c78f | ||
|
|
bd8192c81e | ||
|
|
ff6bd38992 | ||
|
|
a48b7ce702 | ||
|
|
fc08d1fc6a | ||
|
|
b416603ff4 | ||
|
|
c4dc26e1b2 | ||
|
|
adfe7225a8 | ||
|
|
13e347ee02 | ||
|
|
b527bfbeea | ||
|
|
a25df00ef6 | ||
|
|
2446a6e88b | ||
|
|
3b3bf14e8a | ||
|
|
017e79f7ae | ||
|
|
804fe8f5ee | ||
|
|
bf01b0d342 | ||
|
|
f46f73f35f | ||
|
|
cad3575247 | ||
|
|
17aa9fcdb0 | ||
|
|
087745d7c6 | ||
|
|
20e6ca6fd5 | ||
|
|
d51b7e779b | ||
|
|
cfd0412d78 | ||
|
|
50afef03cb | ||
|
|
43b6e7abf4 | ||
|
|
64b9df8710 | ||
|
|
d75271484a | ||
|
|
952cc98df3 | ||
|
|
9b7637e012 | ||
|
|
a7f599127b | ||
|
|
676890d89c | ||
|
|
beb1bf3bdc | ||
|
|
631c202c49 | ||
|
|
491c9b4fd3 | ||
|
|
dcaed9094e | ||
|
|
8996ba6e38 | ||
|
|
c8570e5427 | ||
|
|
2806f6513a | ||
|
|
422c703e71 | ||
|
|
506493e8ab | ||
|
|
8dfd143208 | ||
|
|
718003b6f2 | ||
|
|
80b3aa9e61 | ||
|
|
4078390a48 | ||
|
|
e07599ef0f | ||
|
|
311bdc19b3 | ||
|
|
a6342d40f1 | ||
|
|
3686506f2a | ||
|
|
634d010d92 | ||
|
|
979f29ad62 | ||
|
|
4d3ed5d6ba | ||
|
|
ea79fbc2e0 | ||
|
|
4d19122bd2 | ||
|
|
13d7d2c992 | ||
|
|
02cf33e115 | ||
|
|
1f62cdf7a2 | ||
|
|
701e8fe116 | ||
|
|
3207e6026e | ||
|
|
b0d93dbc0e | ||
|
|
975a5e3434 | ||
|
|
07f52f02ff | ||
|
|
5f112611c8 | ||
|
|
1d82a4c71e | ||
|
|
6004c4be3e | ||
|
|
a00432c1c3 | ||
|
|
a184afa41e | ||
|
|
49fd256e79 | ||
|
|
c006edf696 |
@@ -1,3 +1,4 @@
|
||||
|
||||
# Contributing
|
||||
|
||||
Thank you for your interest in contributing to the Uniswap interface! 🦄
|
||||
@@ -23,6 +24,7 @@ makes large architectural changes, consider following all the standards.
|
||||
- Have at least one engineer approve of large code refactorings
|
||||
- At least manually test small code changes, prefer automated tests
|
||||
- Thoroughly unit test when code is not obviously correct
|
||||
- If something breaks, add automated tests so it doesn't break again
|
||||
- Add integration tests for new pages or flows
|
||||
- Verify that all CI checks pass before merging
|
||||
- Have at least one product manager or designer approve of significant UX changes
|
||||
@@ -42,6 +44,20 @@ The following points should help guide your development:
|
||||
- Accessibility: anyone can use the interface
|
||||
- The interface should be responsive, small and run well on low performance devices (majority of swaps on mobile!)
|
||||
|
||||
## Release process
|
||||
|
||||
Releases are cut automatically from the `main` branch Monday-Thursday in the morning according to the [release workflow](./.github/workflows/release.yaml).
|
||||
|
||||
Fix pull requests should be merged whenever ready and tested.
|
||||
If a fix is urgently needed in production, releases can be manually triggered on [GitHub](https://github.com/Uniswap/uniswap-interface/actions/workflows/release.yaml)
|
||||
after the fix is merged into `main`.
|
||||
|
||||
Features should not be merged into `main` until they are ready for users.
|
||||
When building larger features or collaborating with other developers, create a new branch from `main` to track its development.
|
||||
Use the automatic Vercel preview for sharing the feature to collect feedback.
|
||||
When the feature is ready for review, create a new pull request from the feature branch into `main` and request reviews from
|
||||
the appropriate UX reviewers (PMs or designers).
|
||||
|
||||
## Finding a first issue
|
||||
|
||||
Start with issues with the label
|
||||
@@ -49,13 +65,11 @@ Start with issues with the label
|
||||
|
||||
# Translations
|
||||
|
||||
Help Uniswap reach a global audience!
|
||||
Uniswap uses [Crowdin](https://crowdin.com/project/uniswap-interface) for managing translations.
|
||||
[This workflow](./.github/workflows/crowdin.yaml) uploads new strings for translation to the Crowdin project whenever code using the [lingui translation macros](https://lingui.js.org/ref/macro.html) is merged into `main`.
|
||||
|
||||
Uniswap uses [Crowdin](https://crowdin.com/project/uniswap-interface)
|
||||
for managing translations. Whenever a new string is added to the project,
|
||||
it gets uploaded to Crowdin for translation by [this workflow](./.github/workflows/crowdin.yaml).
|
||||
|
||||
Every hour, translations are synced from Crowdin to the repository in [this other workflow](./.github/workflows/crowdin-sync.yaml).
|
||||
Every hour, translations are synced back down from Crowdin to the repository in [this other workflow](./.github/workflows/crowdin-sync.yaml).
|
||||
We sync to the repository on a schedule, rather than download translations at build time, so that builds are always reproducible.
|
||||
|
||||
You can contribute by joining Crowdin to proofread existing translations [here](https://crowdin.com/project/uniswap-interface/invite?d=93i5n413q403t4g473p443o4c3t2g3s21343u2c3n403l4b3v2735353i4g4k4l4g453j4g4o4j4e4k4b323l4a3h463s4g453q443m4e3t2b303s2a35353l403o443v293e303k4g4n4r4g483i4g4r4j4e4o473i5n4a3t463t4o4)
|
||||
|
||||
|
||||
16
custom-test-env.js
Normal file
16
custom-test-env.js
Normal file
@@ -0,0 +1,16 @@
|
||||
// Custom test environment to provide `TextEncoder`/`TextDecoder`
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||
const Environment = require('jest-environment-jsdom')
|
||||
|
||||
module.exports = class CustomTestEnvironment extends Environment {
|
||||
async setup() {
|
||||
await super.setup()
|
||||
if (typeof this.global.TextEncoder === 'undefined') {
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||
const { TextEncoder, TextDecoder } = require('util')
|
||||
this.global.TextEncoder = TextEncoder
|
||||
this.global.TextDecoder = TextDecoder
|
||||
}
|
||||
}
|
||||
}
|
||||
22
package.json
22
package.json
@@ -4,7 +4,8 @@
|
||||
"homepage": ".",
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
"@ethersproject/experimental": "^5.2.0",
|
||||
"@ethersproject/experimental": "^5.4.0",
|
||||
"@gnosis.pm/safe-apps-web3-react": "^0.6.0",
|
||||
"@graphql-codegen/cli": "1.21.5",
|
||||
"@graphql-codegen/typescript": "1.22.3",
|
||||
"@graphql-codegen/typescript-operations": "^1.18.2",
|
||||
@@ -18,7 +19,9 @@
|
||||
"@reach/dialog": "^0.10.3",
|
||||
"@reach/portal": "^0.10.3",
|
||||
"@react-hook/window-scroll": "^1.3.0",
|
||||
"@reduxjs/toolkit": "^1.6.0",
|
||||
"@reduxjs/toolkit": "^1.6.1",
|
||||
"@testing-library/jest-dom": "^5.14.1",
|
||||
"@testing-library/react": "^12.0.0",
|
||||
"@typechain/ethers-v5": "^7.0.0",
|
||||
"@types/d3": "^6.7.1",
|
||||
"@types/jest": "^25.2.1",
|
||||
@@ -26,7 +29,6 @@
|
||||
"@types/lingui__macro": "^2.7.4",
|
||||
"@types/lingui__react": "^2.8.3",
|
||||
"@types/lodash.flatmap": "^4.5.6",
|
||||
"@types/lodash.inrange": "^3.3.6",
|
||||
"@types/luxon": "^1.24.4",
|
||||
"@types/ms.macro": "^2.0.0",
|
||||
"@types/multicodec": "^1.0.0",
|
||||
@@ -50,18 +52,19 @@
|
||||
"@uniswap/liquidity-staker": "^1.0.2",
|
||||
"@uniswap/merkle-distributor": "1.0.1",
|
||||
"@uniswap/token-lists": "^1.0.0-beta.25",
|
||||
"@uniswap/sdk-core": "^3.0.1",
|
||||
"@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.3.0",
|
||||
"@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/walletlink-connector": "^6.2.0",
|
||||
"@web3-react/walletlink-connector": "^6.2.3",
|
||||
"ajv": "^6.12.3",
|
||||
"cids": "^1.0.0",
|
||||
"copy-to-clipboard": "^3.2.0",
|
||||
@@ -73,13 +76,12 @@
|
||||
"eslint-plugin-prettier": "^3.1.3",
|
||||
"eslint-plugin-react": "^7.19.0",
|
||||
"eslint-plugin-react-hooks": "^4.0.0",
|
||||
"ethers": "^5.2.0",
|
||||
"ethers": "^5.4.0",
|
||||
"graphql": "^15.5.0",
|
||||
"graphql-request": "^3.4.0",
|
||||
"inter-ui": "^3.13.1",
|
||||
"lightweight-charts": "^3.3.0",
|
||||
"jest-styled-components": "^7.0.5",
|
||||
"lodash.flatmap": "^4.5.0",
|
||||
"lodash.inrange": "^3.3.6",
|
||||
"luxon": "^1.25.0",
|
||||
"ms.macro": "^2.0.0",
|
||||
"multicodec": "^3.0.1",
|
||||
@@ -123,7 +125,7 @@
|
||||
"workbox-strategies": "^6.1.0"
|
||||
},
|
||||
"resolutions": {
|
||||
"@walletconnect/web3-provider": "1.5.0-rc.5"
|
||||
"@walletconnect/web3-provider": "1.5.2"
|
||||
},
|
||||
"scripts": {
|
||||
"compile-contract-types": "yarn compile-external-abi-types && yarn compile-v3-contract-types",
|
||||
@@ -136,7 +138,7 @@
|
||||
"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=jsdom",
|
||||
"test": "react-scripts test --env=./custom-test-env.js",
|
||||
"prestart": "yarn graphql:generate && touch src/locales/en-US.po"
|
||||
},
|
||||
"eslintConfig": {
|
||||
|
||||
11
public/images/256x256_App_Icon_Pink.svg
Normal file
11
public/images/256x256_App_Icon_Pink.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg width="257" height="256" viewBox="0 0 257 256" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M96.4347 60.2768C94.3434 59.9524 94.2552 59.9143 95.2394 59.7631C97.1254 59.473 101.579 59.8683 104.648 60.5981C111.812 62.3011 118.331 66.6637 125.29 74.4117L127.139 76.4701L129.784 76.0449C140.926 74.2544 152.26 75.6774 161.741 80.057C164.349 81.2619 168.461 83.6603 168.975 84.2766C169.138 84.473 169.439 85.7374 169.642 87.0866C170.347 91.7544 169.994 95.3323 168.567 98.0046C167.79 99.4588 167.746 99.9197 168.268 101.164C168.686 102.157 169.848 102.892 170.999 102.891C173.355 102.888 175.891 99.0791 177.066 93.78L177.532 91.6751L178.457 92.7224C183.528 98.4681 187.512 106.304 188.196 111.881L188.374 113.336L187.522 112.014C186.054 109.739 184.58 108.19 182.693 106.941C179.29 104.69 175.693 103.923 166.164 103.421C157.559 102.968 152.689 102.233 147.859 100.658C139.643 97.9792 135.501 94.4114 125.74 81.6059C121.405 75.918 118.726 72.7711 116.06 70.2368C110.004 64.4784 104.053 61.4584 96.4347 60.2768Z" fill="#FF007A"/>
|
||||
<path d="M170.916 72.9763C171.132 69.1649 171.649 66.651 172.688 64.3552C173.099 63.4465 173.485 62.7027 173.544 62.7027C173.604 62.7027 173.425 63.3735 173.147 64.1931C172.391 66.4212 172.267 69.4687 172.788 73.0144C173.448 77.5132 173.824 78.1623 178.579 83.022C180.809 85.3014 183.403 88.1762 184.344 89.4105L186.054 91.6547L184.344 90.0508C182.253 88.0895 177.444 84.2644 176.381 83.7176C175.669 83.3509 175.563 83.3573 175.124 83.7946C174.719 84.1975 174.634 84.803 174.577 87.6654C174.49 92.1267 173.882 94.9901 172.414 97.8533C171.621 99.4019 171.495 99.0714 172.214 97.3235C172.75 96.0184 172.805 95.4446 172.801 91.1259C172.792 82.4485 171.762 80.3624 165.721 76.7887C164.19 75.8834 161.668 74.5778 160.117 73.8872C158.565 73.1965 157.333 72.595 157.378 72.5501C157.549 72.3798 163.441 74.0995 165.812 75.0117C169.339 76.3686 169.922 76.5444 170.35 76.3807C170.637 76.271 170.776 75.4347 170.916 72.9763Z" fill="#FF007A"/>
|
||||
<path d="M100.497 87.8209C96.2514 81.9758 93.6246 73.0138 94.1933 66.3144L94.3691 64.2413L95.3355 64.4176C97.1504 64.7486 100.28 65.9133 101.745 66.8033C105.766 69.2453 107.506 72.4605 109.277 80.7164C109.796 83.1346 110.477 85.8712 110.79 86.7976C111.294 88.2889 113.199 91.7721 114.748 94.0343C115.864 95.6636 115.123 96.4356 112.657 96.213C108.89 95.873 103.788 92.3519 100.497 87.8209Z" fill="#FF007A"/>
|
||||
<path d="M165.766 131.323C145.925 123.335 138.937 116.4 138.937 104.7C138.937 102.979 138.996 101.57 139.068 101.57C139.14 101.57 139.908 102.138 140.774 102.833C144.797 106.06 149.303 107.438 161.776 109.258C169.115 110.328 173.245 111.193 177.056 112.457C189.166 116.473 196.658 124.624 198.445 135.725C198.964 138.951 198.66 145 197.818 148.188C197.153 150.706 195.125 155.245 194.588 155.419C194.439 155.468 194.292 154.896 194.254 154.118C194.05 149.95 191.943 145.891 188.406 142.851C184.383 139.395 178.979 136.643 165.766 131.323Z" fill="#FF007A"/>
|
||||
<path d="M151.837 134.642C151.588 133.163 151.157 131.273 150.879 130.444L150.372 128.935L151.313 129.991C152.614 131.451 153.642 133.32 154.514 135.81C155.179 137.71 155.254 138.275 155.249 141.362C155.244 144.393 155.161 145.029 154.546 146.739C153.578 149.436 152.376 151.348 150.359 153.4C146.735 157.089 142.075 159.131 135.351 159.978C134.182 160.125 130.775 160.373 127.78 160.529C120.232 160.922 115.264 161.733 110.801 163.3C110.159 163.525 109.586 163.662 109.528 163.604C109.347 163.425 112.386 161.613 114.897 160.404C118.436 158.699 121.96 157.768 129.854 156.454C133.754 155.804 137.781 155.016 138.804 154.702C148.461 151.741 153.426 144.1 151.837 134.642Z" fill="#FF007A"/>
|
||||
<path d="M160.932 150.795C158.296 145.128 157.691 139.657 159.135 134.554C159.289 134.009 159.538 133.562 159.687 133.562C159.837 133.562 160.459 133.899 161.07 134.31C162.284 135.127 164.721 136.505 171.212 140.044C179.311 144.46 183.929 147.879 187.07 151.786C189.82 155.208 191.522 159.104 192.341 163.856C192.805 166.548 192.533 173.024 191.843 175.735C189.665 184.281 184.604 190.993 177.385 194.911C176.327 195.484 175.377 195.955 175.275 195.958C175.172 195.96 175.557 194.98 176.131 193.78C178.56 188.703 178.836 183.765 177 178.269C175.876 174.904 173.584 170.797 168.956 163.857C163.575 155.788 162.256 153.641 160.932 150.795Z" fill="#FF007A"/>
|
||||
<path d="M86.4067 181.371C93.7696 175.154 102.931 170.738 111.276 169.382C114.872 168.798 120.864 169.03 124.194 169.882C129.532 171.248 134.307 174.308 136.791 177.954C139.218 181.517 140.259 184.622 141.343 191.53C141.771 194.255 142.236 196.992 142.377 197.611C143.191 201.192 144.775 204.054 146.739 205.491C149.857 207.773 155.227 207.915 160.509 205.855C161.405 205.505 162.184 205.263 162.238 205.318C162.43 205.508 159.77 207.288 157.894 208.226C155.369 209.487 153.361 209.975 150.693 209.975C145.855 209.975 141.839 207.514 138.487 202.495C137.828 201.508 136.346 198.55 135.193 195.922C131.655 187.851 129.907 185.393 125.799 182.702C122.223 180.361 117.612 179.941 114.143 181.642C109.586 183.876 108.315 189.699 111.579 193.39C112.876 194.856 115.295 196.121 117.273 196.367C120.973 196.828 124.153 194.013 124.153 190.277C124.153 187.851 123.221 186.467 120.873 185.407C117.668 183.961 114.222 185.652 114.238 188.663C114.245 189.947 114.805 190.754 116.092 191.336C116.918 191.71 116.937 191.74 116.263 191.6C113.322 190.99 112.633 187.444 114.998 185.09C117.837 182.264 123.709 183.511 125.725 187.368C126.572 188.988 126.67 192.215 125.932 194.164C124.279 198.525 119.46 200.819 114.571 199.571C111.243 198.721 109.887 197.801 105.874 193.667C98.9012 186.484 96.1941 185.092 86.141 183.523L84.2146 183.222L86.4067 181.371Z" fill="#FF007A"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M33.8241 20.4645C57.1114 48.7285 93.0139 92.734 94.7963 95.1977C96.2679 97.232 95.7141 99.0609 93.1929 100.494C91.7909 101.291 88.9084 102.099 87.4652 102.099C85.8329 102.099 83.9939 101.313 82.6548 100.042C81.7084 99.1447 77.8882 93.4402 69.0694 79.7566C62.3216 69.2863 56.6747 60.6007 56.5206 60.4553C56.1644 60.119 56.1705 60.1303 68.3813 81.9787C76.0487 95.6979 78.6371 100.548 78.6371 101.197C78.6371 102.516 78.2771 103.21 76.6495 105.025C73.9363 108.052 72.7235 111.453 71.8479 118.492C70.8664 126.382 68.1064 131.955 60.4577 141.494C55.9803 147.078 55.2477 148.102 54.118 150.352C52.695 153.187 52.3037 154.774 52.1451 158.353C51.9775 162.137 52.3039 164.581 53.46 168.199C54.4721 171.366 55.5285 173.458 58.2292 177.641C60.5599 181.251 61.9019 183.933 61.9019 184.983C61.9019 185.818 62.0613 185.819 65.6729 185.003C74.316 183.052 81.3341 179.619 85.2812 175.412C87.724 172.808 88.2975 171.371 88.3161 167.802C88.3283 165.469 88.2462 164.98 87.6153 163.637C86.5884 161.452 84.7188 159.635 80.5983 156.818C75.1992 153.127 72.8932 150.156 72.2562 146.07C71.7337 142.717 72.3399 140.351 75.3267 134.091C78.4182 127.612 79.1843 124.85 79.7025 118.319C80.0372 114.1 80.5008 112.435 81.7131 111.1C82.9776 109.707 84.1158 109.235 87.245 108.808C92.3466 108.111 95.5951 106.791 98.2652 104.33C100.582 102.196 101.551 100.139 101.7 97.0427L101.813 94.6959L100.518 93.1867C95.8304 87.7209 30.6848 16.168 30.3963 16.168C30.3347 16.168 31.8773 18.1015 33.8241 20.4645ZM64.5333 162.634C65.5932 160.757 65.0301 158.344 63.2572 157.166C61.5821 156.052 58.9799 156.576 58.9799 158.028C58.9799 158.471 59.2248 158.793 59.7768 159.077C60.7063 159.555 60.7738 160.093 60.0425 161.192C59.3019 162.306 59.3616 163.284 60.2111 163.949C61.5802 165.021 63.5183 164.432 64.5333 162.634Z" fill="#FF007A"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M105.032 110.039C102.637 110.774 100.309 113.312 99.5884 115.974C99.1487 117.598 99.3982 120.446 100.057 121.325C101.121 122.746 102.149 123.12 104.935 123.101C110.389 123.063 115.131 120.724 115.682 117.799C116.134 115.402 114.051 112.08 111.183 110.622C109.703 109.87 106.555 109.571 105.032 110.039ZM111.408 115.024C112.249 113.829 111.881 112.537 110.451 111.664C107.726 110 103.607 111.377 103.607 113.95C103.607 115.231 105.755 116.629 107.724 116.629C109.035 116.629 110.829 115.847 111.408 115.024Z" fill="#FF007A"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.9 KiB |
@@ -2,6 +2,7 @@
|
||||
"background_color": "#fff",
|
||||
"display": "standalone",
|
||||
"homepage_url": "https://app.uniswap.org",
|
||||
"providedBy": { "name": "Uniswap", "url": "https://uniswap.org" },
|
||||
"icons": [
|
||||
{
|
||||
"src": "./images/192x192_App_Icon.png",
|
||||
@@ -18,6 +19,8 @@
|
||||
],
|
||||
"orientation": "portrait",
|
||||
"name": "Uniswap",
|
||||
"description": "Swap or provide liquidity on the Uniswap Protocol",
|
||||
"iconPath": "./images/256x256_App_Icon_Pink.svg",
|
||||
"short_name": "Uniswap",
|
||||
"start_url": ".",
|
||||
"theme_color": "#ff007a"
|
||||
|
||||
@@ -9,6 +9,7 @@ const BLOCKED_ADDRESSES: string[] = [
|
||||
'0x901bb9583b24D97e995513C6778dc6888AB6870e',
|
||||
'0xA7e5d5A720f06526557c513402f2e6B5fA20b008',
|
||||
'0x8576aCC5C05D6Ce88f4e49bf65BdF0C62F91353C',
|
||||
'0xC8a65Fadf0e0dDAf421F28FEAb69Bf6E2E589963',
|
||||
]
|
||||
|
||||
export default function Blocklist({ children }: { children: ReactNode }) {
|
||||
|
||||
@@ -192,14 +192,15 @@ const StyledNavLink = styled(NavLink).attrs({
|
||||
text-decoration: none;
|
||||
color: ${({ theme }) => theme.text2};
|
||||
font-size: 1rem;
|
||||
width: fit-content;
|
||||
font-weight: 500;
|
||||
padding: 8px 12px;
|
||||
word-break: break-word;
|
||||
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
&.${activeClassName} {
|
||||
border-radius: 12px;
|
||||
font-weight: 600;
|
||||
justify-content: center;
|
||||
color: ${({ theme }) => theme.text1};
|
||||
background-color: ${({ theme }) => theme.bg2};
|
||||
}
|
||||
|
||||
@@ -1,169 +0,0 @@
|
||||
import React, { useRef, useState, useEffect, useCallback, Dispatch, SetStateAction, ReactNode } from 'react'
|
||||
import { createChart, IChartApi } from 'lightweight-charts'
|
||||
import { darken } from 'polished'
|
||||
import { RowBetween } from 'components/Row'
|
||||
import Card from '../Card'
|
||||
import styled from 'styled-components/macro'
|
||||
import useTheme from 'hooks/useTheme'
|
||||
|
||||
const Wrapper = styled(Card)`
|
||||
width: 100%;
|
||||
padding: 1rem;
|
||||
display: flex;
|
||||
background-color: ${({ theme }) => theme.bg0};
|
||||
flex-direction: column;
|
||||
> * {
|
||||
font-size: 1rem;
|
||||
}
|
||||
`
|
||||
|
||||
const DEFAULT_HEIGHT = 300
|
||||
|
||||
type LineChartProps = {
|
||||
data: any[]
|
||||
color?: string | undefined
|
||||
height?: number | undefined
|
||||
setValue?: Dispatch<SetStateAction<number | undefined>> // used for value on hover
|
||||
topLeft?: ReactNode | undefined
|
||||
topRight?: ReactNode | undefined
|
||||
bottomLeft?: ReactNode | undefined
|
||||
bottomRight?: ReactNode | undefined
|
||||
} & React.HTMLAttributes<HTMLDivElement>
|
||||
|
||||
const LineChart = ({
|
||||
data,
|
||||
color = '#56B2A4',
|
||||
setValue,
|
||||
topLeft,
|
||||
topRight,
|
||||
bottomLeft,
|
||||
bottomRight,
|
||||
height = DEFAULT_HEIGHT,
|
||||
...rest
|
||||
}: LineChartProps) => {
|
||||
const theme = useTheme()
|
||||
|
||||
const chartRef = useRef<HTMLDivElement>(null)
|
||||
const [chartCreated, setChart] = useState<IChartApi | undefined>()
|
||||
|
||||
// for reseting value on hover exit
|
||||
const currenValue = data[data.length - 1].value
|
||||
|
||||
const handleResize = useCallback(() => {
|
||||
if (chartCreated && chartRef?.current?.parentElement) {
|
||||
chartCreated.resize(chartRef.current.parentElement.clientWidth - 32, height)
|
||||
chartCreated.timeScale().fitContent()
|
||||
chartCreated.timeScale().scrollToPosition(0, false)
|
||||
}
|
||||
}, [chartCreated, chartRef, height])
|
||||
|
||||
// add event listener for resize
|
||||
const isClient = typeof window === 'object'
|
||||
useEffect(() => {
|
||||
if (!isClient) {
|
||||
return
|
||||
}
|
||||
window.addEventListener('resize', handleResize)
|
||||
return () => window.removeEventListener('resize', handleResize)
|
||||
}, [isClient, chartRef, handleResize]) // Empty array ensures that effect is only run on mount and unmount
|
||||
|
||||
const textColor = theme.text2
|
||||
|
||||
// if chart not instantiated in canvas, create it
|
||||
useEffect(() => {
|
||||
if (!chartCreated && data && !!chartRef?.current?.parentElement) {
|
||||
const chart = createChart(chartRef.current, {
|
||||
height: height,
|
||||
width: chartRef.current.parentElement.clientWidth - 32,
|
||||
layout: {
|
||||
backgroundColor: 'transparent',
|
||||
textColor: textColor,
|
||||
fontFamily: 'Inter',
|
||||
},
|
||||
rightPriceScale: {
|
||||
scaleMargins: {
|
||||
top: 0.1,
|
||||
bottom: 0.1,
|
||||
},
|
||||
borderVisible: false,
|
||||
},
|
||||
timeScale: {
|
||||
borderVisible: false,
|
||||
},
|
||||
watermark: {
|
||||
color: 'rgba(0, 0, 0, 0)',
|
||||
},
|
||||
grid: {
|
||||
horzLines: {
|
||||
visible: false,
|
||||
},
|
||||
vertLines: {
|
||||
visible: false,
|
||||
},
|
||||
},
|
||||
crosshair: {
|
||||
horzLine: {
|
||||
visible: true,
|
||||
style: 3,
|
||||
width: 1,
|
||||
color: '#505050',
|
||||
labelBackgroundColor: color,
|
||||
},
|
||||
vertLine: {
|
||||
visible: true,
|
||||
style: 3,
|
||||
width: 1,
|
||||
color: '#505050',
|
||||
labelBackgroundColor: color,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
const series = chart.addAreaSeries({
|
||||
lineColor: color,
|
||||
topColor: darken(0.4, color),
|
||||
bottomColor: theme.bg0,
|
||||
lineWidth: 2,
|
||||
priceLineVisible: false,
|
||||
})
|
||||
|
||||
series.setData(data)
|
||||
|
||||
// update the title when hovering on the chart
|
||||
chart.subscribeCrosshairMove(function (param) {
|
||||
if (
|
||||
chartRef?.current &&
|
||||
(param === undefined ||
|
||||
param.time === undefined ||
|
||||
(param && param.point && param.point.x < 0) ||
|
||||
(param && param.point && param.point.x > chartRef.current.clientWidth) ||
|
||||
(param && param.point && param.point.y < 0) ||
|
||||
(param && param.point && param.point.y > height))
|
||||
) {
|
||||
setValue && setValue(currenValue)
|
||||
} else {
|
||||
const price = parseFloat(param.seriesPrices.get(series)?.toString() ?? currenValue)
|
||||
setValue && setValue(price)
|
||||
}
|
||||
})
|
||||
chart.timeScale().fitContent()
|
||||
setChart(chart)
|
||||
}
|
||||
}, [color, chartCreated, currenValue, data, height, setValue, textColor, theme])
|
||||
|
||||
return (
|
||||
<Wrapper>
|
||||
<RowBetween>
|
||||
{topLeft ?? null}
|
||||
{topRight ?? null}
|
||||
</RowBetween>
|
||||
<div ref={chartRef} id={'line-chart'} {...rest} />
|
||||
<RowBetween>
|
||||
{bottomLeft ?? null}
|
||||
{bottomRight ?? null}
|
||||
</RowBetween>
|
||||
</Wrapper>
|
||||
)
|
||||
}
|
||||
|
||||
export default LineChart
|
||||
@@ -1,14 +1,14 @@
|
||||
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
||||
import { BrushBehavior, brushX, D3BrushEvent, ScaleLinear, select } from 'd3'
|
||||
import styled from 'styled-components/macro'
|
||||
import { brushHandleAccentPath, brushHandlePath } from 'components/LiquidityChartRangeInput/svg'
|
||||
import { brushHandleAccentPath, brushHandlePath, OffScreenHandle } from 'components/LiquidityChartRangeInput/svg'
|
||||
import usePrevious from 'hooks/usePrevious'
|
||||
|
||||
const Handle = styled.path<{ color: string }>`
|
||||
cursor: ew-resize;
|
||||
pointer-events: none;
|
||||
|
||||
stroke-width: 4;
|
||||
stroke-width: 3;
|
||||
stroke: ${({ color }) => color};
|
||||
fill: ${({ color }) => color};
|
||||
`
|
||||
@@ -40,7 +40,11 @@ const Tooltip = styled.text`
|
||||
// flips the handles draggers when close to the container edges
|
||||
const FLIP_HANDLE_THRESHOLD_PX = 20
|
||||
|
||||
const compare = (a1: [number, number], a2: [number, number]): boolean => a1[0] !== a2[0] || a1[1] !== a2[1]
|
||||
// margin to prevent tick snapping from putting the brush off screen
|
||||
const BRUSH_EXTENT_MARGIN_PX = 2
|
||||
|
||||
const compare = (a1: [number, number], a2: [number, number], xScale: ScaleLinear<number, number>): boolean =>
|
||||
xScale(a1[0]) !== xScale(a2[0]) || xScale(a1[1]) !== xScale(a2[1])
|
||||
|
||||
export const Brush = ({
|
||||
id,
|
||||
@@ -59,7 +63,7 @@ export const Brush = ({
|
||||
interactive: boolean
|
||||
brushLabelValue: (d: 'w' | 'e', x: number) => string
|
||||
brushExtent: [number, number]
|
||||
setBrushExtent: (extent: [number, number]) => void
|
||||
setBrushExtent: (extent: [number, number], mode: string | undefined) => void
|
||||
innerWidth: number
|
||||
innerHeight: number
|
||||
westHandleColor: string
|
||||
@@ -76,7 +80,9 @@ export const Brush = ({
|
||||
const previousBrushExtent = usePrevious(brushExtent)
|
||||
|
||||
const brushed = useCallback(
|
||||
({ type, selection }: D3BrushEvent<unknown>) => {
|
||||
(event: D3BrushEvent<unknown>) => {
|
||||
const { type, selection, mode } = event
|
||||
|
||||
if (!selection) {
|
||||
setLocalBrushExtent(null)
|
||||
return
|
||||
@@ -85,8 +91,8 @@ export const Brush = ({
|
||||
const scaled = (selection as [number, number]).map(xScale.invert) as [number, number]
|
||||
|
||||
// avoid infinite render loop by checking for change
|
||||
if (type === 'end' && compare(brushExtent, scaled)) {
|
||||
setBrushExtent(scaled)
|
||||
if (type === 'end' && compare(brushExtent, scaled, xScale)) {
|
||||
setBrushExtent(scaled, mode)
|
||||
}
|
||||
|
||||
setLocalBrushExtent(scaled)
|
||||
@@ -106,8 +112,8 @@ export const Brush = ({
|
||||
|
||||
brushBehavior.current = brushX<SVGGElement>()
|
||||
.extent([
|
||||
[Math.max(0, xScale(0)), 0],
|
||||
[innerWidth, innerHeight],
|
||||
[Math.max(0 + BRUSH_EXTENT_MARGIN_PX, xScale(0)), 0],
|
||||
[innerWidth - BRUSH_EXTENT_MARGIN_PX, innerHeight],
|
||||
])
|
||||
.handleSize(30)
|
||||
.filter(() => interactive)
|
||||
@@ -115,7 +121,7 @@ export const Brush = ({
|
||||
|
||||
brushBehavior.current(select(brushRef.current))
|
||||
|
||||
if (previousBrushExtent && compare(brushExtent, previousBrushExtent)) {
|
||||
if (previousBrushExtent && compare(brushExtent, previousBrushExtent, xScale)) {
|
||||
select(brushRef.current)
|
||||
.transition()
|
||||
.call(brushBehavior.current.move as any, brushExtent.map(xScale))
|
||||
@@ -136,15 +142,26 @@ export const Brush = ({
|
||||
brushBehavior.current.move(select(brushRef.current) as any, brushExtent.map(xScale) as any)
|
||||
}, [brushExtent, xScale])
|
||||
|
||||
// show labels when local brush changes
|
||||
useEffect(() => {
|
||||
setShowLabels(true)
|
||||
const timeout = setTimeout(() => setShowLabels(false), 1500)
|
||||
return () => clearTimeout(timeout)
|
||||
}, [localBrushExtent])
|
||||
|
||||
// variables to help render the SVGs
|
||||
const flipWestHandle = localBrushExtent && xScale(localBrushExtent[0]) > FLIP_HANDLE_THRESHOLD_PX
|
||||
const flipEastHandle = localBrushExtent && xScale(localBrushExtent[1]) > innerWidth - FLIP_HANDLE_THRESHOLD_PX
|
||||
|
||||
const showWestArrow = localBrushExtent && (xScale(localBrushExtent[0]) < 0 || xScale(localBrushExtent[1]) < 0)
|
||||
const showEastArrow =
|
||||
localBrushExtent && (xScale(localBrushExtent[0]) > innerWidth || xScale(localBrushExtent[1]) > innerWidth)
|
||||
|
||||
const westHandleInView =
|
||||
localBrushExtent && xScale(localBrushExtent[0]) >= 0 && xScale(localBrushExtent[0]) <= innerWidth
|
||||
const eastHandleInView =
|
||||
localBrushExtent && xScale(localBrushExtent[1]) >= 0 && xScale(localBrushExtent[1]) <= innerWidth
|
||||
|
||||
return useMemo(
|
||||
() => (
|
||||
<>
|
||||
@@ -156,11 +173,7 @@ export const Brush = ({
|
||||
|
||||
{/* clips at exactly the svg area */}
|
||||
<clipPath id={`${id}-brush-clip`}>
|
||||
<rect x="0" y="0" width={innerWidth} height="100%" />
|
||||
</clipPath>
|
||||
|
||||
<clipPath id={`${id}-handles-clip`}>
|
||||
<rect x="0" y="0" width="100%" height="100%" />
|
||||
<rect x="0" y="0" width={innerWidth} height={innerHeight} />
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
@@ -176,48 +189,56 @@ export const Brush = ({
|
||||
{localBrushExtent && (
|
||||
<>
|
||||
{/* west handle */}
|
||||
<g
|
||||
transform={`translate(${Math.max(0, xScale(localBrushExtent[0]))}, 0), scale(${
|
||||
flipWestHandle ? '-1' : '1'
|
||||
}, 1)`}
|
||||
>
|
||||
<g clipPath={`url(#${id}-handles-clip)`}>
|
||||
<Handle color={westHandleColor} d={brushHandlePath(innerHeight)} />
|
||||
<HandleAccent d={brushHandleAccentPath()} />
|
||||
</g>
|
||||
|
||||
<LabelGroup
|
||||
transform={`translate(50,0), scale(${flipWestHandle ? '1' : '-1'}, 1)`}
|
||||
visible={showLabels || hovering}
|
||||
{westHandleInView ? (
|
||||
<g
|
||||
transform={`translate(${Math.max(0, xScale(localBrushExtent[0]))}, 0), scale(${
|
||||
flipWestHandle ? '-1' : '1'
|
||||
}, 1)`}
|
||||
>
|
||||
<TooltipBackground y="0" x="-30" height="30" width="60" rx="8" />
|
||||
<Tooltip transform={`scale(-1, 1)`} y="15" dominantBaseline="middle">
|
||||
{brushLabelValue('w', localBrushExtent[0])}
|
||||
</Tooltip>
|
||||
</LabelGroup>
|
||||
</g>
|
||||
<g>
|
||||
<Handle color={westHandleColor} d={brushHandlePath(innerHeight)} />
|
||||
<HandleAccent d={brushHandleAccentPath()} />
|
||||
</g>
|
||||
|
||||
<LabelGroup
|
||||
transform={`translate(50,0), scale(${flipWestHandle ? '1' : '-1'}, 1)`}
|
||||
visible={showLabels || hovering}
|
||||
>
|
||||
<TooltipBackground y="0" x="-30" height="30" width="60" rx="8" />
|
||||
<Tooltip transform={`scale(-1, 1)`} y="15" dominantBaseline="middle">
|
||||
{brushLabelValue('w', localBrushExtent[0])}
|
||||
</Tooltip>
|
||||
</LabelGroup>
|
||||
</g>
|
||||
) : null}
|
||||
|
||||
{/* east handle */}
|
||||
<g
|
||||
transform={`translate(${Math.min(xScale(localBrushExtent[1]), innerWidth)}, 0), scale(${
|
||||
flipEastHandle ? '-1' : '1'
|
||||
}, 1)`}
|
||||
>
|
||||
<g clipPath={`url(#${id}-handles-clip)`}>
|
||||
<Handle color={eastHandleColor} d={brushHandlePath(innerHeight)} />
|
||||
<HandleAccent d={brushHandleAccentPath()} />
|
||||
</g>
|
||||
{eastHandleInView ? (
|
||||
<g transform={`translate(${xScale(localBrushExtent[1])}, 0), scale(${flipEastHandle ? '-1' : '1'}, 1)`}>
|
||||
<g>
|
||||
<Handle color={eastHandleColor} d={brushHandlePath(innerHeight)} />
|
||||
<HandleAccent d={brushHandleAccentPath()} />
|
||||
</g>
|
||||
|
||||
<LabelGroup
|
||||
transform={`translate(50,0), scale(${flipEastHandle ? '-1' : '1'}, 1)`}
|
||||
visible={showLabels || hovering}
|
||||
>
|
||||
<TooltipBackground y="0" x="-30" height="30" width="60" rx="8" />
|
||||
<Tooltip y="15" dominantBaseline="middle">
|
||||
{brushLabelValue('e', localBrushExtent[1])}
|
||||
</Tooltip>
|
||||
</LabelGroup>
|
||||
</g>
|
||||
<LabelGroup
|
||||
transform={`translate(50,0), scale(${flipEastHandle ? '-1' : '1'}, 1)`}
|
||||
visible={showLabels || hovering}
|
||||
>
|
||||
<TooltipBackground y="0" x="-30" height="30" width="60" rx="8" />
|
||||
<Tooltip y="15" dominantBaseline="middle">
|
||||
{brushLabelValue('e', localBrushExtent[1])}
|
||||
</Tooltip>
|
||||
</LabelGroup>
|
||||
</g>
|
||||
) : null}
|
||||
|
||||
{showWestArrow && <OffScreenHandle color={westHandleColor} />}
|
||||
|
||||
{showEastArrow && (
|
||||
<g transform={`translate(${innerWidth}, 0) scale(-1, 1)`}>
|
||||
<OffScreenHandle color={eastHandleColor} />
|
||||
</g>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
@@ -225,6 +246,7 @@ export const Brush = ({
|
||||
[
|
||||
brushLabelValue,
|
||||
eastHandleColor,
|
||||
eastHandleInView,
|
||||
flipEastHandle,
|
||||
flipWestHandle,
|
||||
hovering,
|
||||
@@ -232,8 +254,11 @@ export const Brush = ({
|
||||
innerHeight,
|
||||
innerWidth,
|
||||
localBrushExtent,
|
||||
showEastArrow,
|
||||
showLabels,
|
||||
showWestArrow,
|
||||
westHandleColor,
|
||||
westHandleInView,
|
||||
xScale,
|
||||
]
|
||||
)
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
import { max, scaleLinear, ZoomTransform } from 'd3'
|
||||
import { useEffect, useMemo, useRef, useState } from 'react'
|
||||
import { Bound } from 'state/mint/v3/actions'
|
||||
import { Area } from './Area'
|
||||
import { AxisBottom } from './AxisBottom'
|
||||
import { Brush } from './Brush'
|
||||
import { Line } from './Line'
|
||||
import { ChartEntry, LiquidityChartRangeInputProps } from './types'
|
||||
import Zoom from './Zoom'
|
||||
import Zoom, { ZoomOverlay } from './Zoom'
|
||||
|
||||
export const xAccessor = (d: ChartEntry) => d.price0
|
||||
export const yAccessor = (d: ChartEntry) => d.activeLiquidity
|
||||
@@ -13,6 +14,7 @@ export const yAccessor = (d: ChartEntry) => d.activeLiquidity
|
||||
export function Chart({
|
||||
id = 'liquidityChartRangeInput',
|
||||
data: { series, current },
|
||||
ticksAtLimit,
|
||||
styles,
|
||||
dimensions: { width, height },
|
||||
margins,
|
||||
@@ -22,7 +24,7 @@ export function Chart({
|
||||
onBrushDomainChange,
|
||||
zoomLevels,
|
||||
}: LiquidityChartRangeInputProps) {
|
||||
const svgRef = useRef<SVGSVGElement | null>(null)
|
||||
const zoomRef = useRef<SVGRectElement | null>(null)
|
||||
|
||||
const [zoom, setZoom] = useState<ZoomTransform | null>(null)
|
||||
|
||||
@@ -56,25 +58,31 @@ export function Chart({
|
||||
|
||||
useEffect(() => {
|
||||
if (!brushDomain) {
|
||||
onBrushDomainChange(xScale.domain() as [number, number])
|
||||
onBrushDomainChange(xScale.domain() as [number, number], undefined)
|
||||
}
|
||||
}, [brushDomain, onBrushDomainChange, xScale])
|
||||
|
||||
// ensures the brush remains in view and adapts to zooms
|
||||
xScale.clamp(true)
|
||||
|
||||
return (
|
||||
<>
|
||||
<Zoom
|
||||
svg={svgRef.current}
|
||||
svg={zoomRef.current}
|
||||
xScale={xScale}
|
||||
setZoom={setZoom}
|
||||
innerWidth={innerWidth}
|
||||
innerHeight={innerHeight}
|
||||
showClear={Boolean(zoom && zoom.k !== 1)}
|
||||
width={innerWidth}
|
||||
height={
|
||||
// allow zooming inside the x-axis
|
||||
height
|
||||
}
|
||||
resetBrush={() => {
|
||||
onBrushDomainChange(
|
||||
[current * zoomLevels.initialMin, current * zoomLevels.initialMax] as [number, number],
|
||||
'reset'
|
||||
)
|
||||
}}
|
||||
showResetButton={Boolean(ticksAtLimit[Bound.LOWER] || ticksAtLimit[Bound.UPPER])}
|
||||
zoomLevels={zoomLevels}
|
||||
/>
|
||||
<svg ref={svgRef} width="100%" height="100%" viewBox={`0 0 ${width} ${height}`} style={{ overflow: 'visible' }}>
|
||||
<svg width="100%" height="100%" viewBox={`0 0 ${width} ${height}`} style={{ overflow: 'visible' }}>
|
||||
<defs>
|
||||
<clipPath id={`${id}-chart-clip`}>
|
||||
<rect x="0" y="0" width={innerWidth} height={height} />
|
||||
@@ -117,6 +125,8 @@ export function Chart({
|
||||
<AxisBottom xScale={xScale} innerHeight={innerHeight} />
|
||||
</g>
|
||||
|
||||
<ZoomOverlay width={innerWidth} height={height} ref={zoomRef} />
|
||||
|
||||
<Brush
|
||||
id={id}
|
||||
xScale={xScale}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import React, { useEffect, useMemo, useRef } from 'react'
|
||||
import { ButtonGray } from 'components/Button'
|
||||
import styled from 'styled-components/macro'
|
||||
import { ScaleLinear, select, ZoomBehavior, zoom, ZoomTransform } from 'd3'
|
||||
import { ScaleLinear, select, ZoomBehavior, zoom, ZoomTransform, zoomIdentity } from 'd3'
|
||||
import { RefreshCcw, ZoomIn, ZoomOut } from 'react-feather'
|
||||
import { ZoomLevels } from './types'
|
||||
|
||||
@@ -26,26 +26,37 @@ const Button = styled(ButtonGray)`
|
||||
padding: 4px;
|
||||
`
|
||||
|
||||
export const ZoomOverlay = styled.rect`
|
||||
fill: transparent;
|
||||
cursor: grab;
|
||||
|
||||
&:active {
|
||||
cursor: grabbing;
|
||||
}
|
||||
`
|
||||
|
||||
export default function Zoom({
|
||||
svg,
|
||||
xScale,
|
||||
setZoom,
|
||||
innerWidth,
|
||||
innerHeight,
|
||||
showClear,
|
||||
width,
|
||||
height,
|
||||
resetBrush,
|
||||
showResetButton,
|
||||
zoomLevels,
|
||||
}: {
|
||||
svg: SVGSVGElement | null
|
||||
svg: SVGElement | null
|
||||
xScale: ScaleLinear<number, number>
|
||||
setZoom: (transform: ZoomTransform) => void
|
||||
innerWidth: number
|
||||
innerHeight: number
|
||||
showClear: boolean
|
||||
width: number
|
||||
height: number
|
||||
resetBrush: () => void
|
||||
showResetButton: boolean
|
||||
zoomLevels: ZoomLevels
|
||||
}) {
|
||||
const zoomBehavior = useRef<ZoomBehavior<Element, unknown>>()
|
||||
|
||||
const [zoomIn, zoomOut, reset, initial] = useMemo(
|
||||
const [zoomIn, zoomOut, zoomInitial, zoomReset] = useMemo(
|
||||
() => [
|
||||
() =>
|
||||
svg &&
|
||||
@@ -64,15 +75,16 @@ export default function Zoom({
|
||||
zoomBehavior.current &&
|
||||
select(svg as Element)
|
||||
.transition()
|
||||
.call(zoomBehavior.current.scaleTo, 1),
|
||||
.call(zoomBehavior.current.scaleTo, 0.5),
|
||||
() =>
|
||||
svg &&
|
||||
zoomBehavior.current &&
|
||||
select(svg as Element)
|
||||
.call(zoomBehavior.current.transform, zoomIdentity.translate(0, 0).scale(1))
|
||||
.transition()
|
||||
.call(zoomBehavior.current.scaleTo, 0.5),
|
||||
],
|
||||
[svg, zoomBehavior]
|
||||
[svg]
|
||||
)
|
||||
|
||||
useEffect(() => {
|
||||
@@ -80,30 +92,30 @@ export default function Zoom({
|
||||
|
||||
zoomBehavior.current = zoom()
|
||||
.scaleExtent([zoomLevels.min, zoomLevels.max])
|
||||
.translateExtent([
|
||||
[0, 0],
|
||||
[innerWidth, innerHeight],
|
||||
])
|
||||
.extent([
|
||||
[0, 0],
|
||||
[innerWidth, innerHeight],
|
||||
[width, height],
|
||||
])
|
||||
.on('zoom', ({ transform }: { transform: ZoomTransform }) => setZoom(transform))
|
||||
|
||||
select(svg as Element)
|
||||
.call(zoomBehavior.current)
|
||||
.on('mousedown.zoom', null)
|
||||
}, [innerHeight, innerWidth, setZoom, svg, xScale, zoomBehavior, zoomLevels, zoomLevels.max, zoomLevels.min])
|
||||
select(svg as Element).call(zoomBehavior.current)
|
||||
}, [height, width, setZoom, svg, xScale, zoomBehavior, zoomLevels, zoomLevels.max, zoomLevels.min])
|
||||
|
||||
useEffect(() => {
|
||||
// reset zoom to initial on zoomLevel chang
|
||||
initial()
|
||||
}, [initial, zoomLevels])
|
||||
// reset zoom to initial on zoomLevel change
|
||||
zoomInitial()
|
||||
}, [zoomInitial, zoomLevels])
|
||||
|
||||
return (
|
||||
<Wrapper count={showClear ? 3 : 2}>
|
||||
{showClear && (
|
||||
<Button onClick={reset} disabled={false}>
|
||||
<Wrapper count={showResetButton ? 3 : 2}>
|
||||
{showResetButton && (
|
||||
<Button
|
||||
onClick={() => {
|
||||
resetBrush()
|
||||
zoomReset()
|
||||
}}
|
||||
disabled={false}
|
||||
>
|
||||
<RefreshCcw size={16} />
|
||||
</Button>
|
||||
)}
|
||||
|
||||
@@ -22,19 +22,19 @@ const ZOOM_LEVELS: Record<FeeAmount, ZoomLevels> = {
|
||||
[FeeAmount.LOW]: {
|
||||
initialMin: 0.999,
|
||||
initialMax: 1.001,
|
||||
min: 0.001,
|
||||
min: 0.00001,
|
||||
max: 1.5,
|
||||
},
|
||||
[FeeAmount.MEDIUM]: {
|
||||
initialMin: 0.5,
|
||||
initialMax: 2,
|
||||
min: 0.01,
|
||||
min: 0.00001,
|
||||
max: 20,
|
||||
},
|
||||
[FeeAmount.HIGH]: {
|
||||
initialMin: 0.5,
|
||||
initialMax: 2,
|
||||
min: 0.01,
|
||||
min: 0.00001,
|
||||
max: 20,
|
||||
},
|
||||
}
|
||||
@@ -87,6 +87,8 @@ export default function LiquidityChartRangeInput({
|
||||
const tokenAColor = useColor(currencyA?.wrapped)
|
||||
const tokenBColor = useColor(currencyB?.wrapped)
|
||||
|
||||
const isSorted = currencyA && currencyB && currencyA?.wrapped.sortsBefore(currencyB?.wrapped)
|
||||
|
||||
const { isLoading, isUninitialized, isError, error, formattedData } = useDensityChartData({
|
||||
currencyA,
|
||||
currencyB,
|
||||
@@ -94,7 +96,7 @@ export default function LiquidityChartRangeInput({
|
||||
})
|
||||
|
||||
const onBrushDomainChangeEnded = useCallback(
|
||||
(domain) => {
|
||||
(domain, mode) => {
|
||||
let leftRangeValue = Number(domain[0])
|
||||
const rightRangeValue = Number(domain[1])
|
||||
|
||||
@@ -104,40 +106,48 @@ export default function LiquidityChartRangeInput({
|
||||
|
||||
batch(() => {
|
||||
// simulate user input for auto-formatting and other validations
|
||||
leftRangeValue > 0 && onLeftRangeInput(leftRangeValue.toFixed(6))
|
||||
rightRangeValue > 0 && onRightRangeInput(rightRangeValue.toFixed(6))
|
||||
if (
|
||||
(!ticksAtLimit[isSorted ? Bound.LOWER : Bound.UPPER] || mode === 'handle' || mode === 'reset') &&
|
||||
leftRangeValue > 0
|
||||
) {
|
||||
onLeftRangeInput(leftRangeValue.toFixed(6))
|
||||
}
|
||||
|
||||
if ((!ticksAtLimit[isSorted ? Bound.UPPER : Bound.LOWER] || mode === 'reset') && rightRangeValue > 0) {
|
||||
// todo: remove this check. Upper bound for large numbers
|
||||
// sometimes fails to parse to tick.
|
||||
if (rightRangeValue < 1e35) {
|
||||
onRightRangeInput(rightRangeValue.toFixed(6))
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
[onLeftRangeInput, onRightRangeInput]
|
||||
[isSorted, onLeftRangeInput, onRightRangeInput, ticksAtLimit]
|
||||
)
|
||||
|
||||
interactive = interactive && Boolean(formattedData?.length)
|
||||
|
||||
const brushDomain: [number, number] | undefined = useMemo(() => {
|
||||
const isSorted = currencyA && currencyB && currencyA?.wrapped.sortsBefore(currencyB?.wrapped)
|
||||
|
||||
const leftPrice = isSorted ? priceLower : priceUpper?.invert()
|
||||
const rightPrice = isSorted ? priceUpper : priceLower?.invert()
|
||||
|
||||
return leftPrice && rightPrice
|
||||
? [parseFloat(leftPrice?.toSignificant(5)), parseFloat(rightPrice?.toSignificant(5))]
|
||||
? [parseFloat(leftPrice?.toSignificant(6)), parseFloat(rightPrice?.toSignificant(6))]
|
||||
: undefined
|
||||
}, [currencyA, currencyB, priceLower, priceUpper])
|
||||
}, [isSorted, priceLower, priceUpper])
|
||||
|
||||
const brushLabelValue = useCallback(
|
||||
(d: 'w' | 'e', x: number) => {
|
||||
if (!price) return ''
|
||||
|
||||
if (d === 'w' && ticksAtLimit[Bound.LOWER]) return '0'
|
||||
if (d === 'e' && ticksAtLimit[Bound.UPPER]) return '∞'
|
||||
|
||||
//const percent = (((x < price ? -1 : 1) * (Math.max(x, price) - Math.min(x, price))) / Math.min(x, price)) * 100
|
||||
if (d === 'w' && ticksAtLimit[isSorted ? Bound.LOWER : Bound.UPPER]) return '0'
|
||||
if (d === 'e' && ticksAtLimit[isSorted ? Bound.UPPER : Bound.LOWER]) return '∞'
|
||||
|
||||
const percent = (x < price ? -1 : 1) * ((Math.max(x, price) - Math.min(x, price)) / price) * 100
|
||||
|
||||
return price ? `${format(Math.abs(percent) > 1 ? '.2~s' : '.2~f')(percent)}%` : ''
|
||||
},
|
||||
[price, ticksAtLimit]
|
||||
[isSorted, price, ticksAtLimit]
|
||||
)
|
||||
|
||||
if (isError) {
|
||||
@@ -189,6 +199,7 @@ export default function LiquidityChartRangeInput({
|
||||
brushDomain={brushDomain}
|
||||
onBrushDomainChange={onBrushDomainChangeEnded}
|
||||
zoomLevels={ZOOM_LEVELS[feeAmount ?? FeeAmount.MEDIUM]}
|
||||
ticksAtLimit={ticksAtLimit}
|
||||
/>
|
||||
</ChartWrapper>
|
||||
)}
|
||||
|
||||
@@ -20,7 +20,7 @@ export const brushHandlePath = (height: number) =>
|
||||
`v ${height}`, // vertical line
|
||||
'm 1 0', // move 1px to the right
|
||||
`V 0`, // second vertical line
|
||||
`M 0 2`, // move to origin
|
||||
`M 0 1`, // move to origin
|
||||
|
||||
// head
|
||||
'h 12', // horizontal line
|
||||
@@ -33,10 +33,29 @@ export const brushHandlePath = (height: number) =>
|
||||
|
||||
export const brushHandleAccentPath = () =>
|
||||
[
|
||||
'm 6 8', // move to first accent
|
||||
'm 5 7', // move to first accent
|
||||
'v 14', // vertical line
|
||||
'M 0 0', // move to origin
|
||||
'm 10 8', // move to second accent
|
||||
'm 9 7', // move to second accent
|
||||
'v 14', // vertical line
|
||||
'z',
|
||||
].join(' ')
|
||||
|
||||
export const OffScreenHandle = ({
|
||||
color,
|
||||
size = 10,
|
||||
margin = 10,
|
||||
}: {
|
||||
color: string
|
||||
size?: number
|
||||
margin?: number
|
||||
}) => (
|
||||
<polygon
|
||||
points={`0 0, ${size} ${size}, 0 ${size}`}
|
||||
transform={` translate(${size + margin}, ${margin}) rotate(45) `}
|
||||
fill={color}
|
||||
stroke={color}
|
||||
strokeWidth="4"
|
||||
strokeLinejoin="round"
|
||||
/>
|
||||
)
|
||||
@@ -1,3 +1,5 @@
|
||||
import { Bound } from 'state/mint/v3/actions'
|
||||
|
||||
export interface ChartEntry {
|
||||
activeLiquidity: number
|
||||
price0: number
|
||||
@@ -30,6 +32,7 @@ export interface LiquidityChartRangeInputProps {
|
||||
series: ChartEntry[]
|
||||
current: number
|
||||
}
|
||||
ticksAtLimit: { [bound in Bound]?: boolean | undefined }
|
||||
|
||||
styles: {
|
||||
area: {
|
||||
@@ -52,7 +55,7 @@ export interface LiquidityChartRangeInputProps {
|
||||
|
||||
brushLabels: (d: 'w' | 'e', x: number) => string
|
||||
brushDomain: [number, number] | undefined
|
||||
onBrushDomainChange: (domain: [number, number]) => void
|
||||
onBrushDomainChange: (domain: [number, number], mode: string | undefined) => void
|
||||
|
||||
zoomLevels: ZoomLevels
|
||||
}
|
||||
|
||||
@@ -21,10 +21,12 @@ import { useModalOpen, useToggleModal } from '../../state/application/hooks'
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { ExternalLink } from '../../theme'
|
||||
import { ButtonPrimary } from '../Button'
|
||||
import { useDarkModeManager, useUserLocaleManager } from 'state/user/hooks'
|
||||
import { useDarkModeManager } from 'state/user/hooks'
|
||||
|
||||
import { L2_CHAIN_IDS, CHAIN_INFO, SupportedChainId } from 'constants/chains'
|
||||
import { LOCALE_LABEL, SUPPORTED_LOCALES } from 'constants/locales'
|
||||
import { LOCALE_LABEL, SupportedLocale, SUPPORTED_LOCALES } from 'constants/locales'
|
||||
import { useLocationLinkProps } from 'hooks/useLocationLinkProps'
|
||||
import { useActiveLocale } from 'hooks/useActiveLocale'
|
||||
|
||||
export enum FlyoutAlignment {
|
||||
LEFT = 'LEFT',
|
||||
@@ -140,6 +142,20 @@ const InternalMenuItem = styled(Link)`
|
||||
}
|
||||
`
|
||||
|
||||
const InternalLinkMenuItem = styled(InternalMenuItem)`
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
padding: 0.5rem 0.5rem;
|
||||
justify-content: space-between;
|
||||
text-decoration: none;
|
||||
:hover {
|
||||
color: ${({ theme }) => theme.text1};
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
`
|
||||
|
||||
const ToggleMenuItem = styled.button`
|
||||
background-color: transparent;
|
||||
margin: 0;
|
||||
@@ -163,6 +179,34 @@ const ToggleMenuItem = styled.button`
|
||||
|
||||
const CODE_LINK = 'https://github.com/Uniswap/uniswap-interface'
|
||||
|
||||
function LanguageMenuItem({ locale, active, key }: { locale: SupportedLocale; active: boolean; key: string }) {
|
||||
const { to, onClick } = useLocationLinkProps(locale)
|
||||
|
||||
if (!to) return null
|
||||
|
||||
return (
|
||||
<InternalLinkMenuItem onClick={onClick} key={key} to={to}>
|
||||
<div>{LOCALE_LABEL[locale]}</div>
|
||||
{active && <Check opacity={0.6} size={16} />}
|
||||
</InternalLinkMenuItem>
|
||||
)
|
||||
}
|
||||
|
||||
function LanguageMenu({ close }: { close: () => void }) {
|
||||
const activeLocale = useActiveLocale()
|
||||
|
||||
return (
|
||||
<MenuFlyout>
|
||||
<ToggleMenuItem onClick={close}>
|
||||
<ChevronLeft size={16} />
|
||||
</ToggleMenuItem>
|
||||
{SUPPORTED_LOCALES.map((locale) => (
|
||||
<LanguageMenuItem locale={locale} active={activeLocale === locale} key={locale} />
|
||||
))}
|
||||
</MenuFlyout>
|
||||
)
|
||||
}
|
||||
|
||||
export default function Menu() {
|
||||
const { account, chainId } = useActiveWeb3React()
|
||||
|
||||
@@ -175,7 +219,6 @@ export default function Menu() {
|
||||
const { infoLink } = CHAIN_INFO[chainId ? chainId : SupportedChainId.MAINNET]
|
||||
|
||||
const [darkMode, toggleDarkMode] = useDarkModeManager()
|
||||
const [currentLocale, setLocale] = useUserLocaleManager()
|
||||
|
||||
const [menu, setMenu] = useState<'main' | 'lang'>('main')
|
||||
|
||||
@@ -194,19 +237,7 @@ export default function Menu() {
|
||||
(() => {
|
||||
switch (menu) {
|
||||
case 'lang':
|
||||
return (
|
||||
<MenuFlyout>
|
||||
<ToggleMenuItem onClick={() => setMenu('main')}>
|
||||
<ChevronLeft size={16} />
|
||||
</ToggleMenuItem>
|
||||
{SUPPORTED_LOCALES.map((locale) => (
|
||||
<ToggleMenuItem onClick={() => setLocale(locale)} key={locale}>
|
||||
<div>{LOCALE_LABEL[locale]}</div>
|
||||
{currentLocale === locale && <Check opacity={0.6} size={16} />}
|
||||
</ToggleMenuItem>
|
||||
))}
|
||||
</MenuFlyout>
|
||||
)
|
||||
return <LanguageMenu close={() => setMenu('main')} />
|
||||
case 'main':
|
||||
default:
|
||||
return (
|
||||
@@ -306,11 +337,11 @@ export const NewMenu = ({ flyoutAlignment = FlyoutAlignment.RIGHT, ToggleUI, men
|
||||
<NewMenuFlyout flyoutAlignment={flyoutAlignment}>
|
||||
{menuItems.map(({ content, link, external }, i) =>
|
||||
external ? (
|
||||
<ExternalMenuItem id="link" href={link} key={link + i}>
|
||||
<ExternalMenuItem href={link} key={i}>
|
||||
{content}
|
||||
</ExternalMenuItem>
|
||||
) : (
|
||||
<NewMenuItem id="link" to={link} key={link + i}>
|
||||
<NewMenuItem to={link} key={i}>
|
||||
{content}
|
||||
</NewMenuItem>
|
||||
)
|
||||
|
||||
@@ -85,11 +85,11 @@ export function SwapPoolTabs({ active }: { active: 'swap' | 'pool' }) {
|
||||
export function FindPoolTabs({ origin }: { origin: string }) {
|
||||
return (
|
||||
<Tabs>
|
||||
<RowBetween style={{ padding: '1rem 1rem 0 1rem' }}>
|
||||
<RowBetween style={{ padding: '1rem 1rem 0 1rem', position: 'relative' }}>
|
||||
<HistoryLink to={origin}>
|
||||
<StyledArrowLeft />
|
||||
</HistoryLink>
|
||||
<ActiveText>
|
||||
<ActiveText style={{ position: 'absolute', left: '50%', transform: 'translateX(-50%)' }}>
|
||||
<Trans>Import V2 Pool</Trans>
|
||||
</ActiveText>
|
||||
</RowBetween>
|
||||
|
||||
@@ -11,6 +11,7 @@ import { ArrowDownCircle } from 'react-feather'
|
||||
import { useArbitrumAlphaAlert, useDarkModeManager } from 'state/user/hooks'
|
||||
import styled from 'styled-components/macro'
|
||||
import { ExternalLink, MEDIA_WIDTHS } from 'theme'
|
||||
import { ReadMoreLink } from './styles'
|
||||
|
||||
const L2Icon = styled.img`
|
||||
display: none;
|
||||
@@ -117,7 +118,10 @@ export function AddLiquidityNetworkAlert() {
|
||||
<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>
|
||||
<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">
|
||||
<Trans>Read more</Trans>
|
||||
</ReadMoreLink>
|
||||
</Body>
|
||||
<LinkOutToBridge href={depositUrl}>
|
||||
<Trans>Deposit to {info.label}</Trans>
|
||||
|
||||
@@ -11,6 +11,7 @@ import { ArrowDownCircle } from 'react-feather'
|
||||
import { useArbitrumAlphaAlert, useDarkModeManager } from 'state/user/hooks'
|
||||
import styled from 'styled-components/macro'
|
||||
import { ExternalLink, MEDIA_WIDTHS } from 'theme'
|
||||
import { ReadMoreLink } from './styles'
|
||||
|
||||
const L2Icon = styled.img`
|
||||
display: none;
|
||||
@@ -117,7 +118,10 @@ export function MinimalNetworkAlert() {
|
||||
<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>
|
||||
<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">
|
||||
<Trans>Read more</Trans>
|
||||
</ReadMoreLink>
|
||||
</Body>
|
||||
<LinkOutToBridge href={depositUrl}>
|
||||
<Trans>Deposit to {info.label}</Trans>
|
||||
|
||||
@@ -8,6 +8,7 @@ import { useETHBalances } from 'state/wallet/hooks'
|
||||
import styled, { css } from 'styled-components/macro'
|
||||
import { ExternalLink, MEDIA_WIDTHS } from 'theme'
|
||||
import { CHAIN_INFO } from '../../constants/chains'
|
||||
import { ReadMoreLink } from './styles'
|
||||
|
||||
const L2Icon = styled.img`
|
||||
width: 40px;
|
||||
@@ -152,7 +153,10 @@ export function NetworkAlert() {
|
||||
<Trans>
|
||||
This is an alpha release of Uniswap on the {info.label} network. You must bridge L1 assets to the network to
|
||||
swap them.
|
||||
</Trans>
|
||||
</Trans>{' '}
|
||||
<ReadMoreLink href="https://help.uniswap.org/en/articles/5392809-how-to-deposit-tokens-to-optimism">
|
||||
<Trans>Read more</Trans>
|
||||
</ReadMoreLink>
|
||||
</Body>
|
||||
</ContentWrapper>
|
||||
<LinkOutToBridge href={depositUrl}>
|
||||
|
||||
7
src/components/NetworkAlert/styles.ts
Normal file
7
src/components/NetworkAlert/styles.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import styled from 'styled-components/macro'
|
||||
import { ExternalLink } from 'theme'
|
||||
|
||||
export const ReadMoreLink = styled(ExternalLink)`
|
||||
color: ${({ theme }) => theme.text1};
|
||||
text-decoration: underline;
|
||||
`
|
||||
@@ -3,6 +3,7 @@ import { SupportedChainId } from 'constants/chains'
|
||||
import { useActiveWeb3React } from 'hooks/web3'
|
||||
import { AlertOctagon } from 'react-feather'
|
||||
import styled from 'styled-components/macro'
|
||||
import { ExternalLink } from 'theme'
|
||||
|
||||
const Root = styled.div`
|
||||
background-color: ${({ theme }) => theme.yellow3};
|
||||
@@ -11,6 +12,7 @@ const Root = styled.div`
|
||||
margin-top: 16px;
|
||||
padding: 16px;
|
||||
width: 100%;
|
||||
max-width: 880px;
|
||||
`
|
||||
const WarningIcon = styled(AlertOctagon)`
|
||||
margin: 0 8px 0 0;
|
||||
@@ -30,8 +32,9 @@ const Body = styled.div`
|
||||
line-height: 15px;
|
||||
margin: 8px 0 0 0;
|
||||
`
|
||||
const LinkOutToNotion = styled.a`
|
||||
const ReadMoreLink = styled(ExternalLink)`
|
||||
color: black;
|
||||
text-decoration: underline;
|
||||
`
|
||||
|
||||
export default function OptimismDowntimeWarning() {
|
||||
@@ -44,18 +47,15 @@ export default function OptimismDowntimeWarning() {
|
||||
<Root>
|
||||
<TitleRow>
|
||||
<WarningIcon />
|
||||
<Trans>{'Optimism'} Scheduled Downtimes</Trans>
|
||||
<Trans>Optimism Planned Downtime</Trans>
|
||||
</TitleRow>
|
||||
<Body>
|
||||
<Trans>
|
||||
{'Optimism'} expects some scheduled downtime in the near future.
|
||||
<LinkOutToNotion
|
||||
href={`https://www.notion.so/Optimism-Regenesis-Schedule-8d14a34902ca4f5a8910762b3ec4b8da`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
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.{' '}
|
||||
<ReadMoreLink href="https://help.uniswap.org/en/articles/5406082-what-happens-if-the-optimistic-ethereum-network-experiences-downtime">
|
||||
Read more.
|
||||
</LinkOutToNotion>
|
||||
</ReadMoreLink>
|
||||
</Trans>
|
||||
</Body>
|
||||
</Root>
|
||||
|
||||
@@ -4,77 +4,28 @@ import { AutoRow } from 'components/Row'
|
||||
import { TYPE } from 'theme'
|
||||
import styled from 'styled-components/macro'
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { FeeAmount } from '@uniswap/v3-sdk'
|
||||
import ReactGA from 'react-ga'
|
||||
|
||||
const Button = styled(ButtonOutlined).attrs(() => ({
|
||||
padding: '4px',
|
||||
borderRadius: '8px',
|
||||
padding: '8px',
|
||||
$borderRadius: '8px',
|
||||
}))`
|
||||
color: ${({ theme }) => theme.text1};
|
||||
flex: 1;
|
||||
background-color: ${({ theme }) => theme.bg2};
|
||||
`
|
||||
|
||||
const RANGES = {
|
||||
[FeeAmount.LOW]: [
|
||||
{ label: '0.05', ticks: 5 },
|
||||
{ label: '0.1', ticks: 10 },
|
||||
{ label: '0.2', ticks: 20 },
|
||||
],
|
||||
[FeeAmount.MEDIUM]: [
|
||||
{ label: '1', ticks: 100 },
|
||||
{ label: '10', ticks: 953 },
|
||||
{ label: '50', ticks: 4055 },
|
||||
],
|
||||
[FeeAmount.HIGH]: [
|
||||
{ label: '2', ticks: 198 },
|
||||
{ label: '10', ticks: 953 },
|
||||
{ label: '80', ticks: 5878 },
|
||||
],
|
||||
}
|
||||
|
||||
interface PresetsButtonProps {
|
||||
feeAmount: FeeAmount | undefined
|
||||
setRange: (numTicks: number) => void
|
||||
setFullRange: () => void
|
||||
}
|
||||
|
||||
const PresetButton = ({
|
||||
values: { label, ticks },
|
||||
setRange,
|
||||
}: {
|
||||
values: {
|
||||
label: string
|
||||
ticks: number
|
||||
}
|
||||
setRange: (numTicks: number) => void
|
||||
}) => (
|
||||
<Button
|
||||
onClick={() => {
|
||||
setRange(ticks)
|
||||
ReactGA.event({
|
||||
category: 'Liquidity',
|
||||
action: 'Preset clicked',
|
||||
label: label,
|
||||
})
|
||||
}}
|
||||
>
|
||||
<TYPE.body fontSize={12}>
|
||||
<Trans>+/- {label}%</Trans>
|
||||
</TYPE.body>
|
||||
</Button>
|
||||
)
|
||||
|
||||
export default function PresetsButtons({ feeAmount, setRange, setFullRange }: PresetsButtonProps) {
|
||||
feeAmount = feeAmount ?? FeeAmount.LOW
|
||||
|
||||
export default function PresetsButtons({ setFullRange }: { setFullRange: () => void }) {
|
||||
return (
|
||||
<AutoRow gap="4px" width="auto">
|
||||
<PresetButton values={RANGES[feeAmount][0]} setRange={setRange} />
|
||||
<PresetButton values={RANGES[feeAmount][1]} setRange={setRange} />
|
||||
<PresetButton values={RANGES[feeAmount][2]} setRange={setRange} />
|
||||
<Button onClick={() => setFullRange()}>
|
||||
<Button
|
||||
onClick={() => {
|
||||
setFullRange()
|
||||
ReactGA.event({
|
||||
category: 'Liquidity',
|
||||
action: 'Full Range Clicked',
|
||||
})
|
||||
}}
|
||||
>
|
||||
<TYPE.body fontSize={12}>
|
||||
<Trans>Full Range</Trans>
|
||||
</TYPE.body>
|
||||
|
||||
@@ -44,13 +44,13 @@ export default function RangeSelector({
|
||||
<AutoColumn gap="md">
|
||||
<RowBetween>
|
||||
<StepCounter
|
||||
value={ticksAtLimit[Bound.LOWER] ? '0' : leftPrice?.toSignificant(5) ?? ''}
|
||||
value={ticksAtLimit[isSorted ? Bound.LOWER : Bound.UPPER] ? '0' : leftPrice?.toSignificant(5) ?? ''}
|
||||
onUserInput={onLeftRangeInput}
|
||||
width="48%"
|
||||
decrement={isSorted ? getDecrementLower : getIncrementUpper}
|
||||
increment={isSorted ? getIncrementLower : getDecrementUpper}
|
||||
decrementDisabled={ticksAtLimit[Bound.LOWER]}
|
||||
incrementDisabled={ticksAtLimit[Bound.LOWER]}
|
||||
decrementDisabled={ticksAtLimit[isSorted ? Bound.LOWER : Bound.UPPER]}
|
||||
incrementDisabled={ticksAtLimit[isSorted ? Bound.LOWER : Bound.UPPER]}
|
||||
feeAmount={feeAmount}
|
||||
label={leftPrice ? `${currencyB?.symbol}` : '-'}
|
||||
title={<Trans>Min Price</Trans>}
|
||||
@@ -58,13 +58,13 @@ export default function RangeSelector({
|
||||
tokenB={currencyB?.symbol}
|
||||
/>
|
||||
<StepCounter
|
||||
value={ticksAtLimit[Bound.UPPER] ? '∞' : rightPrice?.toSignificant(5) ?? ''}
|
||||
value={ticksAtLimit[isSorted ? Bound.UPPER : Bound.LOWER] ? '∞' : rightPrice?.toSignificant(5) ?? ''}
|
||||
onUserInput={onRightRangeInput}
|
||||
width="48%"
|
||||
decrement={isSorted ? getDecrementUpper : getIncrementLower}
|
||||
increment={isSorted ? getIncrementUpper : getDecrementLower}
|
||||
incrementDisabled={ticksAtLimit[Bound.UPPER]}
|
||||
decrementDisabled={ticksAtLimit[Bound.UPPER]}
|
||||
incrementDisabled={ticksAtLimit[isSorted ? Bound.UPPER : Bound.LOWER]}
|
||||
decrementDisabled={ticksAtLimit[isSorted ? Bound.UPPER : Bound.LOWER]}
|
||||
feeAmount={feeAmount}
|
||||
label={rightPrice ? `${currencyB?.symbol}` : '-'}
|
||||
tokenA={currencyA?.symbol}
|
||||
|
||||
@@ -10,6 +10,12 @@ import QuestionHelper from '../QuestionHelper'
|
||||
import { AutoRow } from '../Row'
|
||||
import CurrencyLogo from '../CurrencyLogo'
|
||||
|
||||
const MobileWrapper = styled(AutoColumn)`
|
||||
${({ theme }) => theme.mediaWidth.upToSmall`
|
||||
display: none;
|
||||
`};
|
||||
`
|
||||
|
||||
const BaseWrapper = styled.div<{ disable?: boolean }>`
|
||||
border: 1px solid ${({ theme, disable }) => (disable ? 'transparent' : theme.bg3)};
|
||||
border-radius: 10px;
|
||||
@@ -39,7 +45,7 @@ export default function CommonBases({
|
||||
const bases = typeof chainId !== 'undefined' ? COMMON_BASES[chainId] ?? [] : []
|
||||
|
||||
return bases.length > 0 ? (
|
||||
<AutoColumn gap="md">
|
||||
<MobileWrapper gap="md">
|
||||
<AutoRow>
|
||||
<Text fontWeight={500} fontSize={14}>
|
||||
<Trans>Common bases</Trans>
|
||||
@@ -63,6 +69,6 @@ export default function CommonBases({
|
||||
)
|
||||
})}
|
||||
</AutoRow>
|
||||
</AutoColumn>
|
||||
</MobileWrapper>
|
||||
) : null
|
||||
}
|
||||
|
||||
@@ -33,10 +33,11 @@ const WarningWrapper = styled(Card)<{ highWarning: boolean }>`
|
||||
|
||||
const AddressText = styled(TYPE.blue)`
|
||||
font-size: 12px;
|
||||
word-break: break-all;
|
||||
|
||||
${({ theme }) => theme.mediaWidth.upToSmall`
|
||||
font-size: 10px;
|
||||
`}
|
||||
`}
|
||||
`
|
||||
|
||||
interface ImportProps {
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { useMemo } from 'react'
|
||||
import ReactGA from 'react-ga'
|
||||
import { useLocation } from 'react-router'
|
||||
import styled from 'styled-components/macro'
|
||||
import { DEFAULT_LOCALE, LOCALE_LABEL, SupportedLocale } from '../../constants/locales'
|
||||
import { navigatorLocale, useActiveLocale } from '../../hooks/useActiveLocale'
|
||||
import useParsedQueryString from '../../hooks/useParsedQueryString'
|
||||
import { StyledInternalLink, TYPE } from '../../theme'
|
||||
import { stringify } from 'qs'
|
||||
import { useLocationLinkProps } from 'hooks/useLocationLinkProps'
|
||||
|
||||
const Container = styled(TYPE.small)`
|
||||
opacity: 0.6;
|
||||
@@ -17,46 +14,35 @@ const Container = styled(TYPE.small)`
|
||||
margin-top: 1rem !important;
|
||||
`
|
||||
|
||||
export function SwitchLocaleLink() {
|
||||
const activeLocale = useActiveLocale()
|
||||
const useTargetLocale = (activeLocale: SupportedLocale) => {
|
||||
const browserLocale = useMemo(() => navigatorLocale(), [])
|
||||
const location = useLocation()
|
||||
const qs = useParsedQueryString()
|
||||
|
||||
if (browserLocale && (browserLocale !== DEFAULT_LOCALE || activeLocale !== DEFAULT_LOCALE)) {
|
||||
let targetLocale: SupportedLocale
|
||||
if (activeLocale === browserLocale) {
|
||||
targetLocale = DEFAULT_LOCALE
|
||||
return DEFAULT_LOCALE
|
||||
} else {
|
||||
targetLocale = browserLocale
|
||||
return browserLocale
|
||||
}
|
||||
|
||||
const target = {
|
||||
...location,
|
||||
search: stringify({ ...qs, lng: targetLocale }),
|
||||
}
|
||||
|
||||
return (
|
||||
<Container>
|
||||
<Trans>
|
||||
Uniswap available in:{' '}
|
||||
{
|
||||
<StyledInternalLink
|
||||
onClick={() => {
|
||||
ReactGA.event({
|
||||
category: 'Localization',
|
||||
action: 'Switch Locale',
|
||||
label: `${activeLocale} -> ${targetLocale}`,
|
||||
})
|
||||
}}
|
||||
to={target}
|
||||
>
|
||||
{LOCALE_LABEL[targetLocale]}
|
||||
</StyledInternalLink>
|
||||
}
|
||||
</Trans>
|
||||
</Container>
|
||||
)
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
export function SwitchLocaleLink() {
|
||||
const activeLocale = useActiveLocale()
|
||||
const targetLocale = useTargetLocale(activeLocale)
|
||||
|
||||
const { to, onClick } = useLocationLinkProps(targetLocale)
|
||||
|
||||
if (!targetLocale || !to) return null
|
||||
|
||||
return (
|
||||
<Container>
|
||||
<Trans>
|
||||
Uniswap available in:{' '}
|
||||
<StyledInternalLink onClick={onClick} to={to}>
|
||||
{LOCALE_LABEL[targetLocale]}
|
||||
</StyledInternalLink>
|
||||
</Trans>
|
||||
</Container>
|
||||
)
|
||||
}
|
||||
|
||||
130
src/components/TextInput/__snapshots__/index.test.tsx.snap
Normal file
130
src/components/TextInput/__snapshots__/index.test.tsx.snap
Normal file
@@ -0,0 +1,130 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`ResizableTextArea renders correctly 1`] = `
|
||||
<DocumentFragment>
|
||||
.c0 {
|
||||
font-size: 12;
|
||||
outline: none;
|
||||
border: none;
|
||||
-webkit-flex: 1 1 auto;
|
||||
-ms-flex: 1 1 auto;
|
||||
flex: 1 1 auto;
|
||||
width: 0;
|
||||
resize: none;
|
||||
background-color: #F7F8FA;
|
||||
-webkit-transition: color 300ms step-start;
|
||||
transition: color 300ms step-start;
|
||||
color: #000000;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: 500;
|
||||
width: 100%;
|
||||
line-height: 1.2;
|
||||
padding: 0px;
|
||||
-webkit-appearance: textfield;
|
||||
}
|
||||
|
||||
.c0::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
.c0::-webkit-outer-spin-button,
|
||||
.c0::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
.c0::-webkit-input-placeholder {
|
||||
color: #C3C5CB;
|
||||
}
|
||||
|
||||
.c0::-moz-placeholder {
|
||||
color: #C3C5CB;
|
||||
}
|
||||
|
||||
.c0:-ms-input-placeholder {
|
||||
color: #C3C5CB;
|
||||
}
|
||||
|
||||
.c0::placeholder {
|
||||
color: #C3C5CB;
|
||||
}
|
||||
|
||||
<textarea
|
||||
autocapitalize="off"
|
||||
autocomplete="off"
|
||||
autocorrect="off"
|
||||
class="c0 testing"
|
||||
font-size="12"
|
||||
placeholder="Test Placeholder"
|
||||
spellcheck="false"
|
||||
style="height: auto; min-height: 500px;"
|
||||
>
|
||||
My test input
|
||||
</textarea>
|
||||
</DocumentFragment>
|
||||
`;
|
||||
|
||||
exports[`TextInput renders correctly 1`] = `
|
||||
<DocumentFragment>
|
||||
.c0 {
|
||||
font-size: 12;
|
||||
outline: none;
|
||||
border: none;
|
||||
-webkit-flex: 1 1 auto;
|
||||
-ms-flex: 1 1 auto;
|
||||
flex: 1 1 auto;
|
||||
width: 0;
|
||||
background-color: #F7F8FA;
|
||||
-webkit-transition: color 300ms step-start;
|
||||
transition: color 300ms step-start;
|
||||
color: #000000;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: 500;
|
||||
width: 100%;
|
||||
padding: 0px;
|
||||
-webkit-appearance: textfield;
|
||||
}
|
||||
|
||||
.c0::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
.c0::-webkit-outer-spin-button,
|
||||
.c0::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
.c0::-webkit-input-placeholder {
|
||||
color: #C3C5CB;
|
||||
}
|
||||
|
||||
.c0::-moz-placeholder {
|
||||
color: #C3C5CB;
|
||||
}
|
||||
|
||||
.c0:-ms-input-placeholder {
|
||||
color: #C3C5CB;
|
||||
}
|
||||
|
||||
.c0::placeholder {
|
||||
color: #C3C5CB;
|
||||
}
|
||||
|
||||
<div
|
||||
class="testing"
|
||||
>
|
||||
<input
|
||||
autocapitalize="off"
|
||||
autocomplete="off"
|
||||
autocorrect="off"
|
||||
class="c0"
|
||||
font-size="12"
|
||||
placeholder="Test Placeholder"
|
||||
spellcheck="false"
|
||||
type="text"
|
||||
value="My test input"
|
||||
/>
|
||||
</div>
|
||||
</DocumentFragment>
|
||||
`;
|
||||
68
src/components/TextInput/index.test.tsx
Normal file
68
src/components/TextInput/index.test.tsx
Normal file
@@ -0,0 +1,68 @@
|
||||
import { TextInput, ResizingTextArea } from './'
|
||||
import { render, screen, fireEvent } from 'test-utils'
|
||||
|
||||
describe('TextInput', () => {
|
||||
it('renders correctly', () => {
|
||||
const { asFragment } = render(
|
||||
<TextInput
|
||||
className="testing"
|
||||
value="My test input"
|
||||
onUserInput={() => null}
|
||||
placeholder="Test Placeholder"
|
||||
fontSize="12"
|
||||
/>
|
||||
)
|
||||
expect(asFragment()).toMatchSnapshot()
|
||||
})
|
||||
|
||||
it('calls the handler on user input', () => {
|
||||
const onUserInputSpy = jest.fn()
|
||||
render(
|
||||
<TextInput
|
||||
className="testing"
|
||||
value=""
|
||||
onUserInput={onUserInputSpy}
|
||||
placeholder="Test Placeholder"
|
||||
fontSize="12"
|
||||
/>
|
||||
)
|
||||
|
||||
fireEvent.change(screen.getByPlaceholderText('Test Placeholder'), { target: { value: 'New value' } })
|
||||
|
||||
expect(onUserInputSpy).toHaveBeenCalledWith('New value')
|
||||
expect(onUserInputSpy).toHaveBeenCalledTimes(1)
|
||||
})
|
||||
})
|
||||
|
||||
describe('ResizableTextArea', () => {
|
||||
it('renders correctly', () => {
|
||||
const { asFragment } = render(
|
||||
<ResizingTextArea
|
||||
className="testing"
|
||||
value="My test input"
|
||||
onUserInput={() => null}
|
||||
placeholder="Test Placeholder"
|
||||
fontSize="12"
|
||||
/>
|
||||
)
|
||||
expect(asFragment()).toMatchSnapshot()
|
||||
})
|
||||
|
||||
it('calls the handler on user input', () => {
|
||||
const onUserInputSpy = jest.fn()
|
||||
render(
|
||||
<ResizingTextArea
|
||||
className="testing"
|
||||
value=""
|
||||
onUserInput={onUserInputSpy}
|
||||
placeholder="Test Placeholder"
|
||||
fontSize="12"
|
||||
/>
|
||||
)
|
||||
|
||||
fireEvent.change(screen.getByPlaceholderText('Test Placeholder'), { target: { value: 'New value' } })
|
||||
|
||||
expect(onUserInputSpy).toHaveBeenCalledWith('New value')
|
||||
expect(onUserInputSpy).toHaveBeenCalledTimes(1)
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,70 @@
|
||||
import useTheme from 'hooks/useTheme'
|
||||
import styled, { keyframes } from 'styled-components/macro'
|
||||
|
||||
const Wrapper = styled.div`
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
`
|
||||
|
||||
const dash = keyframes`
|
||||
0% {
|
||||
stroke-dashoffset: 1000;
|
||||
}
|
||||
100% {
|
||||
stroke-dashoffset: 0;
|
||||
}
|
||||
`
|
||||
|
||||
const dashCheck = keyframes`
|
||||
0% {
|
||||
stroke-dashoffset: -100;
|
||||
}
|
||||
100% {
|
||||
stroke-dashoffset: 900;
|
||||
}
|
||||
`
|
||||
|
||||
const Circle = styled.circle`
|
||||
stroke-dasharray: 1000;
|
||||
stroke-dashoffset: 0;
|
||||
-webkit-animation: ${dash} 0.9s ease-in-out;
|
||||
animation: ${dash} 0.9s ease-in-out;
|
||||
`
|
||||
|
||||
const PolyLine = styled.polyline`
|
||||
stroke-dasharray: 1000;
|
||||
stroke-dashoffset: 0;
|
||||
stroke-dashoffset: -100;
|
||||
-webkit-animation: ${dashCheck} 0.9s 0.35s ease-in-out forwards;
|
||||
animation: ${dashCheck} 0.9s 0.35s ease-in-out forwards;
|
||||
`
|
||||
|
||||
export default function AnimatedConfirmation() {
|
||||
const theme = useTheme()
|
||||
|
||||
return (
|
||||
<Wrapper className="w4rAnimated_checkmark">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 130.2 130.2">
|
||||
<Circle
|
||||
className="path circle"
|
||||
fill="none"
|
||||
stroke={theme.green1}
|
||||
strokeWidth="6"
|
||||
strokeMiterlimit="10"
|
||||
cx="65.1"
|
||||
cy="65.1"
|
||||
r="62.1"
|
||||
/>
|
||||
<PolyLine
|
||||
className="path check"
|
||||
fill="none"
|
||||
stroke={theme.green1}
|
||||
strokeWidth="6"
|
||||
strokeLinecap="round"
|
||||
strokeMiterlimit="10"
|
||||
points="100.2,40.2 51.5,88.8 29.8,67.5 "
|
||||
/>
|
||||
</svg>
|
||||
</Wrapper>
|
||||
)
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Currency } from '@uniswap/sdk-core'
|
||||
import { ReactNode, useContext, useEffect } from 'react'
|
||||
import { ReactNode, useContext } from 'react'
|
||||
import styled, { ThemeContext } from 'styled-components/macro'
|
||||
import { getExplorerLink, ExplorerDataType } from '../../utils/getExplorerLink'
|
||||
import Modal from '../Modal'
|
||||
@@ -7,7 +7,7 @@ import { ExternalLink } from '../../theme'
|
||||
import { Text } from 'rebass'
|
||||
import { CloseIcon, CustomLightSpinner } from '../../theme/components'
|
||||
import { RowBetween, RowFixed } from '../Row'
|
||||
import { AlertTriangle, ArrowUpCircle, CheckCircle } from 'react-feather'
|
||||
import { AlertCircle, AlertTriangle, ArrowUpCircle, CheckCircle } from 'react-feather'
|
||||
import { ButtonPrimary, ButtonLight } from '../Button'
|
||||
import { AutoColumn, ColumnCenter } from '../Column'
|
||||
import Circle from '../../assets/images/blue-loader.svg'
|
||||
@@ -15,7 +15,10 @@ import MetaMaskLogo from '../../assets/images/metamask.png'
|
||||
import { useActiveWeb3React } from '../../hooks/web3'
|
||||
import useAddTokenToMetamask from 'hooks/useAddTokenToMetamask'
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { L2_CHAIN_IDS } from 'constants/chains'
|
||||
import { CHAIN_INFO, L2_CHAIN_IDS, SupportedL2ChainId } from 'constants/chains'
|
||||
import { useIsTransactionConfirmed, useTransaction } from 'state/transactions/hooks'
|
||||
import Badge from 'components/Badge'
|
||||
import AnimatedConfirmation from './AnimatedConfirmation'
|
||||
|
||||
const Wrapper = styled.div`
|
||||
width: 100%;
|
||||
@@ -31,7 +34,7 @@ const BottomSection = styled(Section)`
|
||||
`
|
||||
|
||||
const ConfirmedIcon = styled(ColumnCenter)<{ inline?: boolean }>`
|
||||
padding: ${({ inline }) => (inline ? '20px 0' : '60px 0;')};
|
||||
padding: ${({ inline }) => (inline ? '20px 0' : '32px 0;')};
|
||||
`
|
||||
|
||||
const StyledLogo = styled.img`
|
||||
@@ -65,12 +68,10 @@ function ConfirmationPendingContent({
|
||||
<Text fontWeight={500} fontSize={20} textAlign="center">
|
||||
<Trans>Waiting For Confirmation</Trans>
|
||||
</Text>
|
||||
<AutoColumn gap="12px" justify={'center'}>
|
||||
<Text fontWeight={600} fontSize={14} color="" textAlign="center">
|
||||
{pendingText}
|
||||
</Text>
|
||||
</AutoColumn>
|
||||
<Text fontSize={12} color="#565A69" textAlign="center" marginBottom={12}>
|
||||
<Text fontWeight={400} fontSize={16} textAlign="center">
|
||||
{pendingText}
|
||||
</Text>
|
||||
<Text fontWeight={500} fontSize={14} color="#565A69" textAlign="center" marginBottom="12px">
|
||||
<Trans>Confirm this transaction in your wallet</Trans>
|
||||
</Text>
|
||||
</AutoColumn>
|
||||
@@ -78,7 +79,6 @@ function ConfirmationPendingContent({
|
||||
</Wrapper>
|
||||
)
|
||||
}
|
||||
|
||||
function TransactionSubmittedContent({
|
||||
onDismiss,
|
||||
chainId,
|
||||
@@ -207,6 +207,106 @@ export function TransactionErrorContent({ message, onDismiss }: { message: React
|
||||
)
|
||||
}
|
||||
|
||||
function L2Content({
|
||||
onDismiss,
|
||||
chainId,
|
||||
hash,
|
||||
pendingText,
|
||||
inline,
|
||||
}: {
|
||||
onDismiss: () => void
|
||||
hash: string | undefined
|
||||
chainId: number
|
||||
currencyToAdd?: Currency | undefined
|
||||
pendingText: ReactNode
|
||||
inline?: boolean // not in modal
|
||||
}) {
|
||||
const theme = useContext(ThemeContext)
|
||||
|
||||
const transaction = useTransaction(hash)
|
||||
const confirmed = useIsTransactionConfirmed(hash)
|
||||
const transactionSuccess = transaction?.receipt?.status === 1
|
||||
|
||||
// convert unix time difference to seconds
|
||||
const secondsToConfirm = transaction?.confirmedTime
|
||||
? (transaction.confirmedTime - transaction.addedTime) / 1000
|
||||
: undefined
|
||||
|
||||
const info = CHAIN_INFO[chainId as SupportedL2ChainId]
|
||||
|
||||
return (
|
||||
<Wrapper>
|
||||
<Section inline={inline}>
|
||||
{!inline && (
|
||||
<RowBetween mb="16px">
|
||||
<Badge>
|
||||
<RowFixed>
|
||||
<StyledLogo src={info.logoUrl} style={{ margin: '0 8px 0 0' }} />
|
||||
{info.label}
|
||||
</RowFixed>
|
||||
</Badge>
|
||||
<CloseIcon onClick={onDismiss} />
|
||||
</RowBetween>
|
||||
)}
|
||||
<ConfirmedIcon inline={inline}>
|
||||
{confirmed ? (
|
||||
transactionSuccess ? (
|
||||
// <CheckCircle strokeWidth={1} size={inline ? '40px' : '90px'} color={theme.green1} />
|
||||
<AnimatedConfirmation />
|
||||
) : (
|
||||
<AlertCircle strokeWidth={1} size={inline ? '40px' : '90px'} color={theme.red1} />
|
||||
)
|
||||
) : (
|
||||
<CustomLightSpinner src={Circle} alt="loader" size={inline ? '40px' : '90px'} />
|
||||
)}
|
||||
</ConfirmedIcon>
|
||||
<AutoColumn gap="12px" justify={'center'}>
|
||||
<Text fontWeight={500} fontSize={20} textAlign="center">
|
||||
{!hash ? (
|
||||
<Trans>Confirm transaction in wallet</Trans>
|
||||
) : !confirmed ? (
|
||||
<Trans>Transaction Submitted</Trans>
|
||||
) : transactionSuccess ? (
|
||||
<Trans>Success</Trans>
|
||||
) : (
|
||||
<Trans>Error</Trans>
|
||||
)}
|
||||
</Text>
|
||||
<Text fontWeight={400} fontSize={16} textAlign="center">
|
||||
{transaction?.summary ?? pendingText ?? ''}
|
||||
</Text>
|
||||
{chainId && hash ? (
|
||||
<ExternalLink href={getExplorerLink(chainId, hash, ExplorerDataType.TRANSACTION)}>
|
||||
<Text fontWeight={500} fontSize={14} color={theme.primary1}>
|
||||
<Trans>View on Explorer</Trans>
|
||||
</Text>
|
||||
</ExternalLink>
|
||||
) : (
|
||||
<div style={{ height: '17px' }}></div>
|
||||
)}
|
||||
<Text color={theme.text3} style={{ margin: '20px 0 0 0' }} fontSize={'14px'}>
|
||||
{!secondsToConfirm ? (
|
||||
<div style={{ height: '24px' }}></div>
|
||||
) : (
|
||||
<div>
|
||||
<Trans>Transaction completed in </Trans>
|
||||
<span style={{ fontWeight: 500, marginLeft: '4px', color: theme.text1 }}>
|
||||
{secondsToConfirm} seconds 🎉
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
</Text>
|
||||
<ButtonPrimary onClick={onDismiss} style={{ margin: '4px 0 0 0' }}>
|
||||
<Text fontWeight={500} fontSize={20}>
|
||||
{inline ? <Trans>Return</Trans> : <Trans>Close</Trans>}
|
||||
</Text>
|
||||
</ButtonPrimary>
|
||||
</AutoColumn>
|
||||
</Section>
|
||||
</Wrapper>
|
||||
)
|
||||
}
|
||||
|
||||
interface ConfirmationModalProps {
|
||||
isOpen: boolean
|
||||
onDismiss: () => void
|
||||
@@ -228,21 +328,16 @@ export default function TransactionConfirmationModal({
|
||||
}: ConfirmationModalProps) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
|
||||
// if on L2 and txn is submitted, close automatically (if open)
|
||||
useEffect(() => {
|
||||
if (isOpen && chainId && L2_CHAIN_IDS.includes(chainId) && hash) {
|
||||
onDismiss()
|
||||
}
|
||||
}, [chainId, hash, isOpen, onDismiss])
|
||||
const isL2 = Boolean(chainId && L2_CHAIN_IDS.includes(chainId))
|
||||
|
||||
if (!chainId) return null
|
||||
|
||||
// confirmation screen
|
||||
// if on L2 and submitted dont render content, as should auto dismiss
|
||||
// need this to skip submitted view during state update ^^
|
||||
return (
|
||||
<Modal isOpen={isOpen} onDismiss={onDismiss} maxHeight={90}>
|
||||
{L2_CHAIN_IDS.includes(chainId) && hash ? null : attemptingTxn ? (
|
||||
{isL2 && (hash || attemptingTxn) ? (
|
||||
<L2Content chainId={chainId} hash={hash} onDismiss={onDismiss} pendingText={pendingText} />
|
||||
) : attemptingTxn ? (
|
||||
<ConfirmationPendingContent onDismiss={onDismiss} pendingText={pendingText} />
|
||||
) : hash ? (
|
||||
<TransactionSubmittedContent
|
||||
|
||||
@@ -10,6 +10,8 @@ import { RowBetween, RowFixed } from '../Row'
|
||||
import { DEFAULT_DEADLINE_FROM_NOW } from 'constants/misc'
|
||||
import { darken } from 'polished'
|
||||
import { useSetUserSlippageTolerance, useUserSlippageTolerance, useUserTransactionTTL } from 'state/user/hooks'
|
||||
import { L2_CHAIN_IDS } from 'constants/chains'
|
||||
import { useActiveWeb3React } from 'hooks/web3'
|
||||
|
||||
enum SlippageError {
|
||||
InvalidInput = 'InvalidInput',
|
||||
@@ -92,6 +94,7 @@ interface TransactionSettingsProps {
|
||||
}
|
||||
|
||||
export default function TransactionSettings({ placeholderSlippage }: TransactionSettingsProps) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const theme = useContext(ThemeContext)
|
||||
|
||||
const userSlippageTolerance = useUserSlippageTolerance()
|
||||
@@ -151,6 +154,8 @@ export default function TransactionSettings({ placeholderSlippage }: Transaction
|
||||
}
|
||||
}
|
||||
|
||||
const showCustomDeadlineRow = Boolean(chainId && !L2_CHAIN_IDS.includes(chainId))
|
||||
|
||||
return (
|
||||
<AutoColumn gap="md">
|
||||
<AutoColumn gap="sm">
|
||||
@@ -221,37 +226,41 @@ export default function TransactionSettings({ placeholderSlippage }: Transaction
|
||||
) : null}
|
||||
</AutoColumn>
|
||||
|
||||
<AutoColumn gap="sm">
|
||||
<RowFixed>
|
||||
<TYPE.black fontSize={14} fontWeight={400} color={theme.text2}>
|
||||
<Trans>Transaction deadline</Trans>
|
||||
</TYPE.black>
|
||||
<QuestionHelper text={t`Your transaction will revert if it is pending for more than this period of time.`} />
|
||||
</RowFixed>
|
||||
<RowFixed>
|
||||
<OptionCustom style={{ width: '80px' }} warning={!!deadlineError} tabIndex={-1}>
|
||||
<Input
|
||||
placeholder={(DEFAULT_DEADLINE_FROM_NOW / 60).toString()}
|
||||
value={
|
||||
deadlineInput.length > 0
|
||||
? deadlineInput
|
||||
: deadline === DEFAULT_DEADLINE_FROM_NOW
|
||||
? ''
|
||||
: (deadline / 60).toString()
|
||||
}
|
||||
onChange={(e) => parseCustomDeadline(e.target.value)}
|
||||
onBlur={() => {
|
||||
setDeadlineInput('')
|
||||
setDeadlineError(false)
|
||||
}}
|
||||
color={deadlineError ? 'red' : ''}
|
||||
{showCustomDeadlineRow && (
|
||||
<AutoColumn gap="sm">
|
||||
<RowFixed>
|
||||
<TYPE.black fontSize={14} fontWeight={400} color={theme.text2}>
|
||||
<Trans>Transaction deadline</Trans>
|
||||
</TYPE.black>
|
||||
<QuestionHelper
|
||||
text={t`Your transaction will revert if it is pending for more than this period of time.`}
|
||||
/>
|
||||
</OptionCustom>
|
||||
<TYPE.body style={{ paddingLeft: '8px' }} fontSize={14}>
|
||||
<Trans>minutes</Trans>
|
||||
</TYPE.body>
|
||||
</RowFixed>
|
||||
</AutoColumn>
|
||||
</RowFixed>
|
||||
<RowFixed>
|
||||
<OptionCustom style={{ width: '80px' }} warning={!!deadlineError} tabIndex={-1}>
|
||||
<Input
|
||||
placeholder={(DEFAULT_DEADLINE_FROM_NOW / 60).toString()}
|
||||
value={
|
||||
deadlineInput.length > 0
|
||||
? deadlineInput
|
||||
: deadline === DEFAULT_DEADLINE_FROM_NOW
|
||||
? ''
|
||||
: (deadline / 60).toString()
|
||||
}
|
||||
onChange={(e) => parseCustomDeadline(e.target.value)}
|
||||
onBlur={() => {
|
||||
setDeadlineInput('')
|
||||
setDeadlineError(false)
|
||||
}}
|
||||
color={deadlineError ? 'red' : ''}
|
||||
/>
|
||||
</OptionCustom>
|
||||
<TYPE.body style={{ paddingLeft: '8px' }} fontSize={14}>
|
||||
<Trans>minutes</Trans>
|
||||
</TYPE.body>
|
||||
</RowFixed>
|
||||
</AutoColumn>
|
||||
)}
|
||||
</AutoColumn>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { Web3Provider } from '@ethersproject/providers'
|
||||
import { SafeAppConnector } from '@gnosis.pm/safe-apps-web3-react'
|
||||
import { InjectedConnector } from '@web3-react/injected-connector'
|
||||
import { PortisConnector } from '@web3-react/portis-connector'
|
||||
import { WalletConnectConnector } from '@web3-react/walletconnect-connector'
|
||||
@@ -44,6 +45,8 @@ export const injected = new InjectedConnector({
|
||||
supportedChainIds: ALL_SUPPORTED_CHAIN_IDS,
|
||||
})
|
||||
|
||||
export const gnosisSafe = new SafeAppConnector()
|
||||
|
||||
export const walletconnect = new WalletConnectConnector({
|
||||
supportedChainIds: ALL_SUPPORTED_CHAIN_IDS,
|
||||
rpc: NETWORK_URLS,
|
||||
|
||||
@@ -52,7 +52,7 @@ interface L1ChainInfo {
|
||||
readonly infoLink: string
|
||||
readonly label: string
|
||||
}
|
||||
interface L2ChainInfo extends L1ChainInfo {
|
||||
export interface L2ChainInfo extends L1ChainInfo {
|
||||
readonly bridge: string
|
||||
readonly logoUrl: string
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
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'
|
||||
@@ -9,11 +11,10 @@ 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 UMA_LIST = 'https://umaproject.org/uma.tokenlist.json'
|
||||
const WRAPPED_LIST = 'wrapped.tokensoft.eth'
|
||||
|
||||
// used to mark unsupported tokens, these are hosted lists of unsupported tokens
|
||||
export const UNSUPPORTED_LIST_URLS: string[] = [BA_LIST]
|
||||
// only load blocked list if on app url
|
||||
export const UNSUPPORTED_LIST_URLS: string[] = IS_ON_APP_URL ? [BA_LIST] : []
|
||||
|
||||
// lower index == higher priority for token import
|
||||
export const DEFAULT_LIST_OF_LISTS: string[] = [
|
||||
@@ -21,7 +22,6 @@ export const DEFAULT_LIST_OF_LISTS: string[] = [
|
||||
AAVE_LIST,
|
||||
CMC_ALL_LIST,
|
||||
CMC_STABLECOIN,
|
||||
UMA_LIST,
|
||||
WRAPPED_LIST,
|
||||
SET_LIST,
|
||||
ROLL_LIST,
|
||||
|
||||
@@ -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': '繁体中文',
|
||||
}
|
||||
|
||||
@@ -31,3 +31,5 @@ export const BETTER_TRADE_LESS_HOPS_THRESHOLD = new Percent(JSBI.BigInt(50), BIP
|
||||
|
||||
export const ZERO_PERCENT = new Percent('0')
|
||||
export const ONE_HUNDRED_PERCENT = new Percent('1')
|
||||
|
||||
export const IS_ON_APP_URL = window && window.location.hostname === 'app.uniswap.org'
|
||||
|
||||
@@ -8,14 +8,10 @@ import {
|
||||
FEI,
|
||||
FRAX,
|
||||
FXS,
|
||||
MIR,
|
||||
renBTC,
|
||||
TRIBE,
|
||||
UMA,
|
||||
UNI,
|
||||
USDC,
|
||||
USDT,
|
||||
UST,
|
||||
WBTC,
|
||||
ETH2X_FLI,
|
||||
WETH9_EXTENDED,
|
||||
@@ -32,27 +28,6 @@ type ChainCurrencyList = {
|
||||
readonly [chainId: number]: Currency[]
|
||||
}
|
||||
|
||||
// List of all mirror's assets addresses.
|
||||
// Last pulled from : https://whitelist.mirror.finance/eth/tokenlists.json
|
||||
// TODO: Generate this programmatically ?
|
||||
const mAssetsAdditionalBases: { [tokenAddress: string]: Token[] } = {
|
||||
[UST.address]: [MIR],
|
||||
[MIR.address]: [UST],
|
||||
'0xd36932143F6eBDEDD872D5Fb0651f4B72Fd15a84': [MIR, UST], // mAAPL
|
||||
'0x59A921Db27Dd6d4d974745B7FfC5c33932653442': [MIR, UST], // mGOOGL
|
||||
'0x21cA39943E91d704678F5D00b6616650F066fD63': [MIR, UST], // mTSLA
|
||||
'0xC8d674114bac90148d11D3C1d33C61835a0F9DCD': [MIR, UST], // mNFLX
|
||||
'0x13B02c8dE71680e71F0820c996E4bE43c2F57d15': [MIR, UST], // mQQQ
|
||||
'0xEdb0414627E6f1e3F082DE65cD4F9C693D78CCA9': [MIR, UST], // mTWTR
|
||||
'0x41BbEDd7286dAab5910a1f15d12CBda839852BD7': [MIR, UST], // mMSFT
|
||||
'0x0cae9e4d663793c2a2A0b211c1Cf4bBca2B9cAa7': [MIR, UST], // mAMZN
|
||||
'0x56aA298a19C93c6801FDde870fA63EF75Cc0aF72': [MIR, UST], // mBABA
|
||||
'0x1d350417d9787E000cc1b95d70E9536DcD91F373': [MIR, UST], // mIAU
|
||||
'0x9d1555d8cB3C846Bb4f7D5B1B1080872c3166676': [MIR, UST], // mSLV
|
||||
'0x31c63146a635EB7465e5853020b39713AC356991': [MIR, UST], // mUSO
|
||||
'0xf72FCd9DCF0190923Fadd44811E240Ef4533fc86': [MIR, UST], // mVIXY
|
||||
}
|
||||
|
||||
const WETH_ONLY: ChainTokenList = Object.fromEntries(
|
||||
Object.entries(WETH9_EXTENDED).map(([key, value]) => [key, [value]])
|
||||
)
|
||||
@@ -65,13 +40,7 @@ export const BASES_TO_CHECK_TRADES_AGAINST: ChainTokenList = {
|
||||
}
|
||||
export const ADDITIONAL_BASES: { [chainId: number]: { [tokenAddress: string]: Token[] } } = {
|
||||
[SupportedChainId.MAINNET]: {
|
||||
...mAssetsAdditionalBases,
|
||||
'0xF16E4d813f4DcfDe4c5b44f305c908742De84eF0': [ETH2X_FLI],
|
||||
'0xA948E86885e12Fb09AfEF8C52142EBDbDf73cD18': [UNI[SupportedChainId.MAINNET]],
|
||||
'0x561a4717537ff4AF5c687328c0f7E90a319705C0': [UNI[SupportedChainId.MAINNET]],
|
||||
'0xE0360A9e2cdd7d03B9408c7D3001E017BAc2EcD5': [UNI[SupportedChainId.MAINNET]],
|
||||
'0xa6e3454fec677772dd771788a079355e43910638': [UMA],
|
||||
'0xB46F57e7Ce3a284d74b70447Ef9352B5E5Df8963': [UMA],
|
||||
[FEI.address]: [TRIBE],
|
||||
[TRIBE.address]: [FEI],
|
||||
[FRAX.address]: [FXS],
|
||||
|
||||
22
src/constants/tokenLists/broken.tokenlist.json
Normal file
22
src/constants/tokenLists/broken.tokenlist.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "Broken Token List",
|
||||
"timestamp": "2021-01-05T20:47:02.923Z",
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0,
|
||||
"patch": 0
|
||||
},
|
||||
"tags": {},
|
||||
"logoURI": "ipfs://QmNa8mQkrNKp1WEEeGjFezDmDeodkWRevGFN8JCV7b4Xir",
|
||||
"keywords": ["uniswap", "broken"],
|
||||
"tokens": [
|
||||
{
|
||||
"name": "UNI HODL",
|
||||
"address": "0x4bf5dc91E2555449293D7824028Eb8Fe5879B689",
|
||||
"symbol": "UniH",
|
||||
"decimals": 18,
|
||||
"chainId": 1,
|
||||
"logoURI": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"name": "Unsupported Tokens",
|
||||
"timestamp": "2021-01-05T20:47:02.923Z",
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0,
|
||||
"patch": 0
|
||||
},
|
||||
"tags": {},
|
||||
"logoURI": "ipfs://QmNa8mQkrNKp1WEEeGjFezDmDeodkWRevGFN8JCV7b4Xir",
|
||||
"keywords": ["uniswap", "unsupported"],
|
||||
"tokens": [
|
||||
{
|
||||
"name": "Gold Tether",
|
||||
"address": "0x4922a015c4407F87432B179bb209e125432E4a2A",
|
||||
"symbol": "XAUt",
|
||||
"decimals": 6,
|
||||
"chainId": 1,
|
||||
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x4922a015c4407F87432B179bb209e125432E4a2A/logo.png"
|
||||
},
|
||||
{
|
||||
"name": "Grump Cat",
|
||||
"address": "0x93B2FfF814FCaEFFB01406e80B4Ecd89Ca6A021b",
|
||||
"symbol": "GRUMPY",
|
||||
"decimals": 9,
|
||||
"chainId": 1,
|
||||
"logoURI": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x4922a015c4407F87432B179bb209e125432E4a2A/logo.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
1057
src/constants/tokenLists/unsupported.tokenlist.json
Normal file
1057
src/constants/tokenLists/unsupported.tokenlist.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -100,13 +100,6 @@ export const renBTC = new Token(
|
||||
'renBTC',
|
||||
'renBTC'
|
||||
)
|
||||
export const UMA = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828',
|
||||
18,
|
||||
'UMA',
|
||||
'UMA Voting Token v1'
|
||||
)
|
||||
export const ETH2X_FLI = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD',
|
||||
@@ -114,21 +107,6 @@ export const ETH2X_FLI = new Token(
|
||||
'ETH2x-FLI',
|
||||
'ETH 2x Flexible Leverage Index'
|
||||
)
|
||||
// Mirror Protocol compat.
|
||||
export const UST = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xa47c8bf37f92abed4a126bda807a7b7498661acd',
|
||||
18,
|
||||
'UST',
|
||||
'Wrapped UST'
|
||||
)
|
||||
export const MIR = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0x09a3ecafa817268f77be1283176b946c4ff2e608',
|
||||
18,
|
||||
'MIR',
|
||||
'Wrapped MIR'
|
||||
)
|
||||
export const UNI: { [chainId: number]: Token } = {
|
||||
[SupportedChainId.MAINNET]: new Token(SupportedChainId.MAINNET, UNI_ADDRESS[1], 18, 'UNI', 'Uniswap'),
|
||||
[SupportedChainId.RINKEBY]: new Token(SupportedChainId.RINKEBY, UNI_ADDRESS[4], 18, 'UNI', 'Uniswap'),
|
||||
|
||||
@@ -21,6 +21,8 @@ const QUOTE_GAS_OVERRIDES: { [chainId: number]: number } = {
|
||||
[SupportedChainId.OPTIMISTIC_KOVAN]: 6_000_000,
|
||||
}
|
||||
|
||||
const DEFAULT_GAS_QUOTE = 2_000_000
|
||||
|
||||
/**
|
||||
* Returns the best v3 trade for a desired exact input swap
|
||||
* @param amountIn the amount to swap in
|
||||
@@ -42,11 +44,16 @@ export function useBestV3TradeExactIn(
|
||||
}, [amountIn, routes])
|
||||
|
||||
const quotesResults = useSingleContractMultipleData(quoter, 'quoteExactInput', quoteExactInInputs, {
|
||||
gasRequired: chainId ? QUOTE_GAS_OVERRIDES[chainId] ?? 1_000_000 : undefined,
|
||||
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,
|
||||
@@ -126,11 +133,17 @@ export function useBestV3TradeExactOut(
|
||||
}, [amountOut, routes])
|
||||
|
||||
const quotesResults = useSingleContractMultipleData(quoter, 'quoteExactOutput', quoteExactOutInputs, {
|
||||
gasRequired: chainId ? QUOTE_GAS_OVERRIDES[chainId] ?? 1_000_000 : undefined,
|
||||
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,
|
||||
|
||||
37
src/hooks/useLocationLinkProps.ts
Normal file
37
src/hooks/useLocationLinkProps.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import ReactGA from 'react-ga'
|
||||
import { stringify } from 'qs'
|
||||
import useParsedQueryString from 'hooks/useParsedQueryString'
|
||||
import { useLocation } from 'react-router-dom'
|
||||
import { LocationDescriptor } from 'history'
|
||||
import { SupportedLocale } from 'constants/locales'
|
||||
import { useActiveLocale } from './useActiveLocale'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
export function useLocationLinkProps(locale: SupportedLocale | null): {
|
||||
to?: LocationDescriptor
|
||||
onClick?: () => void
|
||||
} {
|
||||
const location = useLocation()
|
||||
const qs = useParsedQueryString()
|
||||
const activeLocale = useActiveLocale()
|
||||
|
||||
return useMemo(
|
||||
() =>
|
||||
!locale
|
||||
? {}
|
||||
: {
|
||||
to: {
|
||||
...location,
|
||||
search: stringify({ ...qs, lng: locale }),
|
||||
},
|
||||
onClick: () => {
|
||||
ReactGA.event({
|
||||
category: 'Localization',
|
||||
action: 'Switch Locale',
|
||||
label: `${activeLocale} -> ${locale}`,
|
||||
})
|
||||
},
|
||||
},
|
||||
[location, qs, activeLocale, locale]
|
||||
)
|
||||
}
|
||||
30
src/hooks/useRouter.ts
Normal file
30
src/hooks/useRouter.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
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
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
import { Web3Provider } from '@ethersproject/providers'
|
||||
import { useSafeAppConnection } from '@gnosis.pm/safe-apps-web3-react'
|
||||
import { useWeb3React as useWeb3ReactCore } from '@web3-react/core'
|
||||
import { Web3ReactContextInterface } from '@web3-react/core/dist/types'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { isMobile } from 'react-device-detect'
|
||||
import { injected } from '../connectors'
|
||||
import { gnosisSafe, injected } from '../connectors'
|
||||
import { NetworkContextName } from '../constants/misc'
|
||||
|
||||
export function useActiveWeb3React(): Web3ReactContextInterface<Web3Provider> {
|
||||
@@ -16,30 +17,34 @@ export function useEagerConnect() {
|
||||
const { activate, active } = useWeb3ReactCore() // specifically using useWeb3ReactCore because of what this hook does
|
||||
const [tried, setTried] = useState(false)
|
||||
|
||||
const triedToConnectToSafe = useSafeAppConnection(gnosisSafe)
|
||||
|
||||
useEffect(() => {
|
||||
injected.isAuthorized().then((isAuthorized) => {
|
||||
if (isAuthorized) {
|
||||
activate(injected, undefined, true).catch(() => {
|
||||
setTried(true)
|
||||
})
|
||||
} else {
|
||||
if (isMobile && window.ethereum) {
|
||||
if (triedToConnectToSafe && !active) {
|
||||
injected.isAuthorized().then((isAuthorized) => {
|
||||
if (isAuthorized) {
|
||||
activate(injected, undefined, true).catch(() => {
|
||||
setTried(true)
|
||||
})
|
||||
} else {
|
||||
setTried(true)
|
||||
if (isMobile && window.ethereum) {
|
||||
activate(injected, undefined, true).catch(() => {
|
||||
setTried(true)
|
||||
})
|
||||
} else {
|
||||
setTried(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}, [activate]) // intentionally only running on mount (make sure it's only mounted once :))
|
||||
})
|
||||
}
|
||||
}, [activate, active, triedToConnectToSafe]) // intentionally only running on mount (make sure it's only mounted once :))
|
||||
|
||||
// if the connection worked, wait until we get confirmation of that to flip the flag
|
||||
useEffect(() => {
|
||||
if (active) {
|
||||
if (active && triedToConnectToSafe) {
|
||||
setTried(true)
|
||||
}
|
||||
}, [active])
|
||||
}, [active, triedToConnectToSafe])
|
||||
|
||||
return tried
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:04\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(maak alles skoon)"
|
||||
msgid "(edit)"
|
||||
msgstr "(wysig)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Verwyder stuur"
|
||||
@@ -412,6 +408,7 @@ msgstr "Maak alles skoon"
|
||||
msgid "Clear all"
|
||||
msgstr "Maak alles skoon"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Naby"
|
||||
@@ -483,6 +480,10 @@ msgstr "Bevestig die ruil"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Bevestig hierdie transaksie in u beursie"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Bevestig transaksie in beursie"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Voer geldige lysligging in"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Voer geldige tekenadres in"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Ongeldige reeks gekies. Die minimum prys moet laer wees as die maksimum
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Ongeldige ontvanger"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Taal"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Leer"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Oeps! 'N Onbekende fout het voorgekom. Verfris die bladsy of besoek 'n ander blaaier of toestel."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimisme Geskeduleerde stilstandtyd"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimisme beplan stilstand"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimisme verwag in die nabye toekoms 'n bietjie stilstand. <0> Lees meer.</0>"
|
||||
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>"
|
||||
msgstr "Optimisme verwag in die nabye toekoms beplande stilstand. Onbeplande stilstand kan ook voorkom. Terwyl die netwerk af is, word fooie nie gegenereer nie en kan u nie likiditeit verwyder nie. <0> Lees meer.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "In die ry staan"
|
||||
msgid "Rates"
|
||||
msgstr "Tariewe"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Lees meer"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Lees meer oor UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Verwyder {0} {1} en {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Stemming indien"
|
||||
msgid "Succeeded"
|
||||
msgstr "Geslaag"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Sukses"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Voorsiening"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Totale deposito's"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Transaksie-instellings"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Transaksie-instellings"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transaksie ingedien"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaksie voltooi in"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Transaksiesperdatum"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Uitsig op Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Bekyk op Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Arabic\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:04\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(مسح الكل)"
|
||||
msgid "(edit)"
|
||||
msgstr "(تعديل)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}٪"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- إزالة الإرسال"
|
||||
@@ -412,6 +408,7 @@ msgstr "مسح الكل"
|
||||
msgid "Clear all"
|
||||
msgstr "مسح الكل"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "إغلاق"
|
||||
@@ -483,6 +480,10 @@ msgstr "تأكيد المبادلة"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "تأكيد هذه المعاملة في محفظتك"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "تأكيد المعاملة في المحفظة"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "أدخل موقع قائمة صالحة"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "أدخل عنوان رمز صالح"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "النطاق المحدد غير صالح. يجب أن يكون الحد
|
||||
msgid "Invalid recipient"
|
||||
msgstr "مستلم غير صالح"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "لغة"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "تعلم"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "عفواً! حدث خطأ غير معروف. يُرجى تحديث الصفحة، أو الزيارة من متصفح آخر أو جهاز آخر."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "التفاؤل أوقات التعطل المجدولة"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "التفاؤل وقت التوقف المخطط له"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "يتوقع التفاؤل بعض التوقفات المقررة في المستقبل القريب. <0> اقرأ المزيد.</0>"
|
||||
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>"
|
||||
msgstr "يتوقع التفاؤل توقفًا مخططًا له في المستقبل القريب. قد يحدث أيضًا توقف غير مخطط له. أثناء تعطل الشبكة ، لن يتم فرض رسوم ولن تتمكن من إزالة السيولة. <0> اقرأ المزيد.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "في قائمة الانتظار"
|
||||
msgid "Rates"
|
||||
msgstr "الأسعار"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "قراءة المزيد"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "اقرأ المزيد عن UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "إزالة {0} {1} و {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "تقديم التصويت"
|
||||
msgid "Succeeded"
|
||||
msgstr "نجح"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "النجاح"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "الإمداد"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "مجموع الودائع"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "إعدادات المعاملة"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "إعدادات المعاملة"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "تم إرسال المعاملة"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "اكتملت المعاملة في"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "الموعد النهائي للمعاملة"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "عرض على Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "عرض على Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Catalan\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:04\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(esborra-ho tot)"
|
||||
msgid "(edit)"
|
||||
msgstr "(edita)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Elimina l'enviament"
|
||||
@@ -412,6 +408,7 @@ msgstr "Esborra-ho tot"
|
||||
msgid "Clear all"
|
||||
msgstr "Esborra-ho tot"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Tanca"
|
||||
@@ -483,6 +480,10 @@ msgstr "Confirmeu l'intercanvi"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Confirmeu aquesta transacció a la vostra cartera"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Confirmeu la transacció a la cartera"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Introduïu la ubicació vàlida de la llista"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Introduïu una adreça de fitxa vàlida"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "L'interval no és vàlid. El preu mínim ha de ser inferior al preu màx
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Destinatari no vàlid"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Llenguatge"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Aprendre"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Vaja! S'ha produït un error desconegut. Actualitzeu la pàgina o visiteu-la des d’un altre navegador o dispositiu."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Temps d'aturada programat per a l'optimisme"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Temps d'inactivitat previst per a l'optimisme"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "L’optimisme espera un temps d’aturada programat en un futur proper. <0> Llegiu-ne més.</0>"
|
||||
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>"
|
||||
msgstr "L'optimisme espera un temps d'inactivitat previst en un futur proper. També es pot produir un temps d'inactivitat no planificat. Mentre la xarxa estigui inactiva, no es generaran comissions i no podreu eliminar la liquiditat. <0> Llegiu-ne més.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "En cua"
|
||||
msgid "Rates"
|
||||
msgstr "Tarifes"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Llegeix més"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Llegiu més sobre UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Eliminació de {0} {1} i {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Enviament de vot"
|
||||
msgid "Succeeded"
|
||||
msgstr "Ha tingut èxit"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Èxit"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Subministrament"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Dipòsits totals"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Configuració de transaccions"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Configuració de transaccions"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transacció enviada"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transacció finalitzada el"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Termini de transacció"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Veure a Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Veure a Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Czech\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:04\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(vyprázdnit vše)"
|
||||
msgid "(edit)"
|
||||
msgstr "(upravit)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Odebrat odeslání"
|
||||
@@ -412,6 +408,7 @@ msgstr "Vymazat vše"
|
||||
msgid "Clear all"
|
||||
msgstr "Vymazat vše"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
@@ -483,6 +480,10 @@ msgstr "Potvrdit výměnu"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Potvrďte tuto transakci ve své peněžence"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Potvrďte transakci v peněžence"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Zadejte platnou polohu seznamu"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Zadejte platnou adresu žetonu"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Vybrán neplatný rozsah. Minimální cena musí být nižší než maxi
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Neplatný příjemce"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Jazyk"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Učit se"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Jejda! Došlo k neznámé chybě. Obnovte prosím stránku nebo ji navštivte z jiného prohlížeče nebo zařízení."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimismus plánované odstávky"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimismus plánované prostoje"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimismus očekává v blízké budoucnosti určité plánované odstávky. <0> Přečtěte si více.</0>"
|
||||
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>"
|
||||
msgstr "Optimismus v blízké budoucnosti očekává plánované prostoje. Může dojít také k neplánovanému výpadku. I když je síť nefunkční, nebudou generovány poplatky a nebudete moci odstranit likviditu. <0> Přečtěte si více.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "Ve frontě"
|
||||
msgid "Rates"
|
||||
msgstr "Sazby"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Přečtěte si více"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Přečtěte si více o UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Odstraňování {0} {1} a {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Odesílání hlasů"
|
||||
msgid "Succeeded"
|
||||
msgstr "Uspěl"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Úspěch"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Zásoba"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Vklady celkem"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Nastavení transakcí"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Nastavení transakcí"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transakce odeslána"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transakce dokončena v"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Lhůta pro transakce"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Pohled na Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Zobrazit v Průzkumníku"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Danish\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:04\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(ryd alle)"
|
||||
msgid "(edit)"
|
||||
msgstr "(rediger)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Fjern afsendelse"
|
||||
@@ -412,6 +408,7 @@ msgstr "Ryd alle"
|
||||
msgid "Clear all"
|
||||
msgstr "Ryd alle"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Luk"
|
||||
@@ -483,6 +480,10 @@ msgstr "Bekræft skift"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Bekræft denne transaktion i din tegnebog"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Bekræft transaktion i tegnebogen"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Indtast gyldig listeplacering"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Indtast gyldig tokenadresse"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Ugyldigt interval valgt. Minimumspris skal være lavere end den maksimal
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Ugyldig modtager"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Sprog"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Lær"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Ups! Der opstod en ukendt fejl. Opdater siden, eller besøg fra en anden browser eller enhed."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimisme Planlagte nedetid"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimisme planlagt nedetid"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimisme forventer noget planlagt nedetid i den nærmeste fremtid. <0> Læs mere.</0>"
|
||||
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>"
|
||||
msgstr "Optimisme forventer planlagt nedetid i den nærmeste fremtid. Uplanlagt nedetid kan også forekomme. Mens netværket er nede, genereres der ikke gebyrer, og du vil ikke kunne fjerne likviditet. <0> Læs mere.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "I kø"
|
||||
msgid "Rates"
|
||||
msgstr "Satser"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Læs mere"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Læs mere om UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Fjerner {0} {1} og {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Indsend Stemme"
|
||||
msgid "Succeeded"
|
||||
msgstr "Lykkedes"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Succes"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Forsyning"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Indlån i alt"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Transaktionsindstillinger"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Transaktionsindstillinger"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transaktion indsendt"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaktion gennemført i"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Frist for transaktion"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Se på Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Vis i Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: German\n"
|
||||
"PO-Revision-Date: 2021-07-14 12:05\n"
|
||||
"PO-Revision-Date: 2021-08-06 20:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(alles löschen)"
|
||||
msgid "(edit)"
|
||||
msgstr "(bearbeiten)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Senden entfernen"
|
||||
@@ -93,7 +89,7 @@ msgstr "<0/> Alle Vorschläge"
|
||||
#: src/pages/Vote/index.tsx
|
||||
#: src/pages/Vote/index.tsx
|
||||
msgid "<0/> Votes"
|
||||
msgstr "<0/> Abstimmungen"
|
||||
msgstr "<0/> Stimmen"
|
||||
|
||||
#: src/pages/Pool/v2.tsx
|
||||
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
|
||||
@@ -412,6 +408,7 @@ msgstr "Alles löschen"
|
||||
msgid "Clear all"
|
||||
msgstr "Alles löschen"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
@@ -483,6 +480,10 @@ msgstr "Tausch bestätigen"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Diese Transaktion in Ihrer Wallet bestätigen"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Bestätigen Sie diese Transaktion in Ihrer Wallet"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -600,7 +601,7 @@ msgstr "Delegiert an:"
|
||||
|
||||
#: src/state/governance/hooks.ts
|
||||
msgid "Delegated votes"
|
||||
msgstr "Delegierte Stimmen"
|
||||
msgstr "Delegiertes Stimmenrecht"
|
||||
|
||||
#: src/components/vote/DelegateModal.tsx
|
||||
msgid "Delegating votes"
|
||||
@@ -729,6 +730,7 @@ msgstr "Gültigen Listenort eingeben"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Gültige Token-Adresse eingeben"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Ungültiger Bereich ausgewählt. Der Mindestpreis muss kleiner als der M
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Ungültiger Empfänger"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Sprache"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Lernen"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Hoppla! Ein unbekannter Fehler ist aufgetreten. Bitte aktualisieren Sie die Seite oder besuchen Sie uns von einem anderen Browser oder Gerät."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Geplante optimism Ausfallzeiten"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimismus Geplante Ausfallzeiten"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimism erwartet in naher Zukunft geplante Ausfallzeiten. <0>Weiterlesen.</0>"
|
||||
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>"
|
||||
msgstr "Optimismus erwartet geplante Ausfallzeiten in naher Zukunft. Es kann auch zu ungeplanten Ausfallzeiten kommen. Während das Netzwerk ausgefallen ist, werden keine Gebühren generiert und Sie können keine Liquidität entfernen. <0>Weiterlesen.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1177,7 +1183,7 @@ msgstr "Ausstehend"
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Please confirm you would like to remove this list by typing REMOVE"
|
||||
msgstr "Bitte bestätigen Sie, dass Sie diese Liste entfernen möchten, indem Sie ENTFERNEN . eingeben"
|
||||
msgstr "Bitte bestätigen Sie, dass Sie diese Liste entfernen möchten, indem Sie ENTFERNEN eingeben"
|
||||
|
||||
#: src/components/vote/ProposalEmptyState.tsx
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "In Warteschlange"
|
||||
msgid "Rates"
|
||||
msgstr "Preise"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Weiterlesen"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Erfahre mehr über UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Entferne {0} {1} und {2} {3}"
|
||||
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"
|
||||
@@ -1466,7 +1479,7 @@ msgstr "Schritt 1. Holen Sie sich UNI-V2-Liquiditätstoken"
|
||||
|
||||
#: src/state/governance/hooks.ts
|
||||
msgid "Submitted new proposal"
|
||||
msgstr "Neues Angebot eingereicht"
|
||||
msgstr "Neuer Vorschlag eingereicht"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
|
||||
msgid "Submitting Proposal"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Stimmabgabe wird eingereicht"
|
||||
msgid "Succeeded"
|
||||
msgstr "Erfolgreich"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Erfolg"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Bereitstellen"
|
||||
@@ -1555,7 +1572,7 @@ msgstr "Die Transaktion konnte nicht gesendet werden, da die Frist abgelaufen is
|
||||
|
||||
#: src/components/LiquidityChartRangeInput/index.tsx
|
||||
msgid "There is no liquidity data."
|
||||
msgstr "Es liegen keine Liquiditätsdaten vor."
|
||||
msgstr "Keine Liquiditätsdaten vorhanden."
|
||||
|
||||
#: src/components/SearchModal/CommonBases.tsx
|
||||
msgid "These tokens are commonly paired with other tokens."
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Gesamteinlagen"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Transaktionseinstellungen"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Transaktionseinstellungen"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transaktion gesendet"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaktion abgeschlossen in"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Transaktionsfrist"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Auf Etherscan ansehen"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Im Explorer anzeigen"
|
||||
|
||||
@@ -1951,7 +1974,7 @@ msgstr "Du kannst jetzt {0} handeln"
|
||||
|
||||
#: src/pages/CreateProposal/index.tsx
|
||||
msgid "You don't have enough votes to submit a proposal"
|
||||
msgstr "Sie haben nicht genug Stimmen, um einen Vorschlag einzureichen"
|
||||
msgstr "Ihr Stimmrecht reicht nicht aus, um einen Vorschlag einzureichen"
|
||||
|
||||
#: src/pages/PoolFinder/index.tsx
|
||||
msgid "You don’t have liquidity in this pool yet."
|
||||
@@ -2076,7 +2099,7 @@ msgstr "Ihre Transaktionen werden hier erscheinen..."
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Your unclaimed UNI"
|
||||
msgstr "Deine noch nicht bezogenen UNI"
|
||||
msgstr "Deine unbeanspruchte UNI"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "confirm"
|
||||
@@ -2146,7 +2169,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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Greek\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(καθαρισμός όλων)"
|
||||
msgid "(edit)"
|
||||
msgstr "(επεξεργασία)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Αφαίρεση αποστολής"
|
||||
@@ -412,6 +408,7 @@ msgstr "Εκκαθάριση Όλων"
|
||||
msgid "Clear all"
|
||||
msgstr "Εκκαθάριση όλων"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Κλείσιμο"
|
||||
@@ -483,6 +480,10 @@ msgstr "Επιβεβαίωση ανταλλαγής"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Επιβεβαιώστε αυτή τη συναλλαγή στο πορτοφόλι σας"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Επιβεβαίωση συναλλαγής στο πορτοφόλι"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Εισάγετε έγκυρη λίστα τοποθεσιών"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Εισάγετε μια διεύθυνση έγκυρης μάρκας"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Επιλέχθηκε μη έγκυρο εύρος. Η ελάχιστη
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Μη έγκυρος παραλήπτης"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Γλώσσα"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Μάθετε"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Ωχ! Προέκυψε ένα άγνωστο σφάλμα. Παρακαλώ ανανεώστε τη σελίδα ή επισκεφθείτε από άλλο πρόγραμμα περιήγησης ή συσκευή."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Προγραμματισμένος χρόνος διακοπής αισιοδοξίας"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Αισιοδοξία Προγραμματισμένος χρόνος διακοπής"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Η αισιοδοξία αναμένει κάποια προγραμματισμένη διακοπή λειτουργίας στο εγγύς μέλλον. <0> Διαβάστε περισσότερα.</0>"
|
||||
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>"
|
||||
msgstr "Η αισιοδοξία αναμένει προγραμματισμένο χρόνο διακοπής στο εγγύς μέλλον. Μπορεί επίσης να συμβεί μη προγραμματισμένος χρόνος διακοπής. Ενώ το δίκτυο είναι εκτός λειτουργίας, δεν θα δημιουργηθούν τέλη και δεν θα μπορείτε να αφαιρέσετε τη ρευστότητα. <0> Διαβάστε περισσότερα.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "Σε ουρά"
|
||||
msgid "Rates"
|
||||
msgstr "Τιμές"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Διαβάστε περισσότερα"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Διαβάστε περισσότερα για UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Αφαίρεση των {0} {1} και {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Γίνεται υποβολή ψήφου"
|
||||
msgid "Succeeded"
|
||||
msgstr "Επιτεύχθηκε"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Επιτυχία"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Παροχή"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Συνολικές καταθέσεις"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Ρυθμίσεις Συναλλαγής"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Ρυθμίσεις Συναλλαγής"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Συναλλαγή Υποβλήθηκε"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Η συναλλαγή ολοκληρώθηκε στις"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Προθεσμία συναλλαγής"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Θέα στο Ethercan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Προβολή στον Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Spanish\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(limpiar todo)"
|
||||
msgid "(edit)"
|
||||
msgstr "(editar)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Eliminar envío"
|
||||
@@ -412,6 +408,7 @@ msgstr "Limpiar todo"
|
||||
msgid "Clear all"
|
||||
msgstr "Limpiar todo"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
@@ -483,6 +480,10 @@ msgstr "Confirmar intercambio"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Confirmar esta transacción en su cartera"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Confirmar transacción en billetera"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Introduzca una ubicación de lista válida"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Introduzca una dirección de token válida"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Rango seleccionado no válido. El precio mínimo debe ser inferior al pr
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Receptor no válido"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Idioma"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Aprender"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "¡Ups! Se ha producido un error desconocido. Actualice la página o acceda desde otro navegador o dispositivo."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimismo Tiempos de inactividad programados"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Tiempo de inactividad planificado con optimismo"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "El optimismo espera algún tiempo de inactividad programado en un futuro próximo. <0> Leer más.</0>"
|
||||
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>"
|
||||
msgstr "El optimismo espera un tiempo de inactividad planificado en un futuro próximo. También puede ocurrir un tiempo de inactividad no planificado. Mientras la red esté inactiva, no se generarán tarifas y no podrá eliminar la liquidez. <0> Leer más.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "Puesto en cola"
|
||||
msgid "Rates"
|
||||
msgstr "Tarifas"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Lee mas"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Leer más sobre UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Eliminando {0} {1} y {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Enviando Voto"
|
||||
msgid "Succeeded"
|
||||
msgstr "Tuvo éxito"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Éxito"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Suministro"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Total de depósitos"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Ajustes de la transacción"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Ajustes de la transacción"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transacción enviada"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transacción completada en"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Fecha límite de la transacción"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Ver en Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Ver en el explorador"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Finnish\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(clear all)"
|
||||
msgid "(edit)"
|
||||
msgstr "(edit)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Poista lähetys"
|
||||
@@ -412,6 +408,7 @@ msgstr "Tyhjennä kaikki"
|
||||
msgid "Clear all"
|
||||
msgstr "Tyhjennä kaikki"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Sulje"
|
||||
@@ -483,6 +480,10 @@ msgstr "Vahvista vaihto"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Vahvista lompakkosi tapahtuma"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Vahvista tapahtuma lompakossa"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Syötä kelvollinen luettelon sijainti"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Syötä kelvollinen rahakeosoite"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Virheellinen vaihteluväli valittu. Minimihinnan on oltava pienempi kuin
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Virheellinen vastaanottaja"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Kieli"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Opi"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Hups! Tapahtui tuntematon virhe. Ole hyvä ja päivitä sivu tai vieraile sivulla toisella selaimella tai laitteella."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimismi suunnitellut seisokit"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimismi Suunniteltu seisokki"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimismi odottaa joitain suunniteltuja seisokkeja lähitulevaisuudessa. <0> Lue lisää.</0>"
|
||||
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>"
|
||||
msgstr "Optimismi odottaa suunniteltuja seisokkeja lähitulevaisuudessa. Myös odottamattomia seisokkeja voi esiintyä. Kun verkko on poissa käytöstä, maksuja ei synny ja et voi poistaa likviditeettiä. <0> Lue lisää.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "Jonossa"
|
||||
msgid "Rates"
|
||||
msgstr "Kurssit"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Lue lisää"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Lue lisää UNIsta"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Poistetaan {0} {1} ja {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Lähetetään ääntä"
|
||||
msgid "Succeeded"
|
||||
msgstr "Menestyi"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Menestys"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Tarjonta"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Talletuksia yhteensä"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Tapahtuma-asetukset"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Tapahtuma-asetukset"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Tapahtuma lähetetty"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Kauppa suoritettu vuonna"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Tapahtuman määräaika"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Näkymä Etherscanissa"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Näytä Explorerissa"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: French\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(tout effacer)"
|
||||
msgid "(edit)"
|
||||
msgstr "(modifier)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Supprimer le destinataire"
|
||||
@@ -412,6 +408,7 @@ msgstr "Tout effacer"
|
||||
msgid "Clear all"
|
||||
msgstr "Tout effacer"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
@@ -483,6 +480,10 @@ msgstr "Valider le swap"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Validez cette transaction dans votre portefeuille"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Confirmer la transaction dans le portefeuille"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Saisissez un emplacement de liste valide"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Saisissez une adresse de jeton valide"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Plage non valide sélectionnée. Le prix minimum doit être inférieur a
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Destinataire invalide"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Langue"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Apprendre"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Oups ! Une erreur inconnue s'est produite. Veuillez rafraîchir la page ou visiter depuis un autre navigateur ou appareil."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimisme Temps d'arrêt programmés"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimisme Temps d'arrêt planifié"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimism s'attend à des temps d'arrêt programmés dans un proche avenir. <0>En savoir plus.</0>"
|
||||
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>"
|
||||
msgstr "Optimism s'attend à des temps d'arrêt planifiés dans un proche avenir. Des temps d'arrêt imprévus peuvent également se produire. Tant que le réseau est en panne, les frais ne seront pas générés et vous ne pourrez pas retirer de liquidité. <0>En savoir plus.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "En attente"
|
||||
msgid "Rates"
|
||||
msgstr "Tarifs"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Lire la suite"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "En savoir plus sur UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Suppression de {0} {1} et {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Soumettre un vote"
|
||||
msgid "Succeeded"
|
||||
msgstr "Réussi"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Succès"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Approvisionnement"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Total des dépôts"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Paramètres de la transaction"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Paramètres de la transaction"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transaction envoyée"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaction réalisée en"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Date limite de la transaction"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Voir sur Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Voir sur Explorer"
|
||||
|
||||
@@ -1892,7 +1915,7 @@ msgstr "Lorsque vous vous retirez, le contrat réclamera automatiquement UNI en
|
||||
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
msgid "When you withdraw, your UNI is claimed and your liquidity is removed from the mining pool."
|
||||
msgstr "Lorsque vous retirez, votre UNI est réclamée et votre liquidité est retirée de la réserve minière."
|
||||
msgstr "Lorsque vous retirez, votre UNI est réclamée et votre liquidité est retirée de la pool de récompense."
|
||||
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(נקה הכל)"
|
||||
msgid "(edit)"
|
||||
msgstr "(עריכה)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- הסר שליחה"
|
||||
@@ -412,6 +408,7 @@ msgstr "נקה הכל"
|
||||
msgid "Clear all"
|
||||
msgstr "נקה הכל"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "סגור"
|
||||
@@ -483,6 +480,10 @@ msgstr "אשר החלפה"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "אשר את העסקה בארנק שלך"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "אשר עסקה בארנק"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "הזן מיקום רשימה חוקי"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "הזן כתובת אסימון חוקית"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "נבחר טווח לא חוקי. המחיר המינימלי חייב ל
|
||||
msgid "Invalid recipient"
|
||||
msgstr "נמען לא חוקי"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "שפה"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "לִלמוֹד"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "אופס! אירעה שגיאה לא ידועה. אנא רענן את הדף, או בקר בדפדפן או במכשיר אחר."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "זמני השבתה של אופטימיות"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "אופטימיות מתוכננת השבתה"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "האופטימיות צופה זמן השבתה מתוכנן בזמן הקרוב. <0> קרא עוד.</0>"
|
||||
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>"
|
||||
msgstr "אופטימיות צופה השבתה מתוכננת בעתיד הקרוב. זמן השבתה לא מתוכנן עשוי להתרחש גם כן. בזמן שהרשת מושבתת, לא ייווצרו עמלות ולא תוכל להסיר נזילות. <0> קרא עוד.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "בתור"
|
||||
msgid "Rates"
|
||||
msgstr "תעריפים"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "קרא עוד"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "קרא עוד על UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "הסרת {0} {1} ו {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "הגשת הצבעה"
|
||||
msgid "Succeeded"
|
||||
msgstr "הצליח"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "הַצלָחָה"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "לְסַפֵּק"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "סך ההפקדות"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "הגדרות עסקה"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "הגדרות עסקה"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "העסקה הוגשה"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "העסקה הושלמה בשנת"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "מועד אחרון לעסקה"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "מבט על אתרסקאן"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "צפה ב- Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(összes törlése)"
|
||||
msgid "(edit)"
|
||||
msgstr "(szerkesztés)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Küldés eltávolítása"
|
||||
@@ -412,6 +408,7 @@ msgstr "Mindent töröl"
|
||||
msgid "Clear all"
|
||||
msgstr "Mindent töröl"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
@@ -483,6 +480,10 @@ msgstr "Swap megerősítése"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Tranzakció megerősítése a pénztárcájában"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "A tranzakció megerősítése a pénztárcában"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Adja meg az érvényes lista helyét"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Adja meg az érvényes token címet"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -914,6 +916,10 @@ msgstr "Érvénytelen tartományt választott ki. A minimális árnak alacsonyab
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Érvénytelen címzett"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Nyelv"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Tanulás"
|
||||
@@ -1132,12 +1138,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Hoppá! Ismeretlen hiba történt. Kérjük, frissítse az oldalt, vagy látogasson el egy másik böngészőből vagy eszközről."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimizmus ütemezett leállások"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Az optimizmus tervezett leállása"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Az optimizmus a közeljövőben néhány tervezett leállásra számít. <0> További információ.</0>"
|
||||
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>"
|
||||
msgstr "Az optimizmus a tervezett leállásokra számít a közeljövőben. Előfordulhat nem tervezett leállás is. Amíg a hálózat nem működik, díjak nem keletkeznek, és nem tudja eltávolítani a likviditást. <0> További információ.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1302,6 +1308,12 @@ msgstr "Sorban"
|
||||
msgid "Rates"
|
||||
msgstr "Árfolyamok"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Olvass tovább"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "További információk az UNI-ról"
|
||||
@@ -1369,6 +1381,7 @@ msgstr "{0} {1} és {2} {3} eltávolítása"
|
||||
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"
|
||||
@@ -1481,6 +1494,10 @@ msgstr "Szavazat benyújtása"
|
||||
msgid "Succeeded"
|
||||
msgstr "Sikerült"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Siker"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Kínálat"
|
||||
@@ -1642,6 +1659,7 @@ msgstr "Összes letét"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Tranzakció beállítások"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1651,6 +1669,10 @@ msgstr "Tranzakció beállítások"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Tranzakció benyújtva"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "A tranzakció befejeződött"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Tranzakció határideje"
|
||||
@@ -1827,6 +1849,7 @@ msgstr "Nézd meg az Etherscan webhelyen"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Megtekintés az Explorerben"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(Hapus semua)"
|
||||
msgid "(edit)"
|
||||
msgstr "(edit)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Hapus pengiriman"
|
||||
@@ -412,6 +408,7 @@ msgstr "Hapus Semua"
|
||||
msgid "Clear all"
|
||||
msgstr "Hapus semua"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
@@ -483,6 +480,10 @@ msgstr "Konfirmasikan Swap"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Konfirmasikan transaksi ini di dompet Anda"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Konfirmasi transaksi di dompet"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Masukkan lokasi daftar yang valid"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Masukkan alamat token yang valid"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Rentang yang tidak valid dipilih. Harga min harus lebih rendah dari harg
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Penerima tidak valid"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Bahasa"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Belajar"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Ups! Terjadi kesalahan yang tidak diketahui. Harap segarkan halaman, atau kunjungi dari browser atau perangkat lain."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimisme Waktu Henti Terjadwal"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimisme Waktu Henti yang Direncanakan"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimisme mengharapkan beberapa waktu henti yang dijadwalkan dalam waktu dekat. <0>Baca selengkapnya.</0>"
|
||||
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>"
|
||||
msgstr "Optimisme mengharapkan downtime yang direncanakan dalam waktu dekat. Waktu henti yang tidak direncanakan juga dapat terjadi. Saat jaringan mati, biaya tidak akan dihasilkan dan Anda tidak akan dapat menghapus likuiditas. <0>Baca selengkapnya.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "antri"
|
||||
msgid "Rates"
|
||||
msgstr "Tarif"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Baca lebih lajut"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Baca selengkapnya tentang UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Menghapus {0} {1} dan {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Mengirim Suara"
|
||||
msgid "Succeeded"
|
||||
msgstr "Berhasil"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Kesuksesan"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Pasokan"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Jumlah simpanan"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Pengaturan Transaksi"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Pengaturan Transaksi"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transaksi Dikirim"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaksi selesai di"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Batas waktu transaksi"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Lihat di Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Lihat di Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Italian\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(cancella tutto)"
|
||||
msgid "(edit)"
|
||||
msgstr "(modifica)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Rimuovi invio"
|
||||
@@ -412,6 +408,7 @@ msgstr "Cancella Tutto"
|
||||
msgid "Clear all"
|
||||
msgstr "Cancella tutto"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
@@ -483,6 +480,10 @@ msgstr "Conferma lo scambio"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Conferma questa transazione nel tuo portafoglio"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Conferma transazione nel portafoglio"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Inserisci la posizione della lista valida"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Inserisci un indirizzo di token valido"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Intervallo selezionato non valido. Il prezzo minimo deve essere inferior
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Destinatario non valido"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "linguaggio"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Impara"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Oops! Si è verificato un errore sconosciuto. Si prega di aggiornare la pagina, o visitare da un altro browser o dispositivo."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Ottimismo Tempi di inattività programmati"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "L'ottimismo ha pianificato i tempi di inattività"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "L'ottimismo prevede alcuni tempi di inattività programmati nel prossimo futuro. <0>Leggi di più.</0>"
|
||||
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>"
|
||||
msgstr "L'ottimismo prevede tempi di fermo pianificati nel prossimo futuro. Possono verificarsi anche tempi di inattività non pianificati. Mentre la rete è inattiva, non verranno generate commissioni e non sarai in grado di rimuovere la liquidità. <0>Leggi di più.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "In coda"
|
||||
msgid "Rates"
|
||||
msgstr "Tariffe"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Leggi di più"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Leggi tutto su UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Rimozione di {0} {1} e {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Invio del voto"
|
||||
msgid "Succeeded"
|
||||
msgstr "Successo"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Successo"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Fornitura"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Depositi totali"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Impostazioni della transazione"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Impostazioni della transazione"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transazione Inviata"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transazione completata in"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Termine transazione"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Visualizza su Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Visualizza su Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Japanese\n"
|
||||
"PO-Revision-Date: 2021-07-14 07:04\n"
|
||||
"PO-Revision-Date: 2021-08-03 12:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(すべてクリア)"
|
||||
msgid "(edit)"
|
||||
msgstr "(編集)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- 送信を削除"
|
||||
@@ -105,7 +101,7 @@ 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>"
|
||||
msgstr "<0>現在の価格:</0><1><2/></1><3>{0} / {1}</3>"
|
||||
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
msgid "<0>Tip:</0> Removing pool tokens converts your position back into underlying tokens at the current rate, proportional to your share of the pool. Accrued fees are included in the amounts you receive."
|
||||
@@ -412,6 +408,7 @@ msgstr "すべてクリア"
|
||||
msgid "Clear all"
|
||||
msgstr "すべてクリア"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "閉じる"
|
||||
@@ -483,6 +480,10 @@ msgstr "スワップの確認"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "ウォレットで取引を確認する"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "ウォレットで取引を確認する"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -705,7 +706,7 @@ msgstr "受取人を入力"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Enter a valid slippage percentage"
|
||||
msgstr "有効なスリップページの値を入力してください"
|
||||
msgstr "有効なスリッページの値を入力してください"
|
||||
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
msgid "Enter an address to trigger a UNI claim. If the address has any claimable UNI it will be sent to them on submission."
|
||||
@@ -729,6 +730,7 @@ msgstr "有効なリストの位置を入力ください"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "有効なトークンアドレスを入力してください"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -757,7 +759,7 @@ 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 "エキスパートモードは取引確認画面をスキップし、不利な価格や資金を失う可能性のある高スリップページ取引を許可します。"
|
||||
msgstr "エキスパートモードは取引確認画面をスキップし、不利な価格や資金を失う可能性のある高スリッページ取引を許可します。"
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Expired"
|
||||
@@ -913,6 +915,10 @@ msgstr "設定した価格範囲が間違っています。最小価格は最大
|
||||
msgid "Invalid recipient"
|
||||
msgstr "受け取りアドレスが無効です"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "言語"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "資料"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "不明なエラーが発生しました。ページを更新するか、別のブラウザまたはデバイスからアクセスしてください。"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "楽観的なスケジュールされたダウンタイム"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimismの予定されているダウンタイム"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimismは、近い将来、予定されたダウンタイムが発生すると予想しています。 <0>続きを読む。</0>"
|
||||
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>"
|
||||
msgstr "Optimismは、近い将来に計画されたダウンタイムを予想しています。計画外のダウンタイムも発生する可能性があります。ネットワークがダウンしている間、手数料は発生せず、流動性を取り除くことはできません。 <0>続きを読む</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1295,12 +1301,18 @@ msgstr "提案者"
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Queued"
|
||||
msgstr "キューに入れられました"
|
||||
msgstr "処理待ち"
|
||||
|
||||
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
|
||||
msgid "Rates"
|
||||
msgstr "レート"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "続きを読む"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "UNIについてもっと見る"
|
||||
@@ -1323,7 +1335,7 @@ msgstr "最近の取引"
|
||||
|
||||
#: src/components/AddressInputPanel/index.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "受信者"
|
||||
msgstr "受取人"
|
||||
|
||||
#: src/components/PositionCard/V2.tsx
|
||||
#: src/components/PositionCard/index.tsx
|
||||
@@ -1368,6 +1380,7 @@ msgstr "{0} {1} と {2} {3} を解除中"
|
||||
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"
|
||||
@@ -1437,7 +1450,7 @@ msgstr "Portisを表示"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Show closed positions"
|
||||
msgstr "閉じた位置を表示する"
|
||||
msgstr "決済したポジションを表示"
|
||||
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
msgid "Simple"
|
||||
@@ -1446,7 +1459,7 @@ msgstr "シンプル"
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/components/swap/AdvancedSwapDetails.tsx
|
||||
msgid "Slippage tolerance"
|
||||
msgstr "スリップページの許容範囲"
|
||||
msgstr "スリッページの許容範囲"
|
||||
|
||||
#: src/components/swap/UnsupportedCurrencyFooter.tsx
|
||||
msgid "Some assets are not available through this interface because they may not work well with the smart contracts or we are unable to allow trading for legal reasons."
|
||||
@@ -1458,7 +1471,7 @@ msgstr "何らかの問題が発生しました"
|
||||
|
||||
#: src/components/PositionList/index.tsx
|
||||
msgid "Status"
|
||||
msgstr "状態"
|
||||
msgstr "ステータス"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Step 1. Get UNI-V2 Liquidity tokens"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "投票を送信中"
|
||||
msgid "Succeeded"
|
||||
msgstr "成功"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "成功"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "追加"
|
||||
@@ -1507,7 +1524,7 @@ msgstr "{0} {1} を {2} {3} にスワップ中"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Switch to L1 (Mainnet)"
|
||||
msgstr "L1(メインネット)に切り替えます"
|
||||
msgstr "L1(メインネット)に切り替え"
|
||||
|
||||
#: src/components/Popups/ClaimPopup.tsx
|
||||
msgid "Thanks for being part of the Uniswap community <0/>"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "合計預入額"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "取引設定"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "取引設定"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "取引が送信されました"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "で完了したトランザクション"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "取引期限"
|
||||
@@ -1768,7 +1790,7 @@ msgstr "サポートされていないアセット"
|
||||
|
||||
#: src/state/governance/hooks.ts
|
||||
msgid "Untitled"
|
||||
msgstr "無題"
|
||||
msgstr "タイトル未設定"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
@@ -1801,7 +1823,7 @@ msgstr "V3"
|
||||
#: src/pages/MigrateV2/MigrateV2Pair.tsx
|
||||
#: src/pages/MigrateV2/MigrateV2Pair.tsx
|
||||
msgid "V3 {0} Price:"
|
||||
msgstr "v3 {0} 価格:"
|
||||
msgstr "V3での {0} 価格:"
|
||||
|
||||
#: src/components/Header/UniBalanceContent.tsx
|
||||
msgid "View UNI Analytics"
|
||||
@@ -1821,11 +1843,12 @@ msgstr "リストを表示"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
|
||||
msgid "View on Etherscan"
|
||||
msgstr "Etherscanで表示"
|
||||
msgstr "Etherscanで見る"
|
||||
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "エクスプローラーで見る"
|
||||
|
||||
@@ -1960,7 +1983,7 @@ msgstr "プールにはまだ流動性がありません。"
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
msgid "You must bridge L1 assets to the network to use them."
|
||||
msgstr "L1アセットを使用するには、L1アセットをネットワークにブリッジする必要があります。"
|
||||
msgstr "レイヤー1の資産を使用するには、ネットワークでブリッジする必要があります。"
|
||||
|
||||
#: src/pages/MigrateV2/MigrateV2Pair.tsx
|
||||
msgid "You must connect an account."
|
||||
@@ -2241,7 +2264,7 @@ msgstr "{0}/{1} LP NFT"
|
||||
|
||||
#: src/pages/MigrateV2/MigrateV2Pair.tsx
|
||||
msgid "{0}/{1} LP Tokens"
|
||||
msgstr "{0}/{1} 流動性トークン"
|
||||
msgstr "{0}/{1} LPトークン"
|
||||
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
msgid "{SOCKS_AMOUNT} UNI"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Korean\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(모두 지우기)"
|
||||
msgid "(edit)"
|
||||
msgstr "(편집)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "-보내기 제거"
|
||||
@@ -412,6 +408,7 @@ msgstr "모두 지우기"
|
||||
msgid "Clear all"
|
||||
msgstr "모두 지우기"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "닫기"
|
||||
@@ -483,6 +480,10 @@ msgstr "스왑 확인"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "지갑에서 이 거래를 확인하세요"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "지갑에서 거래 확인"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "유효한 목록 위치를 입력하세요."
|
||||
msgid "Enter valid token address"
|
||||
msgstr "유효한 토큰 주소를 입력하세요."
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "잘못된 범위를 선택했습니다. 최소 가격은 최대 가격
|
||||
msgid "Invalid recipient"
|
||||
msgstr "잘못된 수령인"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "언어"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "학습"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "죄송합니다! 알 수없는 오류가 발생했습니다. 페이지를 새로 고침하거나 다른 브라우저 또는 기기에서 방문하세요."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "낙관주의 예정된 다운타임"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "낙관적 계획된 다운타임"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "낙관론은 가까운 장래에 예정된 가동 중지 시간을 예상합니다. <0>더 읽어보세요.</0>"
|
||||
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>"
|
||||
msgstr "낙관론은 가까운 장래에 계획된 다운타임을 예상합니다. 계획되지 않은 다운타임도 발생할 수 있습니다. 네트워크가 다운되는 동안 수수료가 생성되지 않으며 유동성을 제거할 수 없습니다. <0>더 읽어보세요.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "대기 중"
|
||||
msgid "Rates"
|
||||
msgstr "요율"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "더 읽기"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "UNI에 대해 자세히 알아보기"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "{0} {1} 및 {2} {3} 제거 중"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "투표 제출"
|
||||
msgid "Succeeded"
|
||||
msgstr "성공"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "성공"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "공급"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "총 입금"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "거래 설정"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "거래 설정"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "제출된 거래"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "거래 완료"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "거래 마감 시간"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Etherscan에서보기"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Explorer에서 보기"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Dutch\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:04\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(alles wissen)"
|
||||
msgid "(edit)"
|
||||
msgstr "(bewerken)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Verzenden verwijderen"
|
||||
@@ -412,6 +408,7 @@ msgstr "Alles wissen"
|
||||
msgid "Clear all"
|
||||
msgstr "Alles wissen"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Sluiten"
|
||||
@@ -483,6 +480,10 @@ msgstr "Bevestig wissel"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Bevestig deze transactie in uw portemonnee"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Bevestig transactie in portemonnee"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Voer een geldige lijstlocatie in"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Voer geldig tokenadres in"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Ongeldig bereik geselecteerd. De minimumprijs moet lager zijn dan de max
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Ongeldige ontvanger"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Taal"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Leren"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Oeps! Er is een onbekende fout opgetreden. Ververs de pagina of bezoek vanaf een andere browser of apparaat."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimisme geplande uitvaltijden"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimisme Geplande Downtime"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimisme verwacht in de nabije toekomst enige geplande downtime. <0>Lees meer.</0>"
|
||||
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>"
|
||||
msgstr "Optimisme verwacht geplande stilstand in de nabije toekomst. Er kan ook ongeplande uitvaltijd optreden. Zolang het netwerk niet beschikbaar is, worden er geen kosten gegenereerd en kunt u geen liquiditeit verwijderen. <0>Lees meer.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "In de wachtrij"
|
||||
msgid "Rates"
|
||||
msgstr "Tarieven"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Lees verder"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Lees meer over UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Verwijderen van {0} {1} en {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Indienen van stem"
|
||||
msgid "Succeeded"
|
||||
msgstr "Geslaagd"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Succes"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Levering"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Totale stortingen"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Transactie-instellingen"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Transactie-instellingen"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transactie verzonden"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transactie voltooid in"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Transactiedeadline"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Bekijk op Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Weergeven op Verkenner"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(fjern alle)"
|
||||
msgid "(edit)"
|
||||
msgstr "(rediger)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Fjern sending"
|
||||
@@ -412,6 +408,7 @@ msgstr "Fjern alle"
|
||||
msgid "Clear all"
|
||||
msgstr "Fjern alle"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Lukk"
|
||||
@@ -483,6 +480,10 @@ msgstr "Bekreft bytte"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Bekreft denne transaksjonen i lommeboken din"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Bekreft transaksjonen i lommeboken"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Oppgi gyldig plassering for listen"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Oppgi gyldig pollettadresse"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Ugyldig område valgt. Minsteprisen må være lavere enn maks prisen."
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Ugyldig mottaker"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Språk"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Finn ut mer"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Det oppstod en ukjent feil. Oppdater siden, eller besøk fra en annen nettleser eller enhet."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimisme Planlagte nedetid"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimisme planlagt nedetid"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimisme forventer noe planlagt nedetid i nær fremtid. <0> Les mer.</0>"
|
||||
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>"
|
||||
msgstr "Optimisme forventer planlagt nedetid i nær fremtid. Uplanlagt nedetid kan også forekomme. Mens nettverket er nede, genereres det ikke gebyrer, og du kan ikke fjerne likviditet. <0> Les mer.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "I kø"
|
||||
msgid "Rates"
|
||||
msgstr "Priser"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Les mer"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Les mer om UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Fjerner {0} {1} og {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Sender inn stemme"
|
||||
msgid "Succeeded"
|
||||
msgstr "Lyktes"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Suksess"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Levering"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Totale innskudd"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Transaksjonsinnstillinger"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Transaksjonsinnstillinger"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transaksjon sendt"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaksjonen fullført i"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Transaksjons frist"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Utsikt på Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Se på Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Polish\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(wyczyść wszystkie)"
|
||||
msgid "(edit)"
|
||||
msgstr "(edytować)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Usuń wysłanie"
|
||||
@@ -412,6 +408,7 @@ msgstr "Wyczyść wszystko"
|
||||
msgid "Clear all"
|
||||
msgstr "Wyczyść wszystko"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
@@ -483,6 +480,10 @@ msgstr "Potwierdź zamianę"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Potwierdź tę transakcję w swoim portfelu"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Potwierdź transakcję w portfelu"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Wprowadź poprawną lokalizację listy"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Wprowadź prawidłowy adres tokenu"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Wybrano nieprawidłowy zakres. Minimalna cena musi być niższa niż mak
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Nieprawidłowy odbiorca"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Język"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Ucz się"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Ups! Wystąpił nieznany błąd. Odśwież stronę lub odwiedź z innej przeglądarki lub urządzenia."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Zaplanowane przestoje"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optymizm Planowany przestój"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optymizm spodziewa się w najbliższej przyszłości zaplanowanego przestoju. <0>Czytaj więcej.</0>"
|
||||
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>"
|
||||
msgstr "Optymizm spodziewa się planowanego przestoju w najbliższej przyszłości. Mogą również wystąpić nieplanowane przestoje. Gdy sieć nie działa, opłaty nie będą generowane i nie będziesz w stanie usunąć płynności. <0>Czytaj więcej.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "W kolejce"
|
||||
msgid "Rates"
|
||||
msgstr "Stawki"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Czytaj więcej"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Dowiedz się więcej o UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Usuwanie {0} {1} i {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Wysyłanie głosu"
|
||||
msgid "Succeeded"
|
||||
msgstr "Udało się"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Sukces"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Dostawa"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Depozyty ogółem"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Ustawienia transakcji"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Ustawienia transakcji"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transakcja przesłana"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transakcja zakończona w"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Termin transakcji"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Zobacz na Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Zobacz w Eksploratorze"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(limpar tudo)"
|
||||
msgid "(edit)"
|
||||
msgstr "(editar)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Remover o envio"
|
||||
@@ -412,6 +408,7 @@ msgstr "Limpar Tudo"
|
||||
msgid "Clear all"
|
||||
msgstr "Limpar tudo"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
@@ -483,6 +480,10 @@ msgstr "Confirmar a conversão"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Confirmar esta operação na sua carteira"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Confirme a transação na carteira"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Digite uma localização válida para a lista"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Digite um endereço válido para os tokens"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Faixa selecionada inválida. O preço mín deve ser inferior ao preço m
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Destinatário inválido"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Língua"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Aprender"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Opa! Ocorreu um erro desconhecido. Atualize a página ou visite-a em outro navegador ou dispositivo."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Tempo de inatividade programado para otimismo"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Tempo de inatividade planejado para otimismo"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "O otimismo espera algum tempo de inatividade programado em um futuro próximo. <0> Leia mais.</0>"
|
||||
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>"
|
||||
msgstr "O otimismo espera um tempo de inatividade planejado em um futuro próximo. Tempo de inatividade não planejado também pode ocorrer. Enquanto a rede estiver desligada, as taxas não serão geradas e você não poderá remover a liquidez. <0> Leia mais.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "Na fila"
|
||||
msgid "Rates"
|
||||
msgstr "Taxas"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Consulte Mais informação"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Leia mais sobre as UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Removendo {0} {1} e {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Enviando Voto"
|
||||
msgid "Succeeded"
|
||||
msgstr "Bem sucedido"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Sucesso"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Fornecimento"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Total dos depósitos"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Configurações das operações"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Configurações das operações"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Operação enviada"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transação concluída em"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Data-limite da operação"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Ver no Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Visualizar no Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(limpar tudo)"
|
||||
msgid "(edit)"
|
||||
msgstr "(editar)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Remover o envio"
|
||||
@@ -412,6 +408,7 @@ msgstr "Limpar Tudo"
|
||||
msgid "Clear all"
|
||||
msgstr "Limpar tudo"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
@@ -483,6 +480,10 @@ msgstr "Confirmar troca"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Confirmar esta transação na sua carteira"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Confirme a transação na carteira"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Insira um local de lista válido"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Insira um endereço de token válido"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Intervalo selecionado inválido. O preço mínimo deve ser inferior ao p
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Destinatário inválido"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Língua"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Aprender"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Ups! Ocorreu um erro desconhecido. Por favor, atualize a página, ou visite a partir de outro navegador ou dispositivo."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Tempo de inatividade programado para otimismo"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Tempo de inatividade planejado para otimismo"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "O otimismo espera algum tempo de inatividade programado em um futuro próximo. <0> Leia mais.</0>"
|
||||
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>"
|
||||
msgstr "O otimismo espera um tempo de inatividade planejado em um futuro próximo. Tempo de inatividade não planejado também pode ocorrer. Enquanto a rede estiver desligada, as taxas não serão geradas e você não poderá remover a liquidez. <0> Leia mais.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "Na fila"
|
||||
msgid "Rates"
|
||||
msgstr "Taxas"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Consulte Mais informação"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Leia mais sobre a UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "A remover {0} {1} e {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "A Enviar Voto"
|
||||
msgid "Succeeded"
|
||||
msgstr "Bem sucedido"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Sucesso"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Fornecer"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Total de depósitos"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Configurações de transação"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Configurações de transação"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transação Enviada"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transação concluída em"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Prazo de transação"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Ver no Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Ver no Explorador"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Romanian\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(elimină tot)"
|
||||
msgid "(edit)"
|
||||
msgstr "(editează)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Elimină trimiterile"
|
||||
@@ -412,6 +408,7 @@ msgstr "Șterge tot"
|
||||
msgid "Clear all"
|
||||
msgstr "Șterge tot"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Închide"
|
||||
@@ -483,6 +480,10 @@ msgstr "Confirmă Schimbul"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Confirmă această tranzacție în portofelul tău"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Confirmați tranzacția în portofel"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Introdu o listă valabilă a locației"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Introdu o adresă valabilă a grupului"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Interval invalid selectat. Prețul minim trebuie să fie mai mic decât
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Destinatar nevalid"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Limba"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Învață"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Ups! A avut loc o eroare necunoscută. Reîmprospătează pagina, sau vizitează un alt browser sau dispozitiv."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Timpurile de nefuncționare programate pentru optimism"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Timp de inactivitate planificat pentru optimism"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimismul așteaptă o perioadă de nefuncționare programată în viitorul apropiat. <0> Citiți mai multe.</0>"
|
||||
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>"
|
||||
msgstr "Optimismul așteaptă perioade de nefuncționare planificate în viitorul apropiat. Poate să apară și perioade de nefuncționare neplanificate. În timp ce rețeaua este oprită, taxele nu vor fi generate și nu veți putea elimina lichiditatea. <0> Citiți mai multe.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "În așteptare"
|
||||
msgid "Rates"
|
||||
msgstr "Tarife"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Citeste mai mult"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Citește mai multe despre UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Se elimină {0} {1} și {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Se trimite votul"
|
||||
msgid "Succeeded"
|
||||
msgstr "Reușit"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Succes"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Furnizare"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Depozite totale"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Setări Tranzacție"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Setări Tranzacție"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Tranzacție Trimisă"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Tranzacție finalizată în"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Termen limită tranzacție"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Vizualizare pe Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Vizualizează pe Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Russian\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 19:04\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(очистить всё)"
|
||||
msgid "(edit)"
|
||||
msgstr "(изменить)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Удалить отправку"
|
||||
@@ -412,6 +408,7 @@ msgstr "Очистить всё"
|
||||
msgid "Clear all"
|
||||
msgstr "Очистить всё"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
@@ -464,7 +461,7 @@ msgstr "Подтвердить"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
msgid "Confirm Create"
|
||||
msgstr "Подтвердите создание"
|
||||
msgstr "Подтвердить создание"
|
||||
|
||||
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
|
||||
msgid "Confirm Supply"
|
||||
@@ -483,6 +480,10 @@ msgstr "Подтвердить обмен"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Подтвердите эту транзакцию в своём кошельке"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Подтвердите транзакцию в кошельке"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -584,7 +585,7 @@ msgstr "Текущая цена {0}:"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Dark Theme"
|
||||
msgstr "Темная тема"
|
||||
msgstr "Тёмная тема"
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Defeated"
|
||||
@@ -729,6 +730,7 @@ msgstr "Введите правильное расположение списк
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Введите правильный адрес токена"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -798,7 +800,7 @@ msgstr "Полный диапазон"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here</0>."
|
||||
msgstr "Позиции полного диапазона могут приносить меньше комиссионных, чем позиции концентрированных. Подробнее <0> здесь</0> ."
|
||||
msgstr "Позиции полного диапазона могут зарабатывать меньше комиссий, чем концентрированные позиции. Узнайте подробнее <0> здесь</0>."
|
||||
|
||||
#: src/components/ErrorBoundary/index.tsx
|
||||
msgid "Get support on Discord"
|
||||
@@ -913,13 +915,17 @@ msgstr "Выбран неверный диапазон. Минимальная
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Неверный получатель"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Язык"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Узнать больше"
|
||||
|
||||
#: src/pages/Pool/CTACards.tsx
|
||||
msgid "Learn about providing liquidity"
|
||||
msgstr "Узнайте о предоставлении ликвидности"
|
||||
msgstr "Узнать подробнее о предоставлении ликвидности"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Learn more"
|
||||
@@ -1131,20 +1137,20 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Ой! Произошла неизвестная ошибка. Пожалуйста, обновите страницу или откройте из другого браузера или с другого устройства."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Перерывы в работе Optimism"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Плановые перерывы в работе Optimism"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "В ближайшее время ожидается запланированный перерыв в работе Optimism. <0>Узнать подробности.</0>"
|
||||
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>"
|
||||
msgstr "В ближайшее время ожидается плановый перерыв в работе Optimism. Также возможны внезапные перерывы в работе. Когда сеть не работает, комиссии не начисляются, а ликвидность невозможно удалить. <0>Подробнее.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
msgstr "Оптимистичный Etherscan"
|
||||
msgstr "Etherscan сети Optimism"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic L2 Gateway"
|
||||
msgstr "Оптимистичный шлюз L2"
|
||||
msgstr "L2-шлюз в Optimism"
|
||||
|
||||
#: src/components/Badge/RangeBadge.tsx
|
||||
msgid "Out of range"
|
||||
@@ -1177,7 +1183,7 @@ msgstr "Ожидает"
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Please confirm you would like to remove this list by typing REMOVE"
|
||||
msgstr "Подтвердите, что вы хотите удалить этот список, набрав УДАЛИТЬ"
|
||||
msgstr "Чтобы подтвердить, что вы хотите удалить этот список, наберите УДАЛИТЬ"
|
||||
|
||||
#: src/components/vote/ProposalEmptyState.tsx
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "В очереди"
|
||||
msgid "Rates"
|
||||
msgstr "Тарифы"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Узнать подробнее"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Подробнее о UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Удаление {0} {1} и {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Отправка голоса"
|
||||
msgid "Succeeded"
|
||||
msgstr "Успешно"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Успешно"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Внести"
|
||||
@@ -1572,11 +1589,11 @@ msgstr "Это альфа-версия Uniswap в сети {0}. Вам нужн
|
||||
|
||||
#: 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 "Этот пул необходимо инициализировать, прежде чем вы сможете добавить ликвидность. Для инициализации выберите начальную цену для пула. Затем введите диапазон цен ликвидности и сумму депозита. Плата за газ будет выше, чем обычно, из-за транзакции инициализации."
|
||||
msgstr "Этот пул необходимо инициализировать, прежде чем вы сможете добавить ликвидность. Для инициализации выберите начальную цену для пула. Затем введите диапазон цен для ликвидности и сумму депозита. Плата за газ будет выше, чем обычно, из-за инициализирующей транзакции."
|
||||
|
||||
#: 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 "Этот пул должен быть инициализирован на {0} прежде чем вы сможете добавить ликвидность. Для инициализации выберите начальную цену для пула. Затем введите диапазон цен ликвидности и сумму депозита."
|
||||
msgstr "Этот пул необходимо инициализировать в {0}, прежде чем вы сможете добавить ликвидность. Для инициализации выберите начальную цену для пула. Затем введите диапазон цен для ликвидности и сумму депозита."
|
||||
|
||||
#: 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."
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Всего внесено"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Настройки транзакций"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Настройки транзакций"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Транзакция отправлена"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Транзакция завершена за"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Cрок действия транзакции"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Посмотреть на Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Просмотреть в обозревателе"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Serbian (Cyrillic)\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(обриши све)"
|
||||
msgid "(edit)"
|
||||
msgstr "(уреди)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Уклони слање"
|
||||
@@ -412,6 +408,7 @@ msgstr "Обриши све"
|
||||
msgid "Clear all"
|
||||
msgstr "Обриши све"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Затвори"
|
||||
@@ -483,6 +480,10 @@ msgstr "Потврдите размену"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Потврдите ову трансакцију у новчанику"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Потврдите трансакцију у новчанику"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Унесите важећи списак локација"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Унесите важећу адресу токена"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Изабран је неважећи опсег. Минимална це
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Неважећи прималац"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Језик"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Научи"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Упс! Дошло је до непознате грешке. Освежите страницу или је посетите из другог прегледача или уређаја."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Оптимизам заказани застоји"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Оптимизам планирано време застоја"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Оптимизам очекује предвиђени застој у блиској будућности. <0> Прочитајте више.</0>"
|
||||
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>"
|
||||
msgstr "Оптимизам очекује планиране застоје у блиској будућности. Може доћи и до непланираних застоја. Док је мрежа у квару, накнаде се неће генерисати и нећете моћи да уклоните ликвидност. <0> Прочитајте више.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "У реду"
|
||||
msgid "Rates"
|
||||
msgstr "Стопе"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Опширније"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Прочитајте више о UNI-ју"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Уклањање {0} {1} и {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Слање гласа"
|
||||
msgid "Succeeded"
|
||||
msgstr "Успео"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Успех"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Снабдевање"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Укупни депозити"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Поставке трансакције"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Поставке трансакције"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Трансакција је предата"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Трансакција је завршена у"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Крајњи рок за трансакцију"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Поглед на Етхерсцан-у"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Поглед на Екплореру"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Swedish\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(rensa alla)"
|
||||
msgid "(edit)"
|
||||
msgstr "(redigera)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Ta bort sändning"
|
||||
@@ -412,6 +408,7 @@ msgstr "Rensa alla"
|
||||
msgid "Clear all"
|
||||
msgstr "Rensa alla"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
@@ -483,6 +480,10 @@ msgstr "Bekräfta byte"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Bekräfta transaktionen i din plånbok"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Bekräfta transaktionen i plånboken"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Ange giltig listplats"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Ange giltig tokenadress"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Ogiltigt intervall valt. Minimipriset måste vara lägre än maxpriset."
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Ogiltig mottagare"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Språk"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Lär dig"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Hoppsan! Ett okänt fel inträffade. Uppdatera sidan eller använd en annan webbläsare eller enhet."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Optimism schemalagda stilleståndstider"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimism planerad driftstopp"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimism förväntar sig en viss schemalagd driftstopp inom en snar framtid. <0> Läs mer.</0>"
|
||||
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>"
|
||||
msgstr "Optimismen förväntar sig planerad driftstopp inom en snar framtid. Oplanerad stillestånd kan också förekomma. Medan nätverket är nere genereras inte avgifter och du kommer inte att kunna ta bort likviditet. <0> Läs mer.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "Kö"
|
||||
msgid "Rates"
|
||||
msgstr "Kurser"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Läs mer"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Läs mer om UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Tar bort {0} {1} och {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Skickar röstning"
|
||||
msgid "Succeeded"
|
||||
msgstr "Lyckades"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Framgång"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Tillgång"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Summa insättningar"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Transaktionsinställningar"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Transaktionsinställningar"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transaktion skickad"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaktionen slutfördes"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Tidsfrist för transaktion"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Visa på Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Visa i Utforskare"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Turkish\n"
|
||||
"PO-Revision-Date: 2021-07-14 00:38\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(tümünü temizle)"
|
||||
msgid "(edit)"
|
||||
msgstr "(düzenle)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Göndermeyi kaldır"
|
||||
@@ -412,6 +408,7 @@ msgstr "Tümünü Temizle"
|
||||
msgid "Clear all"
|
||||
msgstr "Tümünü temizle"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Kapat"
|
||||
@@ -483,6 +480,10 @@ msgstr "Swap'ı Onayla"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Cüzdanınızda bu işlemi onaylayın"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Cüzdandaki işlemi onaylayın"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Geçerli liste konumu girin"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Geçerli jeton adresini girin"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Geçersiz aralık seçildi. Minimum fiyat, maksimum fiyattan düşük ol
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Geçersiz alıcı"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Dil"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Öğren"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Bilinmeyen bir hata oluştu. Lütfen sayfayı yenileyin veya başka bir tarayıcı ya da cihazdan ziyaret edin."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "İyimserlik Planlı Duruş Süreleri"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "İyimserlik Planlı Kesinti Süresi"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "İyimserlik, yakın gelecekte bazı planlanmış kesintiler beklemektedir. <0>Daha fazlasını okuyun.</0>"
|
||||
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>"
|
||||
msgstr "İyimserlik, yakın gelecekte planlı kesintiler beklemektedir. Planlanmamış kesintiler de meydana gelebilir. Ağ kapalıyken ücret alınmayacak ve likiditeyi kaldıramayacaksınız. <0>Daha fazlasını okuyun.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "sıraya alındı"
|
||||
msgid "Rates"
|
||||
msgstr "Oranlar"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Daha fazla oku"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "UNI hakkında daha fazla bilgi edinin"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "{0} {1} ve {2} {3} kaldırılıyor"
|
||||
msgid "Restricts swaps to direct pairs only."
|
||||
msgstr "Swap'ları yalnızca doğrudan çiftlerle sınırlar."
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
|
||||
msgid "Return"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Oy Gönderme"
|
||||
msgid "Succeeded"
|
||||
msgstr "başarılı"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Başarı"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Kaynak"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Toplam mevduat"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "İşlem Ayarları"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "İşlem Ayarları"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "İşlem Gönderildi"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "İşlem tamamlandı"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "İşlem son tarihi"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Etherscan üzerinde görüntüle"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Explorer'da Görüntüle"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(забрати все)"
|
||||
msgid "(edit)"
|
||||
msgstr "(редагувати)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Видалити відправку"
|
||||
@@ -412,6 +408,7 @@ msgstr "Очистити все"
|
||||
msgid "Clear all"
|
||||
msgstr "Очистити все"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Закрити"
|
||||
@@ -483,6 +480,10 @@ msgstr "Підтвердити обмін"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Підтвердьте цю операцію у своєму гаманці"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Підтвердіть транзакцію в гаманці"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Введіть дійсне місце списку"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Введіть дійсну адресу токена"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Вибрано недійсний діапазон. Мінімальна
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Недійсний одержувач"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Мову"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Ознайомитися"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Ой! Сталася невідома помилка. Оновіть сторінку або зайдіть з іншого браузера чи пристрою."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Оптимізм запланованих простоїв"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Оптимізм запланований час простою"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Оптимізм очікує певного запланованого простою найближчим часом. <0> Детальніше.</0>"
|
||||
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>"
|
||||
msgstr "Оптимізм очікує найближчим часом запланованих простоїв. Також можуть виникнути незаплановані простої. Поки мережа не працює, комісії не будуть генеруватися, і ви не зможете видалити ліквідність. <0> Докладніше.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "У черзі"
|
||||
msgid "Rates"
|
||||
msgstr "Ставки"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Читати далі"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Дізнатися більше про UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Видалення {0} {1} та {2} {3}"
|
||||
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"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Відправка голосу"
|
||||
msgid "Succeeded"
|
||||
msgstr "Вдалося"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Успіху"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Пропозиція"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Усього внесків"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Налаштування транзакцій"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Налаштування транзакцій"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Транзакцію надіслано"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Транзакція завершена в"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Кінцевий термін транзакції"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Переглянути на Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Переглянути на Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:05\n"
|
||||
"PO-Revision-Date: 2021-08-02 15:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(xóa tất cả)"
|
||||
msgid "(edit)"
|
||||
msgstr "(chỉnh sửa)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- Xóa gửi"
|
||||
@@ -412,6 +408,7 @@ msgstr "Xóa tất cả"
|
||||
msgid "Clear all"
|
||||
msgstr "Xóa tất cả"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "Đóng"
|
||||
@@ -483,6 +480,10 @@ msgstr "Xác nhận Hoán đổi"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Xác nhận giao dịch này trong ví của bạn"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "Xác nhận giao dịch trong ví"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -729,6 +730,7 @@ msgstr "Nhập vị trí danh sách hợp lệ"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "Nhập địa chỉ mã token hợp lệ"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -913,6 +915,10 @@ msgstr "Đã chọn dải ô không hợp lệ. Giá tối thiểu phải thấp
|
||||
msgid "Invalid recipient"
|
||||
msgstr "Người nhận không hợp lệ"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "Ngôn ngữ"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "Học hỏi"
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "Ối! Đã xảy ra lỗi không xác định. Vui lòng làm mới trang hoặc truy cập từ trình duyệt hoặc thiết bị khác."
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgstr "Thời gian ngừng hoạt động theo lịch trình lạc quan"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Lạc quan có kế hoạch thời gian ngừng hoạt động"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Lạc quan mong đợi một số thời gian ngừng hoạt động theo lịch trình trong tương lai gần. <0> Đọc thêm.</0>"
|
||||
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>"
|
||||
msgstr "Sự lạc quan mong đợi thời gian ngừng hoạt động theo kế hoạch trong tương lai gần. Thời gian chết ngoài kế hoạch cũng có thể xảy ra. Trong khi mạng ngừng hoạt động, phí sẽ không được tạo ra và bạn sẽ không thể loại bỏ thanh khoản. <0> Đọc thêm.</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "Đã xếp hàng"
|
||||
msgid "Rates"
|
||||
msgstr "Tỷ giá"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "Đọc thêm"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "Đọc thêm về UNI"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "Loại bỏ {0} {1} và {2} {3}"
|
||||
msgid "Restricts swaps to direct pairs only."
|
||||
msgstr "Chỉ hạn chế hoán đổi đối với các cặp trực tiếp."
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
|
||||
msgid "Return"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "Gửi phiếu bầu"
|
||||
msgid "Succeeded"
|
||||
msgstr "Thành công"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "Sự thành công"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "Cung cấp"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "Tổng số tiền gửi"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "Cài đặt giao dịch"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "Cài đặt giao dịch"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Giao dịch đã được gửi"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Giao dịch đã hoàn tất trong"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "Thời hạn giao dịch"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "Xem trên Etherscan"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "Xem trên Explorer"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"PO-Revision-Date: 2021-07-14 01:25\n"
|
||||
"PO-Revision-Date: 2021-08-03 12:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(全部清除)"
|
||||
msgid "(edit)"
|
||||
msgstr "(编辑)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "-删除发送"
|
||||
@@ -412,6 +408,7 @@ msgstr "全部清除"
|
||||
msgid "Clear all"
|
||||
msgstr "全部清除"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "关闭"
|
||||
@@ -483,6 +480,10 @@ msgstr "确认兑换"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "在您的钱包中确认这笔交易"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "在钱包中确认交易"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -584,7 +585,7 @@ msgstr "当前 {0} 兑换率:"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Dark Theme"
|
||||
msgstr "深色主题"
|
||||
msgstr "深色"
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Defeated"
|
||||
@@ -729,6 +730,7 @@ msgstr "输入有效的代币列表源"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "输入有效的代币合约地址"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -798,7 +800,7 @@ msgstr "全范围"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here</0>."
|
||||
msgstr "全范围头寸可能比集中头寸赚取的费用少。点击此处<0>了解更多信息</0>."
|
||||
msgstr "全范围仓位可能比集中仓位赚取更少的费用。在<0>此处</0>了解更多。"
|
||||
|
||||
#: src/components/ErrorBoundary/index.tsx
|
||||
msgid "Get support on Discord"
|
||||
@@ -913,6 +915,10 @@ msgstr "选择的范围无效。最小兑换率必须低于最大兑换率。"
|
||||
msgid "Invalid recipient"
|
||||
msgstr "无效的接收方"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "语言"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "学习"
|
||||
@@ -927,7 +933,7 @@ msgstr "了解更多"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Light Theme"
|
||||
msgstr "浅色主题"
|
||||
msgstr "浅色"
|
||||
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -1131,12 +1137,12 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "糟糕!出现未知错误。请刷新页面,或从其他浏览器或设备访问。"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimism 预定的下线时间段"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimism 近期将有一些预定的下线时间段。<0>阅读更多。</0>"
|
||||
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>"
|
||||
msgstr "Optimism 预期在不久的将来进行停机维护。也可能发生计划外停机。当网络关闭时,不会产生费用收入,您将暂时无法移除流动性。 <0>阅读更多。</0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
@@ -1177,7 +1183,7 @@ msgstr "待办"
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Please confirm you would like to remove this list by typing REMOVE"
|
||||
msgstr "请输入 REMOVE 确认您要删除此列表"
|
||||
msgstr "请输入 REMOVE 以确认您要删除此列表"
|
||||
|
||||
#: src/components/vote/ProposalEmptyState.tsx
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "待执行"
|
||||
msgid "Rates"
|
||||
msgstr "费率"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "阅读更多"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "阅读更多关于 UNI 代币的信息"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "正在去除 {0} {1} 和 {2} {3}"
|
||||
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"
|
||||
@@ -1437,7 +1450,7 @@ msgstr "显示 Portis"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Show closed positions"
|
||||
msgstr "显示平仓"
|
||||
msgstr "显示已关闭的仓位"
|
||||
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
msgid "Simple"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "提交投票"
|
||||
msgid "Succeeded"
|
||||
msgstr "投票通过"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "成功"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "供应"
|
||||
@@ -1507,7 +1524,7 @@ msgstr "将 {0} {1} 兑换为 {2} {3}"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Switch to L1 (Mainnet)"
|
||||
msgstr "切换到 L1(主网)"
|
||||
msgstr "切换到 L1 (主网)"
|
||||
|
||||
#: src/components/Popups/ClaimPopup.tsx
|
||||
msgid "Thanks for being part of the Uniswap community <0/>"
|
||||
@@ -1641,6 +1658,7 @@ msgstr "存入总额"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "交易设置"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "交易设置"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "已提交交易"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "交易完成于"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "交易截止期限"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "在 Etherscan 上查看"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "在以太坊资源浏览器上查看"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-07-13 19:19+0000\n"
|
||||
"POT-Creation-Date: 2021-08-02 14:52+0000\n"
|
||||
"Mime-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"PO-Revision-Date: 2021-07-13 20:04\n"
|
||||
"PO-Revision-Date: 2021-08-03 12:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -47,10 +47,6 @@ msgstr "(全部清除)"
|
||||
msgid "(edit)"
|
||||
msgstr "(編輯)"
|
||||
|
||||
#: src/components/RangeSelector/PresetsButtons.tsx
|
||||
msgid "+/- {label}%"
|
||||
msgstr "+/- {label}%"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "- Remove send"
|
||||
msgstr "- 刪除發送"
|
||||
@@ -412,6 +408,7 @@ msgstr "全部清除"
|
||||
msgid "Clear all"
|
||||
msgstr "全部清除"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Close"
|
||||
msgstr "關閉"
|
||||
@@ -483,6 +480,10 @@ msgstr "確認兌換"
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "在您的錢包中確認這筆交易"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Confirm transaction in wallet"
|
||||
msgstr "在錢包中確認交易"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
@@ -584,7 +585,7 @@ msgstr "當前 {0} 兌換率:"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Dark Theme"
|
||||
msgstr "黑暗主題"
|
||||
msgstr "深色"
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Defeated"
|
||||
@@ -729,6 +730,7 @@ msgstr "輸入有效的代幣列表源"
|
||||
msgid "Enter valid token address"
|
||||
msgstr "輸入有效的代幣地址"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Error"
|
||||
@@ -798,7 +800,7 @@ msgstr "全範圍"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here</0>."
|
||||
msgstr "全範圍倉位可能比集中倉位賺取更少的費用。在此處<0>了解更多</0>."
|
||||
msgstr "全範圍倉位可能比集中倉位賺取更少的費用。在<0>此處</0>了解更多。"
|
||||
|
||||
#: src/components/ErrorBoundary/index.tsx
|
||||
msgid "Get support on Discord"
|
||||
@@ -913,13 +915,17 @@ msgstr "選擇的範圍無效。最小兌換率必須低於最大兌換率。"
|
||||
msgid "Invalid recipient"
|
||||
msgstr "無效的接收方"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Language"
|
||||
msgstr "語言"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
msgstr "瞭解"
|
||||
|
||||
#: src/pages/Pool/CTACards.tsx
|
||||
msgid "Learn about providing liquidity"
|
||||
msgstr "了解提供流動性"
|
||||
msgstr "閱讀有關提供流動資金的資訊"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Learn more"
|
||||
@@ -927,7 +933,7 @@ msgstr "瞭解更多"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Light Theme"
|
||||
msgstr "輕主題"
|
||||
msgstr "淺色"
|
||||
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -1131,20 +1137,20 @@ msgid "Oops! An unknown error occurred. Please refresh the page, or visit from a
|
||||
msgstr "糟糕!出現未知錯誤。請刷新頁面,或從其他瀏覽器或設備訪問。"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism Scheduled Downtimes"
|
||||
msgid "Optimism Planned Downtime"
|
||||
msgstr "Optimism 預定的下線時間段"
|
||||
|
||||
#: src/components/OptimismDowntimeWarning/index.tsx
|
||||
msgid "Optimism expects some scheduled downtime in the near future. <0>Read more.</0>"
|
||||
msgstr "Optimism 近期將有一些預定的下線時間段。 <0>閱讀更多。 </0>"
|
||||
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>"
|
||||
msgstr "Optimism 預期在不久的將來進行停機維護。也可能發生計劃外停機。當網絡關閉時,不會產生費用收入,您將暫時無法移除流動性。 <0>閱讀更多。 </0>"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic Etherscan"
|
||||
msgstr "樂觀 Etherscan"
|
||||
msgstr "Optimistic Etherscan"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Optimistic L2 Gateway"
|
||||
msgstr "樂觀 L2 網關"
|
||||
msgstr "Optimistic L2 網關"
|
||||
|
||||
#: src/components/Badge/RangeBadge.tsx
|
||||
msgid "Out of range"
|
||||
@@ -1177,7 +1183,7 @@ msgstr "待辦"
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Please confirm you would like to remove this list by typing REMOVE"
|
||||
msgstr "請輸入 REMOVE 確認你要刪除此列表"
|
||||
msgstr "請輸入 REMOVE 以確認您要刪除此列表"
|
||||
|
||||
#: src/components/vote/ProposalEmptyState.tsx
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
@@ -1301,6 +1307,12 @@ msgstr "待執行"
|
||||
msgid "Rates"
|
||||
msgstr "費率"
|
||||
|
||||
#: src/components/NetworkAlert/AddLiquidityNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/MinimalNetworkAlert.tsx
|
||||
#: src/components/NetworkAlert/NetworkAlert.tsx
|
||||
msgid "Read more"
|
||||
msgstr "閱讀更多"
|
||||
|
||||
#: src/pages/Earn/index.tsx
|
||||
msgid "Read more about UNI"
|
||||
msgstr "了解有關 UNI 的更多資訊"
|
||||
@@ -1368,6 +1380,7 @@ msgstr "正在去除 {0} {1} 和 {2} {3}"
|
||||
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"
|
||||
@@ -1437,7 +1450,7 @@ msgstr "顯示 Portis"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Show closed positions"
|
||||
msgstr "顯示平倉"
|
||||
msgstr "顯示已關閉的倉位"
|
||||
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
msgid "Simple"
|
||||
@@ -1458,7 +1471,7 @@ msgstr "出問題了"
|
||||
|
||||
#: src/components/PositionList/index.tsx
|
||||
msgid "Status"
|
||||
msgstr "地位"
|
||||
msgstr "狀態"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Step 1. Get UNI-V2 Liquidity tokens"
|
||||
@@ -1480,6 +1493,10 @@ msgstr "提交投票"
|
||||
msgid "Succeeded"
|
||||
msgstr "投票通過"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Success"
|
||||
msgstr "成功"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "Supply"
|
||||
msgstr "供應"
|
||||
@@ -1507,7 +1524,7 @@ msgstr "將 {0} {1} 兌換為 {2} {3}"
|
||||
|
||||
#: src/components/Header/NetworkCard.tsx
|
||||
msgid "Switch to L1 (Mainnet)"
|
||||
msgstr "切換到 L1(主網)"
|
||||
msgstr "切換到 L1 (主網)"
|
||||
|
||||
#: src/components/Popups/ClaimPopup.tsx
|
||||
msgid "Thanks for being part of the Uniswap community <0/>"
|
||||
@@ -1572,11 +1589,11 @@ msgstr "這是 Uniswap 在 {0} 網絡上的 alpha 版本。您必須將 L1 資
|
||||
|
||||
#: 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 "必須先初始化此池,然後才能添加流動性。要初始化,請選擇池的起始價格。然後,輸入您的流動性價格範圍和存款金額。由於初始化交易,Gas 費用將比平時高。"
|
||||
msgstr "需要先初始化,然後再添加流動性。初始化時,請先選擇起始價格,然後輸入您的流動性價格範圍和存款金額。因需進行初始化相關操作,Gas 費將比平時高一些。"
|
||||
|
||||
#: 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 "在您添加流動性之前,此池必須初始化為 {0} 要初始化,請選擇池的起始價格。然後,輸入您的流動性價格範圍和存款金額。"
|
||||
msgstr "在您添加流動性之前, {0} 池需要先初始化。請先選擇起始價格,然後輸入您的流動性價格範圍和存款金額。"
|
||||
|
||||
#: 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."
|
||||
@@ -1641,6 +1658,7 @@ msgstr "存款總額"
|
||||
msgid "Transaction Settings"
|
||||
msgstr "交易設定"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/earn/ClaimRewardModal.tsx
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -1650,6 +1668,10 @@ msgstr "交易設定"
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "交易已提交"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Transaction completed in"
|
||||
msgstr "交易完成於"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
msgid "Transaction deadline"
|
||||
msgstr "交易截止期限"
|
||||
@@ -1826,6 +1848,7 @@ msgstr "在Etherscan上查看"
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "View on Explorer"
|
||||
msgstr "在以太坊資源瀏覽器上查看"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useCallback, useContext, useEffect, useMemo, useState } from 'react'
|
||||
import { useCallback, useContext, useEffect, useState } from 'react'
|
||||
import { TransactionResponse } from '@ethersproject/providers'
|
||||
import { Currency, CurrencyAmount, Percent } from '@uniswap/sdk-core'
|
||||
import { AlertTriangle } from 'react-feather'
|
||||
@@ -63,6 +63,7 @@ import { useDerivedPositionInfo } from 'hooks/useDerivedPositionInfo'
|
||||
import { PositionPreview } from 'components/PositionPreview'
|
||||
import FeeSelector from 'components/FeeSelector'
|
||||
import RangeSelector from 'components/RangeSelector'
|
||||
import PresetsButtons from 'components/RangeSelector/PresetsButtons'
|
||||
import RateToggle from 'components/RateToggle'
|
||||
import { BigNumber } from '@ethersproject/bignumber'
|
||||
import { AddRemoveTabs } from 'components/NavigationTabs'
|
||||
@@ -101,16 +102,11 @@ export default function AddLiquidity({
|
||||
? parseFloat(feeAmountFromUrl)
|
||||
: undefined
|
||||
|
||||
const currencyA = useCurrency(currencyIdA)
|
||||
const baseCurrency = useCurrency(currencyIdA)
|
||||
const currencyB = useCurrency(currencyIdB)
|
||||
|
||||
// keep track for UI display purposes of user selected base currency
|
||||
const baseCurrency = currencyA
|
||||
const quoteCurrency = useMemo(
|
||||
() =>
|
||||
currencyA && currencyB && baseCurrency ? (baseCurrency.equals(currencyA) ? currencyB : currencyA) : undefined,
|
||||
[currencyA, currencyB, baseCurrency]
|
||||
)
|
||||
// prevent an error if they input ETH/WETH
|
||||
const quoteCurrency =
|
||||
baseCurrency && currencyB && baseCurrency.wrapped.equals(currencyB.wrapped) ? undefined : currencyB
|
||||
|
||||
// mint state
|
||||
const { independentField, typedValue, startPriceTypedValue } = useV3MintState()
|
||||
@@ -135,8 +131,8 @@ export default function AddLiquidity({
|
||||
invertPrice,
|
||||
ticksAtLimit,
|
||||
} = useV3DerivedMintInfo(
|
||||
currencyA ?? undefined,
|
||||
currencyB ?? undefined,
|
||||
baseCurrency ?? undefined,
|
||||
quoteCurrency ?? undefined,
|
||||
feeAmount,
|
||||
baseCurrency ?? undefined,
|
||||
existingPosition
|
||||
@@ -154,7 +150,7 @@ export default function AddLiquidity({
|
||||
// capital efficiency warning
|
||||
const [showCapitalEfficiencyWarning, setShowCapitalEfficiencyWarning] = useState(false)
|
||||
|
||||
useEffect(() => setShowCapitalEfficiencyWarning(false), [currencyA, currencyB, feeAmount])
|
||||
useEffect(() => setShowCapitalEfficiencyWarning(false), [baseCurrency, quoteCurrency, feeAmount])
|
||||
|
||||
// txn values
|
||||
const deadline = useTransactionDeadline() // custom from users settings
|
||||
@@ -213,7 +209,7 @@ export default function AddLiquidity({
|
||||
async function onCreate() {
|
||||
if (!chainId || !library) return
|
||||
|
||||
if (!positionManager || !currencyA || !currencyB) {
|
||||
if (!positionManager || !baseCurrency || !quoteCurrency) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -242,7 +238,7 @@ export default function AddLiquidity({
|
||||
.then((response: TransactionResponse) => {
|
||||
setAttemptingTxn(false)
|
||||
addTransaction(response, {
|
||||
summary: t`Create ${currencyA?.symbol}/${currencyB?.symbol} V3 pool`,
|
||||
summary: t`Create ${baseCurrency?.symbol}/${quoteCurrency?.symbol} V3 pool`,
|
||||
})
|
||||
// dont set txn hash as we dont want submitted txn screen for create
|
||||
ReactGA.event({
|
||||
@@ -268,12 +264,12 @@ export default function AddLiquidity({
|
||||
async function onAdd() {
|
||||
if (!chainId || !library || !account) return
|
||||
|
||||
if (!positionManager || !currencyA || !currencyB) {
|
||||
if (!positionManager || !baseCurrency || !quoteCurrency) {
|
||||
return
|
||||
}
|
||||
|
||||
if (position && account && deadline) {
|
||||
const useNative = currencyA.isNative ? currencyA : currencyB.isNative ? currencyB : undefined
|
||||
const useNative = baseCurrency.isNative ? baseCurrency : quoteCurrency.isNative ? quoteCurrency : undefined
|
||||
const { calldata, value } =
|
||||
hasExistingPosition && tokenId
|
||||
? NonfungiblePositionManager.addCallParameters(position, {
|
||||
@@ -338,8 +334,8 @@ export default function AddLiquidity({
|
||||
setAttemptingTxn(false)
|
||||
addTransaction(response, {
|
||||
summary: noLiquidity
|
||||
? t`Create pool and add ${currencyA?.symbol}/${currencyB?.symbol} V3 liquidity`
|
||||
: t`Add ${currencyA?.symbol}/${currencyB?.symbol} V3 liquidity`,
|
||||
? t`Create pool and add ${baseCurrency?.symbol}/${quoteCurrency?.symbol} V3 liquidity`
|
||||
: t`Add ${baseCurrency?.symbol}/${quoteCurrency?.symbol} V3 liquidity`,
|
||||
})
|
||||
setTxHash(response.hash)
|
||||
ReactGA.event({
|
||||
@@ -609,8 +605,11 @@ export default function AddLiquidity({
|
||||
currencyA={baseCurrency}
|
||||
currencyB={quoteCurrency}
|
||||
handleRateToggle={() => {
|
||||
onLeftRangeInput('')
|
||||
onRightRangeInput('')
|
||||
if (!ticksAtLimit[Bound.LOWER] && !ticksAtLimit[Bound.UPPER]) {
|
||||
onLeftRangeInput((invertPrice ? priceLower : priceUpper?.invert())?.toSignificant(6) ?? '')
|
||||
onRightRangeInput((invertPrice ? priceUpper : priceLower?.invert())?.toSignificant(6) ?? '')
|
||||
onFieldAInput(formattedAmounts[Field.CURRENCY_B] ?? '')
|
||||
}
|
||||
history.push(
|
||||
`/add/${currencyIdB as string}/${currencyIdA as string}${feeAmount ? '/' + feeAmount : ''}`
|
||||
)
|
||||
@@ -663,11 +662,11 @@ export default function AddLiquidity({
|
||||
</RowBetween>
|
||||
|
||||
<FeeSelector
|
||||
disabled={!currencyB || !currencyA}
|
||||
disabled={!quoteCurrency || !baseCurrency}
|
||||
feeAmount={feeAmount}
|
||||
handleFeePoolSelect={handleFeePoolSelect}
|
||||
currencyA={currencyA ?? undefined}
|
||||
currencyB={currencyB ?? undefined}
|
||||
currencyA={baseCurrency ?? undefined}
|
||||
currencyB={quoteCurrency ?? undefined}
|
||||
/>
|
||||
</AutoColumn>{' '}
|
||||
</>
|
||||
@@ -867,6 +866,13 @@ export default function AddLiquidity({
|
||||
feeAmount={feeAmount}
|
||||
ticksAtLimit={ticksAtLimit}
|
||||
/>
|
||||
{!noLiquidity && (
|
||||
<PresetsButtons
|
||||
setFullRange={() => {
|
||||
setShowCapitalEfficiencyWarning(true)
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</AutoColumn>
|
||||
</StackedItem>
|
||||
|
||||
@@ -894,7 +900,9 @@ export default function AddLiquidity({
|
||||
Full range positions may earn less fees than concentrated positions. Learn more{' '}
|
||||
<ExternalLink
|
||||
style={{ color: theme.yellow3, textDecoration: 'underline' }}
|
||||
href={''}
|
||||
href={
|
||||
'https://help.uniswap.org/en/articles/5434296-can-i-provide-liquidity-over-the-full-range-in-v3'
|
||||
}
|
||||
>
|
||||
here
|
||||
</ExternalLink>
|
||||
|
||||
@@ -46,7 +46,7 @@ const BodyWrapper = styled.div`
|
||||
z-index: 1;
|
||||
|
||||
${({ theme }) => theme.mediaWidth.upToSmall`
|
||||
padding: 6rem 16px 16px 16px;
|
||||
padding: 6rem 16px 16px 16px;
|
||||
`};
|
||||
`
|
||||
|
||||
@@ -75,15 +75,15 @@ export default function App() {
|
||||
<Route component={GoogleAnalyticsReporter} />
|
||||
<Route component={DarkModeQueryParamReader} />
|
||||
<Route component={ApeModeQueryParamReader} />
|
||||
<AppWrapper>
|
||||
<HeaderWrapper>
|
||||
<Header />
|
||||
</HeaderWrapper>
|
||||
<BodyWrapper>
|
||||
<Popups />
|
||||
<Polling />
|
||||
<TopLevelModals />
|
||||
<Web3ReactManager>
|
||||
<Web3ReactManager>
|
||||
<AppWrapper>
|
||||
<HeaderWrapper>
|
||||
<Header />
|
||||
</HeaderWrapper>
|
||||
<BodyWrapper>
|
||||
<Popups />
|
||||
<Polling />
|
||||
<TopLevelModals />
|
||||
<Switch>
|
||||
<Route exact strict path="/vote" component={Vote} />
|
||||
<Route exact strict path="/vote/:governorIndex/:id" component={VotePage} />
|
||||
@@ -124,10 +124,10 @@ export default function App() {
|
||||
<Route exact strict path="/create-proposal" component={CreateProposal} />
|
||||
<Route component={RedirectPathToSwapOnly} />
|
||||
</Switch>
|
||||
</Web3ReactManager>
|
||||
<Marginer />
|
||||
</BodyWrapper>
|
||||
</AppWrapper>
|
||||
<Marginer />
|
||||
</BodyWrapper>
|
||||
</AppWrapper>
|
||||
</Web3ReactManager>
|
||||
</ErrorBoundary>
|
||||
)
|
||||
}
|
||||
|
||||
17
src/pages/styled.tsx
Normal file
17
src/pages/styled.tsx
Normal file
@@ -0,0 +1,17 @@
|
||||
import styled from 'styled-components/macro'
|
||||
|
||||
export const StandardPageWrapper = styled.div`
|
||||
padding-top: 160px;
|
||||
width: 100%;
|
||||
`
|
||||
|
||||
export const IframeBodyWrapper = styled.div`
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
margin-top: 3rem;
|
||||
padding: 1rem;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
z-index: 1;
|
||||
`
|
||||
5
src/setupTests.ts
Normal file
5
src/setupTests.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
// jest custom assertions
|
||||
import '@testing-library/jest-dom'
|
||||
|
||||
// include style rules in snapshots
|
||||
import 'jest-styled-components'
|
||||
@@ -8,9 +8,13 @@ import { useActiveWeb3React } from '../../hooks/web3'
|
||||
import { updateBlockNumber, updateChainId } from './actions'
|
||||
|
||||
function useQueryCacheInvalidator() {
|
||||
const chainId = useAppSelector((state) => state.application.chainId)
|
||||
const dispatch = useAppDispatch()
|
||||
|
||||
// subscribe to `chainId` changes in the redux store rather than Web3
|
||||
// this will ensure that when `invalidateTags` is called, the latest
|
||||
// `chainId` is available in redux to build the subgraph url
|
||||
const chainId = useAppSelector((state) => state.application.chainId)
|
||||
|
||||
useEffect(() => {
|
||||
dispatch(api.util.invalidateTags([CHAIN_TAG]))
|
||||
}, [chainId, dispatch])
|
||||
|
||||
@@ -142,7 +142,9 @@ export function useAllProposalData(): { data: ProposalData[]; loading: boolean }
|
||||
return useMemo(() => {
|
||||
const proposalsCallData = proposalsV0.concat(proposalsV1)
|
||||
const proposalStatesCallData = proposalStatesV0.concat(proposalStatesV1)
|
||||
const formattedLogs = (formattedLogsV0 ?? []).concat(formattedLogsV1 ?? [])
|
||||
const formattedLogs = (formattedLogsV0 ?? [])
|
||||
.slice(0, proposalsV0.length)
|
||||
.concat((formattedLogsV1 ?? []).slice(0, proposalsV1.length))
|
||||
|
||||
if (
|
||||
proposalsCallData.some((p) => p.loading) ||
|
||||
|
||||
@@ -13,7 +13,8 @@ import burn from './burn/reducer'
|
||||
import burnV3 from './burn/v3/reducer'
|
||||
import logs from './logs/slice'
|
||||
import multicall from './multicall/reducer'
|
||||
import { api } from './data/slice'
|
||||
import { api as dataApi } from './data/slice'
|
||||
import { routingApi } from './routing/slice'
|
||||
|
||||
const PERSISTED_KEYS: string[] = ['user', 'transactions', 'lists']
|
||||
|
||||
@@ -30,13 +31,15 @@ const store = configureStore({
|
||||
multicall,
|
||||
lists,
|
||||
logs,
|
||||
[api.reducerPath]: api.reducer,
|
||||
[dataApi.reducerPath]: dataApi.reducer,
|
||||
[routingApi.reducerPath]: routingApi.reducer,
|
||||
},
|
||||
middleware: (getDefaultMiddleware) =>
|
||||
getDefaultMiddleware({ thunk: true })
|
||||
.concat(api.middleware)
|
||||
.concat(dataApi.middleware)
|
||||
.concat(routingApi.middleware)
|
||||
.concat(save({ states: PERSISTED_KEYS, debounce: 1000 })),
|
||||
preloadedState: load({ states: PERSISTED_KEYS }),
|
||||
preloadedState: load({ states: PERSISTED_KEYS, disableWarnings: process.env.NODE_ENV === 'test' }),
|
||||
})
|
||||
|
||||
store.dispatch(updateVersion())
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
import DEFAULT_TOKEN_LIST from '@uniswap/default-token-list'
|
||||
import { TokenList } from '@uniswap/token-lists'
|
||||
import { IS_ON_APP_URL } from 'constants/misc'
|
||||
import { useMemo } from 'react'
|
||||
import { useAppSelector } from 'state/hooks'
|
||||
import sortByListPriority from 'utils/listSort'
|
||||
import UNSUPPORTED_TOKEN_LIST from '../../constants/tokenLists/uniswap-v2-unsupported.tokenlist.json'
|
||||
import UNSUPPORTED_TOKEN_LIST from '../../constants/tokenLists/unsupported.tokenlist.json'
|
||||
import BROKEN_LIST from '../../constants/tokenLists/broken.tokenlist.json'
|
||||
import { AppState } from '../index'
|
||||
import { UNSUPPORTED_LIST_URLS } from './../../constants/lists'
|
||||
import { WrappedTokenInfo } from './wrappedTokenInfo'
|
||||
@@ -12,6 +14,10 @@ export type TokenAddressMap = Readonly<{
|
||||
[chainId: number]: Readonly<{ [tokenAddress: string]: { token: WrappedTokenInfo; list: TokenList } }>
|
||||
}>
|
||||
|
||||
type Mutable<T> = {
|
||||
-readonly [P in keyof T]: Mutable<T[P]>
|
||||
}
|
||||
|
||||
const listCache: WeakMap<TokenList, TokenAddressMap> | null =
|
||||
typeof WeakMap !== 'undefined' ? new WeakMap<TokenList, TokenAddressMap>() : null
|
||||
|
||||
@@ -19,23 +25,19 @@ function listToTokenMap(list: TokenList): TokenAddressMap {
|
||||
const result = listCache?.get(list)
|
||||
if (result) return result
|
||||
|
||||
const map = list.tokens.reduce<TokenAddressMap>((tokenMap, tokenInfo) => {
|
||||
const map = list.tokens.reduce<Mutable<TokenAddressMap>>((tokenMap, tokenInfo) => {
|
||||
const token = new WrappedTokenInfo(tokenInfo, list)
|
||||
if (tokenMap[token.chainId]?.[token.address] !== undefined) {
|
||||
console.error(new Error(`Duplicate token! ${token.address}`))
|
||||
console.error(`Duplicate token! ${token.address}`)
|
||||
return tokenMap
|
||||
}
|
||||
return {
|
||||
...tokenMap,
|
||||
[token.chainId]: {
|
||||
...tokenMap[token.chainId],
|
||||
[token.address]: {
|
||||
token,
|
||||
list,
|
||||
},
|
||||
},
|
||||
if (!tokenMap[token.chainId]) tokenMap[token.chainId] = {}
|
||||
tokenMap[token.chainId][token.address] = {
|
||||
token,
|
||||
list,
|
||||
}
|
||||
}, {})
|
||||
return tokenMap
|
||||
}, {}) as TokenAddressMap
|
||||
listCache?.set(list, map)
|
||||
return map
|
||||
}
|
||||
@@ -46,15 +48,29 @@ export function useAllLists(): AppState['lists']['byUrl'] {
|
||||
return useAppSelector((state) => state.lists.byUrl)
|
||||
}
|
||||
|
||||
/**
|
||||
* Combine the tokens in map2 with the tokens on map1, where tokens on map1 take precedence
|
||||
* @param map1 the base token map
|
||||
* @param map2 the map of additioanl tokens to add to the base map
|
||||
*/
|
||||
export function combineMaps(map1: TokenAddressMap, map2: TokenAddressMap): TokenAddressMap {
|
||||
const chainIds = Object.keys({ ...map1, ...map2 }).map((id) => parseInt(id))
|
||||
return chainIds.reduce(
|
||||
(acc, chainId) => ({
|
||||
...acc,
|
||||
[chainId]: { ...map2[chainId], ...map1[chainId] },
|
||||
}),
|
||||
{}
|
||||
)
|
||||
const chainIds = Object.keys(
|
||||
Object.keys(map1)
|
||||
.concat(Object.keys(map2))
|
||||
.reduce<{ [chainId: string]: true }>((memo, value) => {
|
||||
memo[value] = true
|
||||
return memo
|
||||
}, {})
|
||||
).map((id) => parseInt(id))
|
||||
|
||||
return chainIds.reduce<Mutable<TokenAddressMap>>((memo, chainId) => {
|
||||
memo[chainId] = {
|
||||
...map2[chainId],
|
||||
// map1 takes precedence
|
||||
...map1[chainId],
|
||||
}
|
||||
return memo
|
||||
}, {}) as TokenAddressMap
|
||||
}
|
||||
|
||||
// merge tokens contained within lists from urls
|
||||
@@ -101,16 +117,19 @@ export function useCombinedActiveList(): TokenAddressMap {
|
||||
|
||||
// list of tokens not supported on interface, used to show warnings and prevent swaps and adds
|
||||
export function useUnsupportedTokenList(): TokenAddressMap {
|
||||
// get hard coded unsupported tokens
|
||||
const localUnsupportedListMap = listToTokenMap(UNSUPPORTED_TOKEN_LIST)
|
||||
// get hard coded unsupported tokens, only block on app url
|
||||
const localUnsupportedListMap = useMemo(() => (IS_ON_APP_URL ? listToTokenMap(UNSUPPORTED_TOKEN_LIST) : {}), [])
|
||||
|
||||
// get any loaded unsupported tokens
|
||||
// broken tokens, blocked on all URLS
|
||||
const brokenListMap = useMemo(() => listToTokenMap(BROKEN_LIST), [])
|
||||
|
||||
// get any loaded unsupported tokens, this will be empty if not on app URL
|
||||
const loadedUnsupportedListMap = useCombinedTokenMapFromUrls(UNSUPPORTED_LIST_URLS)
|
||||
|
||||
// format into one token address map
|
||||
return useMemo(
|
||||
() => combineMaps(localUnsupportedListMap, loadedUnsupportedListMap),
|
||||
[localUnsupportedListMap, loadedUnsupportedListMap]
|
||||
() => combineMaps(brokenListMap, combineMaps(localUnsupportedListMap, loadedUnsupportedListMap)),
|
||||
[localUnsupportedListMap, loadedUnsupportedListMap, brokenListMap]
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -542,34 +542,9 @@ export function useRangeHopCallbacks(
|
||||
return ''
|
||||
}, [baseToken, quoteToken, tickUpper, feeAmount, pool])
|
||||
|
||||
const getSetRange = useCallback(
|
||||
(numTicks: number) => {
|
||||
if (baseToken && quoteToken && feeAmount && pool) {
|
||||
// calculate range around current price given `numTicks`
|
||||
const newPriceLower = tickToPrice(
|
||||
baseToken,
|
||||
quoteToken,
|
||||
Math.max(TickMath.MIN_TICK, pool.tickCurrent - numTicks)
|
||||
)
|
||||
const newPriceUpper = tickToPrice(
|
||||
baseToken,
|
||||
quoteToken,
|
||||
Math.min(TickMath.MAX_TICK, pool.tickCurrent + numTicks)
|
||||
)
|
||||
|
||||
return [
|
||||
newPriceLower.toSignificant(5, undefined, Rounding.ROUND_UP),
|
||||
newPriceUpper.toSignificant(5, undefined, Rounding.ROUND_UP),
|
||||
]
|
||||
}
|
||||
return ['', '']
|
||||
},
|
||||
[baseToken, quoteToken, feeAmount, pool]
|
||||
)
|
||||
|
||||
const getSetFullRange = useCallback(() => {
|
||||
dispatch(setFullRange())
|
||||
}, [dispatch])
|
||||
|
||||
return { getDecrementLower, getIncrementLower, getDecrementUpper, getIncrementUpper, getSetRange, getSetFullRange }
|
||||
return { getDecrementLower, getIncrementLower, getDecrementUpper, getIncrementUpper, getSetFullRange }
|
||||
}
|
||||
|
||||
39
src/state/mint/v3/utils.test.ts
Normal file
39
src/state/mint/v3/utils.test.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { Token } from '@uniswap/sdk-core'
|
||||
import { tryParsePrice } from './utils'
|
||||
|
||||
describe('hooks', () => {
|
||||
describe('#tryParsePrice', () => {
|
||||
it('should return undefined if amount is not a number', () => {
|
||||
const baseToken = new Token(1, '0x6b175474e89094c44da98b954eedeac495271d0f', 6)
|
||||
const quoteToken = new Token(1, '0x1b175474e89094c44da98b954eedeac495271d0f', 6)
|
||||
|
||||
expect(tryParsePrice(undefined, undefined, undefined)).toBeUndefined()
|
||||
expect(tryParsePrice(baseToken, quoteToken)).toBeUndefined()
|
||||
expect(tryParsePrice(baseToken, quoteToken, '')).toBeUndefined()
|
||||
expect(tryParsePrice(baseToken, quoteToken, 'abc.123')).toBeUndefined()
|
||||
expect(tryParsePrice(baseToken, quoteToken, '1.2.3')).toBeUndefined()
|
||||
expect(tryParsePrice(baseToken, quoteToken, '20.')).toEqual(undefined)
|
||||
})
|
||||
|
||||
it('should return a price', () => {
|
||||
const baseToken = new Token(1, '0x6b175474e89094c44da98b954eedeac495271d0f', 6)
|
||||
const quoteToken = new Token(1, '0x1b175474e89094c44da98b954eedeac495271d0f', 6)
|
||||
|
||||
expect(tryParsePrice(baseToken, quoteToken, '20')?.toSignificant(6)).toEqual('20')
|
||||
expect(tryParsePrice(baseToken, quoteToken, '20.05')?.toSignificant(6)).toEqual('20.05')
|
||||
expect(tryParsePrice(baseToken, quoteToken, '20.123456789')?.toSignificant(6)).toEqual('20.1235')
|
||||
expect(tryParsePrice(baseToken, quoteToken, '0.123456789')?.toSignificant(6)).toEqual('0.123457')
|
||||
expect(tryParsePrice(baseToken, quoteToken, '.123456789')?.toSignificant(6)).toEqual('0.123457')
|
||||
expect(
|
||||
tryParsePrice(
|
||||
baseToken,
|
||||
quoteToken,
|
||||
(2 ** 128).toLocaleString('fullwide', { useGrouping: false })
|
||||
)?.toSignificant(6)
|
||||
).toEqual('340282000000000000000000000000000000000')
|
||||
expect(
|
||||
tryParsePrice(baseToken, quoteToken, /* ~2^-128 */ '0.000000000000000000000000000587747')?.toSignificant(6)
|
||||
).toEqual('0.000000000000000000000000000587747')
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -7,9 +7,30 @@ import {
|
||||
TickMath,
|
||||
} from '@uniswap/v3-sdk/dist/'
|
||||
import { Price, Token } from '@uniswap/sdk-core'
|
||||
import { tryParseAmount } from 'state/swap/hooks'
|
||||
import JSBI from 'jsbi'
|
||||
|
||||
export function tryParsePrice(baseToken?: Token, quoteToken?: Token, value?: string) {
|
||||
if (!baseToken || !quoteToken || !value) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
if (!value.match(/^\d*\.?\d+$/)) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
const [whole, fraction] = value.split('.')
|
||||
|
||||
const decimals = fraction?.length ?? 0
|
||||
const withoutDecimals = JSBI.BigInt((whole ?? '') + (fraction ?? ''))
|
||||
|
||||
return new Price(
|
||||
baseToken,
|
||||
quoteToken,
|
||||
JSBI.multiply(JSBI.BigInt(10 ** decimals), JSBI.BigInt(10 ** baseToken.decimals)),
|
||||
JSBI.multiply(withoutDecimals, JSBI.BigInt(10 ** quoteToken.decimals))
|
||||
)
|
||||
}
|
||||
|
||||
export function tryParseTick(
|
||||
baseToken?: Token,
|
||||
quoteToken?: Token,
|
||||
@@ -20,14 +41,11 @@ export function tryParseTick(
|
||||
return undefined
|
||||
}
|
||||
|
||||
// base token fixed at 1 unit, quote token amount based on typed input
|
||||
const amount = tryParseAmount(value, quoteToken)
|
||||
const amountOne = tryParseAmount('1', baseToken)
|
||||
const price = tryParsePrice(baseToken, quoteToken, value)
|
||||
|
||||
if (!amount || !amountOne) return undefined
|
||||
|
||||
// parse the typed value into a price
|
||||
const price = new Price(baseToken, quoteToken, amountOne.quotient, amount.quotient)
|
||||
if (!price) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
let tick: number
|
||||
|
||||
|
||||
54
src/state/routing/slice.ts
Normal file
54
src/state/routing/slice.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import qs from 'qs'
|
||||
|
||||
export interface GetQuoteResult {
|
||||
blockNumber: string
|
||||
gasPriceWei: string
|
||||
gasUseEstimate: string
|
||||
gasUseEstimateQuote: string
|
||||
gasUseEstimateQuoteDecimals: string
|
||||
gasUseEstimateUSD: string
|
||||
methodParameters: { calldata: string; value: string }
|
||||
quote: string
|
||||
quoteDecimals: string
|
||||
quoteGasAdjusted: string
|
||||
quoteGasAdjustedDecimals: string
|
||||
quoteId: string
|
||||
routeEdges: {
|
||||
fee: string
|
||||
id: string
|
||||
inId: string
|
||||
outId: string
|
||||
percent: number
|
||||
type: string
|
||||
}[]
|
||||
routeNodes: { chainId: number; id: string; symbol: string; type: string }[]
|
||||
routeString: string
|
||||
}
|
||||
|
||||
export const routingApi = createApi({
|
||||
baseQuery: fetchBaseQuery({
|
||||
baseUrl: 'https://api.uniswap.org/v1/',
|
||||
}),
|
||||
endpoints: (build) => ({
|
||||
getQuote: build.query<
|
||||
GetQuoteResult,
|
||||
{
|
||||
tokenInAddress: string
|
||||
tokenInChainId: SupportedChainId
|
||||
tokenOutAddress: string
|
||||
tokenOutChainId: SupportedChainId
|
||||
amount: string
|
||||
type: 'exactIn' | 'exactOut'
|
||||
recipient?: string
|
||||
slippageTolerance?: string
|
||||
deadline?: string
|
||||
}
|
||||
>({
|
||||
query: (args) => `quote?${qs.stringify(args)}`,
|
||||
}),
|
||||
}),
|
||||
})
|
||||
|
||||
export const { useGetQuoteQuery } = routingApi
|
||||
@@ -45,6 +45,16 @@ export function useAllTransactions(): { [txHash: string]: TransactionDetails } {
|
||||
return chainId ? state[chainId] ?? {} : {}
|
||||
}
|
||||
|
||||
export function useTransaction(transactionHash?: string): TransactionDetails | undefined {
|
||||
const allTransactions = useAllTransactions()
|
||||
|
||||
if (!transactionHash) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
return allTransactions[transactionHash]
|
||||
}
|
||||
|
||||
export function useIsTransactionPending(transactionHash?: string): boolean {
|
||||
const transactions = useAllTransactions()
|
||||
|
||||
@@ -53,6 +63,14 @@ export function useIsTransactionPending(transactionHash?: string): boolean {
|
||||
return !transactions[transactionHash].receipt
|
||||
}
|
||||
|
||||
export function useIsTransactionConfirmed(transactionHash?: string): boolean {
|
||||
const transactions = useAllTransactions()
|
||||
|
||||
if (!transactionHash || !transactions[transactionHash]) return false
|
||||
|
||||
return Boolean(transactions[transactionHash].receipt)
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether a transaction happened in the last day (86400 seconds * 1000 milliseconds / second)
|
||||
* @param tx to check for recency
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { Percent, Token } from '@uniswap/sdk-core'
|
||||
import { computePairAddress, Pair } from '@uniswap/v2-sdk'
|
||||
import { L2_CHAIN_IDS } from 'constants/chains'
|
||||
import { SupportedLocale } from 'constants/locales'
|
||||
import { L2_DEADLINE_FROM_NOW } from 'constants/misc'
|
||||
import JSBI from 'jsbi'
|
||||
import flatMap from 'lodash.flatmap'
|
||||
import { useCallback, useMemo } from 'react'
|
||||
@@ -182,10 +184,11 @@ export function useUserSlippageToleranceWithDefault(defaultSlippageTolerance: Pe
|
||||
}
|
||||
|
||||
export function useUserTransactionTTL(): [number, (slippage: number) => void] {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const dispatch = useAppDispatch()
|
||||
const userDeadline = useAppSelector((state) => {
|
||||
return state.user.userDeadline
|
||||
})
|
||||
const userDeadline = useAppSelector((state) => state.user.userDeadline)
|
||||
const onL2 = Boolean(chainId && L2_CHAIN_IDS.includes(chainId))
|
||||
const deadline = onL2 ? L2_DEADLINE_FROM_NOW : userDeadline
|
||||
|
||||
const setUserDeadline = useCallback(
|
||||
(userDeadline: number) => {
|
||||
@@ -194,7 +197,7 @@ export function useUserTransactionTTL(): [number, (slippage: number) => void] {
|
||||
[dispatch]
|
||||
)
|
||||
|
||||
return [userDeadline, setUserDeadline]
|
||||
return [deadline, setUserDeadline]
|
||||
}
|
||||
|
||||
export function useAddUserToken(): (token: Token) => void {
|
||||
|
||||
19
src/test-utils.tsx
Normal file
19
src/test-utils.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
import React, { FC, ReactElement, ReactNode } from 'react'
|
||||
import { render, RenderOptions } from '@testing-library/react'
|
||||
import ThemeProvider from 'theme'
|
||||
import store from 'state'
|
||||
import { Provider } from 'react-redux'
|
||||
|
||||
const WithProviders: FC = ({ children }: { children?: ReactNode }) => {
|
||||
return (
|
||||
<Provider store={store}>
|
||||
<ThemeProvider>{children}</ThemeProvider>
|
||||
</Provider>
|
||||
)
|
||||
}
|
||||
|
||||
const customRender = (ui: ReactElement, options?: Omit<RenderOptions, 'wrapper'>) =>
|
||||
render(ui, { wrapper: WithProviders, ...options })
|
||||
|
||||
export * from '@testing-library/react'
|
||||
export { customRender as render }
|
||||
@@ -16,7 +16,7 @@ export function isTradeBetter(
|
||||
if (
|
||||
tradeA.tradeType !== tradeB.tradeType ||
|
||||
!tradeA.inputAmount.currency.equals(tradeB.inputAmount.currency) ||
|
||||
!tradeB.outputAmount.currency.equals(tradeB.outputAmount.currency)
|
||||
!tradeA.outputAmount.currency.equals(tradeB.outputAmount.currency)
|
||||
) {
|
||||
throw new Error('Comparing incomparable trades')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user