diff --git a/i18next-parser.config.js b/i18next-parser.config.js new file mode 100644 index 000000000..aa4a96761 --- /dev/null +++ b/i18next-parser.config.js @@ -0,0 +1,5 @@ +module.exports = { + locales: ['en', 'de', 'nl', 'ru', 'uk', 'zh'], + input: ['src/**/*.{js,jsx,ts,tsx}'], + output: 'public/locales/$LOCALE/$NAMESPACE.json', +} diff --git a/package.json b/package.json index 2ecb34065..38ae21263 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "lint:fix": "next lint --fix", "export": "next export", "compare-locales": "node ./scripts/compare-locales.mjs", - "scan-locales": "node ./scripts/scan-locales.mjs", + "parse-locales": "i18next", "analyze": "ANALYZE=true pnpm build", "analyse": "pnpm analyze", "test": "vitest run", @@ -162,6 +162,7 @@ "hardhat-dependency-compiler": "^1.1.3", "hardhat-deploy": "^0.11.12", "husky": "^7.0.4", + "i18next-parser": "^9.0.2", "isows": "^1.0.3", "jsdom": "^24.0.0", "lokijs": "^1.5.12", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a11012529..000dedc67 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -351,6 +351,9 @@ importers: husky: specifier: ^7.0.4 version: 7.0.4 + i18next-parser: + specifier: ^9.0.2 + version: 9.0.2 isows: specifier: ^1.0.3 version: 1.0.4(ws@8.17.0(bufferutil@4.0.7)(utf-8-validate@6.0.3)) @@ -451,6 +454,39 @@ importers: specifier: ^1.0.0-pre.53 version: 1.0.0-pre.53 + .yalc/@ensdomains/thorin: + dependencies: + '@types/jest': + specifier: ^29.5.12 + version: 29.5.12 + clsx: + specifier: ^1.1.1 + version: 1.2.1 + focus-visible: + specifier: ^5.2.0 + version: 5.2.0 + jest-babel: + specifier: ^1.0.1 + version: 1.0.1(babel-core@7.0.0-bridge.0(@babel/core@7.24.6)) + lodash: + specifier: ^4.17.21 + version: 4.17.21 + react: + specifier: ^18.2.0 + version: 18.3.1 + react-dom: + specifier: ^18.2.0 + version: 18.3.1(react@18.3.1) + react-transition-state: + specifier: ^2.1.1 + version: 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: + specifier: ^5.3.6 + version: 5.3.11(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + ts-pattern: + specifier: ^4.3.0 + version: 4.3.0 + packages: '@adobe/css-tools@4.3.3': @@ -1627,6 +1663,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.17.19': resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} @@ -1639,6 +1681,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.17.19': resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} @@ -1651,6 +1699,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.17.19': resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} @@ -1663,6 +1717,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.17.19': resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} @@ -1675,6 +1735,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.17.19': resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} @@ -1687,6 +1753,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.17.19': resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} @@ -1699,6 +1771,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.17.19': resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} @@ -1711,6 +1789,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.17.19': resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} @@ -1723,6 +1807,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.17.19': resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} @@ -1735,6 +1825,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.17.19': resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} @@ -1747,6 +1843,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.17.19': resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} @@ -1759,6 +1861,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.17.19': resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} @@ -1771,6 +1879,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.17.19': resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} @@ -1783,6 +1897,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.17.19': resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} @@ -1795,6 +1915,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.17.19': resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} @@ -1807,6 +1933,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.17.19': resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} @@ -1819,6 +1951,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-x64@0.17.19': resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} @@ -1831,6 +1969,18 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.17.19': resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} @@ -1843,6 +1993,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.17.19': resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} @@ -1855,6 +2011,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.17.19': resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} @@ -1867,6 +2029,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.17.19': resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} @@ -1879,6 +2047,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.17.19': resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} @@ -1891,6 +2065,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2036,6 +2216,10 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@gulpjs/to-absolute-glob@4.0.0': + resolution: {integrity: sha512-kjotm7XJrJ6v+7knhPaRgaT6q8F8K2jiafwYdNHLzmV0uGLuZY43FK6smNSHUPrhq5kX2slCUy+RGG/xGqmIKA==} + engines: {node: '>=10.13.0'} + '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -2045,6 +2229,7 @@ packages: '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -2052,6 +2237,7 @@ packages: '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead '@ianvs/prettier-plugin-sort-imports@4.2.1': resolution: {integrity: sha512-NKN1LVFWUDGDGr3vt+6Ey3qPeN/163uR1pOPAlkWpgvAqgxQ6kSdUf1F0it8aHUtKRUzEGcK38Wxd07O61d7+Q==} @@ -3346,6 +3532,9 @@ packages: '@types/lru-cache@5.1.1': resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} + '@types/minimatch@3.0.5': + resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} + '@types/minimatch@5.1.2': resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} @@ -3440,6 +3629,9 @@ packages: '@types/styled-components@5.1.23': resolution: {integrity: sha512-zt8oQGU6XB4LH1Xpq169YnAVmt22+swzHJvyKMyTZu/z8+afvgKjjg0s79aAodgNSf36ZOEG6DyVAW/JhLH2Nw==} + '@types/symlink-or-copy@1.2.2': + resolution: {integrity: sha512-MQ1AnmTLOncwEf9IVU+B2e4Hchrku5N67NkgcAHW0p3sdzPe0FNMANxEm6OJUzPniEQGkeT3OROLlCwZJLWFZA==} + '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -3702,6 +3894,7 @@ packages: '@walletconnect/sign-client@2.11.1': resolution: {integrity: sha512-s3oKSx6/F5X2WmkV1jfJImBFACf9Km5HpTb+n5q+mobJVpUQw/clvoVyIrNNppLhm1V1S/ylHXh0qCrDppDpCA==} + deprecated: Reliability and performance greatly improved - please see https://github.com/WalletConnect/walletconnect-monorepo/releases '@walletconnect/time@1.0.2': resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} @@ -4195,6 +4388,9 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bl@5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} @@ -4231,6 +4427,21 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + broccoli-node-api@1.7.0: + resolution: {integrity: sha512-QIqLSVJWJUVOhclmkmypJJH9u9s/aWH4+FH6Q6Ju5l+Io4dtwqdPUNmDfw40o6sxhbZHhqGujDJuHTML1wG8Yw==} + + broccoli-node-info@2.2.0: + resolution: {integrity: sha512-VabSGRpKIzpmC+r+tJueCE5h8k6vON7EIMMWu6d/FyPdtijwLQ7QvzShEw+m3mHoDzUaj/kiZsDYrS8X2adsBg==} + engines: {node: 8.* || >= 10.*} + + broccoli-output-wrapper@3.2.5: + resolution: {integrity: sha512-bQAtwjSrF4Nu0CK0JOy5OZqw9t5U0zzv2555EA/cF8/a8SLDTIetk9UgrtMVw7qKLKdSpOZ2liZNeZZDaKgayw==} + engines: {node: 10.* || >= 12.*} + + broccoli-plugin@4.0.7: + resolution: {integrity: sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==} + engines: {node: 10.* || >= 12.*} + brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} @@ -4436,6 +4647,10 @@ packages: cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} + cheerio@1.0.0-rc.12: resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} engines: {node: '>= 6'} @@ -4541,10 +4756,17 @@ packages: clone-response@1.0.3: resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + clone-stats@1.0.0: + resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} + clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + clsx@1.2.1: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} @@ -4594,6 +4816,10 @@ packages: command-exists@1.2.9: resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -5152,6 +5378,9 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -5177,6 +5406,9 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} + ensure-posix-path@1.1.1: + resolution: {integrity: sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -5190,6 +5422,9 @@ packages: engines: {node: '>=4'} hasBin: true + eol@0.9.1: + resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -5264,6 +5499,11 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -5508,6 +5748,7 @@ packages: ethereum-bloom-filters@1.1.0: resolution: {integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==} + deprecated: do not use this package use package versions above as this can miss some topics ethereum-cryptography@0.1.3: resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} @@ -5831,6 +6072,9 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} + fs-merger@3.2.1: + resolution: {integrity: sha512-AN6sX12liy0JE7C2evclwoo0aCG3PFulLjrTLsJpWh/2mM+DinhpSGqYLbHBBbIW1PLRNcFhJG8Axtz8mQW3ug==} + fs-minipass@1.2.7: resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} @@ -5838,6 +6082,14 @@ packages: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} + fs-mkdirp-stream@2.0.1: + resolution: {integrity: sha512-UTOY+59K6IA94tec8Wjqm0FSh5OVudGNB0NL/P6fB3HiE3bYOY3VYBGijsnOHNkQSwC1FKkU77pmq7xp9CskLw==} + engines: {node: '>=10.13.0'} + + fs-tree-diff@2.0.1: + resolution: {integrity: sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==} + engines: {node: 6.* || 8.* || >= 10.*} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -5941,6 +6193,10 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + glob-stream@8.0.2: + resolution: {integrity: sha512-R8z6eTB55t3QeZMmU1C+Gv+t5UnNRkA55c5yo67fAVfxODxieTwsjNG7utxS/73NdP1NbDgCrhVEg2h00y4fFw==} + engines: {node: '>=10.13.0'} + glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} @@ -6026,6 +6282,9 @@ packages: resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + gulp-sort@2.0.0: + resolution: {integrity: sha512-MyTel3FXOdh1qhw1yKhpimQrAmur9q1X0ZigLmCOxouQD+BD3za9/89O+HfbgBQvvh4igEbp0/PUWO+VqGYG1g==} + gzip-size@6.0.0: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} @@ -6129,6 +6388,12 @@ packages: headers-polyfill@3.2.5: resolution: {integrity: sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA==} + heimdalljs-logger@0.1.10: + resolution: {integrity: sha512-pO++cJbhIufVI/fmB/u2Yty3KJD0TqNPecehFae0/eps0hkZ3b4Zc/PezUMOpYuHFQbA7FxHZxa305EhmjLj4g==} + + heimdalljs@0.2.6: + resolution: {integrity: sha512-o9bd30+5vLBvBtzCPwwGqpry2+n0Hi6H1+qwt6y+0kwRHGGF8TFIhJPmnuM0xO97zaKrDZMwO/V56fAnn8m/tA==} + help-me@5.0.0: resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} @@ -6187,6 +6452,9 @@ packages: htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} + http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -6250,6 +6518,11 @@ packages: i18next-http-backend@1.4.5: resolution: {integrity: sha512-tLuHWuLWl6CmS07o+UB6EcQCaUjrZ1yhdseIN7sfq0u7phsMePJ8pqlGhIAdRDPF/q7ooyo5MID5DRFBCH+x5w==} + i18next-parser@9.0.2: + resolution: {integrity: sha512-Q1yTZljBp1DcVAQD7LxduEqFRpjIeZc+5VnQ+gU8qG9WvY3U5rqK0IVONRWNtngh3orb197bfy1Sz4wlwcplxg==} + engines: {node: '>=18.0.0 || >=20.0.0 || >=22.0.0', npm: '>=6', yarn: '>=1'} + hasBin: true + i18next@21.10.0: resolution: {integrity: sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==} @@ -6477,6 +6750,10 @@ packages: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} + is-negated-glob@1.0.0: + resolution: {integrity: sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==} + engines: {node: '>=0.10.0'} + is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -6504,6 +6781,10 @@ packages: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} @@ -6563,6 +6844,10 @@ packages: is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} + is-valid-glob@1.0.0: + resolution: {integrity: sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==} + engines: {node: '>=0.10.0'} + is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -6640,6 +6925,12 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jest-babel@1.0.1: + resolution: {integrity: sha512-hZp74w14Rbv9zqkyrVEUBiGpjE3DvG8qmMDI5qblVhDe5TCjDzJYOHGUcousz+tJrTtHB1im29xS3cZUyhLnAg==} + deprecated: jest-babel is outdated and useless now, try to move to babel-jest package + peerDependencies: + babel-core: '>= 5.5.0 < 6' + jest-canvas-mock@2.5.2: resolution: {integrity: sha512-vgnpPupjOL6+L5oJXzxTxFrlGEIbHdZqFU+LFNdtLxZ3lRDCl17FlTMM7IatoRQkrcyOTMlDinjUguqmQ6bR2A==} @@ -6860,6 +7151,10 @@ packages: resolution: {integrity: sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==} engines: {node: '>=0.10.0'} + lead@4.0.0: + resolution: {integrity: sha512-DpMa59o5uGUWWjruMp71e6knmwKU3jRBBn1kjuLWN9EeIOxNeSAwvHf03WIl8g/ZMR2oSQC9ej3yeLBwdDc/pg==} + engines: {node: '>=10.13.0'} + level-concat-iterator@3.1.0: resolution: {integrity: sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==} engines: {node: '>=10'} @@ -6890,6 +7185,10 @@ packages: lighthouse-logger@1.4.2: resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -7072,6 +7371,10 @@ packages: match-all@1.2.6: resolution: {integrity: sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ==} + matcher-collection@2.0.1: + resolution: {integrity: sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==} + engines: {node: 6.* || 8.* || >= 10.*} + mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} @@ -7333,6 +7636,10 @@ packages: engines: {node: '>=10'} hasBin: true + mktemp@0.4.0: + resolution: {integrity: sha512-IXnMcJ6ZyTuhRmJSjzvHSRhlVPiN9Jwc6e59V0bEJ0ba6OBeX2L0E+mRN1QseeOF4mM+F1Rit6Nh7o+rl2Yn/A==} + engines: {node: '>0.9'} + mlly@1.7.0: resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==} @@ -7607,6 +7914,10 @@ packages: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} + now-and-later@3.0.0: + resolution: {integrity: sha512-pGO4pzSdaxhWTGkfSfHx3hVzJVslFPwBp2Myq9MYN/ChfJZF87ochMAXnvz6/58RJSf5ik2q9tXprBBrk2cpcg==} + engines: {node: '>= 10.13.0'} + npm-bundled@1.1.2: resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} @@ -7863,6 +8174,9 @@ packages: parse5-htmlparser2-tree-adapter@7.0.0: resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} @@ -7903,6 +8217,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-posix@1.0.0: + resolution: {integrity: sha512-1gJ0WpNIiYcQydgg3Ed8KzvIqTsDpNwq+cjBCssvBtuTWjEqY1AW+i+OepiEMqDCzyro9B2sLAe4RBPajMYFiA==} + path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -8119,6 +8436,10 @@ packages: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} + promise-map-series@0.3.0: + resolution: {integrity: sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA==} + engines: {node: 10.* || >= 12.*} + promise@8.3.0: resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} @@ -8240,6 +8561,9 @@ packages: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} + quick-temp@0.1.8: + resolution: {integrity: sha512-YsmIFfD9j2zaFwJkzI6eMG7y0lQP7YeWzgtFgNl38pGWZBSXJooZbOWwkcRot7Vt0Fg9L23pX0tqWU3VvLDsiA==} + radix3@1.1.2: resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} @@ -8370,6 +8694,12 @@ packages: react: ^18.2.0 react-dom: ^18.2.0 + react-transition-state@2.1.2: + resolution: {integrity: sha512-RkDYBkj1V1ZqBA5AwQPrMt2Uagwsx6b//GVJdRDhs/t0o66w2nhQiyHyFGQEI60mgtbaIdLm8yhBRCvhA+FxEg==} + peerDependencies: + react: ^18.2.0 + react-dom: ^18.2.0 + react-universal-interface@0.6.2: resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} peerDependencies: @@ -8478,6 +8808,13 @@ packages: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + replace-ext@2.0.0: + resolution: {integrity: sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==} + engines: {node: '>= 10'} + request@2.88.2: resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} engines: {node: '>= 6'} @@ -8522,6 +8859,10 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + resolve-options@2.0.0: + resolution: {integrity: sha512-/FopbmmFOQCfsCx77BRFdKOniglTiHumLgwvd6IDPihy1GKkadZbgQJBcTb2lMzSR1pndzd96b1nZrreZ7+9/A==} + engines: {node: '>= 10.13.0'} + resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -8613,6 +8954,13 @@ packages: rrweb-cssom@0.7.0: resolution: {integrity: sha512-KlSv0pm9kgQSRxXEMgtivPJ4h826YHsuob8pSHcfSZsSXGtvpEAie8S0AnXuObEJ7nhikOb4ahwxDm0H2yW17g==} + rsvp@3.2.1: + resolution: {integrity: sha512-Rf4YVNYpKjZ6ASAmibcwTNciQ5Co5Ztq6iZPEykHpkoflnD/K5ryE/rHehFsTm4NJj8nKDhbi3eKBWGogmNnkg==} + + rsvp@4.8.5: + resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} + engines: {node: 6.* || >= 7.*} + rtl-css-js@1.16.1: resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} @@ -8881,6 +9229,10 @@ packages: sonic-boom@3.8.1: resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + sort-keys@5.1.0: + resolution: {integrity: sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==} + engines: {node: '>=12'} + source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} @@ -9002,6 +9354,9 @@ packages: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} + stream-composer@1.0.2: + resolution: {integrity: sha512-bnBselmwfX5K10AH6L4c8+S5lgZMWI7ZYrz2rvYjCPB2DIMC4Ig8OpxGpNJSxRZ58oti7y1IcNvjBAz9vW5m4w==} + stream-shift@1.0.3: resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} @@ -9241,6 +9596,9 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + symlink-or-copy@1.3.1: + resolution: {integrity: sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA==} + synckit@0.8.8: resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -9278,6 +9636,9 @@ packages: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + teex@1.0.1: + resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} + temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} @@ -9371,6 +9732,10 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + to-through@3.0.0: + resolution: {integrity: sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==} + engines: {node: '>=10.13.0'} + toggle-selection@1.0.6: resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} @@ -9565,6 +9930,9 @@ packages: uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + underscore.string@3.3.6: + resolution: {integrity: sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==} + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -9572,6 +9940,10 @@ packages: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} + undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + engines: {node: '>=18.17'} + unenv@1.9.0: resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} @@ -9785,6 +10157,10 @@ packages: react: optional: true + value-or-function@4.0.0: + resolution: {integrity: sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg==} + engines: {node: '>= 10.13.0'} + varint@5.0.2: resolution: {integrity: sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==} @@ -9804,6 +10180,22 @@ packages: typescript: optional: true + vinyl-contents@2.0.0: + resolution: {integrity: sha512-cHq6NnGyi2pZ7xwdHSW1v4Jfnho4TEGtxZHw01cmnc8+i7jgR6bRnED/LbrKan/Q7CvVLbnvA5OepnhbpjBZ5Q==} + engines: {node: '>=10.13.0'} + + vinyl-fs@4.0.0: + resolution: {integrity: sha512-7GbgBnYfaquMk3Qu9g22x000vbYkOex32930rBnc3qByw6HfMEAoELjCjoJv4HuEQxHAurT+nvMHm6MnJllFLw==} + engines: {node: '>=10.13.0'} + + vinyl-sourcemap@2.0.0: + resolution: {integrity: sha512-BAEvWxbBUXvlNoFQVFVHpybBbjW1r03WhohJzJDSfgrrK5xVYIDTan6xN14DlyImShgDRv2gl9qhM6irVMsV0Q==} + engines: {node: '>=10.13.0'} + + vinyl@3.0.0: + resolution: {integrity: sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==} + engines: {node: '>=10.13.0'} + vite-node@2.0.5: resolution: {integrity: sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==} engines: {node: ^18.0.0 || >=20.0.0} @@ -9921,6 +10313,10 @@ packages: engines: {node: '>=10.0.0'} hasBin: true + walk-sync@2.2.0: + resolution: {integrity: sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==} + engines: {node: 8.* || >= 10.*} + walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -11978,138 +12374,210 @@ snapshots: '@esbuild/aix-ppc64@0.20.2': optional: true + '@esbuild/aix-ppc64@0.23.1': + optional: true + '@esbuild/android-arm64@0.17.19': optional: true '@esbuild/android-arm64@0.20.2': optional: true + '@esbuild/android-arm64@0.23.1': + optional: true + '@esbuild/android-arm@0.17.19': optional: true '@esbuild/android-arm@0.20.2': optional: true + '@esbuild/android-arm@0.23.1': + optional: true + '@esbuild/android-x64@0.17.19': optional: true '@esbuild/android-x64@0.20.2': optional: true + '@esbuild/android-x64@0.23.1': + optional: true + '@esbuild/darwin-arm64@0.17.19': optional: true '@esbuild/darwin-arm64@0.20.2': optional: true + '@esbuild/darwin-arm64@0.23.1': + optional: true + '@esbuild/darwin-x64@0.17.19': optional: true '@esbuild/darwin-x64@0.20.2': optional: true + '@esbuild/darwin-x64@0.23.1': + optional: true + '@esbuild/freebsd-arm64@0.17.19': optional: true '@esbuild/freebsd-arm64@0.20.2': optional: true + '@esbuild/freebsd-arm64@0.23.1': + optional: true + '@esbuild/freebsd-x64@0.17.19': optional: true '@esbuild/freebsd-x64@0.20.2': optional: true + '@esbuild/freebsd-x64@0.23.1': + optional: true + '@esbuild/linux-arm64@0.17.19': optional: true '@esbuild/linux-arm64@0.20.2': optional: true + '@esbuild/linux-arm64@0.23.1': + optional: true + '@esbuild/linux-arm@0.17.19': optional: true '@esbuild/linux-arm@0.20.2': optional: true + '@esbuild/linux-arm@0.23.1': + optional: true + '@esbuild/linux-ia32@0.17.19': optional: true '@esbuild/linux-ia32@0.20.2': optional: true + '@esbuild/linux-ia32@0.23.1': + optional: true + '@esbuild/linux-loong64@0.17.19': optional: true '@esbuild/linux-loong64@0.20.2': optional: true + '@esbuild/linux-loong64@0.23.1': + optional: true + '@esbuild/linux-mips64el@0.17.19': optional: true '@esbuild/linux-mips64el@0.20.2': optional: true + '@esbuild/linux-mips64el@0.23.1': + optional: true + '@esbuild/linux-ppc64@0.17.19': optional: true '@esbuild/linux-ppc64@0.20.2': optional: true + '@esbuild/linux-ppc64@0.23.1': + optional: true + '@esbuild/linux-riscv64@0.17.19': optional: true '@esbuild/linux-riscv64@0.20.2': optional: true + '@esbuild/linux-riscv64@0.23.1': + optional: true + '@esbuild/linux-s390x@0.17.19': optional: true '@esbuild/linux-s390x@0.20.2': optional: true + '@esbuild/linux-s390x@0.23.1': + optional: true + '@esbuild/linux-x64@0.17.19': optional: true '@esbuild/linux-x64@0.20.2': optional: true + '@esbuild/linux-x64@0.23.1': + optional: true + '@esbuild/netbsd-x64@0.17.19': optional: true '@esbuild/netbsd-x64@0.20.2': optional: true + '@esbuild/netbsd-x64@0.23.1': + optional: true + + '@esbuild/openbsd-arm64@0.23.1': + optional: true + '@esbuild/openbsd-x64@0.17.19': optional: true '@esbuild/openbsd-x64@0.20.2': optional: true + '@esbuild/openbsd-x64@0.23.1': + optional: true + '@esbuild/sunos-x64@0.17.19': optional: true '@esbuild/sunos-x64@0.20.2': optional: true + '@esbuild/sunos-x64@0.23.1': + optional: true + '@esbuild/win32-arm64@0.17.19': optional: true '@esbuild/win32-arm64@0.20.2': optional: true + '@esbuild/win32-arm64@0.23.1': + optional: true + '@esbuild/win32-ia32@0.17.19': optional: true '@esbuild/win32-ia32@0.20.2': optional: true + '@esbuild/win32-ia32@0.23.1': + optional: true + '@esbuild/win32-x64@0.17.19': optional: true '@esbuild/win32-x64@0.20.2': optional: true + '@esbuild/win32-x64@0.23.1': + optional: true + '@eslint-community/eslint-utils@4.4.0(eslint@8.50.0)': dependencies: eslint: 8.50.0 @@ -12434,6 +12902,10 @@ snapshots: dependencies: graphql: 16.8.1 + '@gulpjs/to-absolute-glob@4.0.0': + dependencies: + is-negated-glob: 1.0.0 + '@hapi/hoek@9.3.0': {} '@hapi/topo@5.1.0': @@ -12491,7 +12963,6 @@ snapshots: '@jest/expect-utils@29.7.0': dependencies: jest-get-type: 29.6.3 - optional: true '@jest/fake-timers@29.7.0': dependencies: @@ -14173,7 +14644,6 @@ snapshots: dependencies: expect: 29.7.0 pretty-format: 29.7.0 - optional: true '@types/js-cookie@2.2.7': {} @@ -14191,6 +14661,8 @@ snapshots: '@types/lru-cache@5.1.1': {} + '@types/minimatch@3.0.5': {} + '@types/minimatch@5.1.2': {} '@types/minimist@1.2.5': {} @@ -14299,6 +14771,8 @@ snapshots: '@types/react': 18.2.21 csstype: 3.1.3 + '@types/symlink-or-copy@1.2.2': {} + '@types/trusted-types@2.0.7': {} '@types/ws@8.5.10': @@ -15311,7 +15785,7 @@ snapshots: ast-types@0.13.4: dependencies: - tslib: 2.6.2 + tslib: 2.6.3 ast-types@0.15.2: dependencies: @@ -15414,6 +15888,17 @@ snapshots: transitivePeerDependencies: - '@babel/core' + babel-plugin-styled-components@2.1.4(@babel/core@7.24.6)(styled-components@5.3.11(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)): + dependencies: + '@babel/helper-annotate-as-pure': 7.24.6 + '@babel/helper-module-imports': 7.24.6 + '@babel/plugin-syntax-jsx': 7.24.6(@babel/core@7.24.6) + lodash: 4.17.21 + picomatch: 2.3.1 + styled-components: 5.3.11(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + transitivePeerDependencies: + - '@babel/core' + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.6): dependencies: '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.6) @@ -15477,6 +15962,12 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + bl@5.1.0: + dependencies: + buffer: 6.0.3 + inherits: 2.0.4 + readable-stream: 3.6.2 + blake3-wasm@2.1.5: {} blakejs@1.2.1: {} @@ -15530,6 +16021,30 @@ snapshots: dependencies: fill-range: 7.1.1 + broccoli-node-api@1.7.0: {} + + broccoli-node-info@2.2.0: {} + + broccoli-output-wrapper@3.2.5: + dependencies: + fs-extra: 8.1.0 + heimdalljs-logger: 0.1.10 + symlink-or-copy: 1.3.1 + transitivePeerDependencies: + - supports-color + + broccoli-plugin@4.0.7: + dependencies: + broccoli-node-api: 1.7.0 + broccoli-output-wrapper: 3.2.5 + fs-merger: 3.2.1 + promise-map-series: 0.3.0 + quick-temp: 0.1.8 + rimraf: 3.0.2 + symlink-or-copy: 1.3.1 + transitivePeerDependencies: + - supports-color + brorand@1.1.0: {} browser-stdout@1.3.1: {} @@ -15782,6 +16297,20 @@ snapshots: domhandler: 5.0.3 domutils: 3.1.0 + cheerio@1.0.0: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + parse5-parser-stream: 7.1.2 + undici: 6.19.8 + whatwg-mimetype: 4.0.0 + cheerio@1.0.0-rc.12: dependencies: cheerio-select: 2.1.0 @@ -15919,8 +16448,12 @@ snapshots: dependencies: mimic-response: 1.0.1 + clone-stats@1.0.0: {} + clone@1.0.4: {} + clone@2.1.2: {} + clsx@1.2.1: {} clsx@2.1.0: {} @@ -15955,6 +16488,8 @@ snapshots: command-exists@1.2.9: {} + commander@12.1.0: {} + commander@2.20.3: {} commander@3.0.2: {} @@ -16397,8 +16932,7 @@ snapshots: devtools-protocol@0.0.1286932: {} - diff-sequences@29.6.3: - optional: true + diff-sequences@29.6.3: {} diff@4.0.2: {} @@ -16524,6 +17058,11 @@ snapshots: encodeurl@1.0.2: {} + encoding-sniffer@0.2.0: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 @@ -16561,12 +17100,16 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 + ensure-posix-path@1.1.1: {} + entities@4.5.0: {} env-paths@2.2.1: {} envinfo@7.13.0: {} + eol@0.9.1: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -16761,6 +17304,33 @@ snapshots: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 + esbuild@0.23.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + escalade@3.1.2: {} escape-html@1.0.3: {} @@ -17287,7 +17857,6 @@ snapshots: jest-matcher-utils: 29.7.0 jest-message-util: 29.7.0 jest-util: 29.7.0 - optional: true exponential-backoff@3.1.1: {} @@ -17589,6 +18158,16 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 + fs-merger@3.2.1: + dependencies: + broccoli-node-api: 1.7.0 + broccoli-node-info: 2.2.0 + fs-extra: 8.1.0 + fs-tree-diff: 2.0.1 + walk-sync: 2.2.0 + transitivePeerDependencies: + - supports-color + fs-minipass@1.2.7: dependencies: minipass: 2.9.0 @@ -17597,6 +18176,21 @@ snapshots: dependencies: minipass: 3.3.6 + fs-mkdirp-stream@2.0.1: + dependencies: + graceful-fs: 4.2.11 + streamx: 2.16.1 + + fs-tree-diff@2.0.1: + dependencies: + '@types/symlink-or-copy': 1.2.2 + heimdalljs-logger: 0.1.10 + object-assign: 4.1.1 + path-posix: 1.0.0 + symlink-or-copy: 1.3.1 + transitivePeerDependencies: + - supports-color + fs.realpath@1.0.0: {} fsevents@2.3.2: @@ -17708,6 +18302,17 @@ snapshots: dependencies: is-glob: 4.0.3 + glob-stream@8.0.2: + dependencies: + '@gulpjs/to-absolute-glob': 4.0.0 + anymatch: 3.1.3 + fastq: 1.17.1 + glob-parent: 6.0.2 + is-glob: 4.0.3 + is-negated-glob: 1.0.0 + normalize-path: 3.0.0 + streamx: 2.16.1 + glob-to-regexp@0.4.1: {} glob@10.4.5: @@ -17849,6 +18454,10 @@ snapshots: graphql@16.8.1: {} + gulp-sort@2.0.0: + dependencies: + through2: 2.0.5 + gzip-size@6.0.0: dependencies: duplexer: 0.1.2 @@ -18022,6 +18631,17 @@ snapshots: headers-polyfill@3.2.5: {} + heimdalljs-logger@0.1.10: + dependencies: + debug: 2.6.9 + heimdalljs: 0.2.6 + transitivePeerDependencies: + - supports-color + + heimdalljs@0.2.6: + dependencies: + rsvp: 3.2.1 + help-me@5.0.0: {} hermes-estree@0.19.1: {} @@ -18081,6 +18701,13 @@ snapshots: domutils: 3.1.0 entities: 4.5.0 + htmlparser2@9.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + http-cache-semantics@4.1.1: {} http-errors@2.0.0: @@ -18146,7 +18773,7 @@ snapshots: i18next-browser-languagedetector@7.1.0: dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.25.0 i18next-http-backend@1.4.5(encoding@0.1.13): dependencies: @@ -18154,13 +18781,35 @@ snapshots: transitivePeerDependencies: - encoding + i18next-parser@9.0.2: + dependencies: + '@babel/runtime': 7.25.0 + broccoli-plugin: 4.0.7 + cheerio: 1.0.0 + colors: 1.4.0 + commander: 12.1.0 + eol: 0.9.1 + esbuild: 0.23.1 + fs-extra: 11.2.0 + gulp-sort: 2.0.0 + i18next: 23.11.5 + js-yaml: 4.1.0 + lilconfig: 3.1.2 + rsvp: 4.8.5 + sort-keys: 5.1.0 + typescript: 5.4.5 + vinyl: 3.0.0 + vinyl-fs: 4.0.0 + transitivePeerDependencies: + - supports-color + i18next@21.10.0: dependencies: '@babel/runtime': 7.24.6 i18next@23.11.5: dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.25.0 iconv-lite@0.4.24: dependencies: @@ -18364,6 +19013,8 @@ snapshots: is-map@2.0.3: {} + is-negated-glob@1.0.0: {} + is-negative-zero@2.0.3: {} is-node-process@1.2.0: {} @@ -18380,6 +19031,8 @@ snapshots: is-plain-obj@2.1.0: {} + is-plain-obj@4.1.0: {} + is-plain-object@2.0.4: dependencies: isobject: 3.0.1 @@ -18429,6 +19082,8 @@ snapshots: is-utf8@0.2.1: {} + is-valid-glob@1.0.0: {} + is-weakmap@2.0.2: {} is-weakref@1.0.2: @@ -18514,6 +19169,10 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jest-babel@1.0.1(babel-core@7.0.0-bridge.0(@babel/core@7.24.6)): + dependencies: + babel-core: 7.0.0-bridge.0(@babel/core@7.24.6) + jest-canvas-mock@2.5.2: dependencies: cssfontparser: 1.2.1 @@ -18525,7 +19184,6 @@ snapshots: diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 - optional: true jest-environment-node@29.7.0: dependencies: @@ -18544,7 +19202,6 @@ snapshots: jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 - optional: true jest-message-util@29.7.0: dependencies: @@ -18801,6 +19458,8 @@ snapshots: dependencies: invert-kv: 1.0.0 + lead@4.0.0: {} + level-concat-iterator@3.1.0: dependencies: catering: 2.1.1 @@ -18832,6 +19491,8 @@ snapshots: transitivePeerDependencies: - supports-color + lilconfig@3.1.2: {} + lines-and-columns@1.2.4: {} listhen@1.7.2: @@ -19032,6 +19693,11 @@ snapshots: match-all@1.2.6: {} + matcher-collection@2.0.1: + dependencies: + '@types/minimatch': 3.0.5 + minimatch: 3.1.2 + mathml-tag-names@2.1.3: {} md5.js@1.3.5: @@ -19048,7 +19714,7 @@ snapshots: media-query-parser@2.0.2: dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.25.0 media-typer@0.3.0: {} @@ -19390,6 +20056,8 @@ snapshots: mkdirp@3.0.1: {} + mktemp@0.4.0: {} + mlly@1.7.0: dependencies: acorn: 8.11.3 @@ -19685,6 +20353,10 @@ snapshots: normalize-url@6.1.0: {} + now-and-later@3.0.0: + dependencies: + once: 1.4.0 + npm-bundled@1.1.2: dependencies: npm-normalize-package-bin: 1.0.1 @@ -19970,6 +20642,10 @@ snapshots: domhandler: 5.0.3 parse5: 7.1.2 + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.1.2 + parse5@7.1.2: dependencies: entities: 4.5.0 @@ -20001,6 +20677,8 @@ snapshots: path-parse@1.0.7: {} + path-posix@1.0.0: {} + path-scurry@1.11.1: dependencies: lru-cache: 10.2.2 @@ -20213,6 +20891,8 @@ snapshots: progress@2.0.3: {} + promise-map-series@0.3.0: {} + promise@8.3.0: dependencies: asap: 2.0.6 @@ -20352,6 +21032,12 @@ snapshots: quick-lru@5.1.1: {} + quick-temp@0.1.8: + dependencies: + mktemp: 0.4.0 + rimraf: 2.7.1 + underscore.string: 3.3.6 + radix3@1.1.2: {} randombytes@2.1.0: @@ -20513,6 +21199,11 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react-transition-state@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-universal-interface@0.6.2(react@18.3.1)(tslib@2.6.2): dependencies: react: 18.3.1 @@ -20650,7 +21341,7 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.25.0 regexp.prototype.flags@1.5.2: dependencies: @@ -20672,6 +21363,10 @@ snapshots: dependencies: jsesc: 0.5.0 + remove-trailing-separator@1.1.0: {} + + replace-ext@2.0.0: {} + request@2.88.2: dependencies: aws-sign2: 0.7.0 @@ -20717,6 +21412,10 @@ snapshots: resolve-from@5.0.0: {} + resolve-options@2.0.0: + dependencies: + value-or-function: 4.0.0 + resolve-pkg-maps@1.0.0: {} resolve.exports@2.0.2: {} @@ -20824,9 +21523,13 @@ snapshots: rrweb-cssom@0.7.0: {} + rsvp@3.2.1: {} + + rsvp@4.8.5: {} + rtl-css-js@1.16.1: dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.25.0 run-async@2.4.1: {} @@ -21154,6 +21857,10 @@ snapshots: dependencies: atomic-sleep: 1.0.0 + sort-keys@5.1.0: + dependencies: + is-plain-obj: 4.1.0 + source-map-js@1.2.0: {} source-map-support@0.5.21: @@ -21270,6 +21977,10 @@ snapshots: stoppable@1.1.0: {} + stream-composer@1.0.2: + dependencies: + streamx: 2.16.1 + stream-shift@1.0.3: {} streamsearch@1.1.0: {} @@ -21419,6 +22130,24 @@ snapshots: transitivePeerDependencies: - '@babel/core' + styled-components@5.3.11(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1): + dependencies: + '@babel/helper-module-imports': 7.24.6 + '@babel/traverse': 7.24.6(supports-color@5.5.0) + '@emotion/is-prop-valid': 1.2.2 + '@emotion/stylis': 0.8.5 + '@emotion/unitless': 0.7.5 + babel-plugin-styled-components: 2.1.4(@babel/core@7.24.6)(styled-components@5.3.11(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)) + css-to-react-native: 3.2.0 + hoist-non-react-statics: 3.3.2 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-is: 18.3.1 + shallowequal: 1.1.0 + supports-color: 5.5.0 + transitivePeerDependencies: + - '@babel/core' + styled-jsx@5.1.1(@babel/core@7.24.6)(react@18.3.1): dependencies: client-only: 0.0.1 @@ -21592,6 +22321,8 @@ snapshots: symbol-tree@3.2.4: {} + symlink-or-copy@1.3.1: {} + synckit@0.8.8: dependencies: '@pkgr/core': 0.1.1 @@ -21657,6 +22388,10 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 + teex@1.0.1: + dependencies: + streamx: 2.16.1 + temp-dir@2.0.0: {} temp@0.8.4: @@ -21733,6 +22468,10 @@ snapshots: dependencies: is-number: 7.0.0 + to-through@3.0.0: + dependencies: + streamx: 2.16.1 + toggle-selection@1.0.6: {} toidentifier@1.0.1: {} @@ -21922,12 +22661,19 @@ snapshots: uncrypto@0.1.3: {} + underscore.string@3.3.6: + dependencies: + sprintf-js: 1.1.3 + util-deprecate: 1.0.2 + undici-types@5.26.5: {} undici@5.28.4: dependencies: '@fastify/busboy': 2.1.1 + undici@6.19.8: {} + unenv@1.9.0: dependencies: consola: 3.2.3 @@ -22090,6 +22836,8 @@ snapshots: '@types/react': 18.2.21 react: 18.3.1 + value-or-function@4.0.0: {} + varint@5.0.2: {} vary@1.1.2: {} @@ -22118,6 +22866,45 @@ snapshots: - utf-8-validate - zod + vinyl-contents@2.0.0: + dependencies: + bl: 5.1.0 + vinyl: 3.0.0 + + vinyl-fs@4.0.0: + dependencies: + fs-mkdirp-stream: 2.0.1 + glob-stream: 8.0.2 + graceful-fs: 4.2.11 + iconv-lite: 0.6.3 + is-valid-glob: 1.0.0 + lead: 4.0.0 + normalize-path: 3.0.0 + resolve-options: 2.0.0 + stream-composer: 1.0.2 + streamx: 2.16.1 + to-through: 3.0.0 + value-or-function: 4.0.0 + vinyl: 3.0.0 + vinyl-sourcemap: 2.0.0 + + vinyl-sourcemap@2.0.0: + dependencies: + convert-source-map: 2.0.0 + graceful-fs: 4.2.11 + now-and-later: 3.0.0 + streamx: 2.16.1 + vinyl: 3.0.0 + vinyl-contents: 2.0.0 + + vinyl@3.0.0: + dependencies: + clone: 2.1.2 + clone-stats: 1.0.0 + remove-trailing-separator: 1.1.0 + replace-ext: 2.0.0 + teex: 1.0.1 + vite-node@2.0.5(@types/node@18.19.33)(terser@5.31.5): dependencies: cac: 6.7.14 @@ -22271,6 +23058,13 @@ snapshots: transitivePeerDependencies: - debug + walk-sync@2.2.0: + dependencies: + '@types/minimatch': 3.0.5 + ensure-posix-path: 1.1.1 + matcher-collection: 2.0.1 + minimatch: 3.1.2 + walker@1.0.8: dependencies: makeerror: 1.0.12 diff --git a/public/locales/de/address.json b/public/locales/de/address.json new file mode 100644 index 000000000..f54b1d4b9 --- /dev/null +++ b/public/locales/de/address.json @@ -0,0 +1,13 @@ +{ + "noProfile": { + "title": "", + "message": "" + }, + "errors": { + "names": "" + }, + "meta": { + "title": "", + "description": "" + } +} diff --git a/public/locales/de/common.json b/public/locales/de/common.json index f1f37344e..8c3c5414a 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -1,3 +1,174 @@ { - "title": "Ihr web3-Benutzername" + "unit": { + "years_one": "", + "years_other": "", + "gas": "", + "invalid_date": "", + "perPage_one": "", + "perPage_other": "", + "selected_one": "", + "selected_other": "", + "months_one": "", + "months_other": "", + "days_one": "", + "days_other": "" + }, + "action": { + "search": "", + "add": "", + "cancel": "", + "extend": "", + "sort": "", + "remove": "", + "continue": "", + "back": "", + "confirm": "", + "tryAgain": "", + "learnMore": "", + "begin": "", + "next": "", + "remindMe": "", + "finish": "", + "enterEmail": "", + "close": "", + "view": "", + "send": "", + "edit": "", + "setReminder": "", + "editRoles": "", + "change": "", + "save": "", + "understand": "", + "update": "", + "setToSelf": "", + "skip": "", + "delete": "" + }, + "errors": { + "invalidAddress": "", + "emailRequired": "", + "emailInvalid": "", + "networkError": { + "blurb": "", + "title": "", + "message": "" + }, + "networkLatency": { + "title": "", + "message": "" + }, + "addressRequired": "" + }, + "navigation": { + "syncMessage": "", + "language": "", + "currency": "", + "settings": "" + }, + "search": { + "emptyText": "", + "label": "", + "placeholder": "" + }, + "address": { + "label": "", + "viewAddress": "", + "copyAddress": "" + }, + "wallet": { + "connect": "", + "myProfile": "", + "disconnect": "", + "viewProfile": "", + "viewDetails": "" + }, + "loading": "", + "steps": { + "enableDnssec": { + "title": "", + "status": { + "enabled": "", + "disabled": { + "heading": "", + "help": "", + "message": "" + } + }, + "help": { + "findOutRegistrar": "" + } + }, + "transaction": { + "mismatching": { + "title": "", + "subtitle": "" + }, + "matching": { + "title": "", + "subtitle": "" + }, + "estimatedNetworkCost": "" + }, + "verifyOwnership": { + "title": "", + "status": { + "mismatching": { + "heading": "", + "help": "", + "message": "", + "error": { + "onchain": "", + "offchain": "" + } + }, + "disconnected": "", + "matching": "" + }, + "action": { + "importWithoutOwnership": "" + } + }, + "selectType": { + "title": "", + "subtitle": "", + "learnMore": "", + "select": { + "heading": "", + "offchain": { + "name": "", + "tag": "", + "description": "" + }, + "onchain": { + "name": "", + "description": "" + } + } + } + }, + "etherscan": "", + "name": { + "graceEnd": "", + "registered": "", + "copy": "", + "expires": "", + "noExpiry": "", + "notOwned": "", + "noParent": "", + "yourPrimaryName": "" + }, + "transaction": { + "viewEtherscan": "", + "description": { + "syncManager": "" + } + }, + "dns": { + "refresh": "" + }, + "records": { + "label": "" + }, + "title": "Ihr web3-Benutzername", + "description": "" } diff --git a/public/locales/de/dnssec.json b/public/locales/de/dnssec.json new file mode 100644 index 000000000..4b01ffc40 --- /dev/null +++ b/public/locales/de/dnssec.json @@ -0,0 +1,18 @@ +{ + "title": "", + "status": { + "checking": "" + }, + "steps": { + "complete": { + "title": "", + "import": { + "warning": "" + }, + "action": { + "claimAnother": "", + "viewName": "" + } + } + } +} diff --git a/public/locales/de/error.json b/public/locales/de/error.json new file mode 100644 index 000000000..ec5adb3a9 --- /dev/null +++ b/public/locales/de/error.json @@ -0,0 +1,6 @@ +{ + "errorType": { + "title": "", + "message": "" + } +} diff --git a/public/locales/de/names.json b/public/locales/de/names.json new file mode 100644 index 000000000..57d0c329c --- /dev/null +++ b/public/locales/de/names.json @@ -0,0 +1,8 @@ +{ + "empty": "", + "title": "", + "offchainWarning": { + "title": "", + "text": "" + } +} diff --git a/public/locales/de/profile.json b/public/locales/de/profile.json new file mode 100644 index 000000000..087eb8fdb --- /dev/null +++ b/public/locales/de/profile.json @@ -0,0 +1,258 @@ +{ + "errors": { + "keyInUse": "", + "addressLength": "", + "invalidAddress": "", + "invalidName": "", + "permissionRevoked": "", + "isOwnerCannotEdit": "", + "cannotEdit": "", + "isOwnerCannotVerify": "", + "cannotVerify": "", + "unsupportedTLD": "", + "migrationNotAvailable": "", + "migrationNotAvailableLink": "", + "expiringSoon": "", + "hasExpired": "", + "invalidJSON": "" + }, + "advancedEditor": { + "tabs": { + "other": { + "contentHash": { + "label": "", + "placeholder": "" + }, + "labelDisabled": "", + "abi": { + "label": "", + "placeholder": "" + }, + "label": "" + }, + "text": { + "label": "", + "addRecord": "", + "createRecord": "" + }, + "address": { + "label": "", + "addRecord": "", + "noOptions": "" + } + }, + "title": "" + }, + "tabs": { + "more": { + "burned": "", + "fuses": { + "burnFormTitle": "", + "info": "" + }, + "misc": { + "bankless": { + "submitError": "", + "title": "", + "enterEmail": "", + "emailConfirmation": "" + }, + "reminderOptions": { + "bankless": "" + } + }, + "ownership": { + "refreshDNS": "", + "dnsOwnerWarning": { + "syncManager": "" + }, + "label": "" + }, + "resolver": { + "label": "" + }, + "token": { + "label": "", + "noToken": "", + "hex": "", + "decimal": "", + "wrapper": "", + "unwrap": "", + "wrapName": "" + } + }, + "ownership": { + "warning": { + "ownerNotManager": "", + "managerNotDNSOwner": "", + "dnsOwnerNotManager": "", + "managerNotParentOwner": "" + }, + "sections": { + "contract": { + "title": "", + "tooltip": "", + "warning": "" + }, + "expiry": { + "panel": { + "grace-period": { + "tooltip": "" + } + } + }, + "roles": { + "title": "", + "addresses_one": "", + "addresses_other": "" + } + } + }, + "permissions": { + "expiry": { + "permissions": { + "canExtendExpiry": { + "label": "", + "description": "" + }, + "cannotExtendExpiry": { + "label": "", + "description": "" + } + }, + "action": { + "changePermissions": "" + } + }, + "grantedLabel": "", + "nameChangePermissions": { + "action": { + "changePermissions": "" + } + }, + "role": { + "owner": "", + "parent": "" + }, + "revokedLabel": "", + "ownership": { + "action": { + "giveUpControl": "", + "revokePermission": "" + }, + "parentCannotControl": { + "label": "", + "sublabel": "", + "list": { + "title": "", + "item1": "", + "item2": "", + "item3": "" + } + }, + "parentCanControl": { + "label": "", + "list": { + "title": "", + "item1": "", + "item2": "", + "item3": "" + } + }, + "ownerCanChange": { + "label": "", + "list": { + "title": "", + "item1": "", + "item2": "" + } + }, + "ownerCannotChange": { + "label": "", + "list": { + "title": "" + } + }, + "parentCanChange": { + "label": "", + "list": { + "title": "", + "item1": "", + "item2": "" + } + } + }, + "parentUnlockedWarning": "" + }, + "profile": { + "warnings": { + "offchain": "", + "homoglyph": "", + "wrappedDNS": "" + }, + "actions": { + "verifyProfile": { + "label": "" + }, + "setAsPrimaryName": { + "label": "", + "description": "" + }, + "editProfile": { + "label": "" + }, + "deleteSubname": { + "label": "" + }, + "reclaim": { + "label": "", + "warning": "" + } + } + } + }, + "details": { + "sendName": { + "inputPlaceholder": "", + "transferController": "", + "transferSubname": "" + }, + "tabs": { + "records": { + "text": "", + "contentHash": "", + "noContentHash": "", + "abi": "", + "noAbi": "", + "editRecords": "", + "editRecordsDisabled": "" + }, + "subnames": { + "empty": "", + "noResults": "", + "addSubname": { + "title": "", + "learn": "", + "action": "", + "dialog": { + "title": "" + } + } + } + }, + "wrap": { + "description": "" + } + }, + "banner": { + "available": { + "title": "", + "description": "" + } + }, + "yourProfile": "", + "meta": { + "title": "", + "description": "" + } +} diff --git a/public/locales/de/register.json b/public/locales/de/register.json new file mode 100644 index 000000000..052c20be8 --- /dev/null +++ b/public/locales/de/register.json @@ -0,0 +1,119 @@ +{ + "invoice": { + "timeRegistration": "", + "estimatedNetworkFee": "", + "temporaryPremium": "", + "total": "", + "registration": "", + "networkFee": "", + "totalPaid": "" + }, + "title": "", + "error": { + "nameTooLong": "" + }, + "steps": { + "info": { + "moonpayModalHeader": "", + "moonpayTestCard": "", + "heading": "", + "subheading": "", + "setupProfile": "", + "paymentMethod": "", + "ethereum": "", + "notEnoughEth": "", + "creditOrDebit": "", + "additionalFee": "", + "failedMoonpayTransaction": "", + "poweredBy": "", + "processing": "" + }, + "complete": { + "heading": "", + "subheading": "", + "description": "", + "registerAnother": "", + "viewName": "" + }, + "pricing": { + "primaryName": "", + "primaryNameMessage": "", + "insufficientBalance": "", + "multipleYearsMessage": "", + "premium": { + "heading": "", + "subheading": "", + "targetPrice": "", + "targetDate": "", + "timezone": "" + } + }, + "profile": { + "addProfile": "", + "options": { + "groups": { + "other": { + "items": { + "custom": "" + } + }, + "custom": { + "key": "", + "value": "" + }, + "address": { + "itemLabel": "", + "placeholder": { + "default": "" + } + }, + "default": { + "placeholder": "" + } + } + }, + "errors": { + "labelRequired": "", + "keyRequired": "", + "avatarReserved": "", + "duplicateRecord": "", + "invalidValue": "" + }, + "actions": { + "skipProfile": "" + }, + "confirmations": { + "publicNotice": { + "title": "", + "description": "", + "confirm": "", + "decline": "" + }, + "clearEth": { + "title": "", + "description": "", + "confirm": "", + "decline": "" + } + }, + "title": "", + "addMore": "", + "title2": "" + }, + "cancelRegistration": { + "heading": "", + "contentOne": "", + "contentTwo": "", + "footer": "" + }, + "transactions": { + "heading": "", + "subheading": "", + "transactionFailed": "", + "transactionProgress": "", + "wait": "", + "startTimer": "" + } + }, + "heading": "" +} diff --git a/public/locales/de/settings.json b/public/locales/de/settings.json new file mode 100644 index 000000000..2f2c3adf9 --- /dev/null +++ b/public/locales/de/settings.json @@ -0,0 +1,28 @@ +{ + "section": { + "primary": { + "title": "", + "choosePrimaryName": "", + "noNameDescription": "" + }, + "privacy": { + "title": "", + "action": { + "clearHistory": "" + } + }, + "transaction": { + "clearTransactions": { + "title": "", + "description": "", + "actionLabel": "" + }, + "title": "", + "noRecentTransactions": "" + }, + "wallet": { + "title": "" + } + }, + "title": "" +} diff --git a/public/locales/de/transactionFlow.json b/public/locales/de/transactionFlow.json new file mode 100644 index 000000000..c43e7b17c --- /dev/null +++ b/public/locales/de/transactionFlow.json @@ -0,0 +1,360 @@ +{ + "input": { + "editResolver": { + "latestLabel": "", + "etherscan": "", + "latestMessage": "", + "customLabel": "", + "title": "" + }, + "profileEditor": { + "tabs": { + "avatar": { + "dropdown": { + "selectNFT": "", + "uploadImage": "" + }, + "image": { + "title": "", + "upload": { + "title": "", + "subtitle": "", + "action": "" + } + }, + "nft": { + "loadError": "", + "unknown": "", + "selected": { + "title": "", + "subtitle": "" + }, + "loading": "", + "searchPlaceholder": "", + "noResults": "", + "noNFTs": "", + "title": "" + } + }, + "general": { + "label": "" + }, + "accounts": { + "label": "", + "addAccount": "", + "noOptions": "" + }, + "address": { + "label": "", + "addAddress": "", + "noOptions": "" + }, + "contentHash": { + "label": "", + "addContentHash": "" + }, + "other": { + "label": "", + "addRecord": "", + "createRecord": "" + } + }, + "intro": { + "migrateProfile": { + "description": "" + }, + "resetProfile": { + "description": "" + }, + "migrateCurrentProfile": { + "description": "" + } + }, + "warningOverlay": { + "invalidResolver": { + "title": "", + "subtitle": "" + }, + "action": { + "learnMoreResolvers": "", + "updateResolver": "", + "setResolver": "", + "ignoreUpdate": "" + }, + "migrateProfileSelector": { + "title": "", + "subtitle": "", + "option": { + "latest": "", + "current": "", + "reset": "", + "resetSubtitle": "" + } + }, + "migrateProfileWarning": { + "title": "", + "subtitle": "" + }, + "migrateRegistry": { + "title": "", + "subtitle": "", + "action": "" + }, + "noResolver": { + "title": "", + "subtitle": "" + }, + "resetProfile": { + "title": "", + "subtitle": "" + }, + "resolverNotNameWrapperAware": { + "title": "", + "subtitle": "", + "toggle": { + "title": "", + "subtitle": "" + } + }, + "resolverOutOfDate": { + "title": "", + "subtitle": "" + }, + "resolverOutOfSync": { + "title": "", + "subtitle": "" + }, + "transferOrResetProfile": { + "title": "", + "subtitle": "", + "toggle": { + "title": "", + "subtitle": "" + } + }, + "updateResolverOrResetProfile": { + "title": "", + "subtitle": "", + "toggle": { + "title": "", + "subtitle": "" + } + } + } + }, + "deleteEmancipatedSubnameWarning": { + "title": "", + "message": "" + }, + "deleteSubnameNotParentWarning": { + "title": "", + "message": "" + }, + "editRoles": { + "views": { + "editRole": { + "title": "", + "views": { + "intro": { + "current": "" + } + } + }, + "main": { + "noneSet": "" + } + } + }, + "sendName": { + "views": { + "search": { + "placeholder": "", + "views": { + "error": { + "message": "" + }, + "intro": { + "message": "" + }, + "noResults": { + "message": "" + } + } + }, + "error": { + "title": "", + "description": "" + }, + "confirmation": { + "title": "", + "description": "", + "warning": "", + "learnMore": "" + }, + "summary": { + "fields": { + "summary": { + "title": "", + "updates": { + "role": "", + "eth-record": "" + }, + "remove": { + "profile": "" + } + }, + "name": { + "expires": "", + "label": "" + }, + "recipient": "", + "options": { + "label": "", + "title": "", + "description": "" + } + }, + "title": "" + } + } + }, + "extendNames": { + "invoice": { + "extension": "", + "transaction": "" + }, + "ownershipWarning": { + "title_one": "", + "title_other": "", + "description_one": "", + "description_other": "" + }, + "title_one": "", + "title_other": "", + "gasLimitError": "", + "bannerMsg": "" + }, + "resetPrimaryName": { + "title": "", + "description": "" + }, + "revokePermissions": { + "action": { + "revoke": "" + }, + "views": { + "grantExtendExpiry": { + "title": "", + "fuses": { + "CAN_EXTEND_EXPIRY": "" + } + }, + "lastWarning": { + "title": "", + "subtitle": "", + "message": "" + }, + "revokePermissions": { + "title": "", + "fuses": { + "CAN_EXTEND_EXPIRY": "", + "CANNOT_UNWRAP": "" + } + }, + "revokeChangeFuses": { + "title": "", + "subtitle": "", + "fuses": { + "CANNOT_BURN_FUSES": "" + } + }, + "revokeChangeFusesWarning": { + "title": "", + "subtitle": "" + }, + "revokePCC": { + "title": "", + "subtitle": "" + }, + "revokeUnwrap": { + "title": "", + "subtitle": "", + "fuses": { + "CANNOT_UNWRAP": "" + } + }, + "revokeWarning": { + "title": "", + "subtitle": "", + "subtitle2": "{t('input.revokePermissions.views.revokeWarning.subtitle2')}" + }, + "setExpiry": { + "title": "", + "subtitleWithCEE": "", + "subtitle": "", + "options": { + "max": "", + "custom": "" + }, + "error": { + "required": "", + "min": "", + "max": "" + } + } + } + }, + "selectPrimaryName": { + "title": "", + "errors": { + "noEligibleNames": "", + "noNamesFound": "" + } + }, + "syncManager": { + "title": "", + "description": "", + "warning": "" + }, + "unknownLabels": { + "title": "", + "subtitle": "" + }, + "verifyProfile": { + "dentity": { + "title": "", + "description": "", + "helper": "", + "remove": "", + "link": "" + }, + "list": { + "title": "", + "message": "" + } + } + }, + "action": { + "back": "" + }, + "intro": { + "multiStepSubnameDelete": { + "description": "" + }, + "migrateAndUpdateResolver": { + "heading": "", + "link": "", + "warning": "" + }, + "syncManager": { + "description": "", + "wrappedWarning": "" + } + }, + "transaction": { + "extendNames": { + "actionValue": "", + "costValue": "" + } + } +} diff --git a/public/locales/de/translation.json b/public/locales/de/translation.json new file mode 100644 index 000000000..b1b550dec --- /dev/null +++ b/public/locales/de/translation.json @@ -0,0 +1,102 @@ +{ + "testnetFaucet": { + "explanation": "", + "note": "" + }, + "action": { + "close": "", + "claim": "", + "cancel": "", + "done": "", + "next": "", + "tryAgain": "", + "back": "", + "continue": "", + "changeNetwork": "", + "save": "", + "delete": "" + }, + "navigation": { + "language": "" + }, + "transaction": { + "dialog": { + "intro": { + "trailingButtonResume": "", + "trailingButton": "", + "step": "" + }, + "complete": { + "message": "" + }, + "sent": { + "message": "", + "learn": "" + }, + "confirm": { + "message": "", + "waitingForWallet": "", + "openWallet": "" + } + }, + "error": { + "unknown": "" + }, + "viewEtherscan": "", + "description": { + "approveDnsRegistrar": "", + "approveNameWrapper": "", + "burnFuses": "", + "changePermissions": "", + "claimDnsName": "", + "commitName": "", + "createSubname": "", + "deleteSubname": "", + "importDnsName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "registerName": "", + "removeRecord": "", + "resetPrimaryName": "", + "clearRecords": "", + "resetProfileWithRecords": "", + "syncManager": "", + "testSendName": "", + "unwrapName": "", + "updateRecords": "", + "updateProfile": "", + "updateResolver": "", + "updateRecord": "", + "wrapName": "" + }, + "info": { + "approveNameWrapper": "", + "fuses": { + "PARENT_CANNOT_CONTROL": "", + "grant": "", + "CAN_EXTEND_EXPIRY": "", + "setExpiry": "", + "revoke": "" + }, + "commitName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "setPrimaryName": "", + "testSendName": "", + "updateEthAddressOnLatestResolver": "", + "updateEthAddress": "", + "updateResolver": "", + "wrapName": "" + }, + "itemValue": { + "records_one": "", + "records_other": "" + } + }, + "errors": { + "hasSubnames": "", + "permissionRevoked": "" + }, + "notFound": "", + "unsupportedNetwork": "" +} diff --git a/public/locales/en/address.json b/public/locales/en/address.json index 485de57c3..d41428071 100644 --- a/public/locales/en/address.json +++ b/public/locales/en/address.json @@ -1,18 +1,13 @@ { - "meta": { - "title": "{{address}} on ENS", - "description": "All names for {{address}} on the Ethereum Name Service" - }, - "addressDetails": "Address Details", - "nameCount": "{{count}} names", - "filter": "Filter", - "view": "View", "noProfile": { "title": "No primary name set", "message": "This wallet needs to set a primary name to create a profile" }, - "noResults": "No names found", "errors": { "names": "Could not find address" + }, + "meta": { + "title": "{{address}} on ENS", + "description": "All names for {{address}} on the Ethereum Name Service" } } diff --git a/public/locales/en/address_old.json b/public/locales/en/address_old.json new file mode 100644 index 000000000..b090f1a35 --- /dev/null +++ b/public/locales/en/address_old.json @@ -0,0 +1,7 @@ +{ + "addressDetails": "Address Details", + "nameCount": "{{count}} names", + "filter": "Filter", + "view": "View", + "noResults": "No names found" +} diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 7ff878099..6890e7170 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -1,403 +1,174 @@ { - "title": "Your web3 username", - "description": "Your identity across web3, one name for all your crypto addresses, and your decentralised website.", - "loading": "Loading", - "unsupportedNetwork": "Unsupported network", - "notFound": "404 Not Found", - "etherscan": "Etherscan", + "unit": { + "years_one": "{{count}} year", + "years_other": "{{count}} years", + "gas": "{{value}} gas", + "invalid_date": "Invalid Date", + "perPage_one": "", + "perPage_other": "", + "selected_one": "", + "selected_other": "", + "months_one": "{{count}} month", + "months_other": "{{count}} months", + "days_one": "{{count}} day", + "days_other": "{{count}} days" + }, "action": { - "cancel": "Cancel", - "change": "Change", - "upload": "Upload", - "close": "Close", - "save": "Save", - "edit": "Edit", - "view": "View", - "clear": "Clear", - "update": "Update", - "learnMore": "Learn more", - "send": "Send", - "next": "Next", - "add": "Add", - "set": "Set", "search": "Search", - "back": "Back", + "add": "Add", + "cancel": "Cancel", + "extend": "Extend", + "sort": "Sort", + "remove": "Remove", "continue": "Continue", + "back": "Back", "confirm": "Confirm", - "remove": "Remove", - "sign": "Sign", - "reset": "Reset", - "transfer": "Transfer", "tryAgain": "Try Again", - "done": "Done", - "burnSelected": "Burn Selected", - "extend": "Extend", - "delete": "Delete", - "sort": "Sort", - "check": "Check", - "claim": "Claim", - "remindMe": "Remind Me", + "learnMore": "Learn more", "begin": "Begin", + "next": "Next", + "remindMe": "Remind Me", "finish": "Finish", - "skip": "Skip", - "changeNetwork": "Change Network", - "understand": "I understand", - "feedback": "Feedback", "enterEmail": "Enter your email", - "migrate": "Migrate", - "setToSelf": "Set to self", - "editRoles": "Edit roles", + "close": "Close", + "view": "View", + "send": "Send", + "edit": "Edit", "setReminder": "Set reminder", - "import": "Import", - "connect": "Connect" + "editRoles": "Edit roles", + "change": "Change", + "save": "Save", + "understand": "I understand", + "update": "Update", + "setToSelf": "Set to self", + "skip": "Skip", + "delete": "Delete" }, - "unit": { - "years_one": "{{count}} year", - "years_other": "{{count}} years", - "months_one": "{{count}} month", - "months_other": "{{count}} months", - "days_one": "{{count}} day", - "days_other": "{{count}} days", - "invalid_date": "Invalid Date", - "yrs_one": "{{count}} yr", - "yrs_other": "{{count}} yrs", - "gas": "{{value}} gas", - "selected": "{{count}} selected", - "perPage": "{{count}} per page" + "errors": { + "invalidAddress": "Invalid address", + "emailRequired": "Email is required", + "emailInvalid": "Invalid email address", + "networkError": { + "blurb": "This button is currently disabled due to data sync issues.", + "title": "Error syncing data", + "message": "This data may be out of date. Please use caution." + }, + "networkLatency": { + "title": "Slow data syncing", + "message": "The ENS app is experiencing slow downs due to network latency issues." + }, + "addressRequired": "Address required" }, "navigation": { - "home": "Home", - "names": "My Names", - "favourites": "Favourites", - "settings": "Settings", - "governance": "Governance", - "community": "Community", - "developers": "Developers", - "support": "Support", - "bounty": "Bug Bounty", - "terms": "Terms of Use", - "privacy": "Privacy Policy", - "back": "Back", - "oldApp": "Old ENS App", + "syncMessage": "Syncing with the network. Changes from your transaction may not be visible yet.", "language": "Language", "currency": "Currency", - "ipfsApp": "IPFS ENS App", - "feedback": "Feedback", - "syncMessage": "Syncing with the network. Changes from your transaction may not be visible yet." - }, - "wallet": { - "myProfile": "Profile", - "disconnect": "Disconnect", - "connect": "Connect", - "noPrimaryName": "No Primary Name", - "viewProfile": "View Profile", - "viewDetails": "View Details", - "register": "Register" + "settings": "Settings" }, - "name": { - "registered": "Registered", - "expires": "Expires", - "graceEnd": "Grace end", - "noExpiry": "No expiry", - "expiry": "Expiry", - "parent": "Parent", - "noParent": "No parent", - "registrant": "Registrant", - "controller": "Controller", - "dnsOwner": "DNS Owner", - "owner": "Owner", - "notOwned": "Not Owned", - "manager": "Manager", - "all": "All Names", - "copy": "Copy name", - "yourPrimaryName": "Your primary name", - "expiresInYears_one": "Expires in {{count}} year", - "expiresInYears_other": "Expires in {{count}} years", - "expiresInMonths_one": "Expires in {{count}} month", - "expiresInMonths_other": "Expires in {{count}} months", - "expiresInDays_one": "Expires in {{count}} day", - "expiresInDays_other": "Expires in {{count}} days", - "expiresInHours_one": "Expires in {{count}} hour", - "expiresInHours_other": "Expires in {{count}} hours", - "expiresInHours_zero": "Expires in less than an hour", - "expiredInHours_one": "Expired {{count}} hour ago", - "expiredInHours_other": "Expired {{count}} hours ago", - "expiredInHours_zero": "Expired less than an hour ago", - "expiredInDays_one": "Expired {{count}} day ago", - "expiredInDays_other": "Expired {{count}} days ago", - "expiredInMonths_one": "Expired {{count}} month ago", - "expiredInMonths_other": "Expired {{count}} months ago", - "expiredInYears_one": "Expired {{count}} year ago", - "expiredInYears_other": "Expired {{count}} years ago", - "gracePeriod": { - "expiresInYears_one": "Grace period expires in {{count}} year", - "expiresInYears_other": "Grace period expires in {{count}} years", - "expiresInMonths_one": "Grace period expires in {{count}} month", - "expiresInMonths_other": "Grace period expires in {{count}} months", - "expiresInDays_one": "Grace period expires in {{count}} day", - "expiresInDays_other": "Grace period expires in {{count}} days", - "expiresInHours_one": "Grace period expires in {{count}} hour", - "expiresInHours_other": "Grace period expires in {{count}} hours", - "expiresInHours_zero": "Grace period expires in less than an hour" - }, - "extend": "Extend", - "send": "Send", - "transfer": "Transfer", - "sendManager": "Send Manager", - "sendOwner": "Send Owner", - "renew": "Renew {{name}}" + "search": { + "emptyText": "Type a name or address to search...", + "label": "Name search", + "placeholder": "Search for a name" }, "address": { "label": "Address", "viewAddress": "View address", "copyAddress": "Copy address" }, - "records": { - "label": "Records" - }, - "sortTypes": { - "expiryDate": "Expiry date", - "labelName": "Name", - "createdAt": "Creation date" - }, - "errors": { - "noResults": "No results found", - "emailRequired": "Email is required", - "emailInvalid": "Invalid email address", - "invalidAddress": "Invalid address", - "addressRequired": "Address required", - "indexingErrors": { - "title": "Error syncing data", - "message": "This data may be out of date. Please use caution.", - "message_datetime": "This data was last update at {{datetime}} and may be out of date. Please use caution" - }, - "networkError": { - "title": "Error syncing data", - "message": "This data may be out of date. Please use caution.", - "blurb": "This button is currently disabled due to data sync issues." - }, - "networkLatency": { - "title": "Slow data syncing", - "message": "The ENS app is experiencing slow downs due to network latency issues." - } + "wallet": { + "connect": "Connect", + "myProfile": "Profile", + "disconnect": "Disconnect", + "viewProfile": "View Profile", + "viewDetails": "View Details" }, - "transaction": { - "description": { - "setName": "Set name", - "setRecords": "Set records", - "test": "Test transaction", - "addSuccess": "Add success", - "sendName": "Send name", - "migrateProfile": "Migrate profile", - "migrateProfileWithReset": "Migrate profile", - "migrateProfileWithSync": "Migrate and update profile", - "migrateProfileWithEthAddress": "Migrate and update ETH address", - "wrapName": "Wrap name", - "updateResolver": "Update resolver", - "updateProfile": "Update profile", - "setPrimaryName": "Set primary name", - "resetPrimaryName": "Remove primary name", - "updateEthAddress": "Update ETH address", - "testSendName": "Send name", - "burnFuses": "Burn permissions", - "createSubname": "Create subname", - "deleteSubname": "Delete subname", - "extendNames": "Extend names", - "approveDnsRegistrar": "Approve DNS registrar", - "claimDnsName": "Claim DNS name", - "importDnsName": "Import DNS name", - "commitName": "Start timer", - "registerName": "Register name", - "approveNameWrapper": "Approve NameWrapper", - "clearRecords": "Clear records", - "updateRecords": "Update records", - "updateRecord": "Update record", - "removeRecord": "Remove record", - "resetProfileWithRecords": "Reset profile with records", - "transferName": "Transfer name", - "transferSubname": "Transfer subname", - "changePermissions": "Change permissions", - "syncManager": "Sync manager", - "updateProfileRecords": "Update profile", - "resetProfile": "Reset profile", - "unwrapName": "Unwrap name", - "updateVerificationRecord": "Update verification record", - "removeVerificationRecord": "Remove verification record" - }, - "info": { - "sendName": "Set the controller and registrant of the name", - "migrateProfile": "Set existing records on new resolver", - "migrateProfileWithReset": "Set existing records on new resolver", - "migrateProfileWithSync": "Set existing records on new resolver", - "migrateProfileWithEthAddress": "Set existing records and eth address on new resolver", - "wrapName": "Wrap the name", - "updateResolver": "Change resolver to", - "updateProfile": "Update records on existing resolver", - "setPrimaryName": "Set the primary name for your address", - "updateEthAddress": "Update ETH address to this address", - "updateEthAddressOnLatestResolver": "Update ETH address on latest resolver", - "testSendName": "Set the controller and registrant of the name", - "createSubname": "Create a new subname on the name", - "burnFuses": "Burn the chosen permissions until name expiry", - "commitName": "Start timer to register name", - "approveNameWrapper": "Approve the NameWrapper to manage your names", - "fuses": { - "revoke": "Revoke", - "grant": "Grant", - "setExpiry": "Set expiry", - "PARENT_CANNOT_CONTROL": "Give up parent control", - "CAN_EXTEND_EXPIRY": "Extend expiry", - "CANNOT_UNWRAP": "Unwrap this name", - "CANNOT_CREATE_SUBDOMAIN": "Create subdomains", - "CANNOT_SET_RESOLVER": "Set resolver", - "CANNOT_SET_TTL": "Set TTL", - "CANNOT_TRANSFER": "Send this name", - "CANNOT_BURN_FUSES": "Change permissions", - "CANNOT_APPROVE": "Change renewal manager" - } - }, - "itemLabel": { - "name": "Name", - "address": "Address", - "action": "Action", - "info": "Info", - "to": "To", - "subname": "Subname", - "duration": "Duration", - "cost": "Cost", - "update": "Update", - "resolver": "Resolver", - "records": "Records", - "record": "Record" - }, - "itemValue": { - "records_one": "{{count}} record", - "records_other": "{{count}} records" - }, - "status": { - "pending": { - "regular": "Pending" - }, - "confirmed": { - "regular": "Confirmed", - "notifyTitle": "Transaction Successful", - "notifyMessage": "Your \"{{action}}\" transaction was successful" + "loading": "Loading", + "steps": { + "enableDnssec": { + "title": "", + "status": { + "enabled": "", + "disabled": { + "heading": "", + "help": "", + "message": "" + } }, - "failed": { - "regular": "Failed", - "notifyTitle": "Transaction Failure", - "notifyMessage": "Your \"{{action}}\" transaction failed and was reverted" + "help": { + "findOutRegistrar": "" } }, - "dialog": { - "intro": { - "trailingButton": "Start", - "trailingButtonResume": "Resume", - "step": "Step {{step}}" + "transaction": { + "mismatching": { + "title": "", + "subtitle": "" }, - "confirm": { - "title": "Confirm Details", - "message": "Double check these details before confirming in your wallet.", - "waitingForWallet": "Waiting for Wallet", - "openWallet": "Open Wallet" + "matching": { + "title": "", + "subtitle": "" }, - "sent": { - "title": "Transaction Sent", - "message": "Your transaction is now in progress, you can close this and come back later.", - "progress": { - "title": "Sent", - "message": "Taking longer than expected" + "estimatedNetworkCost": "" + }, + "verifyOwnership": { + "title": "", + "status": { + "mismatching": { + "heading": "", + "help": "", + "message": "", + "error": { + "onchain": "", + "offchain": "" + } }, - "learn": "Learn about long running transactions" - }, - "complete": { - "title": "Transaction Complete", - "message": "Your transaction is now complete!", - "progress": { - "title": "Done" - } + "disconnected": "", + "matching": "" }, - "failed": { - "title": "Transaction Failed", - "progress": { - "title": "Failed" - } - }, - "error": { - "gasLimit": "The gas limit on your transaction wasn't high enough, please try again." + "action": { + "importWithoutOwnership": "" } }, - "error": { - "unknown": "An unknown error occurred" - }, - "viewEtherscan": "View on Etherscan", - "viewMore": "View More" - }, - "search": { - "label": "Name search", - "placeholder": "Search for a name", - "emptyText": "Type a name or address to search...", - "address": "Address", - "errors": { - "tooShort": "Name too short", - "invalid": "Invalid format for name" - }, - "status": { - "registered": "Registered", - "gracePeriod": "Grace Period", - "premium": "Temporary Premium", - "available": "Available", - "notOwned": "Not Owned", - "notImported": "Not Imported", - "short": "Too Short", - "default": "Invalid", - "invalid": "Invalid", - "unsupportedTLD": "Not Supported", - "imported": "Imported", - "owned": "Owned", - "offChain": "View" + "selectType": { + "title": "", + "subtitle": "", + "learnMore": "", + "select": { + "heading": "", + "offchain": { + "name": "", + "tag": "", + "description": "" + }, + "onchain": { + "name": "", + "description": "" + } + } } }, - "selectableInput": { - "add": "Add", - "placeholder": "Select an option", - "empty": "No options found" - }, - "testnetFaucet": { - "explanation": "Each address on {{ testnet }} can claim {{ amount }} {{ ticker }} to test out the ENS manager app, as well as any other testnet usage.", - "note": "It may take a few minutes to show up in your wallet." + "etherscan": "Etherscan", + "name": { + "graceEnd": "Grace end", + "registered": "Registered", + "copy": "Copy name", + "expires": "Expires", + "noExpiry": "No expiry", + "notOwned": "Not Owned", + "noParent": "No parent", + "yourPrimaryName": "Your primary name" }, - "roles": { - "owner": { - "title": "owner", - "description": "The address that owns this name." - }, - "dns-owner": { - "title": "DNS owner", - "description": "The address that owns this name." - }, - "parent-owner": { - "title": "Parent owner", - "description": "The address that owns the parent of this name." - }, - "manager": { - "title": "manager", - "description": "An address or contract that can change the profile, settings, and profile managers." - }, - "profile-editor": { - "title": "Profile editor", - "description": "An address that can change the profile." - }, - "eth-record": { - "title": "ETH record", - "description": "The address that this name points to." + "transaction": { + "viewEtherscan": "View on Etherscan", + "description": { + "syncManager": "Sync manager" } }, "dns": { "refresh": "Refresh DNS" }, - "calendar": { - "pick_by_years": "Pick by years", - "pick_by_date": "Pick by date" - } + "records": { + "label": "Records" + }, + "title": "Your web3 username", + "description": "Your identity across web3, one name for all your crypto addresses, and your decentralised website." } diff --git a/public/locales/en/common_old.json b/public/locales/en/common_old.json new file mode 100644 index 000000000..331143a03 --- /dev/null +++ b/public/locales/en/common_old.json @@ -0,0 +1,316 @@ +{ + "unsupportedNetwork": "Unsupported network", + "notFound": "404 Not Found", + "action": { + "upload": "Upload", + "clear": "Clear", + "set": "Set", + "sign": "Sign", + "reset": "Reset", + "transfer": "Transfer", + "done": "Done", + "burnSelected": "Burn Selected", + "check": "Check", + "claim": "Claim", + "changeNetwork": "Change Network", + "feedback": "Feedback", + "migrate": "Migrate", + "import": "Import", + "connect": "Connect" + }, + "unit": { + "yrs_one": "{{count}} yr", + "yrs_other": "{{count}} yrs", + "selected": "{{count}} selected", + "perPage": "{{count}} per page" + }, + "navigation": { + "home": "Home", + "names": "My Names", + "favourites": "Favourites", + "governance": "Governance", + "community": "Community", + "developers": "Developers", + "support": "Support", + "bounty": "Bug Bounty", + "terms": "Terms of Use", + "privacy": "Privacy Policy", + "back": "Back", + "oldApp": "Old ENS App", + "ipfsApp": "IPFS ENS App", + "feedback": "Feedback" + }, + "wallet": { + "noPrimaryName": "No Primary Name", + "register": "Register" + }, + "name": { + "expiry": "Expiry", + "parent": "Parent", + "registrant": "Registrant", + "controller": "Controller", + "dnsOwner": "DNS Owner", + "owner": "Owner", + "manager": "Manager", + "all": "All Names", + "expiresInYears_one": "Expires in {{count}} year", + "expiresInYears_other": "Expires in {{count}} years", + "expiresInMonths_one": "Expires in {{count}} month", + "expiresInMonths_other": "Expires in {{count}} months", + "expiresInDays_one": "Expires in {{count}} day", + "expiresInDays_other": "Expires in {{count}} days", + "expiresInHours_one": "Expires in {{count}} hour", + "expiresInHours_other": "Expires in {{count}} hours", + "expiresInHours_zero": "Expires in less than an hour", + "expiredInHours_one": "Expired {{count}} hour ago", + "expiredInHours_other": "Expired {{count}} hours ago", + "expiredInHours_zero": "Expired less than an hour ago", + "expiredInDays_one": "Expired {{count}} day ago", + "expiredInDays_other": "Expired {{count}} days ago", + "expiredInMonths_one": "Expired {{count}} month ago", + "expiredInMonths_other": "Expired {{count}} months ago", + "expiredInYears_one": "Expired {{count}} year ago", + "expiredInYears_other": "Expired {{count}} years ago", + "gracePeriod": { + "expiresInYears_one": "Grace period expires in {{count}} year", + "expiresInYears_other": "Grace period expires in {{count}} years", + "expiresInMonths_one": "Grace period expires in {{count}} month", + "expiresInMonths_other": "Grace period expires in {{count}} months", + "expiresInDays_one": "Grace period expires in {{count}} day", + "expiresInDays_other": "Grace period expires in {{count}} days", + "expiresInHours_one": "Grace period expires in {{count}} hour", + "expiresInHours_other": "Grace period expires in {{count}} hours", + "expiresInHours_zero": "Grace period expires in less than an hour" + }, + "extend": "Extend", + "send": "Send", + "transfer": "Transfer", + "sendManager": "Send Manager", + "sendOwner": "Send Owner", + "renew": "Renew {{name}}" + }, + "sortTypes": { + "expiryDate": "Expiry date", + "labelName": "Name", + "createdAt": "Creation date" + }, + "errors": { + "noResults": "No results found", + "indexingErrors": { + "title": "Error syncing data", + "message": "This data may be out of date. Please use caution.", + "message_datetime": "This data was last update at {{datetime}} and may be out of date. Please use caution" + } + }, + "transaction": { + "description": { + "setName": "Set name", + "setRecords": "Set records", + "test": "Test transaction", + "addSuccess": "Add success", + "sendName": "Send name", + "migrateProfile": "Migrate profile", + "migrateProfileWithReset": "Migrate profile", + "migrateProfileWithSync": "Migrate and update profile", + "migrateProfileWithEthAddress": "Migrate and update ETH address", + "wrapName": "Wrap name", + "updateResolver": "Update resolver", + "updateProfile": "Update profile", + "setPrimaryName": "Set primary name", + "resetPrimaryName": "Remove primary name", + "updateEthAddress": "Update ETH address", + "testSendName": "Send name", + "burnFuses": "Burn permissions", + "createSubname": "Create subname", + "deleteSubname": "Delete subname", + "extendNames": "Extend names", + "approveDnsRegistrar": "Approve DNS registrar", + "claimDnsName": "Claim DNS name", + "importDnsName": "Import DNS name", + "commitName": "Start timer", + "registerName": "Register name", + "approveNameWrapper": "Approve NameWrapper", + "clearRecords": "Clear records", + "updateRecords": "Update records", + "updateRecord": "Update record", + "removeRecord": "Remove record", + "resetProfileWithRecords": "Reset profile with records", + "transferName": "Transfer name", + "transferSubname": "Transfer subname", + "changePermissions": "Change permissions", + "updateProfileRecords": "Update profile", + "resetProfile": "Reset profile", + "unwrapName": "Unwrap name", + "updateVerificationRecord": "Update verification record", + "removeVerificationRecord": "Remove verification record" + }, + "info": { + "sendName": "Set the controller and registrant of the name", + "migrateProfile": "Set existing records on new resolver", + "migrateProfileWithReset": "Set existing records on new resolver", + "migrateProfileWithSync": "Set existing records on new resolver", + "migrateProfileWithEthAddress": "Set existing records and eth address on new resolver", + "wrapName": "Wrap the name", + "updateResolver": "Change resolver to", + "updateProfile": "Update records on existing resolver", + "setPrimaryName": "Set the primary name for your address", + "updateEthAddress": "Update ETH address to this address", + "updateEthAddressOnLatestResolver": "Update ETH address on latest resolver", + "testSendName": "Set the controller and registrant of the name", + "createSubname": "Create a new subname on the name", + "burnFuses": "Burn the chosen permissions until name expiry", + "commitName": "Start timer to register name", + "approveNameWrapper": "Approve the NameWrapper to manage your names", + "fuses": { + "revoke": "Revoke", + "grant": "Grant", + "setExpiry": "Set expiry", + "PARENT_CANNOT_CONTROL": "Give up parent control", + "CAN_EXTEND_EXPIRY": "Extend expiry", + "CANNOT_UNWRAP": "Unwrap this name", + "CANNOT_CREATE_SUBDOMAIN": "Create subdomains", + "CANNOT_SET_RESOLVER": "Set resolver", + "CANNOT_SET_TTL": "Set TTL", + "CANNOT_TRANSFER": "Send this name", + "CANNOT_BURN_FUSES": "Change permissions", + "CANNOT_APPROVE": "Change renewal manager" + } + }, + "itemLabel": { + "name": "Name", + "address": "Address", + "action": "Action", + "info": "Info", + "to": "To", + "subname": "Subname", + "duration": "Duration", + "cost": "Cost", + "update": "Update", + "resolver": "Resolver", + "records": "Records", + "record": "Record" + }, + "itemValue": { + "records_one": "{{count}} record", + "records_other": "{{count}} records" + }, + "status": { + "pending": { + "regular": "Pending" + }, + "confirmed": { + "regular": "Confirmed", + "notifyTitle": "Transaction Successful", + "notifyMessage": "Your \"{{action}}\" transaction was successful" + }, + "failed": { + "regular": "Failed", + "notifyTitle": "Transaction Failure", + "notifyMessage": "Your \"{{action}}\" transaction failed and was reverted" + } + }, + "dialog": { + "intro": { + "trailingButton": "Start", + "trailingButtonResume": "Resume", + "step": "Step {{step}}" + }, + "confirm": { + "title": "Confirm Details", + "message": "Double check these details before confirming in your wallet.", + "waitingForWallet": "Waiting for Wallet", + "openWallet": "Open Wallet" + }, + "sent": { + "title": "Transaction Sent", + "message": "Your transaction is now in progress, you can close this and come back later.", + "progress": { + "title": "Sent", + "message": "Taking longer than expected" + }, + "learn": "Learn about long running transactions" + }, + "complete": { + "title": "Transaction Complete", + "message": "Your transaction is now complete!", + "progress": { + "title": "Done" + } + }, + "failed": { + "title": "Transaction Failed", + "progress": { + "title": "Failed" + } + }, + "error": { + "gasLimit": "The gas limit on your transaction wasn't high enough, please try again." + } + }, + "error": { + "unknown": "An unknown error occurred" + }, + "viewMore": "View More" + }, + "search": { + "address": "Address", + "errors": { + "tooShort": "Name too short", + "invalid": "Invalid format for name" + }, + "status": { + "registered": "Registered", + "gracePeriod": "Grace Period", + "premium": "Temporary Premium", + "available": "Available", + "notOwned": "Not Owned", + "notImported": "Not Imported", + "short": "Too Short", + "default": "Invalid", + "invalid": "Invalid", + "unsupportedTLD": "Not Supported", + "imported": "Imported", + "owned": "Owned", + "offChain": "View" + } + }, + "selectableInput": { + "add": "Add", + "placeholder": "Select an option", + "empty": "No options found" + }, + "testnetFaucet": { + "explanation": "Each address on {{ testnet }} can claim {{ amount }} {{ ticker }} to test out the ENS manager app, as well as any other testnet usage.", + "note": "It may take a few minutes to show up in your wallet." + }, + "roles": { + "owner": { + "title": "owner", + "description": "The address that owns this name." + }, + "dns-owner": { + "title": "DNS owner", + "description": "The address that owns this name." + }, + "parent-owner": { + "title": "Parent owner", + "description": "The address that owns the parent of this name." + }, + "manager": { + "title": "manager", + "description": "An address or contract that can change the profile, settings, and profile managers." + }, + "profile-editor": { + "title": "Profile editor", + "description": "An address that can change the profile." + }, + "eth-record": { + "title": "ETH record", + "description": "The address that this name points to." + } + }, + "calendar": { + "pick_by_years": "Pick by years", + "pick_by_date": "Pick by date" + } +} diff --git a/public/locales/en/dnssec.json b/public/locales/en/dnssec.json index 3e8c31367..754dee499 100644 --- a/public/locales/en/dnssec.json +++ b/public/locales/en/dnssec.json @@ -1,94 +1,14 @@ { "title": "Import {{name}} into ENS", - "error": { - "unknown": "An unknown error occurred", - "noTxtRecord": "No record found", - "dnssecFailure": "DNSSEC is not enabled", - "invalidTxtRecord": "Invalid record found", - "invalidAddressChecksum": "Address is not valid", - "resolutionFailure": "The provided record did not resolve" - }, "status": { - "checking": "Checking...", - "error": "An error occurred while checking", - "secondsAgo": "Last checked seconds ago", - "aWhileAgo": "Last checked a while ago", - "minutesAgo_one": "Last checked {{count}} minute ago", - "minutesAgo_other": "Last checked {{count}} minutes ago" + "checking": "Checking..." }, "steps": { - "selectType": { - "title": "Claim {{name}}", - "subtitle": "Importing domain names allows them to be used as ENS names.", - "learnMore": "Learn more about importing names", - "select": { - "heading": "How would you like to import your domain?", - "offchain": { - "name": "Offchain", - "tag": "Free", - "description": "Your name will not have an onchain token.
This does not affect it's ability to receive transactions or be used as a primary name.
You will not be able to edit your profile from within the ENS app." - }, - "onchain": { - "name": "Onchain", - "description": "Your name will have an onchain token." - } - } - }, - "enableDnssec": { - "title": "Enable DNSSEC", - "help": { - "findOutRegistrar": "Find out your registrar" - }, - "status": { - "enabled": "DNSSEC is enabled on this domain.", - "disabled": { - "heading": "You'll need to visit your domain registrar to enable DNSSEC.", - "message": "DNSSEC is not enabled", - "help": "Help enabling DNSSEC" - } - } - }, - "verifyOwnership": { - "title": "Verify Ownership", - "status": { - "disconnected": "Connect your wallet to verify ownership.", - "mismatching": { - "heading": "Add the DNS record below to verify your ownership of this domain.", - "help": "Help adding TXT records", - "message": "No record found", - "error": { - "onchain": "The record found does not match your connected address. You can still import this name, but you will not have ownership of it.", - "offchain": "The record found does not match your connected address. You can still import this name, but it will not point to your connected address and cannot be used as your primary name." - } - }, - "matching": "A record matching your connected address was found." - }, - "action": { - "importWithoutOwnership": "Import without ownership" - } - }, - "transaction": { - "mismatching": { - "title": "Import this domain", - "subtitle": "Your ownership has not been verified. You can still import this domain." - }, - "matching": { - "title": "Claim your domain", - "subtitle": "Your ownership has been verified." - }, - "estimatedNetworkCost": "Estimated network cost" - }, "complete": { "title": "Congratulations!", "import": { - "subtitle": "{{name}} has been imported", - "description": "This domain has been successfully imported into ENS. You can now view this name.", "warning": "Gasless DNS names do not currently appear in your \"Names\" list." }, - "claim": { - "subtitle": "You are now the owner of {{name}}", - "description": "Your domain has been successfully claimed. You can now view and manage your name." - }, "action": { "claimAnother": "Claim another", "viewName": "View name" diff --git a/public/locales/en/dnssec_old.json b/public/locales/en/dnssec_old.json new file mode 100644 index 000000000..5905eab74 --- /dev/null +++ b/public/locales/en/dnssec_old.json @@ -0,0 +1,90 @@ +{ + "error": { + "unknown": "An unknown error occurred", + "noTxtRecord": "No record found", + "dnssecFailure": "DNSSEC is not enabled", + "invalidTxtRecord": "Invalid record found", + "invalidAddressChecksum": "Address is not valid", + "resolutionFailure": "The provided record did not resolve" + }, + "status": { + "error": "An error occurred while checking", + "secondsAgo": "Last checked seconds ago", + "aWhileAgo": "Last checked a while ago", + "minutesAgo_one": "Last checked {{count}} minute ago", + "minutesAgo_other": "Last checked {{count}} minutes ago" + }, + "steps": { + "selectType": { + "title": "Claim {{name}}", + "subtitle": "Importing domain names allows them to be used as ENS names.", + "learnMore": "Learn more about importing names", + "select": { + "heading": "How would you like to import your domain?", + "offchain": { + "name": "Offchain", + "tag": "Free", + "description": "Your name will not have an onchain token.
This does not affect it's ability to receive transactions or be used as a primary name.
You will not be able to edit your profile from within the ENS app." + }, + "onchain": { + "name": "Onchain", + "description": "Your name will have an onchain token." + } + } + }, + "enableDnssec": { + "title": "Enable DNSSEC", + "help": { + "findOutRegistrar": "Find out your registrar" + }, + "status": { + "enabled": "DNSSEC is enabled on this domain.", + "disabled": { + "heading": "You'll need to visit your domain registrar to enable DNSSEC.", + "message": "DNSSEC is not enabled", + "help": "Help enabling DNSSEC" + } + } + }, + "verifyOwnership": { + "title": "Verify Ownership", + "status": { + "disconnected": "Connect your wallet to verify ownership.", + "mismatching": { + "heading": "Add the DNS record below to verify your ownership of this domain.", + "help": "Help adding TXT records", + "message": "No record found", + "error": { + "onchain": "The record found does not match your connected address. You can still import this name, but you will not have ownership of it.", + "offchain": "The record found does not match your connected address. You can still import this name, but it will not point to your connected address and cannot be used as your primary name." + } + }, + "matching": "A record matching your connected address was found." + }, + "action": { + "importWithoutOwnership": "Import without ownership" + } + }, + "transaction": { + "mismatching": { + "title": "Import this domain", + "subtitle": "Your ownership has not been verified. You can still import this domain." + }, + "matching": { + "title": "Claim your domain", + "subtitle": "Your ownership has been verified." + }, + "estimatedNetworkCost": "Estimated network cost" + }, + "complete": { + "import": { + "subtitle": "{{name}} has been imported", + "description": "This domain has been successfully imported into ENS. You can now view this name." + }, + "claim": { + "subtitle": "You are now the owner of {{name}}", + "description": "Your domain has been successfully claimed. You can now view and manage your name." + } + } + } +} diff --git a/public/locales/en/error.json b/public/locales/en/error.json index 47abb48cb..ec5adb3a9 100644 --- a/public/locales/en/error.json +++ b/public/locales/en/error.json @@ -1,10 +1,6 @@ { - "not-found": { - "title": "Not found", - "message": "The page you were looking for wasn't found.
You can search for a name or visit our support for further help." - }, - "application-error": { - "title": "Application error", - "message": "Something has gone wrong.
If this is a recurring issue, please visit our support for further help." + "errorType": { + "title": "", + "message": "" } } diff --git a/public/locales/en/error_old.json b/public/locales/en/error_old.json new file mode 100644 index 000000000..47abb48cb --- /dev/null +++ b/public/locales/en/error_old.json @@ -0,0 +1,10 @@ +{ + "not-found": { + "title": "Not found", + "message": "The page you were looking for wasn't found.
You can search for a name or visit our support for further help." + }, + "application-error": { + "title": "Application error", + "message": "Something has gone wrong.
If this is a recurring issue, please visit our support for further help." + } +} diff --git a/public/locales/en/names.json b/public/locales/en/names.json index 897be727d..42e38489c 100644 --- a/public/locales/en/names.json +++ b/public/locales/en/names.json @@ -1,17 +1,6 @@ { - "title": "Names", - "subtitle": { - "start": "All the names held by", - "this": "this", - "your": "your", - "wallet": "wallet" - }, "empty": "No names found for this address", - "sortTypes": { - "expiryDate": "Expiry date", - "labelName": "Name", - "createdAt": "Creation date" - }, + "title": "Names", "offchainWarning": { "title": "Some names may not appear", "text": "Offchain names do not currently appear in this list. You can still view them by searching for them directly. Click to learn more." diff --git a/public/locales/en/names_old.json b/public/locales/en/names_old.json new file mode 100644 index 000000000..45a852dc3 --- /dev/null +++ b/public/locales/en/names_old.json @@ -0,0 +1,13 @@ +{ + "subtitle": { + "start": "All the names held by", + "this": "this", + "your": "your", + "wallet": "wallet" + }, + "sortTypes": { + "expiryDate": "Expiry date", + "labelName": "Name", + "createdAt": "Creation date" + } +} diff --git a/public/locales/en/profile.json b/public/locales/en/profile.json index 7e8a11f42..9af824ea4 100644 --- a/public/locales/en/profile.json +++ b/public/locales/en/profile.json @@ -1,136 +1,146 @@ { - "meta": { - "title": "{{name}} on ENS", - "description": "{{name}}'s profile on the Ethereum Name Service" - }, - "title": "Profile", - "yourWallet": "Your wallet", - "yourProfile": "Your profile", - "accounts": "Accounts", - "addresses": "Addresses", - "otherRecords": "Other Records", - "verifications": "Verifications", - "editProfile": "Edit Profile", - "ownership": "Ownership", - "viewDetails": "View Details", - "banner": { - "available": { - "title": "{{name}} is available", - "description": "This name expired on {{date}}. Click here to view the registration page." - } + "errors": { + "keyInUse": "{{value}} is already in use", + "addressLength": "If address it should be 42 characters long", + "invalidAddress": "Not a valid address", + "invalidName": "This name is invalid.", + "permissionRevoked": "This name has revoked the permissions needed to perform this action.", + "isOwnerCannotEdit": "You must be the manager in order to edit the profile", + "cannotEdit": "You do not have permission to update to an authorised resolver", + "isOwnerCannotVerify": "You must be the Manager to verify your profile", + "cannotVerify": "You do not have permission to verify your profile", + "unsupportedTLD": "This TLD is not supported", + "migrationNotAvailable": "Migration to the new registry is not available yet, but you can still ", + "migrationNotAvailableLink": "migrate this name in the old app.", + "expiringSoon": "The grace period for this name ends on {{date}}. If it isn’t extended before this date, it will become available for registration.", + "hasExpired": "{{ name }} has expired", + "invalidJSON": "Invalid JSON" }, - "tabs": { - "profile": { - "name": "Profile", - "actions": { - "setAsPrimaryName": { - "label": "Set as primary name", - "title": "Set your primary name", - "description": "To set your primary name to this name, the ETH address must match this address." - }, - "deleteSubname": { - "label": "Delete subname" - }, - "extend": { - "label": "Extend name" + "advancedEditor": { + "tabs": { + "other": { + "contentHash": { + "label": "Content Hash", + "placeholder": "e.g. ipfs://" }, - "editProfile": { - "label": "Edit profile" + "labelDisabled": "Not supported by current resolver", + "abi": { + "label": "ABI", + "placeholder": "Enter an ABI here..." }, - "reclaim": { - "label": "Recreate name", - "warning": "This subname has expired and is not owned. You can recreate this subname." + "label": "Other" + }, + "text": { + "label": "Text", + "addRecord": "Add record", + "createRecord": "Type a record name..." + }, + "address": { + "label": "Address", + "addRecord": "Add address", + "noOptions": "No address options available" + } + }, + "title": "{{name}}'s records" + }, + "tabs": { + "more": { + "burned": "", + "fuses": { + "burnFormTitle": "Burn Permissions", + "info": "You must burn 'Can unwrap' in order to burn other fuses" + }, + "misc": { + "bankless": { + "submitError": "Submission failed. Please try again.", + "title": "Bankless Reminders", + "enterEmail": "Receive Bankless Reminders through Email, PUSH, XMTP, Blockscan Chat, and Mailchain.", + "emailConfirmation": "You're almost done. Please check your email to confirm your subscription." }, - "verifyProfile": { - "label": "Verifications" + "reminderOptions": { + "bankless": "Bankless Reminders" } }, - "warnings": { - "wrappedDNS": "DNS names can be reclaimed by the DNS owner at any time. Do not purchase DNS names.", - "offchain": "Offchain names do not currently appear in your 'Names' list. Learn more", - "homoglyph": "This name contains non-ASCII characters. There may be characters that look identical or very similar to other characters, which could be used to deceive readers. Learn more about homoglyphs" + "ownership": { + "refreshDNS": "Refresh DNS", + "dnsOwnerWarning": { + "syncManager": "Sync manager" + }, + "label": "Ownership" + }, + "resolver": { + "label": "Resolver" + }, + "token": { + "label": "Token", + "noToken": "No token", + "hex": "hex", + "decimal": "decimal", + "wrapper": "wrapper", + "unwrap": "Unwrap", + "wrapName": "Wrap Name" } }, - "records": { - "name": "Records" - }, "ownership": { - "name": "Ownership", "warning": { "ownerNotManager": "You are the owner but not the manager. This may be unintended if you’ve recently recieved this name from another address.", - "managerNotParentOwner": "The owner of {{parent}} can change ownership, roles, and settings. They cannot change the profile.", "managerNotDNSOwner": "You are the Manager but not DNS Owner of this name. DNS names can be reclaimed by the DNS Owner at any time. You can send this name to the Owner, or update the DNS record to match.", - "dnsOwnerNotManager": "You cannot make changes to this name because you are the DNS Owner, but not the Manager. You can sync the manager to fix this." + "dnsOwnerNotManager": "You cannot make changes to this name because you are the DNS Owner, but not the Manager. You can sync the manager to fix this.", + "managerNotParentOwner": "The owner of {{parent}} can change ownership, roles, and settings. They cannot change the profile." }, "sections": { - "roles": { - "title": "Roles", - "addresses_one": "{{count}} address", - "addresses_other": "{{count}} addresses" + "contract": { + "title": "Contract address", + "tooltip": "The address of the contract that enables Wrapped ENS names.", + "warning": "Some apps may show the contract address as the owner. This doesn't affect your ownership." }, "expiry": { "panel": { - "expiry": { - "title": "Name expires" - }, "grace-period": { - "title": "Grace period ends", "tooltip": "A 90 day grace window after expiration, when the name can still be extended but not re-registered." - }, - "registration": { - "title": "Registered" - }, - "parent-expiry": { - "title": "Parent name expires" - }, - "parent-grace-period": { - "title": "Parent grace period ends" } } }, - "contract": { - "title": "Contract address", - "tooltip": "The address of the contract that enables Wrapped ENS names.", - "warning": "Some apps may show the contract address as the owner. This doesn't affect your ownership." + "roles": { + "title": "Roles", + "addresses_one": "{{count}} address", + "addresses_other": "{{count}} addresses" } - }, - "tooltips": { - "owner": "The owner of this name. The owner cannot change the profile.", - "owner-emancipated": "The owner of this name.", - "parent-owner": "The owner of this name's parent ({{parent}}).", - "dns-owner": "The owner of this name, as set by DNS records. The owner cannot change the profile.", - "manager": "The address that can change the profile, settings and profile editors.", - "profile-editor": "An addres that can only change the profile", - "subname-manager": "An address or contract responsible for subname renewals.", - "eth-record": "The address that will receive funds sent to this name on mainnet.", - "grace-period": "A 90 day grace window after expiration, when the name can still be extended but not re-registered.", - "contract-address": "The address of the contract that enables Wrapped ENS names.", - "namewrapper": "The contract that enables Wrapped ENS names." } }, - "subnames": { - "name": "Subnames" - }, "permissions": { - "name": "Permissions", - "parentUnlockedWarning": "You cannot change permissions on this name. You must first revoke ‘unwrap this name’ on the parent ({{parent}}). Click here to view the parent’s permissions.", - "revokedLabel": "Revoked {{date}}", + "expiry": { + "permissions": { + "canExtendExpiry": { + "label": "Can extend expiry", + "description": "This names permission expiry can be extended by the {{managerOrOwner}}.", + "description_date": "This names permission expiry ({{date}}) can be extended by the {{managerOrOwner}}." + }, + "cannotExtendExpiry": { + "label": "Cannot extend expiry", + "description": "This names permission expiry cannot be extended by the manager.", + "description_date": "This names permission expiry ({{date}}) cannot be extended by the manager." + } + }, + "action": { + "changePermissions": "Change permissions" + } + }, "grantedLabel": "Granted {{date}}", + "nameChangePermissions": { + "action": { + "changePermissions": "Change permissions" + } + }, "role": { - "manager": "manager", "owner": "owner", "parent": "parent" }, + "revokedLabel": "Revoked {{date}}", "ownership": { - "title": "Ownership Permissions", - "parentCanControl": { - "label": "This name can be controlled by its parent ({{parent}})", - "list": { - "title": "The owner of the parent name can:", - "item1": "Control and modify the settings and records", - "item2": "Retake or reassign ownership of this name", - "item3": "Remove this name" - } + "action": { + "giveUpControl": "Give up parent control", + "revokePermission": "Revoke permission" }, "parentCannotControl": { "label": "This name cannot be controlled by its parent ({{parent}})", @@ -142,12 +152,13 @@ "item3": "Ownership of the name is sent to another address" } }, - "parentCanChange": { - "label": "The parent of this name ({{parent}}) can change permissions", + "parentCanControl": { + "label": "This name can be controlled by its parent ({{parent}})", "list": { - "title": "The parent can:", - "item1": "Revoke permissions", - "item2": "Change or burn custom fuses" + "title": "The owner of the parent name can:", + "item1": "Control and modify the settings and records", + "item2": "Retake or reassign ownership of this name", + "item3": "Remove this name" } }, "ownerCanChange": { @@ -161,305 +172,89 @@ "ownerCannotChange": { "label": "The owner of this name cannot change permissions", "list": { - "title": "The owner cannot:", + "title": "The owner cannot:" + } + }, + "parentCanChange": { + "label": "The parent of this name ({{parent}}) can change permissions", + "list": { + "title": "The parent can:", "item1": "Revoke permissions", "item2": "Change or burn custom fuses" } - }, - "unwrapWarning": { - "message": "Unwrap permissions must be revoked on the parent ({{parent}}) before giving up parent control.
Go to parent permissions" - }, - "action": { - "giveUpControl": "Give up parent control", - "revokePermission": "Revoke permission" } }, - "expiry": { - "permissions": { - "canExtendExpiry": { - "label": "Can extend expiry", - "description": "This names permission expiry can be extended by the {{managerOrOwner}}.", - "description_date": "This names permission expiry ({{date}}) can be extended by the {{managerOrOwner}}." - }, - "cannotExtendExpiry": { - "label": "Cannot extend expiry", - "description": "This names permission expiry cannot be extended by the manager.", - "description_date": "This names permission expiry ({{date}}) cannot be extended by the manager." - } - }, - "manager": "manager", - "owner": "owner", - "action": { - "changePermissions": "Change permissions" - } + "parentUnlockedWarning": "You cannot change permissions on this name. You must first revoke ‘unwrap this name’ on the parent ({{parent}}). Click here to view the parent’s permissions." + }, + "profile": { + "warnings": { + "offchain": "Offchain names do not currently appear in your 'Names' list. Learn more", + "homoglyph": "This name contains non-ASCII characters. There may be characters that look identical or very similar to other characters, which could be used to deceive readers. Learn more about homoglyphs", + "wrappedDNS": "DNS names can be reclaimed by the DNS owner at any time. Do not purchase DNS names." }, - "nameChangePermissions": { - "title": "Name Change Permissions", - "subtitle": { - "parent-can-change": "The parent of this name ({{parent}}) can change settings on this name.", - "owner-can-change": "The owner of this name can change settings on this name." + "actions": { + "verifyProfile": { + "label": "Verifications" }, - "permissions": { - "canUnwrap": { - "label": "Can unwrap this name", - "description": "The {{owner}} of this name can unwrap this name." - }, - "cannotUnwrap": { - "label": "Cannot unwrap this name", - "description": "The {{owner}} of this name cannot unwrap this name." - }, - "canCreateSubnames": { - "label": "Can create subnames", - "description": "The {{owner}} of this name can create new subnames." - }, - "cannotCreateSubnames": { - "label": "Cannot create subnames", - "description": "The {{owner}} of this name cannot create new subnames." - }, - "canSend": { - "label": "Can send this name", - "description": "The {{owner}} of this name can send it to a new owner." - }, - "cannotSend": { - "label": "Cannot send this name", - "description": "The {{owner}} of this name cannot send it to a new owner." - }, - "canSetResolver": { - "label": "Can set the resolver", - "description": "The {{owner}} of this name can set and change the resolver." - }, - "cannotSetResolver": { - "label": "Cannot set the resolver", - "description": "The {{owner}} of this name cannot set and change the resolver." - }, - "canSetTTL": { - "label": "Can set TTL", - "description": "The {{owner}} of this name can set and change the TTL." - }, - "cannotSetTTL": { - "label": "Cannot set TTL", - "description": "The {{owner}} of this name cannot set and change the TTL." - }, - "canApprove": { - "label": "Can change renewal manager", - "description": "The owner of this name can change the manager approved to renew subnames." - }, - "cannotApprove": { - "label": "Cannot change renewal manager", - "description": "The owner of this name cannot change the manager approved to renew subnames." - } + "setAsPrimaryName": { + "label": "Set as primary name", + "description": "To set your primary name to this name, the ETH address must match this address." }, - "action": { - "changePermissions": "Change permissions" - } - } - }, - "fuses": { - "name": "Fuses" - }, - "more": { - "name": "More", - "resolver": { - "label": "Resolver", - "custom": "Custom", - "latest": "Latest", - "outdated": "Outdated", - "wildcard": "Wildcard", - "version": "Version", - "etherscan": "Etherscan" - }, - "fuses": { - "label": "Fuses", - "info": "You must burn 'Can unwrap' in order to burn other fuses", - "callToAction": "Please wrap your name to unlock this feature", - "burnFormTitle": "Burn Permissions", - "burned": "Burned", - "permissions": { - "label": "Permissions", - "warning": "Fuses can be changed by the parent", - "CAN_DO_EVERYTHING": "Can do everything", - "CANNOT_BURN_FUSES": "Can burn fuses", - "CANNOT_CREATE_SUBDOMAIN": "Can create subdomains", - "CANNOT_SET_RESOLVER": "Can set resolver", - "CANNOT_SET_TTL": "Can set TTL", - "CANNOT_TRANSFER": "Can transfer", - "CANNOT_UNWRAP": "Can unwrap", - "PARENT_CANNOT_CONTROL": "Parent can control", - "CAN_EXTEND_EXPIRY": "Cannot extend expiry", - "IS_DOT_ETH": "Is not .eth" - } - }, - "ownership": { - "label": "Ownership", - "refreshDNS": "Refresh DNS", - "dnsOwnerWarning": { - "isDnsOwner": "You cannot make changes to this name because you are the DNS Owner, but not the Manager. You can sync the manager to fix this.", - "isManager": "You are the Manager but not DNS Owner of this name. DNS names can be reclaimed by the DNS Owner at any time. You can send this name to the Owner, or update the DNS record to match.", - "refreshDNS": "Refresh DNS", - "syncManager": "Sync manager" - } - }, - "token": { - "label": "Token", - "noToken": "No token", - "hex": "hex", - "decimal": "decimal", - "wrapper": "wrapper", - "wrapName": "Wrap Name", - "unwrap": "Unwrap", - "status": { - "unwrapped": "unwrapped", - "wrapped": "wrapped", - "emancipated": "wrapped, emancipated", - "locked": "wrapped, locked" - } - }, - "misc": { - "registered": "Registered", - "expires": "Expires", - "bankless": { - "title": "Bankless Reminders", - "enterEmail": "Receive Bankless Reminders through Email, PUSH, XMTP, Blockscan Chat, and Mailchain.", - "emailConfirmation": "You're almost done. Please check your email to confirm your subscription.", - "submitError": "Submission failed. Please try again." + "editProfile": { + "label": "Edit profile" }, - "reminderOptions": { - "google": "Google calendar", - "outlook": "Outlook calendar", - "office365": "Office 365 calendar", - "yahoo": "Yahoo calendar", - "ical": "iCal download (.ics)", - "bankless": "Bankless Reminders" + "deleteSubname": { + "label": "Delete subname" + }, + "reclaim": { + "label": "Recreate name", + "warning": "This subname has expired and is not owned. You can recreate this subname." } } } }, "details": { - "title": "Name Details", - "notWrapped": "Not wrapped", "sendName": { - "title": "Send Name", - "description": "Sending a name will give the new address control over it", - "learnMore": "Learn more about name ownership.", - "makeOwner": "Make owner", - "makeOwnerDescription": "The owner can send to a new owner and change the manager", - "makeManager": "Make manager", - "makeManagerDescription": "The manager can change and set records.", "inputPlaceholder": "Enter an Ethereum address or ENS name", - "transferSubname": "Transfer Name", - "transferController": "Transfer Controller" - }, - "wrap": { - "startTitle": "Upgrade your name", - "resumeTitle": "Resume your upgrade", - "completeTitle": "Upgrade complete", - "description": "Upgrading or \"wrapping\" your name gives it new features.", - "startLabel": "Upgrade", - "resumeLabel": "Resume Upgrade", - "boxTitle": "Unlock new features", - "boxDescription": "Upgrading your name unlocks the latest functionality of ENS" - }, - "descriptions": { - "owner": "Owns and controls the name", - "controller": "Controls all the records of the name", - "registrant": "The owner of the NFT", - "dnsOwner": "Owner of the DNS name" + "transferController": "Transfer Controller", + "transferSubname": "Transfer Name" }, "tabs": { "records": { - "label": "Records", "text": "Text", "contentHash": "Content Hash", "noContentHash": "No Content Hash", - "editRecords": "Edit Records", - "noAbi": "No ABI", "abi": "ABI", + "noAbi": "No ABI", + "editRecords": "Edit Records", "editRecordsDisabled": "Current resolver is not compatible with wrapped names" }, "subnames": { - "label": "Subnames", - "loading": "Loading subnames", "empty": "No subnames have been added", "noResults": "No results", - "noMoreResults": "No more results", "addSubname": { "title": "Subnames let you create additional names from your existing name.", "learn": "Learn about subnames", "action": "New subname", "dialog": { - "title": "Create Subname", - "error": { - "invalidCharacters": "Contains invalid characters", - "mustUseLowercase": "Must use lowercase letters", - "alreadyExists": "Name already exists", - "nameTooLong": "Name is too long", - "pccBurned": "Name is locked until {{date}}" - } + "title": "Create Subname" } } } + }, + "wrap": { + "description": "Upgrading or \"wrapping\" your name gives it new features." } }, - "advancedEditor": { - "title": "{{name}}'s records", - "tabs": { - "text": { - "label": "Text", - "addRecord": "Add record", - "createRecord": "Type a record name...", - "placeholder": { - "default": "Add a value here..." - } - }, - "address": { - "label": "Address", - "addRecord": "Add address", - "noOptions": "No address options available", - "placeholder": { - "default": "Add address here..." - } - }, - "other": { - "label": "Other", - "labelDisabled": "Not supported by current resolver", - "contentHash": { - "label": "Content Hash", - "placeholder": "e.g. ipfs://" - }, - "publicKey": { - "label": "Public Key", - "placeholder": "e.g. pub_1231231231231" - }, - "abi": { - "label": "ABI", - "placeholder": "Enter an ABI here..." - } - } + "banner": { + "available": { + "title": "{{name}} is available", + "description": "This name expired on {{date}}. Click here to view the registration page." } }, - "errors": { - "invalidName": "This name is invalid.", - "invalidAddress": "Not a valid address", - "expiringSoon": "The grace period for this name ends on {{date}}. If it isn’t extended before this date, it will become available for registration.", - "hasExpired": "{{ name }} has expired", - "ownerManagerChoice": "Must send owner or manager", - "unknown": "Unknown error", - "notMigrated": "This name is not migrated to the new registry.", - "featureNotAvailable": "Some features are not yet available, but you can still ", - "featureNotAvailableLink": "view this name in the old app.", - "migrationNotAvailable": "Migration to the new registry is not available yet, but you can still ", - "migrationNotAvailableLink": "migrate this name in the old app.", - "addressLength": "If address it should be 42 characters long", - "unsupportedTLD": "This TLD is not supported", - "keyInUse": "{{value}} is already in use", - "hasSubnames": "This name has subnames", - "permissionRevoked": "This name has revoked the permissions needed to perform this action.", - "gracePeriod": "This cannot be done because the name has expired", - "default": "This action is not available", - "invalidJSON": "Invalid JSON", - "isOwnerCannotEdit": "You must be the manager in order to edit the profile", - "cannotEdit": "You do not have permission to update to an authorised resolver", - "isOwnerCannotVerify": "You must be the Manager to verify your profile", - "cannotVerify": "You do not have permission to verify your profile" + "yourProfile": "Your profile", + "meta": { + "title": "{{name}} on ENS", + "description": "{{name}}'s profile on the Ethereum Name Service" } } diff --git a/public/locales/en/profile_old.json b/public/locales/en/profile_old.json new file mode 100644 index 000000000..c3ab02e11 --- /dev/null +++ b/public/locales/en/profile_old.json @@ -0,0 +1,284 @@ +{ + "title": "Profile", + "yourWallet": "Your wallet", + "accounts": "Accounts", + "addresses": "Addresses", + "otherRecords": "Other Records", + "verifications": "Verifications", + "editProfile": "Edit Profile", + "ownership": "Ownership", + "viewDetails": "View Details", + "tabs": { + "profile": { + "name": "Profile", + "actions": { + "setAsPrimaryName": { + "title": "Set your primary name" + }, + "extend": { + "label": "Extend name" + } + } + }, + "records": { + "name": "Records" + }, + "ownership": { + "name": "Ownership", + "sections": { + "expiry": { + "panel": { + "expiry": { + "title": "Name expires" + }, + "grace-period": { + "title": "Grace period ends" + }, + "registration": { + "title": "Registered" + }, + "parent-expiry": { + "title": "Parent name expires" + }, + "parent-grace-period": { + "title": "Parent grace period ends" + } + } + } + }, + "tooltips": { + "owner": "The owner of this name. The owner cannot change the profile.", + "owner-emancipated": "The owner of this name.", + "parent-owner": "The owner of this name's parent ({{parent}}).", + "dns-owner": "The owner of this name, as set by DNS records. The owner cannot change the profile.", + "manager": "The address that can change the profile, settings and profile editors.", + "profile-editor": "An addres that can only change the profile", + "subname-manager": "An address or contract responsible for subname renewals.", + "eth-record": "The address that will receive funds sent to this name on mainnet.", + "grace-period": "A 90 day grace window after expiration, when the name can still be extended but not re-registered.", + "contract-address": "The address of the contract that enables Wrapped ENS names.", + "namewrapper": "The contract that enables Wrapped ENS names." + } + }, + "subnames": { + "name": "Subnames" + }, + "permissions": { + "name": "Permissions", + "role": { + "manager": "manager" + }, + "ownership": { + "title": "Ownership Permissions", + "ownerCannotChange": { + "list": { + "item1": "Revoke permissions", + "item2": "Change or burn custom fuses" + } + }, + "unwrapWarning": { + "message": "Unwrap permissions must be revoked on the parent ({{parent}}) before giving up parent control.
Go to parent permissions" + } + }, + "expiry": { + "manager": "manager", + "owner": "owner" + }, + "nameChangePermissions": { + "title": "Name Change Permissions", + "subtitle": { + "parent-can-change": "The parent of this name ({{parent}}) can change settings on this name.", + "owner-can-change": "The owner of this name can change settings on this name." + }, + "permissions": { + "canUnwrap": { + "label": "Can unwrap this name", + "description": "The {{owner}} of this name can unwrap this name." + }, + "cannotUnwrap": { + "label": "Cannot unwrap this name", + "description": "The {{owner}} of this name cannot unwrap this name." + }, + "canCreateSubnames": { + "label": "Can create subnames", + "description": "The {{owner}} of this name can create new subnames." + }, + "cannotCreateSubnames": { + "label": "Cannot create subnames", + "description": "The {{owner}} of this name cannot create new subnames." + }, + "canSend": { + "label": "Can send this name", + "description": "The {{owner}} of this name can send it to a new owner." + }, + "cannotSend": { + "label": "Cannot send this name", + "description": "The {{owner}} of this name cannot send it to a new owner." + }, + "canSetResolver": { + "label": "Can set the resolver", + "description": "The {{owner}} of this name can set and change the resolver." + }, + "cannotSetResolver": { + "label": "Cannot set the resolver", + "description": "The {{owner}} of this name cannot set and change the resolver." + }, + "canSetTTL": { + "label": "Can set TTL", + "description": "The {{owner}} of this name can set and change the TTL." + }, + "cannotSetTTL": { + "label": "Cannot set TTL", + "description": "The {{owner}} of this name cannot set and change the TTL." + }, + "canApprove": { + "label": "Can change renewal manager", + "description": "The owner of this name can change the manager approved to renew subnames." + }, + "cannotApprove": { + "label": "Cannot change renewal manager", + "description": "The owner of this name cannot change the manager approved to renew subnames." + } + } + } + }, + "fuses": { + "name": "Fuses" + }, + "more": { + "name": "More", + "resolver": { + "custom": "Custom", + "latest": "Latest", + "outdated": "Outdated", + "wildcard": "Wildcard", + "version": "Version", + "etherscan": "Etherscan" + }, + "fuses": { + "label": "Fuses", + "callToAction": "Please wrap your name to unlock this feature", + "burned": "Burned", + "permissions": { + "label": "Permissions", + "warning": "Fuses can be changed by the parent", + "CAN_DO_EVERYTHING": "Can do everything", + "CANNOT_BURN_FUSES": "Can burn fuses", + "CANNOT_CREATE_SUBDOMAIN": "Can create subdomains", + "CANNOT_SET_RESOLVER": "Can set resolver", + "CANNOT_SET_TTL": "Can set TTL", + "CANNOT_TRANSFER": "Can transfer", + "CANNOT_UNWRAP": "Can unwrap", + "PARENT_CANNOT_CONTROL": "Parent can control", + "CAN_EXTEND_EXPIRY": "Cannot extend expiry", + "IS_DOT_ETH": "Is not .eth" + } + }, + "ownership": { + "dnsOwnerWarning": { + "isDnsOwner": "You cannot make changes to this name because you are the DNS Owner, but not the Manager. You can sync the manager to fix this.", + "isManager": "You are the Manager but not DNS Owner of this name. DNS names can be reclaimed by the DNS Owner at any time. You can send this name to the Owner, or update the DNS record to match.", + "refreshDNS": "Refresh DNS" + } + }, + "token": { + "status": { + "unwrapped": "unwrapped", + "wrapped": "wrapped", + "emancipated": "wrapped, emancipated", + "locked": "wrapped, locked" + } + }, + "misc": { + "registered": "Registered", + "expires": "Expires", + "reminderOptions": { + "google": "Google calendar", + "outlook": "Outlook calendar", + "office365": "Office 365 calendar", + "yahoo": "Yahoo calendar", + "ical": "iCal download (.ics)" + } + } + } + }, + "details": { + "title": "Name Details", + "notWrapped": "Not wrapped", + "sendName": { + "title": "Send Name", + "description": "Sending a name will give the new address control over it", + "learnMore": "Learn more about name ownership.", + "makeOwner": "Make owner", + "makeOwnerDescription": "The owner can send to a new owner and change the manager", + "makeManager": "Make manager", + "makeManagerDescription": "The manager can change and set records." + }, + "wrap": { + "startTitle": "Upgrade your name", + "resumeTitle": "Resume your upgrade", + "completeTitle": "Upgrade complete", + "startLabel": "Upgrade", + "resumeLabel": "Resume Upgrade", + "boxTitle": "Unlock new features", + "boxDescription": "Upgrading your name unlocks the latest functionality of ENS" + }, + "descriptions": { + "owner": "Owns and controls the name", + "controller": "Controls all the records of the name", + "registrant": "The owner of the NFT", + "dnsOwner": "Owner of the DNS name" + }, + "tabs": { + "records": { + "label": "Records" + }, + "subnames": { + "label": "Subnames", + "loading": "Loading subnames", + "noMoreResults": "No more results", + "addSubname": { + "dialog": { + "error": { + "invalidCharacters": "Contains invalid characters", + "mustUseLowercase": "Must use lowercase letters", + "alreadyExists": "Name already exists", + "nameTooLong": "Name is too long", + "pccBurned": "Name is locked until {{date}}" + } + } + } + } + } + }, + "advancedEditor": { + "tabs": { + "text": { + "placeholder": { + "default": "Add a value here..." + } + }, + "address": { + "placeholder": { + "default": "Add address here..." + } + }, + "other": { + "publicKey": { + "label": "Public Key", + "placeholder": "e.g. pub_1231231231231" + } + } + } + }, + "errors": { + "ownerManagerChoice": "Must send owner or manager", + "unknown": "Unknown error", + "notMigrated": "This name is not migrated to the new registry.", + "featureNotAvailable": "Some features are not yet available, but you can still ", + "featureNotAvailableLink": "view this name in the old app.", + "hasSubnames": "This name has subnames", + "gracePeriod": "This cannot be done because the name has expired", + "default": "This action is not available" + } +} diff --git a/public/locales/en/register.json b/public/locales/en/register.json index b7ae54969..44068725c 100644 --- a/public/locales/en/register.json +++ b/public/locales/en/register.json @@ -1,25 +1,45 @@ { - "title": "Register {{name}} on ENS", - "subtitle": "Register", - "heading": "Register {{name}}", "invoice": { "timeRegistration": "{{time}} registration", - "registration": "Registration", "estimatedNetworkFee": "Est. network fee", - "networkFee": "Network fee", "temporaryPremium": "Temporary premium", "total": "Estimated total", + "registration": "Registration", + "networkFee": "Network fee", "totalPaid": "Total paid" }, + "title": "Register {{name}} on ENS", "error": { "nameTooLong": "The name you want to register is too long. Please choose a shorter name." }, "steps": { + "info": { + "moonpayModalHeader": "MoonPay Checkout", + "moonpayTestCard": "Test card details", + "heading": "Before we start", + "subheading": "Registering your name takes three steps", + "setupProfile": "I'd like to set up my profile first", + "paymentMethod": "Payment method", + "ethereum": "Ethereum", + "notEnoughEth": "Not enough ETH in wallet", + "creditOrDebit": "Credit or debit card", + "additionalFee": "Additional processing fee", + "failedMoonpayTransaction": "Your MoonPay transaction has failed. Please try again or choose the 'Ethereum' payment method.", + "poweredBy": "Powered by", + "processing": "Processing" + }, + "complete": { + "heading": "Congratulations!", + "subheading": "You are now the owner of ", + "description": "Your name was successfully registered. You can now view and manage your name.", + "registerAnother": "Register another", + "viewName": "View name" + }, "pricing": { - "insufficientBalance": "Insufficient Balance", - "multipleYearsMessage": "Extending for multiple years will save money on network costs by avoiding yearly transactions.", "primaryName": "Use as primary name", "primaryNameMessage": "This links your address to this name, allowing dApps to display it as your profile when connected to them. You can only have one primary name per address.", + "insufficientBalance": "Insufficient Balance", + "multipleYearsMessage": "Extending for multiple years will save money on network costs by avoiding yearly transactions.", "premium": { "heading": "This name has a temporary premium", "subheading": "To give fair opportunity to recently expired names, the premium starts at $100,000,000 and reduces to $0 over 21 days. You can calculate the premium on a date below.", @@ -29,88 +49,11 @@ } }, "profile": { - "title": "Create your profile", - "title2": "Edit your profile", - "default": "Default", - "advanced": "Advanced", - "permissions": "Permissions", - "resolver": "Resolver", - "visibilityMessage": "Your profile information will be stored on the blockchain. Anything you add will be publicly visible.", "addProfile": "Add profile fields", - "addMore": "Add more to profile", "options": { "groups": { - "general": { - "label": "General", - "items": { - "name": "Nickname", - "url": "Website", - "location": "Location", - "description": "Short Bio" - }, - "placeholder": { - "name": "John Smith", - "url": "https://ens.domains", - "location": "Metaverse", - "description": "I'm a yield farmer from rural Tennessee." - } - }, - "social": { - "label": "Social", - "items": { - "com.twitter": "Twitter", - "com.github": "GitHub", - "com.discord": "Discord", - "org.telegram": "Telegram", - "email": "Email" - }, - "placeholder": { - "com.twitter": "e.g. ensdomains", - "com.github": "e.g. ensdomains", - "com.discord": "e.g. nickjohnson", - "org.telegram": "e.g. nicksdjohnson", - "email": "e.g. hello@example.com" - } - }, - "address": { - "label": "Address", - "itemLabel": "{{coin}} address", - "placeholder": { - "default": "Add address here", - "eth": "0xb8c2C2...", - "btc": "3FZbgi29...", - "sol": "D4kA7VzHnmV...", - "op": "0xb8c2C2...", - "arb1": "0xb8c2C2...", - "base": "0xb8c2C2...", - "matic": "0xb8c2C2..." - } - }, - "website": { - "label": "Website", - "items": { - "ipfs": "IPFS", - "ipns": "IPNS", - "swarm": "Swarm", - "onion": "Onion", - "skynet": "Skynet", - "arweave": "Arweave" - }, - "placeholder": { - "default": "Add url here", - "ipfs": "ipfs://...", - "skynet": "sia://...", - "arweave": "ar://...", - "swarm": "bzz://...", - "onion": "onion3://..." - } - }, "other": { - "label": "Other", "items": { - "contentHash": "Content Hash", - "publicKey": "Public Key", - "abi": "ABI", "custom": "Custom" } }, @@ -118,6 +61,12 @@ "key": "Key", "value": "Value" }, + "address": { + "itemLabel": "{{coin}} address", + "placeholder": { + "default": "Add address here" + } + }, "default": { "placeholder": "Add value here" } @@ -125,10 +74,14 @@ }, "errors": { "labelRequired": "A record key is required", - "duplicateRecord": "Duplicate record key", + "keyRequired": "", "avatarReserved": "Key is being used by avatar manager", + "duplicateRecord": "Duplicate record key", "invalidValue": "Invalid value" }, + "actions": { + "skipProfile": "Skip profile" + }, "confirmations": { "publicNotice": { "title": "Your details are public", @@ -143,55 +96,24 @@ "decline": "Cancel" } }, - "actions": { - "skipProfile": "Skip profile" - } - }, - "complete": { - "heading": "Congratulations!", - "subheading": "You are now the owner of ", - "description": "Your name was successfully registered. You can now view and manage your name.", - "registerAnother": "Register another", - "viewName": "View name" - }, - "info": { - "heading": "Before we start", - "subheading": "Registering your name takes three steps", - "ethItems": [ - "Complete a transaction to begin the timer", - "Wait 60 seconds for the timer to complete", - "Complete a second transaction to secure your name" - ], - "moonpayItems": [ - "Create or login to an existing MoonPay account", - "Use your credit or debit card to complete a single transaction" - ], - "setupProfile": "I'd like to set up my profile first", - "paymentMethod": "Payment method", - "notEnoughEth": "Not enough ETH in wallet", - "creditOrDebit": "Credit or debit card", - "additionalFee": "Additional processing fee", - "pendingMoonpayTransaction": "Your MoonPay transaction is processing. This may take up to two minutes. You can check your progress from the confirmation email you recieved.", - "failedMoonpayTransaction": "Your MoonPay transaction has failed. Please try again or choose the 'Ethereum' payment method.", - "ethereum": "Ethereum", - "processing": "Processing", - "poweredBy": "Powered by", - "moonpayModalHeader": "MoonPay Checkout", - "moonpayTestCard": "Test card details" - }, - "transactions": { - "heading": "Almost there", - "subheading": "You will need to complete two transactions to secure your name. The second transaction must be completed within 24 hours of the first.", - "startTimer": "Start timer", - "wait": "Wait", - "transactionFailed": "Transaction Failed", - "transactionProgress": "Transaction in progress" + "title": "Create your profile", + "addMore": "Add more to profile", + "title2": "Edit your profile" }, "cancelRegistration": { "heading": "You will lose your transaction", "contentOne": "Going back will reset your first transaction. If you go back you will need to complete the transaction again and pay the associated fees.", "contentTwo": "Are you sure you want to continue?", "footer": "Reset transaction and go back" + }, + "transactions": { + "heading": "Almost there", + "subheading": "You will need to complete two transactions to secure your name. The second transaction must be completed within 24 hours of the first.", + "transactionFailed": "Transaction Failed", + "transactionProgress": "Transaction in progress", + "wait": "Wait", + "startTimer": "Start timer" } - } + }, + "heading": "Register {{name}}" } diff --git a/public/locales/en/register_old.json b/public/locales/en/register_old.json new file mode 100644 index 000000000..f4a48f713 --- /dev/null +++ b/public/locales/en/register_old.json @@ -0,0 +1,99 @@ +{ + "subtitle": "Register", + "steps": { + "profile": { + "default": "Default", + "advanced": "Advanced", + "permissions": "Permissions", + "resolver": "Resolver", + "visibilityMessage": "Your profile information will be stored on the blockchain. Anything you add will be publicly visible.", + "options": { + "groups": { + "general": { + "label": "General", + "items": { + "name": "Nickname", + "url": "Website", + "location": "Location", + "description": "Short Bio" + }, + "placeholder": { + "name": "John Smith", + "url": "https://ens.domains", + "location": "Metaverse", + "description": "I'm a yield farmer from rural Tennessee." + } + }, + "social": { + "label": "Social", + "items": { + "com.twitter": "Twitter", + "com.github": "GitHub", + "com.discord": "Discord", + "org.telegram": "Telegram", + "email": "Email" + }, + "placeholder": { + "com.twitter": "e.g. ensdomains", + "com.github": "e.g. ensdomains", + "com.discord": "e.g. nickjohnson", + "org.telegram": "e.g. nicksdjohnson", + "email": "e.g. hello@example.com" + } + }, + "address": { + "label": "Address", + "placeholder": { + "eth": "0xb8c2C2...", + "btc": "3FZbgi29...", + "sol": "D4kA7VzHnmV...", + "op": "0xb8c2C2...", + "arb1": "0xb8c2C2...", + "base": "0xb8c2C2...", + "matic": "0xb8c2C2..." + } + }, + "website": { + "label": "Website", + "items": { + "ipfs": "IPFS", + "ipns": "IPNS", + "swarm": "Swarm", + "onion": "Onion", + "skynet": "Skynet", + "arweave": "Arweave" + }, + "placeholder": { + "default": "Add url here", + "ipfs": "ipfs://...", + "skynet": "sia://...", + "arweave": "ar://...", + "swarm": "bzz://...", + "onion": "onion3://..." + } + }, + "other": { + "label": "Other", + "items": { + "contentHash": "Content Hash", + "publicKey": "Public Key", + "abi": "ABI" + } + } + } + } + }, + "info": { + "ethItems": [ + "Complete a transaction to begin the timer", + "Wait 60 seconds for the timer to complete", + "Complete a second transaction to secure your name" + ], + "moonpayItems": [ + "Create or login to an existing MoonPay account", + "Use your credit or debit card to complete a single transaction" + ], + "pendingMoonpayTransaction": "Your MoonPay transaction is processing. This may take up to two minutes. You can check your progress from the confirmation email you recieved." + } + } +} diff --git a/public/locales/en/settings.json b/public/locales/en/settings.json index 004ef568f..af2a46387 100644 --- a/public/locales/en/settings.json +++ b/public/locales/en/settings.json @@ -1,17 +1,9 @@ { - "title": "Settings", "section": { - "wallet": { - "title": "Wallet" - }, - "transaction": { - "title": "Transactions", - "noRecentTransactions": "No recent transactions", - "clearTransactions": { - "title": "Clear Transaction History", - "description": "Clearing your transaction history will permanently remove them from the ENS app. Your transactions will still be visible on the blockchain.", - "actionLabel": "Clear History" - } + "primary": { + "title": "Primary Name", + "choosePrimaryName": "Choose primary name", + "noNameDescription": "A primary name links your address to a name, allowing dApps to display a name as your profile when connected to them. Learn about primary names" }, "privacy": { "title": "Privacy", @@ -19,10 +11,18 @@ "clearHistory": "Clear search history" } }, - "primary": { - "title": "Primary Name", - "noNameDescription": "A primary name links your address to a name, allowing dApps to display a name as your profile when connected to them. Learn about primary names", - "choosePrimaryName": "Choose primary name" + "transaction": { + "clearTransactions": { + "title": "Clear Transaction History", + "description": "Clearing your transaction history will permanently remove them from the ENS app. Your transactions will still be visible on the blockchain.", + "actionLabel": "Clear History" + }, + "title": "Transactions", + "noRecentTransactions": "No recent transactions" + }, + "wallet": { + "title": "Wallet" } - } + }, + "title": "Settings" } diff --git a/public/locales/en/transactionFlow.json b/public/locales/en/transactionFlow.json index b129383fc..ecfec1da3 100644 --- a/public/locales/en/transactionFlow.json +++ b/public/locales/en/transactionFlow.json @@ -1,5 +1,12 @@ { "input": { + "editResolver": { + "latestLabel": "Use latest resolver", + "etherscan": "Etherscan", + "latestMessage": "You are on the latest resolver", + "customLabel": "Custom resolver", + "title": "Edit Resolver" + }, "profileEditor": { "tabs": { "avatar": { @@ -7,19 +14,6 @@ "selectNFT": "Select NFT", "uploadImage": "Upload Image" }, - "nft": { - "title": "Select an NFT", - "searchPlaceholder": "Search for an NFT", - "loading": "Loading your NFTs", - "unknown": "Unknown NFT", - "loadError": "NFT cannot be loaded", - "noNFTs": "No NFTs found for this address.", - "selected": { - "title": "Selected NFT", - "subtitle": "Are you sure you want to use this NFT?" - }, - "noResults": "No results found." - }, "image": { "title": "Edit Image", "upload": { @@ -27,88 +21,66 @@ "subtitle": "You need to sign a message to upload an avatar. This won't cost anything.", "action": "Sign and Upload" } + }, + "nft": { + "loadError": "NFT cannot be loaded", + "unknown": "Unknown NFT", + "selected": { + "title": "Selected NFT", + "subtitle": "Are you sure you want to use this NFT?" + }, + "loading": "Loading your NFTs", + "searchPlaceholder": "Search for an NFT", + "noResults": "No results found.", + "noNFTs": "No NFTs found for this address.", + "title": "Select an NFT" } }, "general": { - "label": "General", - "name": { - "label": "Nickname", - "placeholder": "John Smith" - }, - "url": { - "label": "Website", - "placeholder": "https://ens.domains" - }, - "location": { - "label": "Location", - "placeholder": "Metaverse" - }, - "description": { - "label": "Short Bio", - "placeholder": "I'm a yield farmer from rural Tennessee." - } + "label": "General" }, "accounts": { "label": "Accounts", "addAccount": "Add account", - "noOptions": "No account options available", - "placeholder": { - "default": "Add username here", - "com.twitter": "e.g. nicksdjohnson", - "com.github": "e.g. arachnid", - "com.discord": "e.g. nickjohnson", - "org.telegram": "e.g. nicksdjohnson", - "email": "e.g. hello@example.com" - } + "noOptions": "No account options available" }, "address": { "label": "Address", "addAddress": "Add address", - "noOptions": "No address options available", - "placeholder": { - "default": "Add address here", - "eth": "0xD9hbQK...", - "bnb": "0xD9hbQK...", - "btc": "3FZbgi29...", - "ltc": "3FZbgi29...", - "sol": "D4kA7VzHnmV...", - "dot": "1D4kA7VxH...", - "doge": "DFabcd12..." - } + "noOptions": "No address options available" }, "contentHash": { "label": "Website", - "addContentHash": "Add decentralized website", - "placeholder": { - "default": "Add url here", - "ipfs": "ipfs://...", - "skynet": "sia://...", - "arweave": "ar://...", - "swarm": "bzz://...", - "onion": "onion3://..." - } + "addContentHash": "Add decentralized website" }, "other": { "label": "Other", "addRecord": "Add record", - "createRecord": "Type a record name...", - "placeholder": { - "default": "Add a value here..." - } + "createRecord": "Type a record name..." + } + }, + "intro": { + "migrateProfile": { + "description": "This will migrate your current profile records to the latest resolver." + }, + "resetProfile": { + "description": "This will remove all profile records from the latest resolver and then update the resolver." + }, + "migrateCurrentProfile": { + "description": "This will migrate your current profile records to the latest resolver." } }, "warningOverlay": { + "invalidResolver": { + "title": "Unauthorised resolver", + "subtitle": "You do not have permission to set records for this resolver. You will need to update to the latest resolver to edit your profile." + }, "action": { "learnMoreResolvers": "Learn more about resolvers", "updateResolver": "Update resolver", "setResolver": "Set resolver", "ignoreUpdate": "Ignore this and continue using your current resolver. You will be asked again next time." }, - "invalidResolver": { - "title": "Unauthorised resolver", - "subtitle": "You do not have permission to set records for this resolver. You will need to update to the latest resolver to edit your profile.", - "action": "Update resolver" - }, "migrateProfileSelector": { "title": "Profile", "subtitle": "The profile records on each resolver do not match. Which set of records would you like to use?", @@ -130,8 +102,7 @@ }, "noResolver": { "title": "No resolver set", - "subtitle": "A resolver needs to be set before editing your profile.", - "action": "Update" + "subtitle": "A resolver needs to be set before editing your profile." }, "resetProfile": { "title": "Reset profile", @@ -168,40 +139,19 @@ "title": "Keep current profile", "subtitle": "Unselecting this will reset your profile." } - }, - "links": { - "learnMoreResolvers": "Learn more about resolvers" - } - }, - "intro": { - "resetProfile": { - "title": "Reset profile", - "description": "This will remove all profile records from the latest resolver and then update the resolver." - }, - "migrateProfile": { - "title": "Migrate profile", - "description": "This will migrate your current profile records to the latest resolver." - }, - "migrateCurrentProfile": { - "title": "Migrate profile", - "description": "This will migrate your current profile records to the latest resolver." } } }, - "editResolver": { - "title": "Edit Resolver", - "latestLabel": "Use latest resolver", - "etherscan": "Etherscan", - "latestMessage": "You are on the latest resolver", - "customLabel": "Custom resolver", - "customPlaceholder": "Enter custom resolver address" + "deleteEmancipatedSubnameWarning": { + "title": "This subname cannot be recreated", + "message": "Deleting this subname will prevent it from being used or recreated until it has expired{{date}}. This cannot be undone because the parent control permissions have been revoked." + }, + "deleteSubnameNotParentWarning": { + "title": "You cannot recreate this subname", + "message": "Only the {{ownershipTerm}} of the parent name ({{parentOwner}}) can recreate this subname. You will not be able to recreate this name yourself once it has been deleted." }, "editRoles": { "views": { - "main": { - "title": "Edit roles", - "noneSet": "None set" - }, "editRole": { "title": "Change {{role}}", "views": { @@ -209,89 +159,106 @@ "current": "Current {{role}}" } } + }, + "main": { + "noneSet": "None set" + } + } + }, + "sendName": { + "views": { + "search": { + "placeholder": "ENS name or Ethereum address", + "views": { + "error": { + "message": "Something went wrong. Please try again." + }, + "intro": { + "message": "Search for an ENS name or ETH address" + }, + "noResults": { + "message": "No results found" + } + } + }, + "error": { + "title": "Cannot send name", + "description": "You do not have permission to send this name." + }, + "confirmation": { + "title": "Sending name", + "description": "Sending this name transfers ownership to the recipient, giving them your control.", + "warning": "You will lose the ability to modify, receive payments, or use it as your primary name.", + "learnMore": "Learn about sending names" + }, + "summary": { + "fields": { + "summary": { + "title": "Summary of changes", + "updates": { + "role": "Update {{role}} role to {{address}}", + "eth-record": "Update ETH record to {{address}}" + }, + "remove": { + "profile": "Remove profile records" + } + }, + "name": { + "expires": "Expires {{date}}", + "label": "Name" + }, + "recipient": "Recipient", + "options": { + "label": "Options", + "title": "Reset profile", + "description": "Remove all profile records. This costs additional gas." + } + }, + "title": "Send name" } } }, "extendNames": { - "title_one": "Extend Name", - "title_other": "Extend {{count}} Names", + "invoice": { + "extension": "{{time}} extension", + "transaction": "Transaction fee" + }, "ownershipWarning": { "title_one": "You do not own this name", "title_other": "You do not own all these names", "description_one": "Extending this name will extend the current owner's registration length. This will not give you ownership of it.", "description_other": "Extending these names will extend the current owner's registration length. This will not give you ownership if you are not already the owner." }, - "invoice": { - "extension": "{{time}} extension", - "transaction": "Transaction fee", - "total": "Estimated total" - }, - "bannerMsg": "Extending for multiple years will save money on network costs by avoiding yearly transactions.", - "gasLimitError": "Insufficient funds" + "title_one": "Extend Name", + "title_other": "Extend {{count}} Names", + "gasLimitError": "Insufficient funds", + "bannerMsg": "Extending for multiple years will save money on network costs by avoiding yearly transactions." }, - "transferProfile": { - "title": "Transfer Profile", - "message1": "Before upgrading, you can transfer your current profile if you'd like, otherwise it will be reset when you upgrade.", - "message2": "Would you like to transfer your current profile?" + "resetPrimaryName": { + "title": "Remove Primary Name", + "description": "This name will no longer appear as the name for this address. However, transactions to this name will still resolve to this address unless you remove the ETH record." }, "revokePermissions": { + "action": { + "revoke": "Revoke" + }, "views": { - "revokeWarning": { - "title": "This will make permanent changes", - "subtitle": "Permissions are an advanced feature that make permanent changes to your name. You will not be able to undo these changes, and they will only be reset if the name expires.", - "subtitle2": "Make sure you are confident using this feature before proceeding. Learn more about permissions" - }, - "revokePCC": { - "title": "Give up ownership", - "subtitle": "This will give ownership of this name to the manager ({{account}}). Unless you are also the manager, you will no longer be able to make changes to this name." - }, "grantExtendExpiry": { "title": "Change permissions", "fuses": { "CAN_EXTEND_EXPIRY": "Grant permission to: Extend expiry" } }, - "setExpiry": { - "title": "Set name expiry", - "subtitle": "Set a date when permissions will expire. This date cannot be longer than the expiry of its parent ({{parent}}).", - "subtitleWithCEE": "Set a date when this name will expire. This will replace it’s existing permission expiry ({{expiry}}), and cannot be later than the expiry of its parent ({{parent}}).", - "options": { - "max": "Max", - "custom": "Choose an earlier date" - }, - "error": { - "required": "A date is required if a custom date is selected", - "min": "Date must be greater than {{date}}", - "max": "Date must be less than {{date}}" - } - }, - "revokeAdditional": { - "title": "Revoke permissions", - "subtitle": "Would you like to revoke permissions on this name before giving up ownership? This can only be done now.", - "action": { - "title": "Revoke additional permissions", - "description": "Unless you are also the manager, you will not be able to revoke additional permissions after this." - } - }, - "revokeUnwrap": { - "title": "Revoke permissions", - "subtitle": "You are required to revoke this permission before others can be revoked. This prevents permissions from being removed.", - "fuses": { - "CANNOT_UNWRAP": "Revoke permission to: Unwrap this name" - } + "lastWarning": { + "title": "Are you absolutely sure?", + "subtitle": "You are making changes that can only undone when the name expires ({{date}}).", + "message": "Please type your ENS name ({{name}}) to confirm." }, "revokePermissions": { "title": "Revoke permissions", - "unwrapSubtitle": "Select this to enable the others", "fuses": { "CAN_EXTEND_EXPIRY": "Grant permission to: Extend expiry.", - "CANNOT_UNWRAP": "Revoke permission to: Unwrap this name", - "CANNOT_CREATE_SUBDOMAIN": "Revoke permission to: Create subdomains", - "CANNOT_TRANSFER": "Revoke permission to: Send this name", - "CANNOT_SET_RESOLVER": "Revoke permission to: Set resolver", - "CANNOT_SET_TTL": "Revoke permission to: Set TTL", - "CANNOT_BURN_FUSES": "Revoke permission to: Change permissions", - "CANNOT_APPROVE": "Revoke permission to: Change renewal manager" + "CANNOT_UNWRAP": "Revoke permission to: Unwrap this name" } }, "revokeChangeFuses": { @@ -305,90 +272,43 @@ "title": "Remaining permissions will be locked", "subtitle": "Permissions and custom fuses will be permanently locked in their current state after ‘change permissions’ is revoked. This will only be reset if the name expires." }, - "lastWarning": { - "title": "Are you absolutely sure?", - "subtitle": "You are making changes that can only undone when the name expires ({{date}}).", - "message": "Please type your ENS name ({{name}}) to confirm." + "revokePCC": { + "title": "Give up ownership", + "subtitle": "This will give ownership of this name to the manager ({{account}}). Unless you are also the manager, you will no longer be able to make changes to this name." + }, + "revokeUnwrap": { + "title": "Revoke permissions", + "subtitle": "You are required to revoke this permission before others can be revoked. This prevents permissions from being removed.", + "fuses": { + "CANNOT_UNWRAP": "Revoke permission to: Unwrap this name" + } + }, + "revokeWarning": { + "title": "This will make permanent changes", + "subtitle": "Permissions are an advanced feature that make permanent changes to your name. You will not be able to undo these changes, and they will only be reset if the name expires.", + "subtitle2": "Make sure you are confident using this feature before proceeding. Learn more about permissions" + }, + "setExpiry": { + "title": "Set name expiry", + "subtitleWithCEE": "Set a date when this name will expire. This will replace it’s existing permission expiry ({{expiry}}), and cannot be later than the expiry of its parent ({{parent}}).", + "subtitle": "Set a date when permissions will expire. This date cannot be longer than the expiry of its parent ({{parent}}).", + "options": { + "max": "Max", + "custom": "Choose an earlier date" + }, + "error": { + "required": "A date is required if a custom date is selected", + "min": "Date must be greater than {{date}}", + "max": "Date must be less than {{date}}" + } } - }, - "action": { - "revoke": "Revoke" } }, - "unknownLabels": { - "title": "Confirm your name", - "subtitle": "Some of the labels in your name aren't known. Please enter them to continue." - }, - "deleteEmancipatedSubnameWarning": { - "title": "This subname cannot be recreated", - "message": "Deleting this subname will prevent it from being used or recreated until it has expired{{date}}. This cannot be undone because the parent control permissions have been revoked." - }, - "deleteSubnameNotParentWarning": { - "title": "You cannot recreate this subname", - "message": "Only the {{ownershipTerm}} of the parent name ({{parentOwner}}) can recreate this subname. You will not be able to recreate this name yourself once it has been deleted." - }, "selectPrimaryName": { "title": "Select a primary name", "errors": { - "noNamesFound": "No names found", - "noEligibleNames": "No eligible names" - } - }, - "resetPrimaryName": { - "title": "Remove Primary Name", - "description": "This name will no longer appear as the name for this address. However, transactions to this name will still resolve to this address unless you remove the ETH record." - }, - "sendName": { - "views": { - "error": { - "title": "Cannot send name", - "description": "You do not have permission to send this name." - }, - "search": { - "placeholder": "ENS name or Ethereum address", - "views": { - "error": { - "message": "Something went wrong. Please try again." - }, - "intro": { - "message": "Search for an ENS name or ETH address" - }, - "noResults": { - "message": "No results found" - } - } - }, - "summary": { - "title": "Send name", - "fields": { - "name": { - "label": "Name", - "expires": "Expires {{date}}" - }, - "recipient": "Recipient", - "options": { - "label": "Options", - "title": "Reset profile", - "description": "Remove all profile records. This costs additional gas." - }, - "summary": { - "title": "Summary of changes", - "updates": { - "role": "Update {{role}} role to {{address}}", - "eth-record": "Update ETH record to {{address}}" - }, - "remove": { - "profile": "Remove profile records" - } - } - } - }, - "confirmation": { - "title": "Sending name", - "description": "Sending this name transfers ownership to the recipient, giving them your control.", - "warning": "You will lose the ability to modify, receive payments, or use it as your primary name.", - "learnMore": "Learn about sending names" - } + "noEligibleNames": "No eligible names", + "noNamesFound": "No names found" } }, "syncManager": { @@ -396,33 +316,32 @@ "description": "Syncing the manager will make you the new manager of this name. The current manager ({{manager}}) will no longer be able to make changes.", "warning": "Syncing the manager will also unwrap this name. This will burn the NFT and reset any permissions." }, + "unknownLabels": { + "title": "Confirm your name", + "subtitle": "Some of the labels in your name aren't known. Please enter them to continue." + }, "verifyProfile": { - "list": { - "title": "Verify your profile", - "message": " You can verify profile information and add proofs of personhood. Verified records will be marked on your profile with a blue check." - }, "dentity": { "title": "Dentity verification", "description": "Proceed to Dentity to verify your profile. You’ll need to provide proof of ownership for the records you want to verify. Dentity does not share any private information with ENS.", "helper": "Your verification will not be complete until you have returned to ENS and updated your records. This will require a transaction.", "remove": "Remove Dentity from profile", "link": "Go to Dentity" + }, + "list": { + "title": "Verify your profile", + "message": " You can verify profile information and add proofs of personhood. Verified records will be marked on your profile with a blue check." } } }, - "transaction": { - "extendNames": { - "actionValue": "Extend registration", - "costValue": "{{value}} + fees", - "warning": "Extending this name will not give you ownership of it" - }, - "deleteSubname": { - "warning": "Hello out there" - } + "action": { + "back": "" }, "intro": { + "multiStepSubnameDelete": { + "description": "Deleting this subname requires multiple transactions" + }, "migrateAndUpdateResolver": { - "title": "Action Required", "heading": "The edits you want to save to your profile require that you upgrade your resolver.", "link": "Learn more about resolver upgrades", "warning": "Note that if you cancel this at any point your changes will not be saved." @@ -430,27 +349,12 @@ "syncManager": { "description": "Syncing the manager will make you the new manager of this name. The current manager ({{manager}}) will no longer be able to make changes.", "wrappedWarning": "Syncing the manager will also unwrap this name. This will burn the NFT and reset any permissions." - }, - "selectPrimaryName": { - "updateEthAddress": { - "title": "Update ETH address", - "description": "The ETH address for this name doesn't match this wallet. To use this as your primary name you will need to update the ETH address first." - }, - "noResolver": { - "title": "No resolver set", - "description": "To use this as your primary name you will need to set a resolver and update the ETH address first." - }, - "invalidResolver": { - "title": "Unauthorized resolver set", - "description": "To use this as your primary name you will need to set a valid resolver and update the ETH address first." - } - }, - "multiStepSubnameDelete": { - "title": "Delete Subname", - "description": "Deleting this subname requires multiple transactions" } }, - "errors": { - "duplicateKey": "{{value}} is a duplicate key" + "transaction": { + "extendNames": { + "actionValue": "Extend registration", + "costValue": "{{value}} + fees" + } } } diff --git a/public/locales/en/transactionFlow_old.json b/public/locales/en/transactionFlow_old.json new file mode 100644 index 000000000..9ccdc1fa4 --- /dev/null +++ b/public/locales/en/transactionFlow_old.json @@ -0,0 +1,161 @@ +{ + "input": { + "profileEditor": { + "tabs": { + "general": { + "name": { + "label": "Nickname", + "placeholder": "John Smith" + }, + "url": { + "label": "Website", + "placeholder": "https://ens.domains" + }, + "location": { + "label": "Location", + "placeholder": "Metaverse" + }, + "description": { + "label": "Short Bio", + "placeholder": "I'm a yield farmer from rural Tennessee." + } + }, + "accounts": { + "placeholder": { + "default": "Add username here", + "com.twitter": "e.g. nicksdjohnson", + "com.github": "e.g. arachnid", + "com.discord": "e.g. nickjohnson", + "org.telegram": "e.g. nicksdjohnson", + "email": "e.g. hello@example.com" + } + }, + "address": { + "placeholder": { + "default": "Add address here", + "eth": "0xD9hbQK...", + "bnb": "0xD9hbQK...", + "btc": "3FZbgi29...", + "ltc": "3FZbgi29...", + "sol": "D4kA7VzHnmV...", + "dot": "1D4kA7VxH...", + "doge": "DFabcd12..." + } + }, + "contentHash": { + "placeholder": { + "default": "Add url here", + "ipfs": "ipfs://...", + "skynet": "sia://...", + "arweave": "ar://...", + "swarm": "bzz://...", + "onion": "onion3://..." + } + }, + "other": { + "placeholder": { + "default": "Add a value here..." + } + } + }, + "warningOverlay": { + "invalidResolver": { + "action": "Update resolver" + }, + "noResolver": { + "action": "Update" + }, + "links": { + "learnMoreResolvers": "Learn more about resolvers" + } + }, + "intro": { + "resetProfile": { + "title": "Reset profile" + }, + "migrateProfile": { + "title": "Migrate profile" + }, + "migrateCurrentProfile": { + "title": "Migrate profile" + } + } + }, + "editResolver": { + "customPlaceholder": "Enter custom resolver address" + }, + "editRoles": { + "views": { + "main": { + "title": "Edit roles" + } + } + }, + "extendNames": { + "invoice": { + "total": "Estimated total" + } + }, + "transferProfile": { + "title": "Transfer Profile", + "message1": "Before upgrading, you can transfer your current profile if you'd like, otherwise it will be reset when you upgrade.", + "message2": "Would you like to transfer your current profile?" + }, + "revokePermissions": { + "views": { + "revokeAdditional": { + "title": "Revoke permissions", + "subtitle": "Would you like to revoke permissions on this name before giving up ownership? This can only be done now.", + "action": { + "title": "Revoke additional permissions", + "description": "Unless you are also the manager, you will not be able to revoke additional permissions after this." + } + }, + "revokePermissions": { + "unwrapSubtitle": "Select this to enable the others", + "fuses": { + "CANNOT_CREATE_SUBDOMAIN": "Revoke permission to: Create subdomains", + "CANNOT_TRANSFER": "Revoke permission to: Send this name", + "CANNOT_SET_RESOLVER": "Revoke permission to: Set resolver", + "CANNOT_SET_TTL": "Revoke permission to: Set TTL", + "CANNOT_BURN_FUSES": "Revoke permission to: Change permissions", + "CANNOT_APPROVE": "Revoke permission to: Change renewal manager" + } + } + } + } + }, + "transaction": { + "extendNames": { + "warning": "Extending this name will not give you ownership of it" + }, + "deleteSubname": { + "warning": "Hello out there" + } + }, + "intro": { + "migrateAndUpdateResolver": { + "title": "Action Required" + }, + "selectPrimaryName": { + "updateEthAddress": { + "title": "Update ETH address", + "description": "The ETH address for this name doesn't match this wallet. To use this as your primary name you will need to update the ETH address first." + }, + "noResolver": { + "title": "No resolver set", + "description": "To use this as your primary name you will need to set a resolver and update the ETH address first." + }, + "invalidResolver": { + "title": "Unauthorized resolver set", + "description": "To use this as your primary name you will need to set a valid resolver and update the ETH address first." + } + }, + "multiStepSubnameDelete": { + "title": "Delete Subname" + } + }, + "errors": { + "duplicateKey": "{{value}} is a duplicate key" + } +} diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json new file mode 100644 index 000000000..b1b550dec --- /dev/null +++ b/public/locales/en/translation.json @@ -0,0 +1,102 @@ +{ + "testnetFaucet": { + "explanation": "", + "note": "" + }, + "action": { + "close": "", + "claim": "", + "cancel": "", + "done": "", + "next": "", + "tryAgain": "", + "back": "", + "continue": "", + "changeNetwork": "", + "save": "", + "delete": "" + }, + "navigation": { + "language": "" + }, + "transaction": { + "dialog": { + "intro": { + "trailingButtonResume": "", + "trailingButton": "", + "step": "" + }, + "complete": { + "message": "" + }, + "sent": { + "message": "", + "learn": "" + }, + "confirm": { + "message": "", + "waitingForWallet": "", + "openWallet": "" + } + }, + "error": { + "unknown": "" + }, + "viewEtherscan": "", + "description": { + "approveDnsRegistrar": "", + "approveNameWrapper": "", + "burnFuses": "", + "changePermissions": "", + "claimDnsName": "", + "commitName": "", + "createSubname": "", + "deleteSubname": "", + "importDnsName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "registerName": "", + "removeRecord": "", + "resetPrimaryName": "", + "clearRecords": "", + "resetProfileWithRecords": "", + "syncManager": "", + "testSendName": "", + "unwrapName": "", + "updateRecords": "", + "updateProfile": "", + "updateResolver": "", + "updateRecord": "", + "wrapName": "" + }, + "info": { + "approveNameWrapper": "", + "fuses": { + "PARENT_CANNOT_CONTROL": "", + "grant": "", + "CAN_EXTEND_EXPIRY": "", + "setExpiry": "", + "revoke": "" + }, + "commitName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "setPrimaryName": "", + "testSendName": "", + "updateEthAddressOnLatestResolver": "", + "updateEthAddress": "", + "updateResolver": "", + "wrapName": "" + }, + "itemValue": { + "records_one": "", + "records_other": "" + } + }, + "errors": { + "hasSubnames": "", + "permissionRevoked": "" + }, + "notFound": "", + "unsupportedNetwork": "" +} diff --git a/public/locales/nl/address.json b/public/locales/nl/address.json index cc860e9b1..2fedda8f7 100644 --- a/public/locales/nl/address.json +++ b/public/locales/nl/address.json @@ -1,13 +1,13 @@ -{ - "addressDetails": "Adress Details", - "nameCount": "{{count}} namen", - "filter": "Filter", - "view": "Bekijk", - "noProfile": { - "title": "Nog geen primaire naam", - "message": "Deze wallet moet een primaire naam zetten om een profiel te kunnen maken" - }, - "errors": { - "names": "Kon adress niet vinden" - } -} +{ + "noProfile": { + "title": "Nog geen primaire naam", + "message": "Deze wallet moet een primaire naam zetten om een profiel te kunnen maken" + }, + "errors": { + "names": "Kon adress niet vinden" + }, + "meta": { + "title": "", + "description": "" + } +} diff --git a/public/locales/nl/address_old.json b/public/locales/nl/address_old.json new file mode 100644 index 000000000..950731724 --- /dev/null +++ b/public/locales/nl/address_old.json @@ -0,0 +1,6 @@ +{ + "addressDetails": "Adress Details", + "nameCount": "{{count}} namen", + "filter": "Filter", + "view": "Bekijk" +} diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index ece0febde..f38520bc8 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -1,250 +1,174 @@ -{ - "title": "Jouw web3 gebruikersnaam", - "description": "Jouw web3 identiteit, een naam voor al je crypto Adressen, en je gedecentraliseerde website.", - "loading": "Laden", - "unsupportedNetwork": "Netwerk niet ondersteund", - "action": { - "cancel": "Annuleer", - "change": "Verander", - "upload": "Upload", - "close": "Afsluiten", - "save": "Opslaan", - "edit": "Bewerken", - "view": "Bekijken", - "clear": "Maak leeg", - "update": "Pas aan", - "learnMore": "Leer meer", - "send": "Stuur", - "next": "Volgende", - "add": "Voeg toe", - "set": "Zet", - "search": "Zoek", - "back": "Terug", - "continue": "Volgende", - "confirm": "Confirmeer", - "remove": "Verwijder", - "sign": "Onderteken", - "reset": "Reset", - "transfer": "Transfer", - "tryAgain": "Probeer Opnieuw", - "done": "Klaar", - "burnSelected": "Burn geselecteerd", - "extend": "Brijd uit", - "delete": "Verwijder", - "sort": "Sorteer", - "check": "Check", - "claim": "Claim", - "remindMe": "Herinner mij", - "begin": "Begin", - "finish": "Eindig", - "skip": "Sla over", - "changeNetwork": "Verander Netwerk" - }, - "unit": { - "years_one": "{{count}} jaar", - "years_other": "{{count}} jaren", - "yrs_one": "{{count}} jr", - "yrs_other": "{{count}} jr", - "gas": "{{value}} gas", - "selected": "{{count}} geselecteerd", - "perPage": "{{count}} per pagina" - }, - "navigation": { - "home": "Home", - "about": "Over", - "developers": "Developers", - "community": "Community", - "help": "Help", - "governance": "Governance", - "docs": "Docs", - "bugBounty": "Bug Bounty", - "mediaKit": "Media Kit", - "back": "Terug", - "names": "Namen", - "favourites": "Favorieten", - "settings": "Instellingen" - }, - "wallet": { - "myProfile": "Profiel", - "disconnect": "Disconnect", - "connect": "Verbind Wallet", - "noPrimaryName": "Geen Primary Naam", - "viewProfile": "Bekijk Profiel", - "viewDetails": "Bekijk Details" - }, - "name": { - "expires": "Verloopt", - "noExpiry": "Verloopt niet", - "registrant": "Registrant", - "controller": "Controller", - "dnsOwner": "DNS Eigenaar", - "owner": "Eigenaar", - "manager": "Manager", - "all": "Alle namen", - "expiresInYears_one": "Verloopt in {{count}} jaar", - "expiresInYears_other": "Verloopt in {{count}} jaren", - "expiresInMonths_one": "Verloopt in {{count}} maand", - "expiresInMonths_other": "Verloopt in {{count}} maanden", - "expiresInDays_one": "Verloopt in {{count}} dag", - "expiresInDays_other": "Verloopt in {{count}} dagen", - "extend": "Verleng", - "send": "Verstuur", - "transfer": "Transfer", - "sendManager": "Stuur Manager", - "sendOwner": "Stuur Owner" - }, - "address": { - "label": "Adres", - "viewAddress": "Bekijk Adress", - "copyAddress": "Kopieer Adress" - }, - "records": { - "label": "Records" - }, - "sortTypes": { - "expiryDate": "Verloop Datum", - "labelName": "Naam", - "createdAt": "Creation Datum" - }, - "errors": { - "noResults": "Geen resultaten gevonden." - }, - "transaction": { - "description": { - "setName": "Zet Naam", - "setRecords": "Zet Records", - "test": "Test Transactie", - "addSuccess": "Voeg Success toe", - "sendName": "Stuur Naam", - "migrateProfile": "Migreer Profiel", - "migrateProfileWithSync": "Migreer en update profiel", - "wrapName": "Wrap Naam", - "updateResolver": "Update Resolver", - "updateProfile": "Update Profiel", - "setPrimaryName": "Zet primaire naam", - "updateEthAddress": "Update ETH adres", - "testSendName": "Stuur Naam", - "burnFuses": "Burn permissies", - "createSubname": "Creeer Subnaam", - "deleteSubname": "Verwijder Subnaam", - "extendNames": "Brijd Namen uit", - "importDNSSECName": "importeer DNSSEC Naam", - "commitName": "Start timer", - "registerName": "Registeer Naam", - "approveNameWrapper": "Sta NameWrapper toe", - "clearRecords": "Clear records", - "updateRecords": "Update records" - }, - "info": { - "sendName": "Zet the controller and registrant of the name", - "migrateProfile": "Zet bestaande records op nieuwe resolver", - "migrateProfileWithSync": "Zet bestaande records op nieuwe resolver", - "wrapName": "Wrap naam en zet nieuwe resolver", - "updateResolver": "Verander resolver naar", - "updateProfile": "Update records op bestaande resolver", - "setPrimaryName": "Zet the primary name for your adres", - "updateEthAddress": "Update ETH adres naar dit adress", - "testSendName": "Zet de controller en registrant van de naam", - "createSubname": "Creeer een nieuwe subnaam onder deze name", - "burnFuses": "Burn de gekozen permissies tot naam verlopen is", - "commitName": "Start timer om naam te registreren", - "approveNameWrapper": "Sta de NameWrapper toe om je namen te managen" - }, - "itemLabel": { - "name": "Naam", - "address": "Adres", - "action": "Actie", - "info": "Info", - "to": "Naar", - "currentResolver": "Momentele Resolver", - "newResolver": "Nieuwe Resolver", - "subname": "Subnaam", - "duration": "Duur", - "cost": "Kosten", - "update": "Update" - }, - "itemValue": { - "records_one": "{{count}} record", - "records_other": "{{count}} records" - }, - "status": { - "pending": { - "regular": "Pending" - }, - "confirmed": { - "regular": "Geconfirmeerd", - "notifyTitle": "Transactie Successvol", - "notifyMessage": "Jouw \"{{action}}\" transactie was successvol" - }, - "failed": { - "regular": "Gefaald", - "notifyTitle": "Transactie Gefaald", - "notifyMessage": "Youw \"{{action}}\" transactie faalde en is teruggedraaid" - } - }, - "dialog": { - "intro": { - "trailingButton": "Start", - "trailingButtonResume": "Ga door", - "step": "Stap {{step}}" - }, - "confirm": { - "title": "Confirmeer Details", - "message": "Double check deze details voor dat je confirmeert in je wallet.", - "waitingForWallet": "Wachtende op Wallet", - "openWallet": "Open Wallet" - }, - "sent": { - "title": "Transactie Verstuurd", - "message": "Jouw transactie is nu in progress, je kan dit afsluiten en later terugkomen.", - "progress": { - "title": "Verstuurd", - "message": "Duurt langer dan verwacht" - } - }, - "complete": { - "title": "Transactie Compleet", - "message": "Jouw transactie is nu compleet!", - "progress": { - "title": "Klaar" - } - }, - "failed": { - "title": "Transactie Gefaald", - "progress": { - "title": "Gefaald" - } - }, - "error": { - "gasLimit": "Het gas limiet op je transactie was niet hoog genoeg, probeer aub opnieuw." - } - }, - "viewEtherscan": "Bekijk op Etherscan", - "viewMore": "Bekijk meer" - }, - "search": { - "label": "Zoek naam", - "placeholder": "Zoek voor een naam", - "emptyText": "Type een naam of adres om te zoeken...", - "address": "Adres", - "errors": { - "tooShort": "Naam te kort", - "invalid": "Invalide formaat voor naam" - }, - "status": { - "registered": "Geregistreerd", - "gracePeriod": "Grace Periode", - "premium": "Tijdelijke Premium", - "available": "Beschikbaar", - "notOwned": "Zonder Eigenaar", - "notImported": "Niet Geimporteerd", - "short": "Te kort", - "default": "Invalide" - } - }, - "selectableInput": { - "add": "Voeg toe", - "placeholder": "Kies een optie", - "empty": "Geen opties gevonden" - } -} +{ + "unit": { + "years_one": "{{count}} jaar", + "years_other": "{{count}} jaren", + "gas": "{{value}} gas", + "invalid_date": "", + "perPage_one": "", + "perPage_other": "", + "selected_one": "", + "selected_other": "", + "months_one": "", + "months_other": "", + "days_one": "", + "days_other": "" + }, + "action": { + "search": "Zoek", + "add": "Voeg toe", + "cancel": "Annuleer", + "extend": "Brijd uit", + "sort": "Sorteer", + "remove": "Verwijder", + "continue": "Volgende", + "back": "Terug", + "confirm": "Confirmeer", + "tryAgain": "Probeer Opnieuw", + "learnMore": "Leer meer", + "begin": "Begin", + "next": "Volgende", + "remindMe": "Herinner mij", + "finish": "Eindig", + "enterEmail": "", + "close": "Afsluiten", + "view": "Bekijken", + "send": "Stuur", + "edit": "Bewerken", + "setReminder": "", + "editRoles": "", + "change": "Verander", + "save": "Opslaan", + "understand": "", + "update": "Pas aan", + "setToSelf": "", + "skip": "Sla over", + "delete": "Verwijder" + }, + "errors": { + "invalidAddress": "", + "emailRequired": "", + "emailInvalid": "", + "networkError": { + "blurb": "", + "title": "", + "message": "" + }, + "networkLatency": { + "title": "", + "message": "" + }, + "addressRequired": "" + }, + "navigation": { + "syncMessage": "", + "language": "", + "currency": "", + "settings": "Instellingen" + }, + "search": { + "emptyText": "Type een naam of adres om te zoeken...", + "label": "Zoek naam", + "placeholder": "Zoek voor een naam" + }, + "address": { + "label": "Adres", + "viewAddress": "Bekijk Adress", + "copyAddress": "Kopieer Adress" + }, + "wallet": { + "connect": "Verbind Wallet", + "myProfile": "Profiel", + "disconnect": "Disconnect", + "viewProfile": "Bekijk Profiel", + "viewDetails": "Bekijk Details" + }, + "loading": "Laden", + "steps": { + "enableDnssec": { + "title": "", + "status": { + "enabled": "", + "disabled": { + "heading": "", + "help": "", + "message": "" + } + }, + "help": { + "findOutRegistrar": "" + } + }, + "transaction": { + "mismatching": { + "title": "", + "subtitle": "" + }, + "matching": { + "title": "", + "subtitle": "" + }, + "estimatedNetworkCost": "" + }, + "verifyOwnership": { + "title": "", + "status": { + "mismatching": { + "heading": "", + "help": "", + "message": "", + "error": { + "onchain": "", + "offchain": "" + } + }, + "disconnected": "", + "matching": "" + }, + "action": { + "importWithoutOwnership": "" + } + }, + "selectType": { + "title": "", + "subtitle": "", + "learnMore": "", + "select": { + "heading": "", + "offchain": { + "name": "", + "tag": "", + "description": "" + }, + "onchain": { + "name": "", + "description": "" + } + } + } + }, + "etherscan": "", + "name": { + "graceEnd": "", + "registered": "", + "copy": "", + "expires": "Verloopt", + "noExpiry": "Verloopt niet", + "notOwned": "", + "noParent": "", + "yourPrimaryName": "" + }, + "transaction": { + "viewEtherscan": "Bekijk op Etherscan", + "description": { + "syncManager": "" + } + }, + "dns": { + "refresh": "" + }, + "records": { + "label": "Records" + }, + "title": "Jouw web3 gebruikersnaam", + "description": "Jouw web3 identiteit, een naam voor al je crypto Adressen, en je gedecentraliseerde website." +} diff --git a/public/locales/nl/common_old.json b/public/locales/nl/common_old.json new file mode 100644 index 000000000..0509ba2d8 --- /dev/null +++ b/public/locales/nl/common_old.json @@ -0,0 +1,200 @@ +{ + "unsupportedNetwork": "Netwerk niet ondersteund", + "action": { + "upload": "Upload", + "clear": "Maak leeg", + "set": "Zet", + "sign": "Onderteken", + "reset": "Reset", + "transfer": "Transfer", + "done": "Klaar", + "burnSelected": "Burn geselecteerd", + "check": "Check", + "claim": "Claim", + "changeNetwork": "Verander Netwerk" + }, + "unit": { + "yrs_one": "{{count}} jr", + "yrs_other": "{{count}} jr", + "selected": "{{count}} geselecteerd", + "perPage": "{{count}} per pagina" + }, + "navigation": { + "home": "Home", + "about": "Over", + "developers": "Developers", + "community": "Community", + "help": "Help", + "governance": "Governance", + "docs": "Docs", + "bugBounty": "Bug Bounty", + "mediaKit": "Media Kit", + "back": "Terug", + "names": "Namen", + "favourites": "Favorieten" + }, + "wallet": { + "noPrimaryName": "Geen Primary Naam" + }, + "name": { + "registrant": "Registrant", + "controller": "Controller", + "dnsOwner": "DNS Eigenaar", + "owner": "Eigenaar", + "manager": "Manager", + "all": "Alle namen", + "expiresInYears_one": "Verloopt in {{count}} jaar", + "expiresInYears_other": "Verloopt in {{count}} jaren", + "expiresInMonths_one": "Verloopt in {{count}} maand", + "expiresInMonths_other": "Verloopt in {{count}} maanden", + "expiresInDays_one": "Verloopt in {{count}} dag", + "expiresInDays_other": "Verloopt in {{count}} dagen", + "extend": "Verleng", + "send": "Verstuur", + "transfer": "Transfer", + "sendManager": "Stuur Manager", + "sendOwner": "Stuur Owner" + }, + "sortTypes": { + "expiryDate": "Verloop Datum", + "labelName": "Naam", + "createdAt": "Creation Datum" + }, + "errors": { + "noResults": "Geen resultaten gevonden." + }, + "transaction": { + "description": { + "setName": "Zet Naam", + "setRecords": "Zet Records", + "test": "Test Transactie", + "addSuccess": "Voeg Success toe", + "sendName": "Stuur Naam", + "migrateProfile": "Migreer Profiel", + "migrateProfileWithSync": "Migreer en update profiel", + "wrapName": "Wrap Naam", + "updateResolver": "Update Resolver", + "updateProfile": "Update Profiel", + "setPrimaryName": "Zet primaire naam", + "updateEthAddress": "Update ETH adres", + "testSendName": "Stuur Naam", + "burnFuses": "Burn permissies", + "createSubname": "Creeer Subnaam", + "deleteSubname": "Verwijder Subnaam", + "extendNames": "Brijd Namen uit", + "importDNSSECName": "importeer DNSSEC Naam", + "commitName": "Start timer", + "registerName": "Registeer Naam", + "approveNameWrapper": "Sta NameWrapper toe", + "clearRecords": "Clear records", + "updateRecords": "Update records" + }, + "info": { + "sendName": "Zet the controller and registrant of the name", + "migrateProfile": "Zet bestaande records op nieuwe resolver", + "migrateProfileWithSync": "Zet bestaande records op nieuwe resolver", + "wrapName": "Wrap naam en zet nieuwe resolver", + "updateResolver": "Verander resolver naar", + "updateProfile": "Update records op bestaande resolver", + "setPrimaryName": "Zet the primary name for your adres", + "updateEthAddress": "Update ETH adres naar dit adress", + "testSendName": "Zet de controller en registrant van de naam", + "createSubname": "Creeer een nieuwe subnaam onder deze name", + "burnFuses": "Burn de gekozen permissies tot naam verlopen is", + "commitName": "Start timer om naam te registreren", + "approveNameWrapper": "Sta de NameWrapper toe om je namen te managen" + }, + "itemLabel": { + "name": "Naam", + "address": "Adres", + "action": "Actie", + "info": "Info", + "to": "Naar", + "currentResolver": "Momentele Resolver", + "newResolver": "Nieuwe Resolver", + "subname": "Subnaam", + "duration": "Duur", + "cost": "Kosten", + "update": "Update" + }, + "itemValue": { + "records_one": "{{count}} record", + "records_other": "{{count}} records" + }, + "status": { + "pending": { + "regular": "Pending" + }, + "confirmed": { + "regular": "Geconfirmeerd", + "notifyTitle": "Transactie Successvol", + "notifyMessage": "Jouw \"{{action}}\" transactie was successvol" + }, + "failed": { + "regular": "Gefaald", + "notifyTitle": "Transactie Gefaald", + "notifyMessage": "Youw \"{{action}}\" transactie faalde en is teruggedraaid" + } + }, + "dialog": { + "intro": { + "trailingButton": "Start", + "trailingButtonResume": "Ga door", + "step": "Stap {{step}}" + }, + "confirm": { + "title": "Confirmeer Details", + "message": "Double check deze details voor dat je confirmeert in je wallet.", + "waitingForWallet": "Wachtende op Wallet", + "openWallet": "Open Wallet" + }, + "sent": { + "title": "Transactie Verstuurd", + "message": "Jouw transactie is nu in progress, je kan dit afsluiten en later terugkomen.", + "progress": { + "title": "Verstuurd", + "message": "Duurt langer dan verwacht" + } + }, + "complete": { + "title": "Transactie Compleet", + "message": "Jouw transactie is nu compleet!", + "progress": { + "title": "Klaar" + } + }, + "failed": { + "title": "Transactie Gefaald", + "progress": { + "title": "Gefaald" + } + }, + "error": { + "gasLimit": "Het gas limiet op je transactie was niet hoog genoeg, probeer aub opnieuw." + } + }, + "viewMore": "Bekijk meer" + }, + "search": { + "address": "Adres", + "errors": { + "tooShort": "Naam te kort", + "invalid": "Invalide formaat voor naam" + }, + "status": { + "registered": "Geregistreerd", + "gracePeriod": "Grace Periode", + "premium": "Tijdelijke Premium", + "available": "Beschikbaar", + "notOwned": "Zonder Eigenaar", + "notImported": "Niet Geimporteerd", + "short": "Te kort", + "default": "Invalide" + } + }, + "selectableInput": { + "add": "Voeg toe", + "placeholder": "Kies een optie", + "empty": "Geen opties gevonden" + } +} diff --git a/public/locales/nl/dnssec.json b/public/locales/nl/dnssec.json index 728a67697..4b01ffc40 100644 --- a/public/locales/nl/dnssec.json +++ b/public/locales/nl/dnssec.json @@ -1,65 +1,18 @@ -{ - "general": { - "connectWallet": "Verbind aub je wallet om door te gaan", - "importDNSSECName": "Importeer DNSSEC Naam", - "domainRegistrar": "Domein Registrar" - }, - "registrars": { - "namecheap": "Namecheap", - "domaindotcom": "Domain.com", - "googledomains": "Google Domains", - "dreamhost": "Dreamhost", - "hover": "Hover", - "godaddy": "GoDaddy", - "bluehost": "Bluehost", - "hostgator": "HostGator", - "cloudflare": "Cloudflare", - "findYourRegistrar": "Vind je registrar" - }, - "addTextRecord": { - "title": "Voeg Text Records toe", - "explanation": "Je moet een nieuw DNS record creeeren voor je domain met de volgende details. Dit zal jouw Ethereum Adres als owner van deze naam zetten.", - "syncWarningOne": "Het lijkt erop dat je niet de DNS Eigenaar van dit domain bent, maar je kan hem nogsteeds toevoegen aan de ENS Registry.", - "syncWarningTwo": "Als je eigenaar van dit domain bent verander de _ens TXT record om je Ethereum Adres te hebben en click 'Check' opnieuw, anders click op 'Claim' om door te gaan.", - "type": "Type", - "txt": "TXT", - "errors": { - "SUBDOMAIN_NOT_SET": { - "title": "Subdomein niet gezet", - "content": "Zet aub je _ens subdomein naar de waarde zoals hierboven." - }, - "DNS_RECORD_DOES_NOT_EXIST": { - "title": "Record bestaat niet", - "content": "DNS Record is niet gezet" - }, - "DNS_RECORD_INVALID": { - "title": "Record Invalide", - "content": "Zet aub je record naar de waarde hierboven." - } - } - }, - "claimComplete": { - "title": "Gefeliciteerd!", - "ownerOf": "Je bent nu de eigenaar van:", - "successMessage": "Je domain naam is successvol geimporteerd naar ENS. Je kan nu de naam bekijken en aanpassen.", - "viewName": "Bekijk Naam", - "claimAnother": "Claim nog een" - }, - "claimDomain": { - "title": "Claim je domein", - "syncWarning": "Je importeert een DNS naam waar je niet de eigenaar van bent.", - "verifiedOwnership": "Je hebt eigendom geverifieerd en kan dit domein claimen.", - "pendingTransactionPre": "Je hebt al een", - "pendingTransactionLink": "lopende transactie", - "pendingTransactionPost": "voor deze naam", - "dnsOwner": "DNS Eigenaar", - "networkEst": "Geschatte netwerk kosten" - }, - "enableDNSSEC": { - "title": "Enable DNSSEC", - "instruction": "Je zal je domein registrar moeten bezoeken om DNSSEC aan te kunnen zetten. Zodra het aan staat, click 'Check' om door te gaan naar de volgende stap.", - "registrarHelp": "Kies je registrar van de dropdown voor instructies over hoe dit te doen.", - "findRegistrar": "Vind je registrar", - "DNSSECNotEnabled": "DNSSEC staat nog niet aan voor dit domein." - } -} +{ + "title": "", + "status": { + "checking": "" + }, + "steps": { + "complete": { + "title": "", + "import": { + "warning": "" + }, + "action": { + "claimAnother": "", + "viewName": "" + } + } + } +} diff --git a/public/locales/nl/dnssec_old.json b/public/locales/nl/dnssec_old.json new file mode 100644 index 000000000..918620697 --- /dev/null +++ b/public/locales/nl/dnssec_old.json @@ -0,0 +1,65 @@ +{ + "general": { + "connectWallet": "Verbind aub je wallet om door te gaan", + "importDNSSECName": "Importeer DNSSEC Naam", + "domainRegistrar": "Domein Registrar" + }, + "registrars": { + "namecheap": "Namecheap", + "domaindotcom": "Domain.com", + "googledomains": "Google Domains", + "dreamhost": "Dreamhost", + "hover": "Hover", + "godaddy": "GoDaddy", + "bluehost": "Bluehost", + "hostgator": "HostGator", + "cloudflare": "Cloudflare", + "findYourRegistrar": "Vind je registrar" + }, + "addTextRecord": { + "title": "Voeg Text Records toe", + "explanation": "Je moet een nieuw DNS record creeeren voor je domain met de volgende details. Dit zal jouw Ethereum Adres als owner van deze naam zetten.", + "syncWarningOne": "Het lijkt erop dat je niet de DNS Eigenaar van dit domain bent, maar je kan hem nogsteeds toevoegen aan de ENS Registry.", + "syncWarningTwo": "Als je eigenaar van dit domain bent verander de _ens TXT record om je Ethereum Adres te hebben en click 'Check' opnieuw, anders click op 'Claim' om door te gaan.", + "type": "Type", + "txt": "TXT", + "errors": { + "SUBDOMAIN_NOT_SET": { + "title": "Subdomein niet gezet", + "content": "Zet aub je _ens subdomein naar de waarde zoals hierboven." + }, + "DNS_RECORD_DOES_NOT_EXIST": { + "title": "Record bestaat niet", + "content": "DNS Record is niet gezet" + }, + "DNS_RECORD_INVALID": { + "title": "Record Invalide", + "content": "Zet aub je record naar de waarde hierboven." + } + } + }, + "claimComplete": { + "title": "Gefeliciteerd!", + "ownerOf": "Je bent nu de eigenaar van:", + "successMessage": "Je domain naam is successvol geimporteerd naar ENS. Je kan nu de naam bekijken en aanpassen.", + "viewName": "Bekijk Naam", + "claimAnother": "Claim nog een" + }, + "claimDomain": { + "title": "Claim je domein", + "syncWarning": "Je importeert een DNS naam waar je niet de eigenaar van bent.", + "verifiedOwnership": "Je hebt eigendom geverifieerd en kan dit domein claimen.", + "pendingTransactionPre": "Je hebt al een", + "pendingTransactionLink": "lopende transactie", + "pendingTransactionPost": "voor deze naam", + "dnsOwner": "DNS Eigenaar", + "networkEst": "Geschatte netwerk kosten" + }, + "enableDNSSEC": { + "title": "Enable DNSSEC", + "instruction": "Je zal je domein registrar moeten bezoeken om DNSSEC aan te kunnen zetten. Zodra het aan staat, click 'Check' om door te gaan naar de volgende stap.", + "registrarHelp": "Kies je registrar van de dropdown voor instructies over hoe dit te doen.", + "findRegistrar": "Vind je registrar", + "DNSSECNotEnabled": "DNSSEC staat nog niet aan voor dit domein." + } +} diff --git a/public/locales/nl/error.json b/public/locales/nl/error.json new file mode 100644 index 000000000..ec5adb3a9 --- /dev/null +++ b/public/locales/nl/error.json @@ -0,0 +1,6 @@ +{ + "errorType": { + "title": "", + "message": "" + } +} diff --git a/public/locales/nl/names.json b/public/locales/nl/names.json index f4abf61bd..47d9aefd6 100644 --- a/public/locales/nl/names.json +++ b/public/locales/nl/names.json @@ -1,15 +1,8 @@ -{ - "title": "Namen", - "subtitle": { - "start": "Alle namen eigendom van", - "this": "dit", - "your": "jouw", - "wallet": "wallet" - }, - "empty": "Geen namen gevonden voor dit adres", - "sortTypes": { - "expiryDate": "Verloop Datum", - "labelName": "Naam", - "createdAt": "Creeer Datum" - } -} +{ + "empty": "Geen namen gevonden voor dit adres", + "title": "Namen", + "offchainWarning": { + "title": "", + "text": "" + } +} diff --git a/public/locales/nl/names_old.json b/public/locales/nl/names_old.json new file mode 100644 index 000000000..8b17e3be1 --- /dev/null +++ b/public/locales/nl/names_old.json @@ -0,0 +1,13 @@ +{ + "subtitle": { + "start": "Alle namen eigendom van", + "this": "dit", + "your": "jouw", + "wallet": "wallet" + }, + "sortTypes": { + "expiryDate": "Verloop Datum", + "labelName": "Naam", + "createdAt": "Creeer Datum" + } +} diff --git a/public/locales/nl/profile.json b/public/locales/nl/profile.json index dcdf2b970..f6f116c5a 100644 --- a/public/locales/nl/profile.json +++ b/public/locales/nl/profile.json @@ -1,188 +1,258 @@ -{ - "meta": { - "title": "{{name}} op ENS", - "description": "{{name}}'s profiel op de Ethereum Name Service" - }, - "title": "Profiel", - "yourWallet": "Jouw wallet", - "yourProfile": "Jouw profiel", - "accounts": "Accounts", - "addresses": "Adressen", - "otherRecords": "Andere Records", - "editProfile": "Edit Profiel", - "viewDetails": "Bekijk Details", - "tabs": { - "profile": { - "name": "Profiel", - "actions": { - "setAsPrimaryName": { - "label": "Zet als primaire naam", - "title": "Zet je primaire naam", - "description": "Om dit als primaire naam te kunnen zetten, moet het ETH adres hetzelfde zijn als dit adres." - }, - "deleteSubname": { - "label": "Verwijder subnaam" - }, - "extend": { - "label": "Verleng naam" - } - } - } - }, - "details": { - "title": "Naam Details", - "notWrapped": "Niet wrapped", - "sendName": { - "title": "Stuur Naam", - "description": "Een naam versturen geeft een nieuw adres controle erover", - "learnMore": "Leer meer over eigendom.", - "makeOwner": "Maak eigenaar", - "makeOwnerDescription": "De eigenaar can versturen naar een nieuwe eigenaar en de manager veranderen", - "makeManager": "Maak Manager", - "makeManagerDescription": "De manager can records zetten en aanpassen.", - "inputPlaceholder": "Vul in Ethereum adres of een ENS naam", - "transferSubname": "Transfer Naam", - "transferController": "Transfer Controller" - }, - "wrap": { - "startTitle": "Upgrade je naam", - "resumeTitle": "Hetvat je upgrade", - "completeTitle": "Upgrade compleet", - "description": "Upgrading or \"wrapping\" je naam geeft je nieuwe features.", - "startLabel": "Upgrade", - "resumeLabel": "Hervat Upgrade", - "boxTitle": "Unlock nieuwe features", - "boxDescription": "Je naam upgraden unlockt de laatste functionaliteit van ENS" - }, - "descriptions": { - "owner": "Is eigenaar van en bestuurd de naam", - "controller": "Bestuurd alle records van de naam", - "registrant": "Eigenaar van de NFT", - "dnsOwner": "Eigenaar van de DNS naam" - }, - "tabs": { - "records": { - "label": "Records", - "text": "Tekst", - "contentHash": "Content Hash", - "noContentHash": "Geen Content Hash" - }, - "subnames": { - "label": "Subnamen", - "loading": "Subnamen laden", - "empty": "Geen subnamen zijn toegevoegd", - "noResults": "Geen resultaten", - "noMoreResults": "Niet meer resultaten", - "addSubname": { - "title": "Subnamen laten je meer namen maken van je bestaande naam.", - "learn": "Leer meer over subnamen", - "action": "Nieuwe subnaam", - "dialog": { - "title": "Creeer subnaam", - "error": { - "invalidCharacters": "Bevat invalide tokens", - "mustUseLowercase": "Moet gebruikmaken van lowercase letters", - "alreadyExists": "Naam bestaat al", - "nameTooLong": "Naam is te lang" - } - } - } - }, - "advanced": { - "label": "Geavanceerd", - "resolver": { - "label": "Resolver", - "custom": "Handmatig", - "latest": "Laatste", - "outdated": "Vervallen", - "version": "Versie", - "etherscan": "Etherscan" - }, - "fuses": { - "label": "Fuses", - "info": "Je moet 'Can unwrap' branden om andere fuzen te kunnen branden", - "callToAction": "Wrap uw naam om deze functie te kunnen gebruiken", - "burnFormTitle": "Brand Permissions", - "burned": "Verbrand", - "permissions": { - "label": "Permissies", - "warning": "Fuses kunnen veranderd worden door de parent", - "CAN_DO_EVERYTHING": "Kan alles doen", - "CANNOT_BURN_FUSES": "Kan fuzes verbranden", - "CANNOT_CREATE_SUBDOMAIN": "Kan subdomains creeeren", - "CANNOT_SET_RESOLVER": "Kan resolver zetten", - "CANNOT_SET_TTL": "Kan TTL zetten", - "CANNOT_TRANSFER": "Kan transfer", - "CANNOT_UNWRAP": "Kan unwrap", - "PARENT_CANNOT_CONTROL": "Parent kan besturen" - }, - "vulnerabilities": { - "label": "Vulnerabilities", - "vulnerability": "Vulnerability", - "vulnerableNode": "Vulnerable node", - "none": "None" - } - }, - "tokenId": { - "label": "Token ID", - "hex": "hex", - "decimal": "decimal" - }, - "registrationDate": { - "label": "Registratie Datum" - } - } - } - }, - - "advancedEditor": { - "title": "{{name}}'s records", - "tabs": { - "text": { - "label": "Tekst", - "addRecord": "Voeg record toe", - "createRecord": "Type een record naam...", - "placeholder": { - "default": "Voeg waarde hier toe..." - } - }, - "address": { - "label": "Adres", - "addRecord": "Voeg adres toe", - "noOptions": "Geen adres opties beschikbaar", - "placeholder": { - "default": "Voeg adres hier toe..." - } - }, - "other": { - "label": "Anders", - "labelDisabled": "Niet beschikbaar in de momentele resolver", - "contentHash": { - "label": "Content Hash", - "placeholder": "e.g. ipfs://" - }, - "publicKey": { - "label": "Public Key", - "placeholder": "e.g. pub_1231231231231" - }, - "abi": { - "label": "ABI", - "placeholder": "Enter an ABI here..." - } - } - } - }, - "errors": { - "invalidName": "Deze naam is niet valide.", - "invalidAddress": "Niet een valide adres", - "expiringSoon": "Deze naam verloopt binnekort.", - "ownerManagerChoice": "Moet eigenaar of manager versturen", - "unknown": "Unknown error", - "notMigrated": "Deze naam is nog niet gemigreerd naar de nieuwe registry.", - "featureNotAvailable": "Somige functies zijn nog niet beschikbaar, maar je kan nogsteeds ", - "featureNotAvailableLink": "deze naam bekijken in de oude app.", - "migrationNotAvailable": "Migreren naar de nieuwe registry is nog niet beschikbaar, maar je kan nogsteeds ", - "migrationNotAvailableLink": "deze naam migreren in de oude app.", - "addressLength": "Indien adres moet die 42 karakters lang zijn" - } -} +{ + "errors": { + "keyInUse": "", + "addressLength": "Indien adres moet die 42 karakters lang zijn", + "invalidAddress": "Niet een valide adres", + "invalidName": "Deze naam is niet valide.", + "permissionRevoked": "", + "isOwnerCannotEdit": "", + "cannotEdit": "", + "isOwnerCannotVerify": "", + "cannotVerify": "", + "unsupportedTLD": "", + "migrationNotAvailable": "Migreren naar de nieuwe registry is nog niet beschikbaar, maar je kan nogsteeds ", + "migrationNotAvailableLink": "deze naam migreren in de oude app.", + "expiringSoon": "Deze naam verloopt binnekort.", + "hasExpired": "", + "invalidJSON": "" + }, + "advancedEditor": { + "tabs": { + "other": { + "contentHash": { + "label": "Content Hash", + "placeholder": "e.g. ipfs://" + }, + "labelDisabled": "Niet beschikbaar in de momentele resolver", + "abi": { + "label": "ABI", + "placeholder": "Enter an ABI here..." + }, + "label": "Anders" + }, + "text": { + "label": "Tekst", + "addRecord": "Voeg record toe", + "createRecord": "Type een record naam..." + }, + "address": { + "label": "Adres", + "addRecord": "Voeg adres toe", + "noOptions": "Geen adres opties beschikbaar" + } + }, + "title": "{{name}}'s records" + }, + "tabs": { + "more": { + "burned": "", + "fuses": { + "burnFormTitle": "", + "info": "" + }, + "misc": { + "bankless": { + "submitError": "", + "title": "", + "enterEmail": "", + "emailConfirmation": "" + }, + "reminderOptions": { + "bankless": "" + } + }, + "ownership": { + "refreshDNS": "", + "dnsOwnerWarning": { + "syncManager": "" + }, + "label": "" + }, + "resolver": { + "label": "" + }, + "token": { + "label": "", + "noToken": "", + "hex": "", + "decimal": "", + "wrapper": "", + "unwrap": "", + "wrapName": "" + } + }, + "ownership": { + "warning": { + "ownerNotManager": "", + "managerNotDNSOwner": "", + "dnsOwnerNotManager": "", + "managerNotParentOwner": "" + }, + "sections": { + "contract": { + "title": "", + "tooltip": "", + "warning": "" + }, + "expiry": { + "panel": { + "grace-period": { + "tooltip": "" + } + } + }, + "roles": { + "title": "", + "addresses_one": "", + "addresses_other": "" + } + } + }, + "permissions": { + "expiry": { + "permissions": { + "canExtendExpiry": { + "label": "", + "description": "" + }, + "cannotExtendExpiry": { + "label": "", + "description": "" + } + }, + "action": { + "changePermissions": "" + } + }, + "grantedLabel": "", + "nameChangePermissions": { + "action": { + "changePermissions": "" + } + }, + "role": { + "owner": "", + "parent": "" + }, + "revokedLabel": "", + "ownership": { + "action": { + "giveUpControl": "", + "revokePermission": "" + }, + "parentCannotControl": { + "label": "", + "sublabel": "", + "list": { + "title": "", + "item1": "", + "item2": "", + "item3": "" + } + }, + "parentCanControl": { + "label": "", + "list": { + "title": "", + "item1": "", + "item2": "", + "item3": "" + } + }, + "ownerCanChange": { + "label": "", + "list": { + "title": "", + "item1": "", + "item2": "" + } + }, + "ownerCannotChange": { + "label": "", + "list": { + "title": "" + } + }, + "parentCanChange": { + "label": "", + "list": { + "title": "", + "item1": "", + "item2": "" + } + } + }, + "parentUnlockedWarning": "" + }, + "profile": { + "warnings": { + "offchain": "", + "homoglyph": "", + "wrappedDNS": "" + }, + "actions": { + "verifyProfile": { + "label": "" + }, + "setAsPrimaryName": { + "label": "Zet als primaire naam", + "description": "Om dit als primaire naam te kunnen zetten, moet het ETH adres hetzelfde zijn als dit adres." + }, + "editProfile": { + "label": "" + }, + "deleteSubname": { + "label": "Verwijder subnaam" + }, + "reclaim": { + "label": "", + "warning": "" + } + } + } + }, + "details": { + "sendName": { + "inputPlaceholder": "Vul in Ethereum adres of een ENS naam", + "transferController": "Transfer Controller", + "transferSubname": "Transfer Naam" + }, + "tabs": { + "records": { + "text": "Tekst", + "contentHash": "Content Hash", + "noContentHash": "Geen Content Hash", + "abi": "", + "noAbi": "", + "editRecords": "", + "editRecordsDisabled": "" + }, + "subnames": { + "empty": "Geen subnamen zijn toegevoegd", + "noResults": "Geen resultaten", + "addSubname": { + "title": "Subnamen laten je meer namen maken van je bestaande naam.", + "learn": "Leer meer over subnamen", + "action": "Nieuwe subnaam", + "dialog": { + "title": "Creeer subnaam" + } + } + } + }, + "wrap": { + "description": "Upgrading or \"wrapping\" je naam geeft je nieuwe features." + } + }, + "banner": { + "available": { + "title": "", + "description": "" + } + }, + "yourProfile": "Jouw profiel", + "meta": { + "title": "{{name}} op ENS", + "description": "{{name}}'s profiel op de Ethereum Name Service" + } +} diff --git a/public/locales/nl/profile_old.json b/public/locales/nl/profile_old.json new file mode 100644 index 000000000..85c90937c --- /dev/null +++ b/public/locales/nl/profile_old.json @@ -0,0 +1,141 @@ +{ + "title": "Profiel", + "yourWallet": "Jouw wallet", + "accounts": "Accounts", + "addresses": "Adressen", + "otherRecords": "Andere Records", + "editProfile": "Edit Profiel", + "viewDetails": "Bekijk Details", + "tabs": { + "profile": { + "name": "Profiel", + "actions": { + "setAsPrimaryName": { + "title": "Zet je primaire naam" + }, + "extend": { + "label": "Verleng naam" + } + } + } + }, + "details": { + "title": "Naam Details", + "notWrapped": "Niet wrapped", + "sendName": { + "title": "Stuur Naam", + "description": "Een naam versturen geeft een nieuw adres controle erover", + "learnMore": "Leer meer over eigendom.", + "makeOwner": "Maak eigenaar", + "makeOwnerDescription": "De eigenaar can versturen naar een nieuwe eigenaar en de manager veranderen", + "makeManager": "Maak Manager", + "makeManagerDescription": "De manager can records zetten en aanpassen." + }, + "wrap": { + "startTitle": "Upgrade je naam", + "resumeTitle": "Hetvat je upgrade", + "completeTitle": "Upgrade compleet", + "startLabel": "Upgrade", + "resumeLabel": "Hervat Upgrade", + "boxTitle": "Unlock nieuwe features", + "boxDescription": "Je naam upgraden unlockt de laatste functionaliteit van ENS" + }, + "descriptions": { + "owner": "Is eigenaar van en bestuurd de naam", + "controller": "Bestuurd alle records van de naam", + "registrant": "Eigenaar van de NFT", + "dnsOwner": "Eigenaar van de DNS naam" + }, + "tabs": { + "records": { + "label": "Records" + }, + "subnames": { + "label": "Subnamen", + "loading": "Subnamen laden", + "noMoreResults": "Niet meer resultaten", + "addSubname": { + "dialog": { + "error": { + "invalidCharacters": "Bevat invalide tokens", + "mustUseLowercase": "Moet gebruikmaken van lowercase letters", + "alreadyExists": "Naam bestaat al", + "nameTooLong": "Naam is te lang" + } + } + } + }, + "advanced": { + "label": "Geavanceerd", + "resolver": { + "label": "Resolver", + "custom": "Handmatig", + "latest": "Laatste", + "outdated": "Vervallen", + "version": "Versie", + "etherscan": "Etherscan" + }, + "fuses": { + "label": "Fuses", + "info": "Je moet 'Can unwrap' branden om andere fuzen te kunnen branden", + "callToAction": "Wrap uw naam om deze functie te kunnen gebruiken", + "burnFormTitle": "Brand Permissions", + "burned": "Verbrand", + "permissions": { + "label": "Permissies", + "warning": "Fuses kunnen veranderd worden door de parent", + "CAN_DO_EVERYTHING": "Kan alles doen", + "CANNOT_BURN_FUSES": "Kan fuzes verbranden", + "CANNOT_CREATE_SUBDOMAIN": "Kan subdomains creeeren", + "CANNOT_SET_RESOLVER": "Kan resolver zetten", + "CANNOT_SET_TTL": "Kan TTL zetten", + "CANNOT_TRANSFER": "Kan transfer", + "CANNOT_UNWRAP": "Kan unwrap", + "PARENT_CANNOT_CONTROL": "Parent kan besturen" + }, + "vulnerabilities": { + "label": "Vulnerabilities", + "vulnerability": "Vulnerability", + "vulnerableNode": "Vulnerable node", + "none": "None" + } + }, + "tokenId": { + "label": "Token ID", + "hex": "hex", + "decimal": "decimal" + }, + "registrationDate": { + "label": "Registratie Datum" + } + } + } + }, + "advancedEditor": { + "tabs": { + "text": { + "placeholder": { + "default": "Voeg waarde hier toe..." + } + }, + "address": { + "placeholder": { + "default": "Voeg adres hier toe..." + } + }, + "other": { + "publicKey": { + "label": "Public Key", + "placeholder": "e.g. pub_1231231231231" + } + } + } + }, + "errors": { + "ownerManagerChoice": "Moet eigenaar of manager versturen", + "unknown": "Unknown error", + "notMigrated": "Deze naam is nog niet gemigreerd naar de nieuwe registry.", + "featureNotAvailable": "Somige functies zijn nog niet beschikbaar, maar je kan nogsteeds ", + "featureNotAvailableLink": "deze naam bekijken in de oude app." + } +} diff --git a/public/locales/nl/register.json b/public/locales/nl/register.json index ad1b25255..1869c570f 100644 --- a/public/locales/nl/register.json +++ b/public/locales/nl/register.json @@ -1,64 +1,119 @@ -{ - "title": "Registreer {{name}} op ENS", - "subtitle": "Registreer", - "heading": "Registreer {{name}}", - "invoice": { - "yearRegistration": "{{years}} jaar registratie", - "registration": "Registratie", - "estimatedNetworkFee": "Geschatte netwerk kosten", - "networkFee": "Netwerk kosten", - "temporaryPremium": "Tijdelijke premium", - "total": "Geschat totaal", - "totalPaid": "Totaal te betalen" - }, - "error": { - "nameTooLong": "De naam die je wilt registreren is te lang. Kies een kortere naam." - }, - "steps": { - "pricing": { - "insufficientBalance": "Niet genoeg balans", - "multipleYearsMessage": "Verlengen voor meerdere jaren scheelt netwerk kosten door jaarlijke transacties te voorkomen.", - "primaryName": "Gebruik als primaire naam", - "primaryNameMessage": "Dit linkt je adres naar deze naam. Dit staat toe dat apps deze naam laten zien op je profiel als je ingelogt bent.", - "premium": { - "heading": "Deze naam heeft een tijdelijke premium", - "subheading": "Om een eerlijke kans te geven aan recentelijk verlopen namen begint de premium begint bij $100,000,000 en loopt af tot $0 over een periode van 21 days. Je kan de premium per datum hieronder bereken.", - "targetPrice": "Doel prijs", - "targetDate": "Doel datum", - "timezone": "Datum en tijd worden weer gegeven in lokale tijdzone ({{timezone}})" - } - }, - "profile": { - "default": "Standaard", - "advanced": "Geavanceerd", - "permissions": "Permissies", - "resolver": "Resolver", - "visibilityMessage": "Je profiel informatie word opgeslagen op de blockchain. Alles wat je toevoegd is publiekelijk zichtbaar." - }, - "complete": { - "heading": "Gefeliciteerd!", - "subheading": "Je bent nu de eigenaar van ", - "description": "Je naam was successvol geregistreerd. Je kan nu de naam bekijken en aanpassen.", - "registerAnother": "Registreer nog een", - "viewName": "Bekijk naam" - }, - "info": { - "heading": "Voor dat we starten", - "subheading": "Je naam registreren gaat in drie stappen", - "items": [ - "Doe een transactie om de timer te beginnen", - "Wacht 60 seconden op de timer", - "Doe een tweede transactie om je naam vast te leggen" - ], - "setupProfile": "Ik zet graag eerst mijn profiel op" - }, - "transactions": { - "heading": "Bijna klaar", - "subheading": "Deze timer stopt andere mensen om jou naam te registreren voordat jou dit lukt.", - "startTimer": "Start timer", - "wait": "Wacht", - "transactionFailed": "Transactie Gefaald", - "transactionProgress": "Transactie bezig" - } - } -} +{ + "invoice": { + "timeRegistration": "", + "estimatedNetworkFee": "Geschatte netwerk kosten", + "temporaryPremium": "Tijdelijke premium", + "total": "Geschat totaal", + "registration": "Registratie", + "networkFee": "Netwerk kosten", + "totalPaid": "Totaal te betalen" + }, + "title": "Registreer {{name}} op ENS", + "error": { + "nameTooLong": "De naam die je wilt registreren is te lang. Kies een kortere naam." + }, + "steps": { + "info": { + "moonpayModalHeader": "", + "moonpayTestCard": "", + "heading": "Voor dat we starten", + "subheading": "Je naam registreren gaat in drie stappen", + "setupProfile": "Ik zet graag eerst mijn profiel op", + "paymentMethod": "", + "ethereum": "", + "notEnoughEth": "", + "creditOrDebit": "", + "additionalFee": "", + "failedMoonpayTransaction": "", + "poweredBy": "", + "processing": "" + }, + "complete": { + "heading": "Gefeliciteerd!", + "subheading": "Je bent nu de eigenaar van ", + "description": "Je naam was successvol geregistreerd. Je kan nu de naam bekijken en aanpassen.", + "registerAnother": "Registreer nog een", + "viewName": "Bekijk naam" + }, + "pricing": { + "primaryName": "Gebruik als primaire naam", + "primaryNameMessage": "Dit linkt je adres naar deze naam. Dit staat toe dat apps deze naam laten zien op je profiel als je ingelogt bent.", + "insufficientBalance": "Niet genoeg balans", + "multipleYearsMessage": "Verlengen voor meerdere jaren scheelt netwerk kosten door jaarlijke transacties te voorkomen.", + "premium": { + "heading": "Deze naam heeft een tijdelijke premium", + "subheading": "Om een eerlijke kans te geven aan recentelijk verlopen namen begint de premium begint bij $100,000,000 en loopt af tot $0 over een periode van 21 days. Je kan de premium per datum hieronder bereken.", + "targetPrice": "Doel prijs", + "targetDate": "Doel datum", + "timezone": "Datum en tijd worden weer gegeven in lokale tijdzone ({{timezone}})" + } + }, + "profile": { + "addProfile": "", + "options": { + "groups": { + "other": { + "items": { + "custom": "" + } + }, + "custom": { + "key": "", + "value": "" + }, + "address": { + "itemLabel": "", + "placeholder": { + "default": "" + } + }, + "default": { + "placeholder": "" + } + } + }, + "errors": { + "labelRequired": "", + "keyRequired": "", + "avatarReserved": "", + "duplicateRecord": "", + "invalidValue": "" + }, + "actions": { + "skipProfile": "" + }, + "confirmations": { + "publicNotice": { + "title": "", + "description": "", + "confirm": "", + "decline": "" + }, + "clearEth": { + "title": "", + "description": "", + "confirm": "", + "decline": "" + } + }, + "title": "", + "addMore": "", + "title2": "" + }, + "cancelRegistration": { + "heading": "", + "contentOne": "", + "contentTwo": "", + "footer": "" + }, + "transactions": { + "heading": "Bijna klaar", + "subheading": "Deze timer stopt andere mensen om jou naam te registreren voordat jou dit lukt.", + "transactionFailed": "Transactie Gefaald", + "transactionProgress": "Transactie bezig", + "wait": "Wacht", + "startTimer": "Start timer" + } + }, + "heading": "Registreer {{name}}" +} diff --git a/public/locales/nl/register_old.json b/public/locales/nl/register_old.json new file mode 100644 index 000000000..e8399b3e8 --- /dev/null +++ b/public/locales/nl/register_old.json @@ -0,0 +1,22 @@ +{ + "subtitle": "Registreer", + "invoice": { + "yearRegistration": "{{years}} jaar registratie" + }, + "steps": { + "profile": { + "default": "Standaard", + "advanced": "Geavanceerd", + "permissions": "Permissies", + "resolver": "Resolver", + "visibilityMessage": "Je profiel informatie word opgeslagen op de blockchain. Alles wat je toevoegd is publiekelijk zichtbaar." + }, + "info": { + "items": [ + "Doe een transactie om de timer te beginnen", + "Wacht 60 seconden op de timer", + "Doe een tweede transactie om je naam vast te leggen" + ] + } + } +} diff --git a/public/locales/nl/settings.json b/public/locales/nl/settings.json index 6167a35fc..04b8d82dc 100644 --- a/public/locales/nl/settings.json +++ b/public/locales/nl/settings.json @@ -1,22 +1,28 @@ -{ - "title": "Instelligen", - "section": { - "wallet": { - "title": "Wallet" - }, - "transaction": { - "title": "Transacties", - "noRecentTransactions": "Geen recente transacties" - }, - "primary": { - "title": "Primaire Naam", - "loading": "Primaire naam laden...", - "noName": "Geen primaire naam gezet.", - "input": { - "title": "Kies een primaire naam", - "noNames": "Geen geschikte namen gevonden voor dit adres", - "loading": "Namen laden" - } - } - } -} +{ + "section": { + "primary": { + "title": "Primaire Naam", + "choosePrimaryName": "", + "noNameDescription": "" + }, + "privacy": { + "title": "", + "action": { + "clearHistory": "" + } + }, + "transaction": { + "clearTransactions": { + "title": "", + "description": "", + "actionLabel": "" + }, + "title": "Transacties", + "noRecentTransactions": "Geen recente transacties" + }, + "wallet": { + "title": "Wallet" + } + }, + "title": "Instelligen" +} diff --git a/public/locales/nl/settings_old.json b/public/locales/nl/settings_old.json new file mode 100644 index 000000000..fb9bb8b87 --- /dev/null +++ b/public/locales/nl/settings_old.json @@ -0,0 +1,13 @@ +{ + "section": { + "primary": { + "loading": "Primaire naam laden...", + "noName": "Geen primaire naam gezet.", + "input": { + "title": "Kies een primaire naam", + "noNames": "Geen geschikte namen gevonden voor dit adres", + "loading": "Namen laden" + } + } + } +} diff --git a/public/locales/nl/transactionFlow.json b/public/locales/nl/transactionFlow.json index aae480c3f..74fc0c814 100644 --- a/public/locales/nl/transactionFlow.json +++ b/public/locales/nl/transactionFlow.json @@ -1,164 +1,360 @@ -{ - "input": { - "profileEditor": { - "tabs": { - "avatar": { - "dropdown": { - "selectNFT": "Kies NFT", - "uploadImage": "Upload Foto" - }, - "nft": { - "title": "Kies een NFT", - "searchPlaceholder": "Zoek voor een NFT", - "loading": "Jouw NFTs laden", - "unknown": "Onbekende NFT", - "noNFTs": "Geen NFTs gevonden voor dit adres.", - "selected": { - "title": "Geselecteerde NFT", - "subtitle": "Weet je zeker dat je deze NFT wilt gebruiken?" - } - }, - "image": { - "title": "Pas foto aan", - "upload": { - "title": "Upload Avatar", - "subtitle": "Je moet een bericht ondertekenen om een avatar te kunnen uploaden. Hier zitten geen kosten aan verbonden.", - "action": "Onderteken en upload" - } - } - }, - "general": { - "label": "Algemeen", - "name": { - "label": "Bijnaam", - "placeholder": "Jan Smit" - }, - "url": { - "label": "Website", - "placeholder": "https://ens.domains" - }, - "location": { - "label": "Location", - "placeholder": "Metaverse" - }, - "description": { - "label": "Short Bio", - "placeholder": "Ik ben een kaaskop uit nederland." - } - }, - "accounts": { - "label": "Accounts", - "addAccount": "Voeg account toe", - "noOptions": "Geen account opties beschikbaar", - "placeholder": { - "default": "Voeg username hier toe", - "com.twitter": "e.g. ensdomains", - "com.github": "e.g. ensdomains", - "com.discord": "e.g. nickjohnson" - } - }, - "address": { - "label": "Adres", - "addAddress": "Voeg adres toe", - "noOptions": "Geen adres opties beschikbaar", - "placeholder": { - "default": "Voeg adres hier toe", - "ETH": "0xD9hbQK...", - "BNB": "0xD9hbQK...", - "BTC": "3FZbgi29...", - "LTC": "3FZbgi29...", - "SOL": "D4kA7VzHnmV...", - "DOT": "1D4kA7VxH...", - "DOGE": "DFabcd12..." - } - }, - "contentHash": { - "label": "Website", - "addContentHash": "Voeg gedecentralizeerde website hier toe", - "placeholder": { - "default": "Voeg url hier toe", - "ipfs": "ipfs://...", - "skynet": "sia://...", - "arweave": "ar://...", - "swarm": "bzz://..." - } - }, - "other": { - "label": "Anders", - "addRecord": "Voeg record toe", - "createRecord": "Type record naam...", - "placeholder": { - "default": "Voeg waarde hier toe..." - } - } - }, - "warningOverlay": { - "resumable": { - "title": "Hervatbare transactie", - "subtitle": "Je hebt hiervoor een transactie gestart. Click Hervat om die voort te zetten.", - "action": "Hervat" - }, - "migrate": { - "title": "Migreer resolver", - "subtitle": "Je hebt je profiel gemigreerd maar je resolver nog niet geupdate. Click update om naar de laatste resolver te updaten.", - "action": "Update" - }, - "noResolver": { - "title": "Geen resolver gekoppeld", - "subtitle": "Je moet een resolver zetten om je profiel aan te kunnen passen.", - "action": "Update" - }, - "oldRegistry": { - "title": "Je registry is out of date", - "subtitle": "Migreren naar de nieuwe registry is niet beschikbaar, maar je kan hem nogsteeds migreren via de oude app.", - "action": "Migreer" - }, - "default": { - "title": "Je resolver is out of date", - "subtitle": "Profiel editing kan pas na dat de resolver is geupdate.", - "action": "Update" - } - } - }, - "editResolver": { - "latestLabel": "Gebruik laatste resolver", - "etherscan": "Etherscan", - "latestMessage": "Je gebruikt de laatste resolver", - "customLabel": "Handmatige resolver", - "customPlaceholder": "Vul handmatige resolver adres hier" - }, - "extendNames": { - "title_one": "Verleng Naam", - "title_other": "Verleng {{count}} Namen", - "invoice": { - "extension": "{{count}} jaar verlenging", - "transaction": "Transactie Kosten", - "total": "Geschatte kosten" - }, - "bannerMsg": "Verlengen voor meerdere jaren scheelt netwerk kosten door jaarlijke transacties te voorkomen.", - "gasLimitError": "Onvoldoende balans" - }, - "transferProfile": { - "title": "Transfer Profiel", - "message1": "Voor het upgraden kan je je momentele profiel overkopieren, anders raak je deze kwijt na de upgrade.", - "message2": "Wil je je momentele profiel overkopieren?" - } - }, - "transaction": { - "extendNames": { - "actionValue": "Verleng registratie", - "costValue": "{{value}} + kosten", - "warning": "Deze naam verlengen zal je niet eigenaar maken" - }, - "deleteSubname": { - "warning": "Hello out there" - } - }, - "intro": { - "migrateAndUpdateResolver": { - "title": "De aanpassingen die je wil maken aan je profiel vereisen dat je je profiel upgrade.", - "link": "Leer meer over resolver upgrades", - "warning": "Weet dat als je dit op welk moment dan ook cancelled dat de aanpassingen ongedaan gemaakt worden." - } - } -} +{ + "input": { + "editResolver": { + "latestLabel": "Gebruik laatste resolver", + "etherscan": "Etherscan", + "latestMessage": "Je gebruikt de laatste resolver", + "customLabel": "Handmatige resolver", + "title": "" + }, + "profileEditor": { + "tabs": { + "avatar": { + "dropdown": { + "selectNFT": "Kies NFT", + "uploadImage": "Upload Foto" + }, + "image": { + "title": "Pas foto aan", + "upload": { + "title": "Upload Avatar", + "subtitle": "Je moet een bericht ondertekenen om een avatar te kunnen uploaden. Hier zitten geen kosten aan verbonden.", + "action": "Onderteken en upload" + } + }, + "nft": { + "loadError": "", + "unknown": "Onbekende NFT", + "selected": { + "title": "Geselecteerde NFT", + "subtitle": "Weet je zeker dat je deze NFT wilt gebruiken?" + }, + "loading": "Jouw NFTs laden", + "searchPlaceholder": "Zoek voor een NFT", + "noResults": "", + "noNFTs": "Geen NFTs gevonden voor dit adres.", + "title": "Kies een NFT" + } + }, + "general": { + "label": "Algemeen" + }, + "accounts": { + "label": "Accounts", + "addAccount": "Voeg account toe", + "noOptions": "Geen account opties beschikbaar" + }, + "address": { + "label": "Adres", + "addAddress": "Voeg adres toe", + "noOptions": "Geen adres opties beschikbaar" + }, + "contentHash": { + "label": "Website", + "addContentHash": "Voeg gedecentralizeerde website hier toe" + }, + "other": { + "label": "Anders", + "addRecord": "Voeg record toe", + "createRecord": "Type record naam..." + } + }, + "intro": { + "migrateProfile": { + "description": "" + }, + "resetProfile": { + "description": "" + }, + "migrateCurrentProfile": { + "description": "" + } + }, + "warningOverlay": { + "invalidResolver": { + "title": "", + "subtitle": "" + }, + "action": { + "learnMoreResolvers": "", + "updateResolver": "", + "setResolver": "", + "ignoreUpdate": "" + }, + "migrateProfileSelector": { + "title": "", + "subtitle": "", + "option": { + "latest": "", + "current": "", + "reset": "", + "resetSubtitle": "" + } + }, + "migrateProfileWarning": { + "title": "", + "subtitle": "" + }, + "migrateRegistry": { + "title": "", + "subtitle": "", + "action": "" + }, + "noResolver": { + "title": "Geen resolver gekoppeld", + "subtitle": "Je moet een resolver zetten om je profiel aan te kunnen passen." + }, + "resetProfile": { + "title": "", + "subtitle": "" + }, + "resolverNotNameWrapperAware": { + "title": "", + "subtitle": "", + "toggle": { + "title": "", + "subtitle": "" + } + }, + "resolverOutOfDate": { + "title": "", + "subtitle": "" + }, + "resolverOutOfSync": { + "title": "", + "subtitle": "" + }, + "transferOrResetProfile": { + "title": "", + "subtitle": "", + "toggle": { + "title": "", + "subtitle": "" + } + }, + "updateResolverOrResetProfile": { + "title": "", + "subtitle": "", + "toggle": { + "title": "", + "subtitle": "" + } + } + } + }, + "deleteEmancipatedSubnameWarning": { + "title": "", + "message": "" + }, + "deleteSubnameNotParentWarning": { + "title": "", + "message": "" + }, + "editRoles": { + "views": { + "editRole": { + "title": "", + "views": { + "intro": { + "current": "" + } + } + }, + "main": { + "noneSet": "" + } + } + }, + "sendName": { + "views": { + "search": { + "placeholder": "", + "views": { + "error": { + "message": "" + }, + "intro": { + "message": "" + }, + "noResults": { + "message": "" + } + } + }, + "error": { + "title": "", + "description": "" + }, + "confirmation": { + "title": "", + "description": "", + "warning": "", + "learnMore": "" + }, + "summary": { + "fields": { + "summary": { + "title": "", + "updates": { + "role": "", + "eth-record": "" + }, + "remove": { + "profile": "" + } + }, + "name": { + "expires": "", + "label": "" + }, + "recipient": "", + "options": { + "label": "", + "title": "", + "description": "" + } + }, + "title": "" + } + } + }, + "extendNames": { + "invoice": { + "extension": "{{count}} jaar verlenging", + "transaction": "Transactie Kosten" + }, + "ownershipWarning": { + "title_one": "", + "title_other": "", + "description_one": "", + "description_other": "" + }, + "title_one": "Verleng Naam", + "title_other": "Verleng {{count}} Namen", + "gasLimitError": "Onvoldoende balans", + "bannerMsg": "Verlengen voor meerdere jaren scheelt netwerk kosten door jaarlijke transacties te voorkomen." + }, + "resetPrimaryName": { + "title": "", + "description": "" + }, + "revokePermissions": { + "action": { + "revoke": "" + }, + "views": { + "grantExtendExpiry": { + "title": "", + "fuses": { + "CAN_EXTEND_EXPIRY": "" + } + }, + "lastWarning": { + "title": "", + "subtitle": "", + "message": "" + }, + "revokePermissions": { + "title": "", + "fuses": { + "CAN_EXTEND_EXPIRY": "", + "CANNOT_UNWRAP": "" + } + }, + "revokeChangeFuses": { + "title": "", + "subtitle": "", + "fuses": { + "CANNOT_BURN_FUSES": "" + } + }, + "revokeChangeFusesWarning": { + "title": "", + "subtitle": "" + }, + "revokePCC": { + "title": "", + "subtitle": "" + }, + "revokeUnwrap": { + "title": "", + "subtitle": "", + "fuses": { + "CANNOT_UNWRAP": "" + } + }, + "revokeWarning": { + "title": "", + "subtitle": "", + "subtitle2": "{t('input.revokePermissions.views.revokeWarning.subtitle2')}" + }, + "setExpiry": { + "title": "", + "subtitleWithCEE": "", + "subtitle": "", + "options": { + "max": "", + "custom": "" + }, + "error": { + "required": "", + "min": "", + "max": "" + } + } + } + }, + "selectPrimaryName": { + "title": "", + "errors": { + "noEligibleNames": "", + "noNamesFound": "" + } + }, + "syncManager": { + "title": "", + "description": "", + "warning": "" + }, + "unknownLabels": { + "title": "", + "subtitle": "" + }, + "verifyProfile": { + "dentity": { + "title": "", + "description": "", + "helper": "", + "remove": "", + "link": "" + }, + "list": { + "title": "", + "message": "" + } + } + }, + "action": { + "back": "" + }, + "intro": { + "multiStepSubnameDelete": { + "description": "" + }, + "migrateAndUpdateResolver": { + "heading": "", + "link": "Leer meer over resolver upgrades", + "warning": "Weet dat als je dit op welk moment dan ook cancelled dat de aanpassingen ongedaan gemaakt worden." + }, + "syncManager": { + "description": "", + "wrappedWarning": "" + } + }, + "transaction": { + "extendNames": { + "actionValue": "Verleng registratie", + "costValue": "{{value}} + kosten" + } + } +} diff --git a/public/locales/nl/transactionFlow_old.json b/public/locales/nl/transactionFlow_old.json new file mode 100644 index 000000000..9de478015 --- /dev/null +++ b/public/locales/nl/transactionFlow_old.json @@ -0,0 +1,111 @@ +{ + "input": { + "profileEditor": { + "tabs": { + "general": { + "name": { + "label": "Bijnaam", + "placeholder": "Jan Smit" + }, + "url": { + "label": "Website", + "placeholder": "https://ens.domains" + }, + "location": { + "label": "Location", + "placeholder": "Metaverse" + }, + "description": { + "label": "Short Bio", + "placeholder": "Ik ben een kaaskop uit nederland." + } + }, + "accounts": { + "placeholder": { + "default": "Voeg username hier toe", + "com.twitter": "e.g. ensdomains", + "com.github": "e.g. ensdomains", + "com.discord": "e.g. nickjohnson" + } + }, + "address": { + "placeholder": { + "default": "Voeg adres hier toe", + "ETH": "0xD9hbQK...", + "BNB": "0xD9hbQK...", + "BTC": "3FZbgi29...", + "LTC": "3FZbgi29...", + "SOL": "D4kA7VzHnmV...", + "DOT": "1D4kA7VxH...", + "DOGE": "DFabcd12..." + } + }, + "contentHash": { + "placeholder": { + "default": "Voeg url hier toe", + "ipfs": "ipfs://...", + "skynet": "sia://...", + "arweave": "ar://...", + "swarm": "bzz://..." + } + }, + "other": { + "placeholder": { + "default": "Voeg waarde hier toe..." + } + } + }, + "warningOverlay": { + "resumable": { + "title": "Hervatbare transactie", + "subtitle": "Je hebt hiervoor een transactie gestart. Click Hervat om die voort te zetten.", + "action": "Hervat" + }, + "migrate": { + "title": "Migreer resolver", + "subtitle": "Je hebt je profiel gemigreerd maar je resolver nog niet geupdate. Click update om naar de laatste resolver te updaten.", + "action": "Update" + }, + "noResolver": { + "action": "Update" + }, + "oldRegistry": { + "title": "Je registry is out of date", + "subtitle": "Migreren naar de nieuwe registry is niet beschikbaar, maar je kan hem nogsteeds migreren via de oude app.", + "action": "Migreer" + }, + "default": { + "title": "Je resolver is out of date", + "subtitle": "Profiel editing kan pas na dat de resolver is geupdate.", + "action": "Update" + } + } + }, + "editResolver": { + "customPlaceholder": "Vul handmatige resolver adres hier" + }, + "extendNames": { + "invoice": { + "total": "Geschatte kosten" + } + }, + "transferProfile": { + "title": "Transfer Profiel", + "message1": "Voor het upgraden kan je je momentele profiel overkopieren, anders raak je deze kwijt na de upgrade.", + "message2": "Wil je je momentele profiel overkopieren?" + } + }, + "transaction": { + "extendNames": { + "warning": "Deze naam verlengen zal je niet eigenaar maken" + }, + "deleteSubname": { + "warning": "Hello out there" + } + }, + "intro": { + "migrateAndUpdateResolver": { + "title": "De aanpassingen die je wil maken aan je profiel vereisen dat je je profiel upgrade." + } + } +} diff --git a/public/locales/nl/translation.json b/public/locales/nl/translation.json new file mode 100644 index 000000000..b1b550dec --- /dev/null +++ b/public/locales/nl/translation.json @@ -0,0 +1,102 @@ +{ + "testnetFaucet": { + "explanation": "", + "note": "" + }, + "action": { + "close": "", + "claim": "", + "cancel": "", + "done": "", + "next": "", + "tryAgain": "", + "back": "", + "continue": "", + "changeNetwork": "", + "save": "", + "delete": "" + }, + "navigation": { + "language": "" + }, + "transaction": { + "dialog": { + "intro": { + "trailingButtonResume": "", + "trailingButton": "", + "step": "" + }, + "complete": { + "message": "" + }, + "sent": { + "message": "", + "learn": "" + }, + "confirm": { + "message": "", + "waitingForWallet": "", + "openWallet": "" + } + }, + "error": { + "unknown": "" + }, + "viewEtherscan": "", + "description": { + "approveDnsRegistrar": "", + "approveNameWrapper": "", + "burnFuses": "", + "changePermissions": "", + "claimDnsName": "", + "commitName": "", + "createSubname": "", + "deleteSubname": "", + "importDnsName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "registerName": "", + "removeRecord": "", + "resetPrimaryName": "", + "clearRecords": "", + "resetProfileWithRecords": "", + "syncManager": "", + "testSendName": "", + "unwrapName": "", + "updateRecords": "", + "updateProfile": "", + "updateResolver": "", + "updateRecord": "", + "wrapName": "" + }, + "info": { + "approveNameWrapper": "", + "fuses": { + "PARENT_CANNOT_CONTROL": "", + "grant": "", + "CAN_EXTEND_EXPIRY": "", + "setExpiry": "", + "revoke": "" + }, + "commitName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "setPrimaryName": "", + "testSendName": "", + "updateEthAddressOnLatestResolver": "", + "updateEthAddress": "", + "updateResolver": "", + "wrapName": "" + }, + "itemValue": { + "records_one": "", + "records_other": "" + } + }, + "errors": { + "hasSubnames": "", + "permissionRevoked": "" + }, + "notFound": "", + "unsupportedNetwork": "" +} diff --git a/public/locales/ru/address.json b/public/locales/ru/address.json index 864df3288..892bcd3c7 100644 --- a/public/locales/ru/address.json +++ b/public/locales/ru/address.json @@ -1,18 +1,13 @@ { - "meta": { - "title": "{{address}} на ENS", - "description": "Все имена для {{address}} в Ethereum Name Service" - }, - "addressDetails": "Детали адреса", - "nameCount": "{{count}} имён", - "filter": "Фильтр", - "view": "Просмотр", "noProfile": { "title": "Основное имя не установлено", "message": "Этот кошелек должен установить основное имя для создания профиля" }, - "noResults": "Имена не найдены", "errors": { "names": "Не удалось найти адрес" + }, + "meta": { + "title": "{{address}} на ENS", + "description": "Все имена для {{address}} в Ethereum Name Service" } } diff --git a/public/locales/ru/address_old.json b/public/locales/ru/address_old.json new file mode 100644 index 000000000..2eccd27a3 --- /dev/null +++ b/public/locales/ru/address_old.json @@ -0,0 +1,7 @@ +{ + "addressDetails": "Детали адреса", + "nameCount": "{{count}} имён", + "filter": "Фильтр", + "view": "Просмотр", + "noResults": "Имена не найдены" +} diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index c23b3bc4e..b6dc9f17c 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -1,397 +1,184 @@ { - "title": "Ваше веб3 имя пользователя", - "description": "Ваша идентификация в веб3, одно имя для всех ваших криптоадресов и вашего децентрализованного вебсайта.", - "loading": "Загрузка", - "unsupportedNetwork": "Неподдерживаемая сеть", - "notFound": "404 Не найдено", - "etherscan": "Etherscan", + "unit": { + "years_one": "{{count}} год", + "years_few": "", + "years_many": "", + "years_other": "{{count}} лет", + "gas": "{{value}} газа", + "invalid_date": "Неверная дата", + "perPage_one": "", + "perPage_few": "", + "perPage_many": "", + "perPage_other": "", + "selected_one": "", + "selected_few": "", + "selected_many": "", + "selected_other": "", + "months_one": "{{count}} месяц", + "months_few": "", + "months_many": "", + "months_other": "{{count}} месяцев", + "days_one": "{{count}} день", + "days_few": "", + "days_many": "", + "days_other": "{{count}} дней" + }, "action": { - "cancel": "Отмена", - "change": "Изменить", - "upload": "Загрузить", - "close": "Закрыть", - "save": "Сохранить", - "edit": "Редактировать", - "view": "Просмотр", - "clear": "Очистить", - "update": "Обновить", - "learnMore": "Узнать больше", - "send": "Отправить", - "next": "Далее", - "add": "Добавить", - "set": "Установить", "search": "Поиск", - "back": "Назад", + "add": "Добавить", + "cancel": "Отмена", + "extend": "Продлить", + "sort": "Сортировать", + "remove": "Удалить", "continue": "Продолжить", + "back": "Назад", "confirm": "Подтвердить", - "remove": "Удалить", - "sign": "Подписать", - "reset": "Сбросить", - "transfer": "Передать", "tryAgain": "Попробовать снова", - "done": "Готово", - "burnSelected": "Сжечь выбранное", - "extend": "Продлить", - "delete": "Удалить", - "sort": "Сортировать", - "check": "Проверить", - "claim": "Запросить", - "remindMe": "Напомнить", + "learnMore": "Узнать больше", "begin": "Начать", + "next": "Далее", + "remindMe": "Напомнить", "finish": "Завершить", - "skip": "Пропустить", - "changeNetwork": "Изменить сеть", - "understand": "Понимаю", - "feedback": "Обратная связь", "enterEmail": "Введите ваш email", - "migrate": "Мигрировать", - "setToSelf": "Установить на себя", - "editRoles": "Редактировать роли", + "close": "Закрыть", + "view": "Просмотр", + "send": "Отправить", + "edit": "Редактировать", "setReminder": "Установить напоминание", - "import": "Импортировать", - "connect": "Подключиться" + "editRoles": "Редактировать роли", + "change": "Изменить", + "save": "Сохранить", + "understand": "Понимаю", + "update": "Обновить", + "setToSelf": "Установить на себя", + "skip": "Пропустить", + "delete": "Удалить" }, - "unit": { - "years_one": "{{count}} год", - "years_other": "{{count}} лет", - "months_one": "{{count}} месяц", - "months_other": "{{count}} месяцев", - "days_one": "{{count}} день", - "days_other": "{{count}} дней", - "invalid_date": "Неверная дата", - "yrs_one": "{{count}} г", - "yrs_other": "{{count}} л", - "gas": "{{value}} газа", - "selected": "Выбрано: {{count}}", - "perPage": "{{count}} на странице" + "errors": { + "invalidAddress": "Недействительный адрес", + "emailRequired": "Необходим email", + "emailInvalid": "Недействительный адрес электронной почты", + "networkError": { + "blurb": "Эта кнопка в настоящее время отключена из-за проблем с синхронизацией данных.", + "title": "Ошибка синхронизации данных", + "message": "Эти данные могут быть устаревшими. Пожалуйста, проявляйте осторожность." + }, + "networkLatency": { + "title": "Медленная синхронизация данных", + "message": "Приложение ENS испытывает замедление из-за проблем с сетевой задержкой." + }, + "addressRequired": "Необходим адрес" }, "navigation": { - "home": "Главная", - "names": "Мои Имена", - "favourites": "Избранное", - "settings": "Настройки", - "governance": "Управление", - "community": "Сообщество", - "developers": "Разработчики", - "support": "Поддержка", - "bounty": "Награда за баги", - "terms": "Условия Использования", - "privacy": "Политика Конфиденциальности", - "back": "Назад", - "oldApp": "Старое Приложение ENS", + "syncMessage": "Синхронизация с сетью. Изменения от вашей транзакции могут еще не отображаться.", "language": "Язык", "currency": "Валюта", - "ipfsApp": "IPFS Приложение ENS", - "feedback": "Обратная связь", - "syncMessage": "Синхронизация с сетью. Изменения от вашей транзакции могут еще не отображаться." - }, - "wallet": { - "myProfile": "Профиль", - "disconnect": "Отключить", - "connect": "Подключить", - "noPrimaryName": "Нет Основного Имени", - "viewProfile": "Просмотреть Профиль", - "viewDetails": "Просмотреть Детали", - "register": "Зарегистрировать" + "settings": "Настройки" }, - "name": { - "registered": "Зарегистрировано", - "expires": "Истекает", - "graceEnd": "Конец льготного периода", - "noExpiry": "Без срока действия", - "expiry": "Срок действия", - "parent": "Родитель", - "noParent": "Нет родителя", - "registrant": "Регистратор", - "controller": "Контролер", - "dnsOwner": "DNS Владелец", - "owner": "Владелец", - "notOwned": "Не принадлежит", - "manager": "Менеджер", - "all": "Все Имена", - "copy": "Скопировать имя", - "yourPrimaryName": "Ваше основное имя", - "expiresInYears_one": "Истекает через {{count}} год", - "expiresInYears_other": "Истекает через {{count}} года", - "expiresInMonths_one": "Истекает через {{count}} месяц", - "expiresInMonths_other": "Истекает через {{count}} месяца", - "expiresInDays_one": "Истекает через {{count}} день", - "expiresInDays_other": "Истекает через {{count}} дня", - "expiresInHours_one": "Истекает через {{count}} час", - "expiresInHours_other": "Истекает через {{count}} часов", - "expiresInHours_zero": "Истекает меньше чем через час", - "expiredInHours_one": "Истек {{count}} час назад", - "expiredInHours_other": "Истекло {{count}} часов назад", - "expiredInHours_zero": "Истекло меньше чем час назад", - "expiredInDays_one": "Истек {{count}} день назад", - "expiredInDays_other": "Истекло {{count}} дня назад", - "expiredInMonths_one": "Истек {{count}} месяц назад", - "expiredInMonths_other": "Истекло {{count}} месяца назад", - "expiredInYears_one": "Истек {{count}} год назад", - "expiredInYears_other": "Истекло {{count}} года назад", - "gracePeriod": { - "expiresInYears_one": "Льготный период истекает через {{count}} год", - "expiresInYears_other": "Льготный период истекает через {{count}} года", - "expiresInMonths_one": "Льготный период истекает через {{count}} месяц", - "expiresInMonths_other": "Льготный период истекает через {{count}} месяца", - "expiresInDays_one": "Льготный период истекает через {{count}} день", - "expiresInDays_other": "Льготный период истекает через {{count}} дня", - "expiresInHours_one": "Льготный период истекает через {{count}} час", - "expiresInHours_other": "Льготный период истекает через {{count}} часов", - "expiresInHours_zero": "Льготный период истекает менее чем через час" - }, - "extend": "Продлить", - "send": "Отправить", - "transfer": "Передать", - "sendManager": "Отправить Менеджеру", - "sendOwner": "Отправить Владельцу", - "renew": "Продлить {{name}}" + "search": { + "emptyText": "Введите имя или адрес для поиска...", + "label": "Поиск имени", + "placeholder": "Поиск имени" }, "address": { "label": "Адрес", "viewAddress": "Просмотреть адрес", "copyAddress": "Копировать адрес" }, - "records": { - "label": "Записи" - }, - "sortTypes": { - "expiryDate": "Дата истечения", - "labelName": "Имя", - "createdAt": "Дата создания" - }, - "errors": { - "noResults": "Результаты не найдены", - "emailRequired": "Необходим email", - "emailInvalid": "Недействительный адрес электронной почты", - "invalidAddress": "Недействительный адрес", - "addressRequired": "Необходим адрес", - "indexingErrors": { - "title": "Ошибка синхронизации данных", - "message": "Эти данные могут быть устаревшими. Пожалуйста, проявляйте осторожность.", - "message_datetime": "Эти данные были обновлены в {{datetime}} и могут быть устаревшими. Пожалуйста, проявляйте осторожность." - }, - "networkError": { - "title": "Ошибка синхронизации данных", - "message": "Эти данные могут быть устаревшими. Пожалуйста, проявляйте осторожность.", - "blurb": "Эта кнопка в настоящее время отключена из-за проблем с синхронизацией данных." - }, - "networkLatency": { - "title": "Медленная синхронизация данных", - "message": "Приложение ENS испытывает замедление из-за проблем с сетевой задержкой." - } + "wallet": { + "connect": "Подключить", + "myProfile": "Профиль", + "disconnect": "Отключить", + "viewProfile": "Просмотреть Профиль", + "viewDetails": "Просмотреть Детали" }, - "transaction": { - "description": { - "setName": "Установить имя", - "setRecords": "Установить записи", - "test": "Тестовая транзакция", - "addSuccess": "Добавить успех", - "sendName": "Отправить имя", - "migrateProfile": "Мигрировать профиль", - "migrateProfileWithReset": "Мигрировать профиль", - "migrateProfileWithSync": "Мигрировать и обновить профиль", - "migrateProfileWithEthAddress": "Мигрировать и обновить ETH адрес", - "wrapName": "Объединить имя", - "updateResolver": "Обновить резолвер", - "updateProfile": "Обновить профиль", - "setPrimaryName": "Установить основное имя", - "resetPrimaryName": "Удалить основное имя", - "updateEthAddress": "Обновить ETH адрес", - "testSendName": "Отправить имя", - "burnFuses": "Сжечь разрешения", - "createSubname": "Создать подимя", - "deleteSubname": "Удалить подимя", - "extendNames": "Продлить имена", - "approveDnsRegistrar": "Одобрить DNS регистратор", - "claimDnsName": "Запросить DNS имя", - "importDnsName": "Импортировать DNS имя", - "commitName": "Запустить таймер", - "registerName": "Зарегистрировать имя", - "approveNameWrapper": "Одобрить NameWrapper", - "clearRecords": "Очистить записи", - "updateRecords": "Обновить записи", - "resetProfileWithRecords": "Сбросить профиль с записями", - "transferName": "Передать имя", - "transferSubname": "Передать подимя", - "changePermissions": "Изменить разрешения", - "syncManager": "Синхронизировать менеджера", - "updateProfileRecords": "Обновить профиль", - "resetProfile": "Сбросить профиль", - "unwrapName": "Развернуть имя" - }, - "info": { - "sendName": "Установить контроллера и регистранта имени", - "migrateProfile": "Установить существующие записи на новом резолвере", - "migrateProfileWithReset": "Установить существующие записи на новом резолвере", - "migrateProfileWithSync": "Установить существующие записи на новом резолвере", - "migrateProfileWithEthAddress": "Установить существующие записи и ETH адрес на новом резолвере", - "wrapName": "Объединить имя", - "updateResolver": "Изменить резолвер на", - "updateProfile": "Обновить записи на существующем резолвере", - "setPrimaryName": "Установить основное имя для вашего адреса", - "updateEthAddress": "Обновить ETH адрес на этот адрес", - "updateEthAddressOnLatestResolver": "Обновить ETH адрес на последнем резолвере", - "testSendName": "Установить контроллера и регистранта имени", - "createSubname": "Создать новое подимя на имя", - "burnFuses": "Сжечь выбранные разрешения до истечения имени", - "commitName": "Запустить таймер для регистрации имени", - "approveNameWrapper": "Одобрить NameWrapper для управления вашими именами", - "fuses": { - "revoke": "Отозвать", - "grant": "Выдать", - "setExpiry": "Установить срок действия", - "PARENT_CANNOT_CONTROL": "Отказаться от контроля родителя", - "CAN_EXTEND_EXPIRY": "Продлить срок действия", - "CANNOT_UNWRAP": "Развернуть это имя", - "CANNOT_CREATE_SUBDOMAIN": "Создать поддомены", - "CANNOT_SET_RESOLVER": "Установить резолвер", - "CANNOT_SET_TTL": "Установить TTL", - "CANNOT_TRANSFER": "Отправить это имя", - "CANNOT_BURN_FUSES": "Изменить разрешения", - "CANNOT_APPROVE": "Изменить менеджера обновлений" - } - }, - "itemLabel": { - "name": "Имя", - "address": "Адрес", - "action": "Действие", - "info": "Информация", - "to": "Кому", - "subname": "Подимя", - "duration": "Продолжительность", - "cost": "Стоимость", - "update": "Обновление", - "resolver": "Резолвер", - "records": "Записи" - }, - "itemValue": { - "records_one": "{{count}} запись", - "records_other": "{{count}} записей" - }, - "status": { - "pending": { - "regular": "В ожидании" - }, - "confirmed": { - "regular": "Подтверждено", - "notifyTitle": "Транзакция успешна", - "notifyMessage": "Ваша транзакция \"{{action}}\" была успешной" + "loading": "Загрузка", + "steps": { + "enableDnssec": { + "title": "", + "status": { + "enabled": "", + "disabled": { + "heading": "", + "help": "", + "message": "" + } }, - "failed": { - "regular": "Неудача", - "notifyTitle": "Сбой транзакции", - "notifyMessage": "Ваша транзакция \"{{action}}\" не удалась и была отменена" + "help": { + "findOutRegistrar": "" } }, - "dialog": { - "intro": { - "trailingButton": "Начать", - "trailingButtonResume": "Возобновить", - "step": "Шаг {{step}}" + "transaction": { + "mismatching": { + "title": "", + "subtitle": "" }, - "confirm": { - "title": "Подтвердите данные", - "message": "Дважды проверьте эти данные перед подтверждением в вашем кошельке.", - "waitingForWallet": "Ожидание кошелька", - "openWallet": "Открыть кошелек" + "matching": { + "title": "", + "subtitle": "" }, - "sent": { - "title": "Транзакция отправлена", - "message": "Ваша транзакция сейчас в процессе, вы можете закрыть это окно и вернуться позже.", - "progress": { - "title": "Отправлено", - "message": "Длится дольше, чем ожидалось" + "estimatedNetworkCost": "" + }, + "verifyOwnership": { + "title": "", + "status": { + "mismatching": { + "heading": "", + "help": "", + "message": "", + "error": { + "onchain": "", + "offchain": "" + } }, - "learn": "Узнать о длительных транзакциях" - }, - "complete": { - "title": "Транзакция завершена", - "message": "Ваша транзакция завершена!", - "progress": { - "title": "Готово" - } + "disconnected": "", + "matching": "" }, - "failed": { - "title": "Транзакция не удалась", - "progress": { - "title": "Неудача" - } - }, - "error": { - "gasLimit": "Лимит газа в вашей транзакции был недостаточно высоким, пожалуйста, попробуйте снова." + "action": { + "importWithoutOwnership": "" } }, - "error": { - "unknown": "Произошла неизвестная ошибка" - }, - "viewEtherscan": "Посмотреть на Etherscan", - "viewMore": "Посмотреть больше" - }, - "search": { - "label": "Поиск имени", - "placeholder": "Поиск имени", - "emptyText": "Введите имя или адрес для поиска...", - "address": "Адрес", - "errors": { - "tooShort": "Имя слишком короткое", - "invalid": "Неверный формат имени" - }, - "status": { - "registered": "Зарегистрировано", - "gracePeriod": "Проблемный период", - "premium": "Временный премиум", - "available": "Доступно", - "notOwned": "Не принадлежит", - "notImported": "Не импортировано", - "short": "Слишком короткое", - "default": "Неверно", - "invalid": "Неверно", - "unsupportedTLD": "Не поддерживается", - "imported": "Импортировано", - "owned": "Принадлежит" + "selectType": { + "title": "", + "subtitle": "", + "learnMore": "", + "select": { + "heading": "", + "offchain": { + "name": "", + "tag": "", + "description": "" + }, + "onchain": { + "name": "", + "description": "" + } + } } }, - "selectableInput": { - "add": "Добавить", - "placeholder": "Выберите опцию", - "empty": "Опции не найдены" - }, - "testnetFaucet": { - "explanation": "Каждый адрес на {{ testnet }} может получить {{ amount }} {{ ticker }} для тестирования приложения ENS manager, а также для других тестов на тестовой сети.", - "note": "Может занять несколько минут, чтобы появиться в вашем кошельке." + "etherscan": "Etherscan", + "name": { + "graceEnd": "Конец льготного периода", + "registered": "Зарегистрировано", + "copy": "Скопировать имя", + "expires": "Истекает", + "noExpiry": "Без срока действия", + "notOwned": "Не принадлежит", + "noParent": "Нет родителя", + "yourPrimaryName": "Ваше основное имя" }, - "roles": { - "owner": { - "title": "владелец", - "description": "Адрес, который владеет этим именем." - }, - "dns-owner": { - "title": "DNS владелец", - "description": "Адрес, который владеет этим именем." - }, - "parent-owner": { - "title": "Владелец родителя", - "description": "Адрес, который владеет родителем этого имени." - }, - "manager": { - "title": "менеджер", - "description": "Адрес или контракт, который может изменять профиль, настройки и менеджеров профиля." - }, - "profile-editor": { - "title": "Редактор профиля", - "description": "Адрес, который может изменять профиль." - }, - "eth-record": { - "title": "ETH запись", - "description": "Адрес, на который указывает это имя." + "transaction": { + "viewEtherscan": "Посмотреть на Etherscan", + "description": { + "syncManager": "Синхронизировать менеджера" } }, "dns": { "refresh": "Обновить DNS" }, - "calendar": { - "pick_by_years": "Выберите по годам", - "pick_by_date": "Выберите по дате" - } + "records": { + "label": "Записи" + }, + "title": "Ваше веб3 имя пользователя", + "description": "Ваша идентификация в веб3, одно имя для всех ваших криптоадресов и вашего децентрализованного вебсайта." } diff --git a/public/locales/ru/common_old.json b/public/locales/ru/common_old.json new file mode 100644 index 000000000..5217fc9d5 --- /dev/null +++ b/public/locales/ru/common_old.json @@ -0,0 +1,310 @@ +{ + "unsupportedNetwork": "Неподдерживаемая сеть", + "notFound": "404 Не найдено", + "action": { + "upload": "Загрузить", + "clear": "Очистить", + "set": "Установить", + "sign": "Подписать", + "reset": "Сбросить", + "transfer": "Передать", + "done": "Готово", + "burnSelected": "Сжечь выбранное", + "check": "Проверить", + "claim": "Запросить", + "changeNetwork": "Изменить сеть", + "feedback": "Обратная связь", + "migrate": "Мигрировать", + "import": "Импортировать", + "connect": "Подключиться" + }, + "unit": { + "yrs_one": "{{count}} г", + "yrs_other": "{{count}} л", + "selected": "Выбрано: {{count}}", + "perPage": "{{count}} на странице" + }, + "navigation": { + "home": "Главная", + "names": "Мои Имена", + "favourites": "Избранное", + "governance": "Управление", + "community": "Сообщество", + "developers": "Разработчики", + "support": "Поддержка", + "bounty": "Награда за баги", + "terms": "Условия Использования", + "privacy": "Политика Конфиденциальности", + "back": "Назад", + "oldApp": "Старое Приложение ENS", + "ipfsApp": "IPFS Приложение ENS", + "feedback": "Обратная связь" + }, + "wallet": { + "noPrimaryName": "Нет Основного Имени", + "register": "Зарегистрировать" + }, + "name": { + "expiry": "Срок действия", + "parent": "Родитель", + "registrant": "Регистратор", + "controller": "Контролер", + "dnsOwner": "DNS Владелец", + "owner": "Владелец", + "manager": "Менеджер", + "all": "Все Имена", + "expiresInYears_one": "Истекает через {{count}} год", + "expiresInYears_other": "Истекает через {{count}} года", + "expiresInMonths_one": "Истекает через {{count}} месяц", + "expiresInMonths_other": "Истекает через {{count}} месяца", + "expiresInDays_one": "Истекает через {{count}} день", + "expiresInDays_other": "Истекает через {{count}} дня", + "expiresInHours_one": "Истекает через {{count}} час", + "expiresInHours_other": "Истекает через {{count}} часов", + "expiresInHours_zero": "Истекает меньше чем через час", + "expiredInHours_one": "Истек {{count}} час назад", + "expiredInHours_other": "Истекло {{count}} часов назад", + "expiredInHours_zero": "Истекло меньше чем час назад", + "expiredInDays_one": "Истек {{count}} день назад", + "expiredInDays_other": "Истекло {{count}} дня назад", + "expiredInMonths_one": "Истек {{count}} месяц назад", + "expiredInMonths_other": "Истекло {{count}} месяца назад", + "expiredInYears_one": "Истек {{count}} год назад", + "expiredInYears_other": "Истекло {{count}} года назад", + "gracePeriod": { + "expiresInYears_one": "Льготный период истекает через {{count}} год", + "expiresInYears_other": "Льготный период истекает через {{count}} года", + "expiresInMonths_one": "Льготный период истекает через {{count}} месяц", + "expiresInMonths_other": "Льготный период истекает через {{count}} месяца", + "expiresInDays_one": "Льготный период истекает через {{count}} день", + "expiresInDays_other": "Льготный период истекает через {{count}} дня", + "expiresInHours_one": "Льготный период истекает через {{count}} час", + "expiresInHours_other": "Льготный период истекает через {{count}} часов", + "expiresInHours_zero": "Льготный период истекает менее чем через час" + }, + "extend": "Продлить", + "send": "Отправить", + "transfer": "Передать", + "sendManager": "Отправить Менеджеру", + "sendOwner": "Отправить Владельцу", + "renew": "Продлить {{name}}" + }, + "sortTypes": { + "expiryDate": "Дата истечения", + "labelName": "Имя", + "createdAt": "Дата создания" + }, + "errors": { + "noResults": "Результаты не найдены", + "indexingErrors": { + "title": "Ошибка синхронизации данных", + "message": "Эти данные могут быть устаревшими. Пожалуйста, проявляйте осторожность.", + "message_datetime": "Эти данные были обновлены в {{datetime}} и могут быть устаревшими. Пожалуйста, проявляйте осторожность." + } + }, + "transaction": { + "description": { + "setName": "Установить имя", + "setRecords": "Установить записи", + "test": "Тестовая транзакция", + "addSuccess": "Добавить успех", + "sendName": "Отправить имя", + "migrateProfile": "Мигрировать профиль", + "migrateProfileWithReset": "Мигрировать профиль", + "migrateProfileWithSync": "Мигрировать и обновить профиль", + "migrateProfileWithEthAddress": "Мигрировать и обновить ETH адрес", + "wrapName": "Объединить имя", + "updateResolver": "Обновить резолвер", + "updateProfile": "Обновить профиль", + "setPrimaryName": "Установить основное имя", + "resetPrimaryName": "Удалить основное имя", + "updateEthAddress": "Обновить ETH адрес", + "testSendName": "Отправить имя", + "burnFuses": "Сжечь разрешения", + "createSubname": "Создать подимя", + "deleteSubname": "Удалить подимя", + "extendNames": "Продлить имена", + "approveDnsRegistrar": "Одобрить DNS регистратор", + "claimDnsName": "Запросить DNS имя", + "importDnsName": "Импортировать DNS имя", + "commitName": "Запустить таймер", + "registerName": "Зарегистрировать имя", + "approveNameWrapper": "Одобрить NameWrapper", + "clearRecords": "Очистить записи", + "updateRecords": "Обновить записи", + "resetProfileWithRecords": "Сбросить профиль с записями", + "transferName": "Передать имя", + "transferSubname": "Передать подимя", + "changePermissions": "Изменить разрешения", + "updateProfileRecords": "Обновить профиль", + "resetProfile": "Сбросить профиль", + "unwrapName": "Развернуть имя" + }, + "info": { + "sendName": "Установить контроллера и регистранта имени", + "migrateProfile": "Установить существующие записи на новом резолвере", + "migrateProfileWithReset": "Установить существующие записи на новом резолвере", + "migrateProfileWithSync": "Установить существующие записи на новом резолвере", + "migrateProfileWithEthAddress": "Установить существующие записи и ETH адрес на новом резолвере", + "wrapName": "Объединить имя", + "updateResolver": "Изменить резолвер на", + "updateProfile": "Обновить записи на существующем резолвере", + "setPrimaryName": "Установить основное имя для вашего адреса", + "updateEthAddress": "Обновить ETH адрес на этот адрес", + "updateEthAddressOnLatestResolver": "Обновить ETH адрес на последнем резолвере", + "testSendName": "Установить контроллера и регистранта имени", + "createSubname": "Создать новое подимя на имя", + "burnFuses": "Сжечь выбранные разрешения до истечения имени", + "commitName": "Запустить таймер для регистрации имени", + "approveNameWrapper": "Одобрить NameWrapper для управления вашими именами", + "fuses": { + "revoke": "Отозвать", + "grant": "Выдать", + "setExpiry": "Установить срок действия", + "PARENT_CANNOT_CONTROL": "Отказаться от контроля родителя", + "CAN_EXTEND_EXPIRY": "Продлить срок действия", + "CANNOT_UNWRAP": "Развернуть это имя", + "CANNOT_CREATE_SUBDOMAIN": "Создать поддомены", + "CANNOT_SET_RESOLVER": "Установить резолвер", + "CANNOT_SET_TTL": "Установить TTL", + "CANNOT_TRANSFER": "Отправить это имя", + "CANNOT_BURN_FUSES": "Изменить разрешения", + "CANNOT_APPROVE": "Изменить менеджера обновлений" + } + }, + "itemLabel": { + "name": "Имя", + "address": "Адрес", + "action": "Действие", + "info": "Информация", + "to": "Кому", + "subname": "Подимя", + "duration": "Продолжительность", + "cost": "Стоимость", + "update": "Обновление", + "resolver": "Резолвер", + "records": "Записи" + }, + "itemValue": { + "records_one": "{{count}} запись", + "records_other": "{{count}} записей" + }, + "status": { + "pending": { + "regular": "В ожидании" + }, + "confirmed": { + "regular": "Подтверждено", + "notifyTitle": "Транзакция успешна", + "notifyMessage": "Ваша транзакция \"{{action}}\" была успешной" + }, + "failed": { + "regular": "Неудача", + "notifyTitle": "Сбой транзакции", + "notifyMessage": "Ваша транзакция \"{{action}}\" не удалась и была отменена" + } + }, + "dialog": { + "intro": { + "trailingButton": "Начать", + "trailingButtonResume": "Возобновить", + "step": "Шаг {{step}}" + }, + "confirm": { + "title": "Подтвердите данные", + "message": "Дважды проверьте эти данные перед подтверждением в вашем кошельке.", + "waitingForWallet": "Ожидание кошелька", + "openWallet": "Открыть кошелек" + }, + "sent": { + "title": "Транзакция отправлена", + "message": "Ваша транзакция сейчас в процессе, вы можете закрыть это окно и вернуться позже.", + "progress": { + "title": "Отправлено", + "message": "Длится дольше, чем ожидалось" + }, + "learn": "Узнать о длительных транзакциях" + }, + "complete": { + "title": "Транзакция завершена", + "message": "Ваша транзакция завершена!", + "progress": { + "title": "Готово" + } + }, + "failed": { + "title": "Транзакция не удалась", + "progress": { + "title": "Неудача" + } + }, + "error": { + "gasLimit": "Лимит газа в вашей транзакции был недостаточно высоким, пожалуйста, попробуйте снова." + } + }, + "error": { + "unknown": "Произошла неизвестная ошибка" + }, + "viewMore": "Посмотреть больше" + }, + "search": { + "address": "Адрес", + "errors": { + "tooShort": "Имя слишком короткое", + "invalid": "Неверный формат имени" + }, + "status": { + "registered": "Зарегистрировано", + "gracePeriod": "Проблемный период", + "premium": "Временный премиум", + "available": "Доступно", + "notOwned": "Не принадлежит", + "notImported": "Не импортировано", + "short": "Слишком короткое", + "default": "Неверно", + "invalid": "Неверно", + "unsupportedTLD": "Не поддерживается", + "imported": "Импортировано", + "owned": "Принадлежит" + } + }, + "selectableInput": { + "add": "Добавить", + "placeholder": "Выберите опцию", + "empty": "Опции не найдены" + }, + "testnetFaucet": { + "explanation": "Каждый адрес на {{ testnet }} может получить {{ amount }} {{ ticker }} для тестирования приложения ENS manager, а также для других тестов на тестовой сети.", + "note": "Может занять несколько минут, чтобы появиться в вашем кошельке." + }, + "roles": { + "owner": { + "title": "владелец", + "description": "Адрес, который владеет этим именем." + }, + "dns-owner": { + "title": "DNS владелец", + "description": "Адрес, который владеет этим именем." + }, + "parent-owner": { + "title": "Владелец родителя", + "description": "Адрес, который владеет родителем этого имени." + }, + "manager": { + "title": "менеджер", + "description": "Адрес или контракт, который может изменять профиль, настройки и менеджеров профиля." + }, + "profile-editor": { + "title": "Редактор профиля", + "description": "Адрес, который может изменять профиль." + }, + "eth-record": { + "title": "ETH запись", + "description": "Адрес, на который указывает это имя." + } + }, + "calendar": { + "pick_by_years": "Выберите по годам", + "pick_by_date": "Выберите по дате" + } +} diff --git a/public/locales/ru/dnssec.json b/public/locales/ru/dnssec.json index 537a3fce4..6ee9569d5 100644 --- a/public/locales/ru/dnssec.json +++ b/public/locales/ru/dnssec.json @@ -1,94 +1,14 @@ { "title": "Импортировать {{name}} в ENS", - "error": { - "unknown": "Произошла неизвестная ошибка", - "noTxtRecord": "Запись не найдена", - "dnssecFailure": "DNSSEC не включен", - "invalidTxtRecord": "Найдена неверная запись", - "invalidAddressChecksum": "Адрес недействителен", - "resolutionFailure": "Предоставленная запись не разрешилась" - }, "status": { - "checking": "Проверка...", - "error": "Произошла ошибка при проверке", - "secondsAgo": "Последняя проверка была {{count}} секунд(у) назад", - "aWhileAgo": "Последняя проверка была некоторое время назад", - "minutesAgo_one": "Последняя проверка была {{count}} минуту назад", - "minutesAgo_other": "Последняя проверка была {{count}} минуты назад" + "checking": "Проверка..." }, "steps": { - "selectType": { - "title": "Получить {{name}}", - "subtitle": "Импорт доменных имен позволяет использовать их в качестве ENS имен.", - "learnMore": "Узнайте больше о импорте имен", - "select": { - "heading": "Как вы хотите импортировать ваш домен?", - "offchain": { - "name": "Оффчейн", - "tag": "Бесплатно", - "description": "У вашего имени не будет токена на блокчейне.
Это не влияет на его способность получать транзакции или возможностью пользоваться им в качестве основного имени.
Вы не сможете редактировать свой профиль из ENS приложения." - }, - "onchain": { - "name": "В сети", - "description": "У вашего имени будет токен на блокчейне." - } - } - }, - "enableDnssec": { - "title": "Включить DNSSEC", - "help": { - "findOutRegistrar": "Узнайте своего регистратора" - }, - "status": { - "enabled": "DNSSEC включен для этого домена.", - "disabled": { - "heading": "Вам нужно посетить регистратора домена для включения DNSSEC.", - "message": "DNSSEC не включен", - "help": "Помощь в включении DNSSEC" - } - } - }, - "verifyOwnership": { - "title": "Подтвердить право собственности", - "status": { - "disconnected": "Подключите ваш кошелек для подтверждения права собственности.", - "mismatching": { - "heading": "Добавьте DNS запись ниже, чтобы подтвердить ваше право собственности на этот домен.", - "help": "Помощь в добавлении TXT записей", - "message": "Запись не найдена", - "error": { - "onchain": "Найденная запись не соответствует вашему подключенному адресу. Вы все равно можете импортировать это имя, но не будете его владельцем.", - "offchain": "Найденная запись не соответствует вашему подключенному адресу. Вы все равно можете импортировать это имя, но оно не будет указывать на ваш подключенный адрес и не может быть использовано в качестве основного имени." - } - }, - "matching": "Найдена запись, совпадающая с вашим подключенным адресом." - }, - "action": { - "importWithoutOwnership": "Импортировать без права собственности" - } - }, - "transaction": { - "mismatching": { - "title": "Импортировать этот домен", - "subtitle": "Ваше право собственности не было подтверждено. Вы все равно можете импортировать этот домен." - }, - "matching": { - "title": "Претендовать на ваш домен", - "subtitle": "Ваше право собственности было подтверждено." - }, - "estimatedNetworkCost": "Оценочная комиссия сети" - }, "complete": { "title": "Поздравляем!", "import": { - "subtitle": "{{name}} был импортирован", - "description": "Домен был успешно импортирован в ENS. Теперь вы можете просмотреть его.", "warning": "Безглазные DNS имена в настоящее время не отображаются в вашем списке \"Имена\"." }, - "claim": { - "subtitle": "Теперь вы являетесь владельцем {{name}}", - "description": "Ваш домен был успешно зарегистрирован. Теперь вы можете просматривать и управлять своим именем." - }, "action": { "claimAnother": "Претендовать на другое", "viewName": "Просмотреть имя" diff --git a/public/locales/ru/dnssec_old.json b/public/locales/ru/dnssec_old.json new file mode 100644 index 000000000..9a9ee5a0e --- /dev/null +++ b/public/locales/ru/dnssec_old.json @@ -0,0 +1,90 @@ +{ + "error": { + "unknown": "Произошла неизвестная ошибка", + "noTxtRecord": "Запись не найдена", + "dnssecFailure": "DNSSEC не включен", + "invalidTxtRecord": "Найдена неверная запись", + "invalidAddressChecksum": "Адрес недействителен", + "resolutionFailure": "Предоставленная запись не разрешилась" + }, + "status": { + "error": "Произошла ошибка при проверке", + "secondsAgo": "Последняя проверка была {{count}} секунд(у) назад", + "aWhileAgo": "Последняя проверка была некоторое время назад", + "minutesAgo_one": "Последняя проверка была {{count}} минуту назад", + "minutesAgo_other": "Последняя проверка была {{count}} минуты назад" + }, + "steps": { + "selectType": { + "title": "Получить {{name}}", + "subtitle": "Импорт доменных имен позволяет использовать их в качестве ENS имен.", + "learnMore": "Узнайте больше о импорте имен", + "select": { + "heading": "Как вы хотите импортировать ваш домен?", + "offchain": { + "name": "Оффчейн", + "tag": "Бесплатно", + "description": "У вашего имени не будет токена на блокчейне.
Это не влияет на его способность получать транзакции или возможностью пользоваться им в качестве основного имени.
Вы не сможете редактировать свой профиль из ENS приложения." + }, + "onchain": { + "name": "В сети", + "description": "У вашего имени будет токен на блокчейне." + } + } + }, + "enableDnssec": { + "title": "Включить DNSSEC", + "help": { + "findOutRegistrar": "Узнайте своего регистратора" + }, + "status": { + "enabled": "DNSSEC включен для этого домена.", + "disabled": { + "heading": "Вам нужно посетить регистратора домена для включения DNSSEC.", + "message": "DNSSEC не включен", + "help": "Помощь в включении DNSSEC" + } + } + }, + "verifyOwnership": { + "title": "Подтвердить право собственности", + "status": { + "disconnected": "Подключите ваш кошелек для подтверждения права собственности.", + "mismatching": { + "heading": "Добавьте DNS запись ниже, чтобы подтвердить ваше право собственности на этот домен.", + "help": "Помощь в добавлении TXT записей", + "message": "Запись не найдена", + "error": { + "onchain": "Найденная запись не соответствует вашему подключенному адресу. Вы все равно можете импортировать это имя, но не будете его владельцем.", + "offchain": "Найденная запись не соответствует вашему подключенному адресу. Вы все равно можете импортировать это имя, но оно не будет указывать на ваш подключенный адрес и не может быть использовано в качестве основного имени." + } + }, + "matching": "Найдена запись, совпадающая с вашим подключенным адресом." + }, + "action": { + "importWithoutOwnership": "Импортировать без права собственности" + } + }, + "transaction": { + "mismatching": { + "title": "Импортировать этот домен", + "subtitle": "Ваше право собственности не было подтверждено. Вы все равно можете импортировать этот домен." + }, + "matching": { + "title": "Претендовать на ваш домен", + "subtitle": "Ваше право собственности было подтверждено." + }, + "estimatedNetworkCost": "Оценочная комиссия сети" + }, + "complete": { + "import": { + "subtitle": "{{name}} был импортирован", + "description": "Домен был успешно импортирован в ENS. Теперь вы можете просмотреть его." + }, + "claim": { + "subtitle": "Теперь вы являетесь владельцем {{name}}", + "description": "Ваш домен был успешно зарегистрирован. Теперь вы можете просматривать и управлять своим именем." + } + } + } +} diff --git a/public/locales/ru/error.json b/public/locales/ru/error.json index 8dc9372a8..ec5adb3a9 100644 --- a/public/locales/ru/error.json +++ b/public/locales/ru/error.json @@ -1,10 +1,6 @@ { - "not-found": { - "title": "Не найдено", - "message": "Страница, которую вы искали, не найдена.
Вы можете поискать имя или посетить нашу поддержку для получения дополнительной помощи." - }, - "application-error": { - "title": "Ошибка приложения", - "message": "Произошла ошибка.
Если проблема повторится, пожалуйста, обратитесь в нашу поддержку для получения дополнительной помощи." + "errorType": { + "title": "", + "message": "" } } diff --git a/public/locales/ru/error_old.json b/public/locales/ru/error_old.json new file mode 100644 index 000000000..8dc9372a8 --- /dev/null +++ b/public/locales/ru/error_old.json @@ -0,0 +1,10 @@ +{ + "not-found": { + "title": "Не найдено", + "message": "Страница, которую вы искали, не найдена.
Вы можете поискать имя или посетить нашу поддержку для получения дополнительной помощи." + }, + "application-error": { + "title": "Ошибка приложения", + "message": "Произошла ошибка.
Если проблема повторится, пожалуйста, обратитесь в нашу поддержку для получения дополнительной помощи." + } +} diff --git a/public/locales/ru/names.json b/public/locales/ru/names.json index 069c1b589..b802c8cfc 100644 --- a/public/locales/ru/names.json +++ b/public/locales/ru/names.json @@ -1,17 +1,6 @@ { - "title": "Имена", - "subtitle": { - "start": "Все имена, принадлежащие", - "this": "этому", - "your": "вашему", - "wallet": "кошельку" - }, "empty": "Имена для этого адреса не найдены", - "sortTypes": { - "expiryDate": "Дата истечения", - "labelName": "Имя", - "createdAt": "Дата создания" - }, + "title": "Имена", "offchainWarning": { "title": "Некоторые имена могут не отображаться", "text": "Оффчейн-имена в настоящее время не отображаются в этом списке. Вы все равно можете просматривать их, ища их напрямую. Нажмите, чтобы узнать больше." diff --git a/public/locales/ru/names_old.json b/public/locales/ru/names_old.json new file mode 100644 index 000000000..b5a8360f6 --- /dev/null +++ b/public/locales/ru/names_old.json @@ -0,0 +1,13 @@ +{ + "subtitle": { + "start": "Все имена, принадлежащие", + "this": "этому", + "your": "вашему", + "wallet": "кошельку" + }, + "sortTypes": { + "expiryDate": "Дата истечения", + "labelName": "Имя", + "createdAt": "Дата создания" + } +} diff --git a/public/locales/ru/profile.json b/public/locales/ru/profile.json index 66d40c415..7bd7bd446 100644 --- a/public/locales/ru/profile.json +++ b/public/locales/ru/profile.json @@ -1,132 +1,148 @@ { - "meta": { - "title": "{{name}} на ENS", - "description": "Профиль {{name}} на Ethereum Name Service" - }, - "title": "Профиль", - "yourWallet": "Ваш кошелек", - "yourProfile": "Ваш профиль", - "accounts": "Аккаунты", - "addresses": "Адреса", - "otherRecords": "Другие записи", - "editProfile": "Редактировать профиль", - "ownership": "Владение", - "viewDetails": "Посмотреть детали", - "banner": { - "available": { - "title": "{{name}} доступно", - "description": "Это имя истекло {{date}}. Нажмите здесь, чтобы перейти на страницу регистрации." - } + "errors": { + "keyInUse": "{{value}} уже используется", + "addressLength": "Если адрес, он должен содержать 42 символа", + "invalidAddress": "Недопустимый адрес", + "invalidName": "Это имя недействительно.", + "permissionRevoked": "Это имя отозвало разрешения, необходимые для выполнения этого действия.", + "isOwnerCannotEdit": "Вы должны быть менеджером, чтобы редактировать профиль", + "cannotEdit": "У вас нет разрешения для обновления до авторизованного резольвера", + "isOwnerCannotVerify": "", + "cannotVerify": "", + "unsupportedTLD": "Этот TLD не поддерживается", + "migrationNotAvailable": "Миграция в новый реестр пока недоступна, но вы все равно можете ", + "migrationNotAvailableLink": "мигрировать это имя в старом приложении.", + "expiringSoon": "Грейс-период для этого имени заканчивается {{date}}. Если до этой даты не продлить, имя станет доступным для регистрации.", + "hasExpired": "{{ name }} истек", + "invalidJSON": "Недействительный JSON" }, - "tabs": { - "profile": { - "name": "Профиль", - "actions": { - "setAsPrimaryName": { - "label": "Установить как основное имя", - "title": "Установите ваше основное имя", - "description": "Чтобы установить это имя в качестве основного, ETH-адрес должен совпадать с этим адресом." - }, - "deleteSubname": { - "label": "Удалить подимя" + "advancedEditor": { + "tabs": { + "other": { + "contentHash": { + "label": "Хеш контента", + "placeholder": "например, ipfs://" }, - "extend": { - "label": "Продлить имя" + "labelDisabled": "Не поддерживается текущим резольвером", + "abi": { + "label": "ABI", + "placeholder": "Введите ABI сюда..." }, - "editProfile": { - "label": "Редактировать профиль" + "label": "Другие" + }, + "text": { + "label": "Текст", + "addRecord": "Добавить запись", + "createRecord": "Введите название записи..." + }, + "address": { + "label": "Адрес", + "addRecord": "Добавить адрес", + "noOptions": "Нет доступных вариантов адреса" + } + }, + "title": "Записи {{name}}" + }, + "tabs": { + "more": { + "burned": "", + "fuses": { + "burnFormTitle": "Сжечь разрешения", + "info": "Вы должны сжечь 'Может развернуть', чтобы сжечь другие предохранители" + }, + "misc": { + "bankless": { + "submitError": "Ошибка отправки. Пожалуйста, попробуйте снова.", + "title": "Напоминания от Bankless", + "enterEmail": "Получайте напоминания от Bankless по электронной почте, PUSH, XMTP, Blockscan Chat и Mailchain.", + "emailConfirmation": "Вы почти закончили. Пожалуйста, проверьте вашу почту, чтобы подтвердить подписку." }, - "reclaim": { - "label": "Восстановить имя", - "warning": "Это подимя истекло и не принадлежит никому. Вы можете восстановить это подимя." + "reminderOptions": { + "bankless": "Напоминания от Bankless" } }, - "warnings": { - "wrappedDNS": "DNS-имена могут быть восстановлены владельцем DNS в любое время. Не покупайте DNS-имена.", - "offchain": "Offchain-имена в настоящее время не отображаются в вашем списке 'Имена'. Узнать больше", - "homoglyph": "Это имя содержит не-ASCII символы. Возможно, есть символы, которые выглядят идентично или очень похожи на другие символы и могут использоваться для обмана читателей. Узнать больше о гомоглифах" + "ownership": { + "refreshDNS": "Обновить DNS", + "dnsOwnerWarning": { + "syncManager": "Синхронизировать менеджера" + }, + "label": "Владение" + }, + "resolver": { + "label": "Резольвер" + }, + "token": { + "label": "Токен", + "noToken": "Нет токена", + "hex": "шестнадцатеричный", + "decimal": "десятичный", + "wrapper": "обертка", + "unwrap": "Развернуть", + "wrapName": "Обернуть имя" } }, - "records": { - "name": "Записи" - }, "ownership": { - "name": "Владение", "warning": { "ownerNotManager": "Вы являетесь владельцем, но не менеджером. Это может быть непреднамеренно, если вы недавно получили это имя от другого адреса.", - "managerNotParentOwner": "Владелец {{parent}} может изменить владение, роли и настройки. Он не может изменить профиль.", "managerNotDNSOwner": "Вы менеджер, но не DNS-владелец этого имени. DNS-имена могут быть восстановлены DNS-владельцем в любое время. Вы можете отправить это имя владельцу или обновить запись DNS для совпадения.", - "dnsOwnerNotManager": "Вы не можете вносить изменения в это имя, так как вы DNS-владелец, но не менеджер. Вы можете синхронизировать менеджера, чтобы исправить это." + "dnsOwnerNotManager": "Вы не можете вносить изменения в это имя, так как вы DNS-владелец, но не менеджер. Вы можете синхронизировать менеджера, чтобы исправить это.", + "managerNotParentOwner": "Владелец {{parent}} может изменить владение, роли и настройки. Он не может изменить профиль." }, "sections": { - "roles": { - "title": "Роли", - "addresses_one": "{{count}} адрес", - "addresses_other": "{{count}} адресов" + "contract": { + "title": "Адрес контракта", + "tooltip": "Адрес контракта, который активирует Wrapped ENS имена.", + "warning": "Некоторые приложения могут показывать адрес контракта как владельца. Это не влияет на ваше владение." }, "expiry": { "panel": { - "expiry": { - "title": "Срок действия имени истекает" - }, "grace-period": { - "title": "Срок льготного периода истекает", "tooltip": "90-дневный льготный период после истечения срока, когда имя все еще можно продлить, но не пере-регистровать." - }, - "registration": { - "title": "Зарегистрировано" - }, - "parent-expiry": { - "title": "Срок действия родительского имени истекает" - }, - "parent-grace-period": { - "title": "Срок льготного периода родительского имени истекает" } } }, - "contract": { - "title": "Адрес контракта", - "tooltip": "Адрес контракта, который активирует Wrapped ENS имена.", - "warning": "Некоторые приложения могут показывать адрес контракта как владельца. Это не влияет на ваше владение." + "roles": { + "title": "Роли", + "addresses_one": "{{count}} адрес", + "addresses_few": "", + "addresses_many": "", + "addresses_other": "{{count}} адресов" } - }, - "tooltips": { - "owner": "Владелец этого имени. Владелец не может изменить профиль.", - "owner-emancipated": "Владелец этого имени.", - "parent-owner": "Владелец родительского имени ({{parent}}).", - "dns-owner": "Владелец этого имени, установленный записями DNS. Владелец не может изменить профиль.", - "manager": "Адрес, который может изменять профиль, настройки и редакторов профиля.", - "profile-editor": "Адрес, который может изменять только профиль", - "subname-manager": "Адрес или контракт, отвечающий за продление подимен.", - "eth-record": "Адрес, который будет получать средства, отправленные на это имя в основной сети.", - "grace-period": "90-дневный льготный период после истечения срока, когда имя все еще можно продлить, но не пере-регистровать.", - "contract-address": "Адрес контракта, который активирует Wrapped ENS имена.", - "namewrapper": "Контракт, который активирует Wrapped ENS имена." } }, - "subnames": { - "name": "Подимена" - }, "permissions": { - "name": "Разрешения", - "parentUnlockedWarning": "Вы не можете изменить разрешения на это имя. Сначала нужно отменить «развернуть это имя» на родительском ({{parent}}). Нажмите здесь, чтобы просмотреть разрешения родителя.", - "revokedLabel": "Отменено {{date}}", + "expiry": { + "permissions": { + "canExtendExpiry": { + "label": "Может продлить срок действия", + "description": "Разрешение на срок действия этого имени может быть продлено {{managerOrOwner}}.", + "description_date": "Разрешение на срок действия этого имени ({{date}}) может быть продлено {{managerOrOwner}}." + }, + "cannotExtendExpiry": { + "label": "Не может продлить срок действия", + "description": "Разрешение на срок действия этого имени не может быть продлено менеджером.", + "description_date": "Разрешение на срок действия этого имени ({{date}}) не может быть продлено менеджером." + } + }, + "action": { + "changePermissions": "Изменить разрешения" + } + }, "grantedLabel": "Предоставлено {{date}}", + "nameChangePermissions": { + "action": { + "changePermissions": "Изменить разрешения" + } + }, "role": { - "manager": "менеджер", "owner": "владелец", "parent": "родитель" }, + "revokedLabel": "Отменено {{date}}", "ownership": { - "title": "Разрешения на владение", - "parentCanControl": { - "label": "Это имя может управляться его родителем ({{parent}})", - "list": { - "title": "Владелец родительского имени может:", - "item1": "Управлять и изменять настройки и записи", - "item2": "Возвращать или переназначать владение этим именем", - "item3": "Удалять это имя" - } + "action": { + "giveUpControl": "Отказаться от контроля родителя", + "revokePermission": "Отменить разрешение" }, "parentCannotControl": { "label": "Это имя не может управляться его родителем ({{parent}})", @@ -138,12 +154,13 @@ "item3": "Владение именем будет передано другому адресу" } }, - "parentCanChange": { - "label": "Родитель этого имени ({{parent}}) может изменить разрешения", + "parentCanControl": { + "label": "Это имя может управляться его родителем ({{parent}})", "list": { - "title": "Родитель может:", - "item1": "Отменить разрешения", - "item2": "Изменить или уничтожить пользовательские предохранители" + "title": "Владелец родительского имени может:", + "item1": "Управлять и изменять настройки и записи", + "item2": "Возвращать или переназначать владение этим именем", + "item3": "Удалять это имя" } }, "ownerCanChange": { @@ -157,303 +174,89 @@ "ownerCannotChange": { "label": "Владелец этого имени не может изменить разрешения", "list": { - "title": "Владелец не может:", + "title": "Владелец не может:" + } + }, + "parentCanChange": { + "label": "Родитель этого имени ({{parent}}) может изменить разрешения", + "list": { + "title": "Родитель может:", "item1": "Отменить разрешения", "item2": "Изменить или уничтожить пользовательские предохранители" } - }, - "unwrapWarning": { - "message": "Разрешения на развертывание должны быть отменены на родителе ({{parent}}), прежде чем отказаться от контроля родителя.
Перейти к разрешениям родителя" - }, - "action": { - "giveUpControl": "Отказаться от контроля родителя", - "revokePermission": "Отменить разрешение" } }, - "expiry": { - "permissions": { - "canExtendExpiry": { - "label": "Может продлить срок действия", - "description": "Разрешение на срок действия этого имени может быть продлено {{managerOrOwner}}.", - "description_date": "Разрешение на срок действия этого имени ({{date}}) может быть продлено {{managerOrOwner}}." - }, - "cannotExtendExpiry": { - "label": "Не может продлить срок действия", - "description": "Разрешение на срок действия этого имени не может быть продлено менеджером.", - "description_date": "Разрешение на срок действия этого имени ({{date}}) не может быть продлено менеджером." - } - }, - "manager": "менеджер", - "owner": "владелец", - "action": { - "changePermissions": "Изменить разрешения" - } + "parentUnlockedWarning": "Вы не можете изменить разрешения на это имя. Сначала нужно отменить «развернуть это имя» на родительском ({{parent}}). Нажмите здесь, чтобы просмотреть разрешения родителя." + }, + "profile": { + "warnings": { + "offchain": "Offchain-имена в настоящее время не отображаются в вашем списке 'Имена'. Узнать больше", + "homoglyph": "Это имя содержит не-ASCII символы. Возможно, есть символы, которые выглядят идентично или очень похожи на другие символы и могут использоваться для обмана читателей. Узнать больше о гомоглифах", + "wrappedDNS": "DNS-имена могут быть восстановлены владельцем DNS в любое время. Не покупайте DNS-имена." }, - "nameChangePermissions": { - "title": "Разрешения на изменение имени", - "subtitle": { - "parent-can-change": "Родитель этого имени ({{parent}}) может изменять настройки этого имени.", - "owner-can-change": "Владелец этого имени может изменять настройки этого имени." + "actions": { + "verifyProfile": { + "label": "" }, - "permissions": { - "canUnwrap": { - "label": "Может развернуть это имя", - "description": "{{owner}} этого имени может развернуть это имя." - }, - "cannotUnwrap": { - "label": "Не может развернуть это имя", - "description": "{{owner}} этого имени не может развернуть это имя." - }, - "canCreateSubnames": { - "label": "Может создавать подимена", - "description": "{{owner}} этого имени может создавать новые подимена." - }, - "cannotCreateSubnames": { - "label": "Не может создавать подимена", - "description": "{{owner}} этого имени не может создавать новые подимена." - }, - "canSend": { - "label": "Может отправить это имя", - "description": "{{owner}} этого имени может отправить его новому владельцу." - }, - "cannotSend": { - "label": "Не может отправить это имя", - "description": "{{owner}} этого имени не может отправить его новому владельцу." - }, - "canSetResolver": { - "label": "Может установить резольвер", - "description": "{{owner}} этого имени может установить и изменить резольвер." - }, - "cannotSetResolver": { - "label": "Не может установить резольвер", - "description": "{{owner}} этого имени не может установить и изменить резольвер." - }, - "canSetTTL": { - "label": "Может установить TTL", - "description": "{{owner}} этого имени может установить и изменить TTL." - }, - "cannotSetTTL": { - "label": "Не может установить TTL", - "description": "{{owner}} этого имени не может установить и изменить TTL." - }, - "canApprove": { - "label": "Может изменить менеджера по продлению", - "description": "Владелец этого имени может изменить менеджера, утвержденного для продления подимен." - }, - "cannotApprove": { - "label": "Не может изменить менеджера по продлению", - "description": "Владелец этого имени не может изменить менеджера, утвержденного для продления подимен." - } + "setAsPrimaryName": { + "label": "Установить как основное имя", + "description": "Чтобы установить это имя в качестве основного, ETH-адрес должен совпадать с этим адресом." }, - "action": { - "changePermissions": "Изменить разрешения" - } - } - }, - "fuses": { - "name": "Предохранители" - }, - "more": { - "name": "Дополнительно", - "resolver": { - "label": "Резольвер", - "custom": "Пользовательский", - "latest": "Последняя версия", - "outdated": "Устаревшая", - "wildcard": "Шаблон", - "version": "Версия", - "etherscan": "Etherscan" - }, - "fuses": { - "label": "Предохранители", - "info": "Вы должны сжечь 'Может развернуть', чтобы сжечь другие предохранители", - "callToAction": "Пожалуйста, оберните ваше имя, чтобы разблокировать эту функцию", - "burnFormTitle": "Сжечь разрешения", - "burned": "Сожжено", - "permissions": { - "label": "Разрешения", - "warning": "Предохранители могут быть изменены родителем", - "CAN_DO_EVERYTHING": "Может делать всё", - "CANNOT_BURN_FUSES": "Не может сжигать предохранители", - "CANNOT_CREATE_SUBDOMAIN": "Не может создавать поддомены", - "CANNOT_SET_RESOLVER": "Не может устанавливать резольвер", - "CANNOT_SET_TTL": "Не может устанавливать TTL", - "CANNOT_TRANSFER": "Не может передавать", - "CANNOT_UNWRAP": "Не может разворачивать", - "PARENT_CANNOT_CONTROL": "Родитель может управлять", - "CAN_EXTEND_EXPIRY": "Не может продлить срок действия", - "IS_DOT_ETH": "Не является .eth" - } - }, - "ownership": { - "label": "Владение", - "refreshDNS": "Обновить DNS", - "dnsOwnerWarning": { - "isDnsOwner": "Вы не можете вносить изменения в это имя, так как вы DNS Владелец, а не Менеджер. Вы можете синхронизировать менеджера, чтобы исправить это.", - "isManager": "Вы Менеджер, но не DNS Владелец этого имени. DNS имена могут быть восстановлены DNS Владельцем в любое время. Вы можете передать это имя Владельцу или обновить DNS запись.", - "refreshDNS": "Обновить DNS", - "syncManager": "Синхронизировать менеджера" - } - }, - "token": { - "label": "Токен", - "noToken": "Нет токена", - "hex": "шестнадцатеричный", - "decimal": "десятичный", - "wrapper": "обертка", - "wrapName": "Обернуть имя", - "unwrap": "Развернуть", - "status": { - "unwrapped": "развернуто", - "wrapped": "обернуто", - "emancipated": "обернуто, освобождено", - "locked": "обернуто, заблокировано" - } - }, - "misc": { - "registered": "Зарегистрировано", - "expires": "Истекает", - "bankless": { - "title": "Напоминания от Bankless", - "enterEmail": "Получайте напоминания от Bankless по электронной почте, PUSH, XMTP, Blockscan Chat и Mailchain.", - "emailConfirmation": "Вы почти закончили. Пожалуйста, проверьте вашу почту, чтобы подтвердить подписку.", - "submitError": "Ошибка отправки. Пожалуйста, попробуйте снова." + "editProfile": { + "label": "Редактировать профиль" }, - "reminderOptions": { - "google": "Календарь Google", - "outlook": "Календарь Outlook", - "office365": "Календарь Office 365", - "yahoo": "Календарь Yahoo", - "ical": "Скачать iCal (.ics)", - "bankless": "Напоминания от Bankless" + "deleteSubname": { + "label": "Удалить подимя" + }, + "reclaim": { + "label": "Восстановить имя", + "warning": "Это подимя истекло и не принадлежит никому. Вы можете восстановить это подимя." } } } }, "details": { - "title": "Детали имени", - "notWrapped": "Не обернуто", "sendName": { - "title": "Передать имя", - "description": "Передача имени предоставит новому адресу контроль над ним", - "learnMore": "Узнайте больше о праве собственности на имя.", - "makeOwner": "Сделать владельцем", - "makeOwnerDescription": "Владелец может передавать имя новому владельцу и изменять менеджера", - "makeManager": "Сделать менеджером", - "makeManagerDescription": "Менеджер может изменять и устанавливать записи.", "inputPlaceholder": "Введите адрес Ethereum или ENS имя", - "transferSubname": "Передать имя", - "transferController": "Передать контроль" - }, - "wrap": { - "startTitle": "Обновите ваше имя", - "resumeTitle": "Возобновите обновление", - "completeTitle": "Обновление завершено", - "description": "Обновление или \"упаковка\" вашего имени предоставляет ему новые функции.", - "startLabel": "Обновить", - "resumeLabel": "Возобновить обновление", - "boxTitle": "Разблокируйте новые функции", - "boxDescription": "Обновление вашего имени открывает последние функции ENS" - }, - "descriptions": { - "owner": "Владеет и управляет именем", - "controller": "Управляет всеми записями имени", - "registrant": "Владелец NFT", - "dnsOwner": "Владелец DNS имени" + "transferController": "Передать контроль", + "transferSubname": "Передать имя" }, "tabs": { "records": { - "label": "Записи", "text": "Текст", "contentHash": "Хеш контента", "noContentHash": "Хеша контента нет", - "editRecords": "Изменить записи", - "noAbi": "Нет ABI", "abi": "ABI", + "noAbi": "Нет ABI", + "editRecords": "Изменить записи", "editRecordsDisabled": "Текущий резольвер несовместим с упакованными именами" }, "subnames": { - "label": "Поддомены", - "loading": "Загрузка поддоменов", "empty": "Поддомены не добавлены", "noResults": "Нет результатов", - "noMoreResults": "Больше нет результатов", "addSubname": { "title": "Поддомены позволяют создавать дополнительные имена на основе вашего существующего имени.", "learn": "Узнать о поддоменах", "action": "Новый поддомен", "dialog": { - "title": "Создать поддомен", - "error": { - "invalidCharacters": "Содержит недопустимые символы", - "mustUseLowercase": "Должны использоваться только строчные буквы", - "alreadyExists": "Имя уже существует", - "nameTooLong": "Имя слишком длинное", - "pccBurned": "Имя заблокировано до {{date}}" - } + "title": "Создать поддомен" } } } + }, + "wrap": { + "description": "Обновление или \"упаковка\" вашего имени предоставляет ему новые функции." } }, - "advancedEditor": { - "title": "Записи {{name}}", - "tabs": { - "text": { - "label": "Текст", - "addRecord": "Добавить запись", - "createRecord": "Введите название записи...", - "placeholder": { - "default": "Добавьте значение сюда..." - } - }, - "address": { - "label": "Адрес", - "addRecord": "Добавить адрес", - "noOptions": "Нет доступных вариантов адреса", - "placeholder": { - "default": "Добавьте адрес сюда..." - } - }, - "other": { - "label": "Другие", - "labelDisabled": "Не поддерживается текущим резольвером", - "contentHash": { - "label": "Хеш контента", - "placeholder": "например, ipfs://" - }, - "publicKey": { - "label": "Публичный ключ", - "placeholder": "например, pub_1231231231231" - }, - "abi": { - "label": "ABI", - "placeholder": "Введите ABI сюда..." - } - } + "banner": { + "available": { + "title": "{{name}} доступно", + "description": "Это имя истекло {{date}}. Нажмите здесь, чтобы перейти на страницу регистрации." } }, - "errors": { - "invalidName": "Это имя недействительно.", - "invalidAddress": "Недопустимый адрес", - "expiringSoon": "Грейс-период для этого имени заканчивается {{date}}. Если до этой даты не продлить, имя станет доступным для регистрации.", - "hasExpired": "{{ name }} истек", - "ownerManagerChoice": "Необходимо передать владельца или менеджера", - "unknown": "Неизвестная ошибка", - "notMigrated": "Это имя не мигрировало в новый реестр.", - "featureNotAvailable": "Некоторые функции пока недоступны, но вы все равно можете ", - "featureNotAvailableLink": "просмотреть это имя в старом приложении.", - "migrationNotAvailable": "Миграция в новый реестр пока недоступна, но вы все равно можете ", - "migrationNotAvailableLink": "мигрировать это имя в старом приложении.", - "addressLength": "Если адрес, он должен содержать 42 символа", - "unsupportedTLD": "Этот TLD не поддерживается", - "keyInUse": "{{value}} уже используется", - "hasSubnames": "У этого имени есть поддомены", - "permissionRevoked": "Это имя отозвало разрешения, необходимые для выполнения этого действия.", - "gracePeriod": "Это не может быть выполнено, так как имя истекло", - "default": "Это действие недоступно", - "invalidJSON": "Недействительный JSON", - "isOwnerCannotEdit": "Вы должны быть менеджером, чтобы редактировать профиль", - "cannotEdit": "У вас нет разрешения для обновления до авторизованного резольвера" + "yourProfile": "Ваш профиль", + "meta": { + "title": "{{name}} на ENS", + "description": "Профиль {{name}} на Ethereum Name Service" } } diff --git a/public/locales/ru/profile_old.json b/public/locales/ru/profile_old.json new file mode 100644 index 000000000..560d1b396 --- /dev/null +++ b/public/locales/ru/profile_old.json @@ -0,0 +1,283 @@ +{ + "title": "Профиль", + "yourWallet": "Ваш кошелек", + "accounts": "Аккаунты", + "addresses": "Адреса", + "otherRecords": "Другие записи", + "editProfile": "Редактировать профиль", + "ownership": "Владение", + "viewDetails": "Посмотреть детали", + "tabs": { + "profile": { + "name": "Профиль", + "actions": { + "setAsPrimaryName": { + "title": "Установите ваше основное имя" + }, + "extend": { + "label": "Продлить имя" + } + } + }, + "records": { + "name": "Записи" + }, + "ownership": { + "name": "Владение", + "sections": { + "expiry": { + "panel": { + "expiry": { + "title": "Срок действия имени истекает" + }, + "grace-period": { + "title": "Срок льготного периода истекает" + }, + "registration": { + "title": "Зарегистрировано" + }, + "parent-expiry": { + "title": "Срок действия родительского имени истекает" + }, + "parent-grace-period": { + "title": "Срок льготного периода родительского имени истекает" + } + } + } + }, + "tooltips": { + "owner": "Владелец этого имени. Владелец не может изменить профиль.", + "owner-emancipated": "Владелец этого имени.", + "parent-owner": "Владелец родительского имени ({{parent}}).", + "dns-owner": "Владелец этого имени, установленный записями DNS. Владелец не может изменить профиль.", + "manager": "Адрес, который может изменять профиль, настройки и редакторов профиля.", + "profile-editor": "Адрес, который может изменять только профиль", + "subname-manager": "Адрес или контракт, отвечающий за продление подимен.", + "eth-record": "Адрес, который будет получать средства, отправленные на это имя в основной сети.", + "grace-period": "90-дневный льготный период после истечения срока, когда имя все еще можно продлить, но не пере-регистровать.", + "contract-address": "Адрес контракта, который активирует Wrapped ENS имена.", + "namewrapper": "Контракт, который активирует Wrapped ENS имена." + } + }, + "subnames": { + "name": "Подимена" + }, + "permissions": { + "name": "Разрешения", + "role": { + "manager": "менеджер" + }, + "ownership": { + "title": "Разрешения на владение", + "ownerCannotChange": { + "list": { + "item1": "Отменить разрешения", + "item2": "Изменить или уничтожить пользовательские предохранители" + } + }, + "unwrapWarning": { + "message": "Разрешения на развертывание должны быть отменены на родителе ({{parent}}), прежде чем отказаться от контроля родителя.
Перейти к разрешениям родителя" + } + }, + "expiry": { + "manager": "менеджер", + "owner": "владелец" + }, + "nameChangePermissions": { + "title": "Разрешения на изменение имени", + "subtitle": { + "parent-can-change": "Родитель этого имени ({{parent}}) может изменять настройки этого имени.", + "owner-can-change": "Владелец этого имени может изменять настройки этого имени." + }, + "permissions": { + "canUnwrap": { + "label": "Может развернуть это имя", + "description": "{{owner}} этого имени может развернуть это имя." + }, + "cannotUnwrap": { + "label": "Не может развернуть это имя", + "description": "{{owner}} этого имени не может развернуть это имя." + }, + "canCreateSubnames": { + "label": "Может создавать подимена", + "description": "{{owner}} этого имени может создавать новые подимена." + }, + "cannotCreateSubnames": { + "label": "Не может создавать подимена", + "description": "{{owner}} этого имени не может создавать новые подимена." + }, + "canSend": { + "label": "Может отправить это имя", + "description": "{{owner}} этого имени может отправить его новому владельцу." + }, + "cannotSend": { + "label": "Не может отправить это имя", + "description": "{{owner}} этого имени не может отправить его новому владельцу." + }, + "canSetResolver": { + "label": "Может установить резольвер", + "description": "{{owner}} этого имени может установить и изменить резольвер." + }, + "cannotSetResolver": { + "label": "Не может установить резольвер", + "description": "{{owner}} этого имени не может установить и изменить резольвер." + }, + "canSetTTL": { + "label": "Может установить TTL", + "description": "{{owner}} этого имени может установить и изменить TTL." + }, + "cannotSetTTL": { + "label": "Не может установить TTL", + "description": "{{owner}} этого имени не может установить и изменить TTL." + }, + "canApprove": { + "label": "Может изменить менеджера по продлению", + "description": "Владелец этого имени может изменить менеджера, утвержденного для продления подимен." + }, + "cannotApprove": { + "label": "Не может изменить менеджера по продлению", + "description": "Владелец этого имени не может изменить менеджера, утвержденного для продления подимен." + } + } + } + }, + "fuses": { + "name": "Предохранители" + }, + "more": { + "name": "Дополнительно", + "resolver": { + "custom": "Пользовательский", + "latest": "Последняя версия", + "outdated": "Устаревшая", + "wildcard": "Шаблон", + "version": "Версия", + "etherscan": "Etherscan" + }, + "fuses": { + "label": "Предохранители", + "callToAction": "Пожалуйста, оберните ваше имя, чтобы разблокировать эту функцию", + "burned": "Сожжено", + "permissions": { + "label": "Разрешения", + "warning": "Предохранители могут быть изменены родителем", + "CAN_DO_EVERYTHING": "Может делать всё", + "CANNOT_BURN_FUSES": "Не может сжигать предохранители", + "CANNOT_CREATE_SUBDOMAIN": "Не может создавать поддомены", + "CANNOT_SET_RESOLVER": "Не может устанавливать резольвер", + "CANNOT_SET_TTL": "Не может устанавливать TTL", + "CANNOT_TRANSFER": "Не может передавать", + "CANNOT_UNWRAP": "Не может разворачивать", + "PARENT_CANNOT_CONTROL": "Родитель может управлять", + "CAN_EXTEND_EXPIRY": "Не может продлить срок действия", + "IS_DOT_ETH": "Не является .eth" + } + }, + "ownership": { + "dnsOwnerWarning": { + "isDnsOwner": "Вы не можете вносить изменения в это имя, так как вы DNS Владелец, а не Менеджер. Вы можете синхронизировать менеджера, чтобы исправить это.", + "isManager": "Вы Менеджер, но не DNS Владелец этого имени. DNS имена могут быть восстановлены DNS Владельцем в любое время. Вы можете передать это имя Владельцу или обновить DNS запись.", + "refreshDNS": "Обновить DNS" + } + }, + "token": { + "status": { + "unwrapped": "развернуто", + "wrapped": "обернуто", + "emancipated": "обернуто, освобождено", + "locked": "обернуто, заблокировано" + } + }, + "misc": { + "registered": "Зарегистрировано", + "expires": "Истекает", + "reminderOptions": { + "google": "Календарь Google", + "outlook": "Календарь Outlook", + "office365": "Календарь Office 365", + "yahoo": "Календарь Yahoo", + "ical": "Скачать iCal (.ics)" + } + } + } + }, + "details": { + "title": "Детали имени", + "notWrapped": "Не обернуто", + "sendName": { + "title": "Передать имя", + "description": "Передача имени предоставит новому адресу контроль над ним", + "learnMore": "Узнайте больше о праве собственности на имя.", + "makeOwner": "Сделать владельцем", + "makeOwnerDescription": "Владелец может передавать имя новому владельцу и изменять менеджера", + "makeManager": "Сделать менеджером", + "makeManagerDescription": "Менеджер может изменять и устанавливать записи." + }, + "wrap": { + "startTitle": "Обновите ваше имя", + "resumeTitle": "Возобновите обновление", + "completeTitle": "Обновление завершено", + "startLabel": "Обновить", + "resumeLabel": "Возобновить обновление", + "boxTitle": "Разблокируйте новые функции", + "boxDescription": "Обновление вашего имени открывает последние функции ENS" + }, + "descriptions": { + "owner": "Владеет и управляет именем", + "controller": "Управляет всеми записями имени", + "registrant": "Владелец NFT", + "dnsOwner": "Владелец DNS имени" + }, + "tabs": { + "records": { + "label": "Записи" + }, + "subnames": { + "label": "Поддомены", + "loading": "Загрузка поддоменов", + "noMoreResults": "Больше нет результатов", + "addSubname": { + "dialog": { + "error": { + "invalidCharacters": "Содержит недопустимые символы", + "mustUseLowercase": "Должны использоваться только строчные буквы", + "alreadyExists": "Имя уже существует", + "nameTooLong": "Имя слишком длинное", + "pccBurned": "Имя заблокировано до {{date}}" + } + } + } + } + } + }, + "advancedEditor": { + "tabs": { + "text": { + "placeholder": { + "default": "Добавьте значение сюда..." + } + }, + "address": { + "placeholder": { + "default": "Добавьте адрес сюда..." + } + }, + "other": { + "publicKey": { + "label": "Публичный ключ", + "placeholder": "например, pub_1231231231231" + } + } + } + }, + "errors": { + "ownerManagerChoice": "Необходимо передать владельца или менеджера", + "unknown": "Неизвестная ошибка", + "notMigrated": "Это имя не мигрировало в новый реестр.", + "featureNotAvailable": "Некоторые функции пока недоступны, но вы все равно можете ", + "featureNotAvailableLink": "просмотреть это имя в старом приложении.", + "hasSubnames": "У этого имени есть поддомены", + "gracePeriod": "Это не может быть выполнено, так как имя истекло", + "default": "Это действие недоступно" + } +} diff --git a/public/locales/ru/register.json b/public/locales/ru/register.json index 8f99b31e4..c3b8e8025 100644 --- a/public/locales/ru/register.json +++ b/public/locales/ru/register.json @@ -1,25 +1,45 @@ { - "title": "Зарегистрируйте {{name}} на ENS", - "subtitle": "Регистрация", - "heading": "Зарегистрировать {{name}}", "invoice": { "timeRegistration": "{{time}} регистрация", - "registration": "Регистрация", "estimatedNetworkFee": "Оценочная комиссия сети", - "networkFee": "Комиссия сети", "temporaryPremium": "Временная премия", "total": "Оценочная общая сумма", + "registration": "Регистрация", + "networkFee": "Комиссия сети", "totalPaid": "Всего оплачено" }, + "title": "Зарегистрируйте {{name}} на ENS", "error": { "nameTooLong": "Имя, которое вы хотите зарегистрировать, слишком длинное. Пожалуйста, выберите более короткое имя." }, "steps": { + "info": { + "moonpayModalHeader": "Оформление MoonPay", + "moonpayTestCard": "Данные тестовой карты", + "heading": "Прежде чем начать", + "subheading": "Регистрация вашего имени занимает три шага", + "setupProfile": "Я хочу сначала настроить свой профиль", + "paymentMethod": "Метод оплаты", + "ethereum": "Ethereum", + "notEnoughEth": "Недостаточно ETH в кошельке", + "creditOrDebit": "Кредитная или дебетовая карта", + "additionalFee": "Дополнительная плата за обработку", + "failedMoonpayTransaction": "Ваша транзакция MoonPay не удалась. Пожалуйста, попробуйте снова или выберите метод оплаты 'Ethereum'.", + "poweredBy": "Работает на", + "processing": "Обработка" + }, + "complete": { + "heading": "Поздравляем!", + "subheading": "Теперь вы являетесь владельцем ", + "description": "Ваше имя было успешно зарегистрировано. Теперь вы можете просматривать и управлять своим именем.", + "registerAnother": "Зарегистрировать другое", + "viewName": "Просмотреть имя" + }, "pricing": { - "insufficientBalance": "Недостаточно средств", - "multipleYearsMessage": "Продление на несколько лет позволит сэкономить на комиссии блокчейна, избегая ежегодных транзакций.", "primaryName": "Использовать как основное имя", "primaryNameMessage": "Это связывает ваш адрес с этим именем, позволяя dApp отображать его как ваш профиль при подключении к ним. У вас может быть только одно основное имя на адрес.", + "insufficientBalance": "Недостаточно средств", + "multipleYearsMessage": "Продление на несколько лет позволит сэкономить на комиссии блокчейна, избегая ежегодных транзакций.", "premium": { "heading": "Это имя имеет временную премию", "subheading": "Чтобы предоставить справедливую возможность недавно истекшим именам, премия начинается с $100,000,000 и уменьшается до $0 за 21 день. Вы можете рассчитать премию на указанную дату ниже.", @@ -29,88 +49,11 @@ } }, "profile": { - "title": "Создание профиля", - "title2": "Редактировать профиль", - "default": "По умолчанию", - "advanced": "Расширенные", - "permissions": "Разрешения", - "resolver": "Разрешатель", - "visibilityMessage": "Ваша информация профиля будет сохранена в блокчейне. Все, что вы добавите, будет публично доступно.", "addProfile": "Добавить поля профиля", - "addMore": "Добавить больше в профиль", "options": { "groups": { - "general": { - "label": "Общие", - "items": { - "name": "Никнейм", - "url": "Вебсайт", - "location": "Местоположение", - "description": "Краткая биография" - }, - "placeholder": { - "name": "Иван Иванов", - "url": "https://ens.domains", - "location": "Метавселенная", - "description": "Я фермер из села в Теннесси." - } - }, - "social": { - "label": "Социальные сети", - "items": { - "com.twitter": "Twitter", - "com.github": "GitHub", - "com.discord": "Discord", - "org.telegram": "Telegram", - "email": "Email" - }, - "placeholder": { - "com.twitter": "например, ensdomains", - "com.github": "например, ensdomains", - "com.discord": "например, nickjohnson", - "org.telegram": "например, nicksdjohnson", - "email": "например, hello@example.com" - } - }, - "address": { - "label": "Адрес", - "itemLabel": "{{coin}} адрес", - "placeholder": { - "default": "Добавьте адрес здесь", - "eth": "0xb8c2C2...", - "btc": "3FZbgi29...", - "sol": "D4kA7VzHnmV...", - "op": "0xb8c2C2...", - "arb1": "0xb8c2C2...", - "base": "0xb8c2C2...", - "matic": "0xb8c2C2..." - } - }, - "website": { - "label": "Вебсайт", - "items": { - "ipfs": "IPFS", - "ipns": "IPNS", - "swarm": "Swarm", - "onion": "Onion", - "skynet": "Skynet", - "arweave": "Arweave" - }, - "placeholder": { - "default": "Добавьте URL здесь", - "ipfs": "ipfs://...", - "skynet": "sia://...", - "arweave": "ar://...", - "swarm": "bzz://...", - "onion": "onion3://..." - } - }, "other": { - "label": "Другие", "items": { - "contentHash": "Хэш контента", - "publicKey": "Публичный ключ", - "abi": "ABI", "custom": "Пользовательский" } }, @@ -118,6 +61,12 @@ "key": "Ключ", "value": "Значение" }, + "address": { + "itemLabel": "{{coin}} адрес", + "placeholder": { + "default": "Добавьте адрес здесь" + } + }, "default": { "placeholder": "Добавьте значение здесь" } @@ -125,10 +74,14 @@ }, "errors": { "labelRequired": "Требуется ключ записи", - "duplicateRecord": "Повторяющийся ключ записи", + "keyRequired": "", "avatarReserved": "Ключ используется менеджером аватаров", + "duplicateRecord": "Повторяющийся ключ записи", "invalidValue": "Неверное значение" }, + "actions": { + "skipProfile": "Пропустить профиль" + }, "confirmations": { "publicNotice": { "title": "Ваши данные публичны", @@ -143,55 +96,24 @@ "decline": "Отмена" } }, - "actions": { - "skipProfile": "Пропустить профиль" - } - }, - "complete": { - "heading": "Поздравляем!", - "subheading": "Теперь вы являетесь владельцем ", - "description": "Ваше имя было успешно зарегистрировано. Теперь вы можете просматривать и управлять своим именем.", - "registerAnother": "Зарегистрировать другое", - "viewName": "Просмотреть имя" - }, - "info": { - "heading": "Прежде чем начать", - "subheading": "Регистрация вашего имени занимает три шага", - "ethItems": [ - "Завершите транзакцию, чтобы начать таймер", - "Подождите 60 секунд, пока таймер завершится", - "Завершите вторую транзакцию, чтобы обеспечить ваше имя" - ], - "moonpayItems": [ - "Создайте или войдите в существующую учетную запись MoonPay", - "Используйте свою кредитную или дебетовую карту для завершения одной транзакции" - ], - "setupProfile": "Я хочу сначала настроить свой профиль", - "paymentMethod": "Метод оплаты", - "notEnoughEth": "Недостаточно ETH в кошельке", - "creditOrDebit": "Кредитная или дебетовая карта", - "additionalFee": "Дополнительная плата за обработку", - "pendingMoonpayTransaction": "Ваша транзакция MoonPay обрабатывается. Это может занять до двух минут. Вы можете проверить свой прогресс из подтверждающего письма, которое вы получили.", - "failedMoonpayTransaction": "Ваша транзакция MoonPay не удалась. Пожалуйста, попробуйте снова или выберите метод оплаты 'Ethereum'.", - "ethereum": "Ethereum", - "processing": "Обработка", - "poweredBy": "Работает на", - "moonpayModalHeader": "Оформление MoonPay", - "moonpayTestCard": "Данные тестовой карты" - }, - "transactions": { - "heading": "Почти готово", - "subheading": "Вам нужно будет завершить две транзакции, чтобы обеспечить ваше имя. Вторую транзакцию необходимо завершить в течение 24 часов после первой.", - "startTimer": "Запустить таймер", - "wait": "Подождите", - "transactionFailed": "Транзакция не удалась", - "transactionProgress": "Транзакция в процессе" + "title": "Создание профиля", + "addMore": "Добавить больше в профиль", + "title2": "Редактировать профиль" }, "cancelRegistration": { "heading": "Вы потеряете вашу транзакцию", "contentOne": "Возврат приведет к сбросу вашей первой транзакции. Если вы вернетесь, вам нужно будет завершить транзакцию снова и оплатить связанные с этим сборы.", "contentTwo": "Вы уверены, что хотите продолжить?", "footer": "Сбросить транзакцию и вернуться" + }, + "transactions": { + "heading": "Почти готово", + "subheading": "Вам нужно будет завершить две транзакции, чтобы обеспечить ваше имя. Вторую транзакцию необходимо завершить в течение 24 часов после первой.", + "transactionFailed": "Транзакция не удалась", + "transactionProgress": "Транзакция в процессе", + "wait": "Подождите", + "startTimer": "Запустить таймер" } - } + }, + "heading": "Зарегистрировать {{name}}" } diff --git a/public/locales/ru/register_old.json b/public/locales/ru/register_old.json new file mode 100644 index 000000000..5678916fa --- /dev/null +++ b/public/locales/ru/register_old.json @@ -0,0 +1,99 @@ +{ + "subtitle": "Регистрация", + "steps": { + "profile": { + "default": "По умолчанию", + "advanced": "Расширенные", + "permissions": "Разрешения", + "resolver": "Разрешатель", + "visibilityMessage": "Ваша информация профиля будет сохранена в блокчейне. Все, что вы добавите, будет публично доступно.", + "options": { + "groups": { + "general": { + "label": "Общие", + "items": { + "name": "Никнейм", + "url": "Вебсайт", + "location": "Местоположение", + "description": "Краткая биография" + }, + "placeholder": { + "name": "Иван Иванов", + "url": "https://ens.domains", + "location": "Метавселенная", + "description": "Я фермер из села в Теннесси." + } + }, + "social": { + "label": "Социальные сети", + "items": { + "com.twitter": "Twitter", + "com.github": "GitHub", + "com.discord": "Discord", + "org.telegram": "Telegram", + "email": "Email" + }, + "placeholder": { + "com.twitter": "например, ensdomains", + "com.github": "например, ensdomains", + "com.discord": "например, nickjohnson", + "org.telegram": "например, nicksdjohnson", + "email": "например, hello@example.com" + } + }, + "address": { + "label": "Адрес", + "placeholder": { + "eth": "0xb8c2C2...", + "btc": "3FZbgi29...", + "sol": "D4kA7VzHnmV...", + "op": "0xb8c2C2...", + "arb1": "0xb8c2C2...", + "base": "0xb8c2C2...", + "matic": "0xb8c2C2..." + } + }, + "website": { + "label": "Вебсайт", + "items": { + "ipfs": "IPFS", + "ipns": "IPNS", + "swarm": "Swarm", + "onion": "Onion", + "skynet": "Skynet", + "arweave": "Arweave" + }, + "placeholder": { + "default": "Добавьте URL здесь", + "ipfs": "ipfs://...", + "skynet": "sia://...", + "arweave": "ar://...", + "swarm": "bzz://...", + "onion": "onion3://..." + } + }, + "other": { + "label": "Другие", + "items": { + "contentHash": "Хэш контента", + "publicKey": "Публичный ключ", + "abi": "ABI" + } + } + } + } + }, + "info": { + "ethItems": [ + "Завершите транзакцию, чтобы начать таймер", + "Подождите 60 секунд, пока таймер завершится", + "Завершите вторую транзакцию, чтобы обеспечить ваше имя" + ], + "moonpayItems": [ + "Создайте или войдите в существующую учетную запись MoonPay", + "Используйте свою кредитную или дебетовую карту для завершения одной транзакции" + ], + "pendingMoonpayTransaction": "Ваша транзакция MoonPay обрабатывается. Это может занять до двух минут. Вы можете проверить свой прогресс из подтверждающего письма, которое вы получили." + } + } +} diff --git a/public/locales/ru/settings.json b/public/locales/ru/settings.json index 381ed65b5..86b1cc02d 100644 --- a/public/locales/ru/settings.json +++ b/public/locales/ru/settings.json @@ -1,22 +1,28 @@ { - "title": "Настройки", "section": { - "wallet": { - "title": "Кошелек" + "primary": { + "title": "Основное имя", + "choosePrimaryName": "Выбрать основное имя", + "noNameDescription": "Основное имя связывает ваш адрес с именем, позволяя dApps отображать имя в качестве вашего профиля при подключении к ним. Узнайте о основных именах" + }, + "privacy": { + "title": "", + "action": { + "clearHistory": "" + } }, "transaction": { - "title": "Транзакции", - "noRecentTransactions": "Нет недавних транзакций", "clearTransactions": { "title": "Очистить историю транзакций", "description": "Очистка истории транзакций навсегда удалит их из приложения ENS. Ваши транзакции по-прежнему будут видны на блокчейне.", "actionLabel": "Очистить историю" - } + }, + "title": "Транзакции", + "noRecentTransactions": "Нет недавних транзакций" }, - "primary": { - "title": "Основное имя", - "noNameDescription": "Основное имя связывает ваш адрес с именем, позволяя dApps отображать имя в качестве вашего профиля при подключении к ним. Узнайте о основных именах", - "choosePrimaryName": "Выбрать основное имя" + "wallet": { + "title": "Кошелек" } - } + }, + "title": "Настройки" } diff --git a/public/locales/ru/transactionFlow.json b/public/locales/ru/transactionFlow.json index e156466f7..f80d9543f 100644 --- a/public/locales/ru/transactionFlow.json +++ b/public/locales/ru/transactionFlow.json @@ -1,27 +1,18 @@ { "input": { + "editResolver": { + "latestLabel": "Использовать последний разрешатель", + "etherscan": "Etherscan", + "latestMessage": "Вы используете последний разрешатель", + "customLabel": "Пользовательский разрешатель", + "title": "Редактировать разрешатель" + }, "profileEditor": { "tabs": { "avatar": { - "change": "Изменить аватар", - "label": "Аватар", "dropdown": { "selectNFT": "Выбрать NFT", - "uploadImage": "Загрузить изображение", - "enterManually": "Ввести вручную" - }, - "nft": { - "title": "Выберите NFT", - "searchPlaceholder": "Поиск NFT", - "loading": "Загрузка ваших NFT", - "unknown": "Неизвестный NFT", - "loadError": "NFT не может быть загружен", - "noNFTs": "NFT не найдены для этого адреса.", - "selected": { - "title": "Выбранный NFT", - "subtitle": "Вы уверены, что хотите использовать этот NFT?" - }, - "noResults": "Результаты не найдены." + "uploadImage": "Загрузить изображение" }, "image": { "title": "Редактировать изображение", @@ -30,88 +21,66 @@ "subtitle": "Вам нужно подписать сообщение, чтобы загрузить аватар. Это не будет стоить ничего.", "action": "Подписать и загрузить" } + }, + "nft": { + "loadError": "NFT не может быть загружен", + "unknown": "Неизвестный NFT", + "selected": { + "title": "Выбранный NFT", + "subtitle": "Вы уверены, что хотите использовать этот NFT?" + }, + "loading": "Загрузка ваших NFT", + "searchPlaceholder": "Поиск NFT", + "noResults": "Результаты не найдены.", + "noNFTs": "NFT не найдены для этого адреса.", + "title": "Выберите NFT" } }, "general": { - "label": "Общие", - "name": { - "label": "Псевдоним", - "placeholder": "Иван Иванов" - }, - "url": { - "label": "Вебсайт", - "placeholder": "https://ens.domains" - }, - "location": { - "label": "Местоположение", - "placeholder": "Метавселенная" - }, - "description": { - "label": "Краткая биография", - "placeholder": "Я фермер с доходов из сельской Теннесси." - } + "label": "Общие" }, "accounts": { "label": "Учетные записи", "addAccount": "Добавить учетную запись", - "noOptions": "Нет доступных опций учетных записей", - "placeholder": { - "default": "Добавьте имя пользователя здесь", - "com.twitter": "например, nicksdjohnson", - "com.github": "например, arachnid", - "com.discord": "например, nickjohnson", - "org.telegram": "например, nicksdjohnson", - "email": "например, hello@example.com" - } + "noOptions": "Нет доступных опций учетных записей" }, "address": { "label": "Адрес", "addAddress": "Добавить адрес", - "noOptions": "Нет доступных опций адресов", - "placeholder": { - "default": "Добавьте адрес здесь", - "eth": "0xD9hbQK...", - "bnb": "0xD9hbQK...", - "btc": "3FZbgi29...", - "ltc": "3FZbgi29...", - "sol": "D4kA7VzHnmV...", - "dot": "1D4kA7VxH...", - "doge": "DFabcd12..." - } + "noOptions": "Нет доступных опций адресов" }, "contentHash": { "label": "Вебсайт", - "addContentHash": "Добавить децентрализованный вебсайт", - "placeholder": { - "default": "Добавьте URL здесь", - "ipfs": "ipfs://...", - "skynet": "sia://...", - "arweave": "ar://...", - "swarm": "bzz://...", - "onion": "onion3://..." - } + "addContentHash": "Добавить децентрализованный вебсайт" }, "other": { "label": "Другие", "addRecord": "Добавить запись", - "createRecord": "Введите название записи...", - "placeholder": { - "default": "Добавьте значение здесь..." - } + "createRecord": "Введите название записи..." + } + }, + "intro": { + "migrateProfile": { + "description": "Это мигрирует ваши текущие записи профиля на последний разрешатель." + }, + "resetProfile": { + "description": "Это удалит все записи профиля с последнего разрешателя и затем обновит разрешатель." + }, + "migrateCurrentProfile": { + "description": "Это мигрирует ваши текущие записи профиля на последний разрешатель." } }, "warningOverlay": { + "invalidResolver": { + "title": "Неавторизованный разрешатель", + "subtitle": "У вас нет разрешения на установку записей для этого разрешателя. Вам нужно будет обновить разрешатель до последней версии, чтобы редактировать свой профиль." + }, "action": { "learnMoreResolvers": "Узнать больше о разрешателях", "updateResolver": "Обновить разрешатель", "setResolver": "Установить разрешатель", "ignoreUpdate": "Игнорировать это и продолжить использовать текущий разрешатель. Вам снова будет предложено это в следующий раз." }, - "invalidResolver": { - "title": "Неавторизованный разрешатель", - "subtitle": "У вас нет разрешения на установку записей для этого разрешателя. Вам нужно будет обновить разрешатель до последней версии, чтобы редактировать свой профиль.", - "action": "Обновить разрешатель" - }, "migrateProfileSelector": { "title": "Профиль", "subtitle": "Записи профиля на каждом разрешателе не совпадают. Какой набор записей вы хотите использовать?", @@ -133,8 +102,7 @@ }, "noResolver": { "title": "Разрешатель не установлен", - "subtitle": "Разрешатель должен быть установлен перед редактированием вашего профиля.", - "action": "Обновить" + "subtitle": "Разрешатель должен быть установлен перед редактированием вашего профиля." }, "resetProfile": { "title": "Сброс профиля", @@ -171,40 +139,19 @@ "title": "Сохранить текущий профиль", "subtitle": "Если отключить это, ваш профиль будет сброшен." } - }, - "links": { - "learnMoreResolvers": "Узнать больше о разрешателях" - } - }, - "intro": { - "resetProfile": { - "title": "Сброс профиля", - "description": "Это удалит все записи профиля с последнего разрешателя и затем обновит разрешатель." - }, - "migrateProfile": { - "title": "Миграция профиля", - "description": "Это мигрирует ваши текущие записи профиля на последний разрешатель." - }, - "migrateCurrentProfile": { - "title": "Миграция профиля", - "description": "Это мигрирует ваши текущие записи профиля на последний разрешатель." } } }, - "editResolver": { - "title": "Редактировать разрешатель", - "latestLabel": "Использовать последний разрешатель", - "etherscan": "Etherscan", - "latestMessage": "Вы используете последний разрешатель", - "customLabel": "Пользовательский разрешатель", - "customPlaceholder": "Введите адрес пользовательского разрешателя" + "deleteEmancipatedSubnameWarning": { + "title": "Это подимя не может быть воссоздано", + "message": "Удаление этого подимени предотвратит его использование или воссоздание до тех пор, пока он не истечет {{date}}. Это невозможно отменить, поскольку права управления родительским именем были отозваны." + }, + "deleteSubnameNotParentWarning": { + "title": "Вы не можете воссоздать это подимя", + "message": "Только {{ownershipTerm}} родительского имени ({{parentOwner}}) может воссоздать это подимя. Вы не сможете воссоздать это имя самостоятельно после его удаления." }, "editRoles": { "views": { - "main": { - "title": "Редактировать роли", - "noneSet": "Роли не установлены" - }, "editRole": { "title": "Изменить {{role}}", "views": { @@ -212,89 +159,112 @@ "current": "Текущий {{role}}" } } + }, + "main": { + "noneSet": "Роли не установлены" + } + } + }, + "sendName": { + "views": { + "search": { + "placeholder": "ENS имя или Ethereum адрес", + "views": { + "error": { + "message": "Что-то пошло не так. Пожалуйста, попробуйте снова." + }, + "intro": { + "message": "Поиск ENS имени или ETH адреса" + }, + "noResults": { + "message": "Результаты не найдены" + } + } + }, + "error": { + "title": "Невозможно отправить имя", + "description": "У вас нет разрешения отправить это имя." + }, + "confirmation": { + "title": "Отправка имени", + "description": "Отправка этого имени передаст права собственности получателю, предоставив ему ваш контроль.", + "warning": "Вы потеряете возможность изменять, получать платежи или использовать его в качестве основного имени.", + "learnMore": "Узнать о передаче имен" + }, + "summary": { + "fields": { + "summary": { + "title": "Итог изменений", + "updates": { + "role": "Обновить роль {{role}} на {{address}}", + "eth-record": "Обновить запись ETH на {{address}}" + }, + "remove": { + "profile": "Удалить записи профиля" + } + }, + "name": { + "expires": "Истекает {{date}}", + "label": "Имя" + }, + "recipient": "Получатель", + "options": { + "label": "Опции", + "title": "Сбросить профиль", + "description": "Удалить все записи профиля. Это требует дополнительных затрат на газ." + } + }, + "title": "Отправить имя" } } }, "extendNames": { - "title_one": "Продлить имя", - "title_other": "Продлить {{count}} имена", + "invoice": { + "extension": "{{time}} продление", + "transaction": "Комиссия за транзакцию" + }, "ownershipWarning": { "title_one": "Вы не владеете этим именем", + "title_few": "", + "title_many": "", "title_other": "Вы не владеете всеми этими именами", "description_one": "Продление этого имени увеличит срок регистрации текущего владельца. Это не даст вам права собственности на него.", + "description_few": "", + "description_many": "", "description_other": "Продление этих имен увеличит срок регистрации текущего владельца. Это не даст вам права собственности, если вы уже не являетесь владельцем." }, - "invoice": { - "extension": "{{time}} продление", - "transaction": "Комиссия за транзакцию", - "total": "Оценочная сумма" - }, - "bannerMsg": "Продление на несколько лет позволит сэкономить на сетевых расходах, избегая ежегодных транзакций.", - "gasLimitError": "Недостаточно средств" + "title_one": "Продлить имя", + "title_few": "", + "title_many": "", + "title_other": "Продлить {{count}} имена", + "gasLimitError": "Недостаточно средств", + "bannerMsg": "Продление на несколько лет позволит сэкономить на сетевых расходах, избегая ежегодных транзакций." }, - "transferProfile": { - "title": "Передача профиля", - "message1": "Перед обновлением вы можете передать свой текущий профиль, если хотите, в противном случае он будет сброшен при обновлении.", - "message2": "Хотите ли вы передать свой текущий профиль?" + "resetPrimaryName": { + "title": "Удалить основное имя", + "description": "Это имя больше не будет отображаться как имя для этого адреса. Тем не менее, транзакции к этому имени по-прежнему будут разрешаться на этот адрес, если вы не удалите запись ETH." }, "revokePermissions": { + "action": { + "revoke": "Отозвать" + }, "views": { - "revokeWarning": { - "title": "Это приведет к постоянным изменениям", - "subtitle": "Разрешения являются расширенной функцией, которая вносит постоянные изменения в ваше имя. Вы не сможете отменить эти изменения, и они будут сброшены только при истечении срока действия имени.", - "subtitle2": "Убедитесь, что вы уверены в использовании этой функции перед продолжением. Узнать больше о разрешениях" - }, - "revokePCC": { - "title": "Отказаться от права собственности", - "subtitle": "Это передаст право собственности на это имя управляющему ({{account}}). Если вы не являетесь управляющим, вы больше не сможете вносить изменения в это имя." - }, "grantExtendExpiry": { "title": "Изменить разрешения", "fuses": { "CAN_EXTEND_EXPIRY": "Предоставить разрешение на: Продление срока действия" } }, - "setExpiry": { - "title": "Установить срок действия имени", - "subtitle": "Установите дату, когда истекут разрешения. Эта дата не может быть позже срока действия родительского имени ({{parent}}).", - "subtitleWithCEE": "Установите дату, когда это имя истечет. Это заменит текущий срок действия разрешений ({{expiry}}) и не может быть позже срока действия родительского имени ({{parent}}).", - "options": { - "max": "Макс.", - "custom": "Выбрать более раннюю дату" - }, - "error": { - "required": "Дата обязательна, если выбрана пользовательская дата", - "min": "Дата должна быть позже {{date}}", - "max": "Дата должна быть раньше {{date}}" - } - }, - "revokeAdditional": { - "title": "Отозвать разрешения", - "subtitle": "Хотите ли вы отозвать разрешения на это имя перед тем, как отказаться от права собственности? Это можно сделать только сейчас.", - "action": { - "title": "Отозвать дополнительные разрешения", - "description": "Если вы не являетесь управляющим, вы не сможете отозвать дополнительные разрешения после этого." - } - }, - "revokeUnwrap": { - "title": "Отозвать разрешения", - "subtitle": "Вы обязаны отозвать это разрешение перед тем, как другие могут быть отозваны. Это предотвращает удаление разрешений.", - "fuses": { - "CANNOT_UNWRAP": "Отозвать разрешение на: Развернуть это имя" - } + "lastWarning": { + "title": "Вы уверены?", + "subtitle": "Вы вносите изменения, которые можно отменить только после истечения срока действия имени ({{date}}).", + "message": "Пожалуйста, введите ваше ENS имя ({{name}}), чтобы подтвердить." }, "revokePermissions": { "title": "Отозвать разрешения", - "unwrapSubtitle": "Выберите это, чтобы включить другие", "fuses": { "CAN_EXTEND_EXPIRY": "Предоставить разрешение на: Продление срока действия.", - "CANNOT_UNWRAP": "Отозвать разрешение на: Развернуть это имя", - "CANNOT_CREATE_SUBDOMAIN": "Отозвать разрешение на: Создание подсайтов", - "CANNOT_TRANSFER": "Отозвать разрешение на: Передачу этого имени", - "CANNOT_SET_RESOLVER": "Отозвать разрешение на: Установку разрешателя", - "CANNOT_SET_TTL": "Отозвать разрешение на: Установку TTL", - "CANNOT_BURN_FUSES": "Отозвать разрешение на: Изменение разрешений", - "CANNOT_APPROVE": "Отозвать разрешение на: Изменение управляющего по обновлению" + "CANNOT_UNWRAP": "Отозвать разрешение на: Развернуть это имя" } }, "revokeChangeFuses": { @@ -308,111 +278,76 @@ "title": "Оставшиеся разрешения будут заблокированы", "subtitle": "Разрешения и пользовательские предохранители будут навсегда заблокированы в текущем состоянии после отзыва разрешения «изменение разрешений». Это будет сброшено только при истечении срока действия имени." }, - "lastWarning": { - "title": "Вы уверены?", - "subtitle": "Вы вносите изменения, которые можно отменить только после истечения срока действия имени ({{date}}).", - "message": "Пожалуйста, введите ваше ENS имя ({{name}}), чтобы подтвердить." + "revokePCC": { + "title": "Отказаться от права собственности", + "subtitle": "Это передаст право собственности на это имя управляющему ({{account}}). Если вы не являетесь управляющим, вы больше не сможете вносить изменения в это имя." + }, + "revokeUnwrap": { + "title": "Отозвать разрешения", + "subtitle": "Вы обязаны отозвать это разрешение перед тем, как другие могут быть отозваны. Это предотвращает удаление разрешений.", + "fuses": { + "CANNOT_UNWRAP": "Отозвать разрешение на: Развернуть это имя" + } + }, + "revokeWarning": { + "title": "Это приведет к постоянным изменениям", + "subtitle": "Разрешения являются расширенной функцией, которая вносит постоянные изменения в ваше имя. Вы не сможете отменить эти изменения, и они будут сброшены только при истечении срока действия имени.", + "subtitle2": "Убедитесь, что вы уверены в использовании этой функции перед продолжением. Узнать больше о разрешениях" + }, + "setExpiry": { + "title": "Установить срок действия имени", + "subtitleWithCEE": "Установите дату, когда это имя истечет. Это заменит текущий срок действия разрешений ({{expiry}}) и не может быть позже срока действия родительского имени ({{parent}}).", + "subtitle": "Установите дату, когда истекут разрешения. Эта дата не может быть позже срока действия родительского имени ({{parent}}).", + "options": { + "max": "Макс.", + "custom": "Выбрать более раннюю дату" + }, + "error": { + "required": "Дата обязательна, если выбрана пользовательская дата", + "min": "Дата должна быть позже {{date}}", + "max": "Дата должна быть раньше {{date}}" + } } - }, - "action": { - "revoke": "Отозвать" } }, - "unknownLabels": { - "title": "Подтвердите ваше имя", - "subtitle": "Некоторые из меток в вашем имени неизвестны. Пожалуйста, введите их для продолжения." - }, - "deleteEmancipatedSubnameWarning": { - "title": "Это подимя не может быть воссоздано", - "message": "Удаление этого подимени предотвратит его использование или воссоздание до тех пор, пока он не истечет {{date}}. Это невозможно отменить, поскольку права управления родительским именем были отозваны." - }, - "deleteSubnameNotParentWarning": { - "title": "Вы не можете воссоздать это подимя", - "message": "Только {{ownershipTerm}} родительского имени ({{parentOwner}}) может воссоздать это подимя. Вы не сможете воссоздать это имя самостоятельно после его удаления." - }, "selectPrimaryName": { "title": "Выберите основное имя", "errors": { - "noNamesFound": "Имена не найдены", - "noEligibleNames": "Подходящих имен нет" - } - }, - "resetPrimaryName": { - "title": "Удалить основное имя", - "description": "Это имя больше не будет отображаться как имя для этого адреса. Тем не менее, транзакции к этому имени по-прежнему будут разрешаться на этот адрес, если вы не удалите запись ETH." - }, - "sendName": { - "views": { - "error": { - "title": "Невозможно отправить имя", - "description": "У вас нет разрешения отправить это имя." - }, - "search": { - "placeholder": "ENS имя или Ethereum адрес", - "views": { - "error": { - "message": "Что-то пошло не так. Пожалуйста, попробуйте снова." - }, - "intro": { - "message": "Поиск ENS имени или ETH адреса" - }, - "noResults": { - "message": "Результаты не найдены" - } - } - }, - "summary": { - "title": "Отправить имя", - "fields": { - "name": { - "label": "Имя", - "expires": "Истекает {{date}}" - }, - "recipient": "Получатель", - "options": { - "label": "Опции", - "title": "Сбросить профиль", - "description": "Удалить все записи профиля. Это требует дополнительных затрат на газ." - }, - "summary": { - "title": "Итог изменений", - "updates": { - "role": "Обновить роль {{role}} на {{address}}", - "eth-record": "Обновить запись ETH на {{address}}" - }, - "remove": { - "profile": "Удалить записи профиля" - } - } - } - }, - "confirmation": { - "title": "Отправка имени", - "description": "Отправка этого имени передаст права собственности получателю, предоставив ему ваш контроль.", - "warning": "Вы потеряете возможность изменять, получать платежи или использовать его в качестве основного имени.", - "learnMore": "Узнать о передаче имен" - } + "noEligibleNames": "Подходящих имен нет", + "noNamesFound": "Имена не найдены" } }, "syncManager": { "title": "Синхронизация управляющего", "description": "Синхронизация управляющего сделает вас новым управляющим этого имени. Текущий управляющий ({{manager}}) больше не сможет вносить изменения.", "warning": "Синхронизация управляющего также развернет это имя. Это сожжет NFT и сбросит все разрешения." - } - }, - "transaction": { - "extendNames": { - "actionValue": "Продлить регистрацию", - "costValue": "{{value}} + комиссии", - "warning": "Продление этого имени не даст вам права собственности на него" }, - "deleteSubname": { - "warning": "Привет там" + "unknownLabels": { + "title": "Подтвердите ваше имя", + "subtitle": "Некоторые из меток в вашем имени неизвестны. Пожалуйста, введите их для продолжения." + }, + "verifyProfile": { + "dentity": { + "title": "", + "description": "", + "helper": "", + "remove": "", + "link": "" + }, + "list": { + "title": "", + "message": "" + } } }, + "action": { + "back": "" + }, "intro": { + "multiStepSubnameDelete": { + "description": "Удаление этого подимени требует нескольких транзакций" + }, "migrateAndUpdateResolver": { - "title": "Требуется действие", "heading": "Изменения, которые вы хотите сохранить в вашем профиле, требуют обновления вашего разрешателя.", "link": "Узнайте больше о обновлении разрешателей", "warning": "Обратите внимание, что если вы отмените это на любом этапе, ваши изменения не будут сохранены." @@ -420,27 +355,12 @@ "syncManager": { "description": "Синхронизация управляющего сделает вас новым управляющим этого имени. Текущий управляющий ({{manager}}) больше не сможет вносить изменения.", "wrappedWarning": "Синхронизация управляющего также развернет это имя. Это сожжет NFT и сбросит все разрешения." - }, - "selectPrimaryName": { - "updateEthAddress": { - "title": "Обновить ETH адрес", - "description": "ETH адрес для этого имени не соответствует этому кошельку. Чтобы использовать это имя в качестве основного, вам сначала нужно обновить ETH адрес." - }, - "noResolver": { - "title": "Разрешатель не установлен", - "description": "Чтобы использовать это имя в качестве основного, вам сначала нужно установить разрешатель и обновить ETH адрес." - }, - "invalidResolver": { - "title": "Установлен неавторизованный разрешатель", - "description": "Чтобы использовать это имя в качестве основного, вам сначала нужно установить действительный разрешатель и обновить ETH адрес." - } - }, - "multiStepSubnameDelete": { - "title": "Удалить подимя", - "description": "Удаление этого подимени требует нескольких транзакций" } }, - "errors": { - "duplicateKey": "{{value}} — это дублирующийся ключ" + "transaction": { + "extendNames": { + "actionValue": "Продлить регистрацию", + "costValue": "{{value}} + комиссии" + } } } diff --git a/public/locales/ru/transactionFlow_old.json b/public/locales/ru/transactionFlow_old.json new file mode 100644 index 000000000..b2253d260 --- /dev/null +++ b/public/locales/ru/transactionFlow_old.json @@ -0,0 +1,168 @@ +{ + "input": { + "profileEditor": { + "tabs": { + "avatar": { + "change": "Изменить аватар", + "label": "Аватар", + "dropdown": { + "enterManually": "Ввести вручную" + } + }, + "general": { + "name": { + "label": "Псевдоним", + "placeholder": "Иван Иванов" + }, + "url": { + "label": "Вебсайт", + "placeholder": "https://ens.domains" + }, + "location": { + "label": "Местоположение", + "placeholder": "Метавселенная" + }, + "description": { + "label": "Краткая биография", + "placeholder": "Я фермер с доходов из сельской Теннесси." + } + }, + "accounts": { + "placeholder": { + "default": "Добавьте имя пользователя здесь", + "com.twitter": "например, nicksdjohnson", + "com.github": "например, arachnid", + "com.discord": "например, nickjohnson", + "org.telegram": "например, nicksdjohnson", + "email": "например, hello@example.com" + } + }, + "address": { + "placeholder": { + "default": "Добавьте адрес здесь", + "eth": "0xD9hbQK...", + "bnb": "0xD9hbQK...", + "btc": "3FZbgi29...", + "ltc": "3FZbgi29...", + "sol": "D4kA7VzHnmV...", + "dot": "1D4kA7VxH...", + "doge": "DFabcd12..." + } + }, + "contentHash": { + "placeholder": { + "default": "Добавьте URL здесь", + "ipfs": "ipfs://...", + "skynet": "sia://...", + "arweave": "ar://...", + "swarm": "bzz://...", + "onion": "onion3://..." + } + }, + "other": { + "placeholder": { + "default": "Добавьте значение здесь..." + } + } + }, + "warningOverlay": { + "invalidResolver": { + "action": "Обновить разрешатель" + }, + "noResolver": { + "action": "Обновить" + }, + "links": { + "learnMoreResolvers": "Узнать больше о разрешателях" + } + }, + "intro": { + "resetProfile": { + "title": "Сброс профиля" + }, + "migrateProfile": { + "title": "Миграция профиля" + }, + "migrateCurrentProfile": { + "title": "Миграция профиля" + } + } + }, + "editResolver": { + "customPlaceholder": "Введите адрес пользовательского разрешателя" + }, + "editRoles": { + "views": { + "main": { + "title": "Редактировать роли" + } + } + }, + "extendNames": { + "invoice": { + "total": "Оценочная сумма" + } + }, + "transferProfile": { + "title": "Передача профиля", + "message1": "Перед обновлением вы можете передать свой текущий профиль, если хотите, в противном случае он будет сброшен при обновлении.", + "message2": "Хотите ли вы передать свой текущий профиль?" + }, + "revokePermissions": { + "views": { + "revokeAdditional": { + "title": "Отозвать разрешения", + "subtitle": "Хотите ли вы отозвать разрешения на это имя перед тем, как отказаться от права собственности? Это можно сделать только сейчас.", + "action": { + "title": "Отозвать дополнительные разрешения", + "description": "Если вы не являетесь управляющим, вы не сможете отозвать дополнительные разрешения после этого." + } + }, + "revokePermissions": { + "unwrapSubtitle": "Выберите это, чтобы включить другие", + "fuses": { + "CANNOT_CREATE_SUBDOMAIN": "Отозвать разрешение на: Создание подсайтов", + "CANNOT_TRANSFER": "Отозвать разрешение на: Передачу этого имени", + "CANNOT_SET_RESOLVER": "Отозвать разрешение на: Установку разрешателя", + "CANNOT_SET_TTL": "Отозвать разрешение на: Установку TTL", + "CANNOT_BURN_FUSES": "Отозвать разрешение на: Изменение разрешений", + "CANNOT_APPROVE": "Отозвать разрешение на: Изменение управляющего по обновлению" + } + } + } + } + }, + "transaction": { + "extendNames": { + "warning": "Продление этого имени не даст вам права собственности на него" + }, + "deleteSubname": { + "warning": "Привет там" + } + }, + "intro": { + "migrateAndUpdateResolver": { + "title": "Требуется действие" + }, + "selectPrimaryName": { + "updateEthAddress": { + "title": "Обновить ETH адрес", + "description": "ETH адрес для этого имени не соответствует этому кошельку. Чтобы использовать это имя в качестве основного, вам сначала нужно обновить ETH адрес." + }, + "noResolver": { + "title": "Разрешатель не установлен", + "description": "Чтобы использовать это имя в качестве основного, вам сначала нужно установить разрешатель и обновить ETH адрес." + }, + "invalidResolver": { + "title": "Установлен неавторизованный разрешатель", + "description": "Чтобы использовать это имя в качестве основного, вам сначала нужно установить действительный разрешатель и обновить ETH адрес." + } + }, + "multiStepSubnameDelete": { + "title": "Удалить подимя" + } + }, + "errors": { + "duplicateKey": "{{value}} — это дублирующийся ключ" + } +} diff --git a/public/locales/ru/translation.json b/public/locales/ru/translation.json new file mode 100644 index 000000000..34a74ecc1 --- /dev/null +++ b/public/locales/ru/translation.json @@ -0,0 +1,104 @@ +{ + "testnetFaucet": { + "explanation": "", + "note": "" + }, + "action": { + "close": "", + "claim": "", + "cancel": "", + "done": "", + "next": "", + "tryAgain": "", + "back": "", + "continue": "", + "changeNetwork": "", + "save": "", + "delete": "" + }, + "navigation": { + "language": "" + }, + "transaction": { + "dialog": { + "intro": { + "trailingButtonResume": "", + "trailingButton": "", + "step": "" + }, + "complete": { + "message": "" + }, + "sent": { + "message": "", + "learn": "" + }, + "confirm": { + "message": "", + "waitingForWallet": "", + "openWallet": "" + } + }, + "error": { + "unknown": "" + }, + "viewEtherscan": "", + "description": { + "approveDnsRegistrar": "", + "approveNameWrapper": "", + "burnFuses": "", + "changePermissions": "", + "claimDnsName": "", + "commitName": "", + "createSubname": "", + "deleteSubname": "", + "importDnsName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "registerName": "", + "removeRecord": "", + "resetPrimaryName": "", + "clearRecords": "", + "resetProfileWithRecords": "", + "syncManager": "", + "testSendName": "", + "unwrapName": "", + "updateRecords": "", + "updateProfile": "", + "updateResolver": "", + "updateRecord": "", + "wrapName": "" + }, + "info": { + "approveNameWrapper": "", + "fuses": { + "PARENT_CANNOT_CONTROL": "", + "grant": "", + "CAN_EXTEND_EXPIRY": "", + "setExpiry": "", + "revoke": "" + }, + "commitName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "setPrimaryName": "", + "testSendName": "", + "updateEthAddressOnLatestResolver": "", + "updateEthAddress": "", + "updateResolver": "", + "wrapName": "" + }, + "itemValue": { + "records_one": "", + "records_few": "", + "records_many": "", + "records_other": "" + } + }, + "errors": { + "hasSubnames": "", + "permissionRevoked": "" + }, + "notFound": "", + "unsupportedNetwork": "" +} diff --git a/public/locales/uk/address.json b/public/locales/uk/address.json index 0b3b43e8f..42c4bd291 100644 --- a/public/locales/uk/address.json +++ b/public/locales/uk/address.json @@ -1,18 +1,13 @@ { - "meta": { - "title": "{{address}} на ENS", - "description": "Усі імена для {{address}} на Ethereum Name Service" - }, - "addressDetails": "Деталі адреси", - "nameCount": "{{count}} імен", - "filter": "Фільтр", - "view": "Перегляд", "noProfile": { "title": "Основне ім'я не встановлено", "message": "Цей гаманець повинен встановити основне ім'я для створення профілю" }, - "noResults": "Імен не знайдено", "errors": { "names": "Не вдалося знайти адресу" + }, + "meta": { + "title": "{{address}} на ENS", + "description": "Усі імена для {{address}} на Ethereum Name Service" } } diff --git a/public/locales/uk/address_old.json b/public/locales/uk/address_old.json new file mode 100644 index 000000000..13d215bbb --- /dev/null +++ b/public/locales/uk/address_old.json @@ -0,0 +1,7 @@ +{ + "addressDetails": "Деталі адреси", + "nameCount": "{{count}} імен", + "filter": "Фільтр", + "view": "Перегляд", + "noResults": "Імен не знайдено" +} diff --git a/public/locales/uk/common.json b/public/locales/uk/common.json index dd33172cb..b6e0563b0 100644 --- a/public/locales/uk/common.json +++ b/public/locales/uk/common.json @@ -1,397 +1,184 @@ { - "title": "Ваш веб3 ім'я користувача", - "description": "Ваша ідентичність у веб3, одне ім'я для всіх ваших криптоадрес і ваш децентралізований вебсайт.", - "loading": "Завантаження", - "unsupportedNetwork": "Мережева підтримка не підтримується", - "notFound": "404 Не знайдено", - "etherscan": "Etherscan", + "unit": { + "years_one": "{{count}} рік", + "years_few": "", + "years_many": "", + "years_other": "{{count}} років", + "gas": "{{value}} газ", + "invalid_date": "Неправильна дата", + "perPage_one": "", + "perPage_few": "", + "perPage_many": "", + "perPage_other": "", + "selected_one": "", + "selected_few": "", + "selected_many": "", + "selected_other": "", + "months_one": "{{count}} місяць", + "months_few": "", + "months_many": "", + "months_other": "{{count}} місяців", + "days_one": "{{count}} день", + "days_few": "", + "days_many": "", + "days_other": "{{count}} днів" + }, "action": { - "cancel": "Скасувати", - "change": "Змінити", - "upload": "Завантажити", - "close": "Закрити", - "save": "Зберегти", - "edit": "Редагувати", - "view": "Переглянути", - "clear": "Очистити", - "update": "Оновити", - "learnMore": "Дізнатися більше", - "send": "Надіслати", - "next": "Далі", - "add": "Додати", - "set": "Встановити", "search": "Пошук", - "back": "Назад", + "add": "Додати", + "cancel": "Скасувати", + "extend": "Продовжити", + "sort": "Сортувати", + "remove": "Видалити", "continue": "Продовжити", + "back": "Назад", "confirm": "Підтвердити", - "remove": "Видалити", - "sign": "Підписати", - "reset": "Скинути", - "transfer": "Передати", "tryAgain": "Спробувати ще раз", - "done": "Готово", - "burnSelected": "Спалити вибране", - "extend": "Продовжити", - "delete": "Видалити", - "sort": "Сортувати", - "check": "Перевірити", - "claim": "Претендувати", - "remindMe": "Нагадати мені", + "learnMore": "Дізнатися більше", "begin": "Розпочати", + "next": "Далі", + "remindMe": "Нагадати мені", "finish": "Завершити", - "skip": "Пропустити", - "changeNetwork": "Змінити мережу", - "understand": "Я розумію", - "feedback": "Зворотний зв'язок", "enterEmail": "Введіть вашу електронну пошту", - "migrate": "Міграція", - "setToSelf": "Встановити для себе", - "editRoles": "Редагувати ролі", + "close": "Закрити", + "view": "Переглянути", + "send": "Надіслати", + "edit": "Редагувати", "setReminder": "Встановити нагадування", - "import": "Імпортувати", - "connect": "Підключити" + "editRoles": "Редагувати ролі", + "change": "Змінити", + "save": "Зберегти", + "understand": "Я розумію", + "update": "Оновити", + "setToSelf": "Встановити для себе", + "skip": "Пропустити", + "delete": "Видалити" }, - "unit": { - "years_one": "{{count}} рік", - "years_other": "{{count}} років", - "months_one": "{{count}} місяць", - "months_other": "{{count}} місяців", - "days_one": "{{count}} день", - "days_other": "{{count}} днів", - "invalid_date": "Неправильна дата", - "yrs_one": "{{count}} р.", - "yrs_other": "{{count}} р.", - "gas": "{{value}} газ", - "selected": "{{count}} вибрано", - "perPage": "{{count}} на сторінку" + "errors": { + "invalidAddress": "Неправильна адреса", + "emailRequired": "Електронна пошта обов'язкова", + "emailInvalid": "Неправильна електронна адреса", + "networkError": { + "blurb": "Ця кнопка в даний момент відключена через проблеми з синхронізацією даних.", + "title": "Помилка синхронізації даних", + "message": "Ці дані можуть бути застарілими. Будь ласка, будьте обережні." + }, + "networkLatency": { + "title": "Повільна синхронізація даних", + "message": "Додаток ENS стикається з уповільненнями через проблеми з затримкою мережі." + }, + "addressRequired": "Адреса обов'язкова" }, "navigation": { - "home": "Головна", - "names": "Мої імена", - "favourites": "Улюблені", - "settings": "Налаштування", - "governance": "Управління", - "community": "Спільнота", - "developers": "Розробники", - "support": "Підтримка", - "bounty": "Баг-баунті", - "terms": "Умови використання", - "privacy": "Політика конфіденційності", - "back": "Назад", - "oldApp": "Стара програма ENS", + "syncMessage": "Синхронізація з мережею. Зміни від вашої транзакції можуть ще не відображатися.", "language": "Мова", "currency": "Валюта", - "ipfsApp": "IPFS ENS програма", - "feedback": "Зворотний зв'язок", - "syncMessage": "Синхронізація з мережею. Зміни від вашої транзакції можуть ще не відображатися." - }, - "wallet": { - "myProfile": "Профіль", - "disconnect": "Відключити", - "connect": "Підключити", - "noPrimaryName": "Основне ім'я не встановлено", - "viewProfile": "Переглянути профіль", - "viewDetails": "Переглянути деталі", - "register": "Зареєструвати" + "settings": "Налаштування" }, - "name": { - "registered": "Зареєстровано", - "expires": "Термін дії закінчується", - "graceEnd": "Кінець пільгового періоду", - "noExpiry": "Без терміну дії", - "expiry": "Термін дії", - "parent": "Батьківське", - "noParent": "Без батьківського", - "registrant": "Реєстратор", - "controller": "Контролер", - "dnsOwner": "Власник DNS", - "owner": "Власник", - "notOwned": "Не належить", - "manager": "Менеджер", - "all": "Всі імена", - "copy": "Скопіювати ім'я", - "yourPrimaryName": "Ваше основне ім'я", - "expiresInYears_one": "Термін дії закінчується через {{count}} рік", - "expiresInYears_other": "Термін дії закінчується через {{count}} років", - "expiresInMonths_one": "Термін дії закінчується через {{count}} місяць", - "expiresInMonths_other": "Термін дії закінчується через {{count}} місяців", - "expiresInDays_one": "Термін дії закінчується через {{count}} день", - "expiresInDays_other": "Термін дії закінчується через {{count}} днів", - "expiresInHours_one": "Термін дії закінчується через {{count}} годину", - "expiresInHours_other": "Термін дії закінчується через {{count}} години", - "expiresInHours_zero": "Термін дії закінчується менш ніж за годину", - "expiredInHours_one": "Термін дії закінчився {{count}} годину тому", - "expiredInHours_other": "Термін дії закінчився {{count}} години тому", - "expiredInHours_zero": "Термін дії закінчився менш ніж годину тому", - "expiredInDays_one": "Термін дії закінчився {{count}} день тому", - "expiredInDays_other": "Термін дії закінчився {{count}} днів тому", - "expiredInMonths_one": "Термін дії закінчився {{count}} місяць тому", - "expiredInMonths_other": "Термін дії закінчився {{count}} місяців тому", - "expiredInYears_one": "Термін дії закінчився {{count}} рік тому", - "expiredInYears_other": "Термін дії закінчився {{count}} років тому", - "gracePeriod": { - "expiresInYears_one": "Пільговий період закінчується через {{count}} рік", - "expiresInYears_other": "Пільговий період закінчується через {{count}} років", - "expiresInMonths_one": "Пільговий період закінчується через {{count}} місяць", - "expiresInMonths_other": "Пільговий період закінчується через {{count}} місяців", - "expiresInDays_one": "Пільговий період закінчується через {{count}} день", - "expiresInDays_other": "Пільговий період закінчується через {{count}} днів", - "expiresInHours_one": "Пільговий період закінчується через {{count}} годину", - "expiresInHours_other": "Пільговий період закінчується через {{count}} години", - "expiresInHours_zero": "Пільговий період закінчується менш ніж за годину" - }, - "extend": "Продовжити", - "send": "Надіслати", - "transfer": "Передати", - "sendManager": "Надіслати менеджеру", - "sendOwner": "Надіслати власнику", - "renew": "Оновити {{name}}" + "search": { + "emptyText": "Введіть ім'я або адресу для пошуку...", + "label": "Пошук імені", + "placeholder": "Шукати ім'я" }, "address": { "label": "Адреса", "viewAddress": "Переглянути адресу", "copyAddress": "Скопіювати адресу" }, - "records": { - "label": "Записи" - }, - "sortTypes": { - "expiryDate": "Дата закінчення терміну", - "labelName": "Ім'я", - "createdAt": "Дата створення" - }, - "errors": { - "noResults": "Результатів не знайдено", - "emailRequired": "Електронна пошта обов'язкова", - "emailInvalid": "Неправильна електронна адреса", - "invalidAddress": "Неправильна адреса", - "addressRequired": "Адреса обов'язкова", - "indexingErrors": { - "title": "Помилка синхронізації даних", - "message": "Ці дані можуть бути застарілими. Будь ласка, будьте обережні.", - "message_datetime": "Ці дані були востаннє оновлені {{datetime}} і можуть бути застарілими. Будь ласка, будьте обережні" - }, - "networkError": { - "title": "Помилка синхронізації даних", - "message": "Ці дані можуть бути застарілими. Будь ласка, будьте обережні.", - "blurb": "Ця кнопка в даний момент відключена через проблеми з синхронізацією даних." - }, - "networkLatency": { - "title": "Повільна синхронізація даних", - "message": "Додаток ENS стикається з уповільненнями через проблеми з затримкою мережі." - } + "wallet": { + "connect": "Підключити", + "myProfile": "Профіль", + "disconnect": "Відключити", + "viewProfile": "Переглянути профіль", + "viewDetails": "Переглянути деталі" }, - "transaction": { - "description": { - "setName": "Встановити ім'я", - "setRecords": "Встановити записи", - "test": "Тестова транзакція", - "addSuccess": "Успішне додавання", - "sendName": "Надіслати ім'я", - "migrateProfile": "Мігрувати профіль", - "migrateProfileWithReset": "Мігрувати профіль", - "migrateProfileWithSync": "Мігрувати і оновити профіль", - "migrateProfileWithEthAddress": "Мігрувати і оновити ETH адресу", - "wrapName": "Огорнути ім'я", - "updateResolver": "Оновити резолвер", - "updateProfile": "Оновити профіль", - "setPrimaryName": "Встановити основне ім'я", - "resetPrimaryName": "Видалити основне ім'я", - "updateEthAddress": "Оновити ETH адресу", - "testSendName": "Надіслати ім'я", - "burnFuses": "Спалити дозволи", - "createSubname": "Створити підім'я", - "deleteSubname": "Видалити підім'я", - "extendNames": "Продовжити імена", - "approveDnsRegistrar": "Схвалити DNS реєстратора", - "claimDnsName": "Одержати DNS ім'я", - "importDnsName": "Імпортувати DNS ім'я", - "commitName": "Розпочати таймер", - "registerName": "Зареєструвати ім'я", - "approveNameWrapper": "Схвалити NameWrapper", - "clearRecords": "Очистити записи", - "updateRecords": "Оновити записи", - "resetProfileWithRecords": "Скинути профіль з записами", - "transferName": "Перенести ім'я", - "transferSubname": "Перенести підім'я", - "changePermissions": "Змінити дозволи", - "syncManager": "Синхронізувати менеджера", - "updateProfileRecords": "Оновити профіль", - "resetProfile": "Скинути профіль", - "unwrapName": "Відгорнути ім'я" - }, - "info": { - "sendName": "Встановити контролера та реєстратора імені", - "migrateProfile": "Встановити існуючі записи на новому резолвері", - "migrateProfileWithReset": "Встановити існуючі записи на новому резолвері", - "migrateProfileWithSync": "Встановити існуючі записи на новому резолвері", - "migrateProfileWithEthAddress": "Встановити існуючі записи та ETH адресу на новому резолвері", - "wrapName": "Огорнути ім'я", - "updateResolver": "Змінити резолвер на", - "updateProfile": "Оновити записи на існуючому резолвері", - "setPrimaryName": "Встановити основне ім'я для вашої адреси", - "updateEthAddress": "Оновити ETH адресу на цю адресу", - "updateEthAddressOnLatestResolver": "Оновити ETH адресу на останньому резолвері", - "testSendName": "Встановити контролера та реєстратора імені", - "createSubname": "Створити нове підім'я для імені", - "burnFuses": "Спалити обрані дозволи до закінчення терміну імені", - "commitName": "Розпочати таймер для реєстрації імені", - "approveNameWrapper": "Схвалити NameWrapper для управління вашими іменами", - "fuses": { - "revoke": "Анулювати", - "grant": "Надати", - "setExpiry": "Встановити термін дії", - "PARENT_CANNOT_CONTROL": "Здати контроль над батьківським", - "CAN_EXTEND_EXPIRY": "Продовжити термін дії", - "CANNOT_UNWRAP": "Відгорнути це ім'я", - "CANNOT_CREATE_SUBDOMAIN": "Створити піддомен", - "CANNOT_SET_RESOLVER": "Встановити резолвер", - "CANNOT_SET_TTL": "Встановити TTL", - "CANNOT_TRANSFER": "Надіслати це ім'я", - "CANNOT_BURN_FUSES": "Змінити дозволи", - "CANNOT_APPROVE": "Змінити менеджера з продовження" - } - }, - "itemLabel": { - "name": "Ім'я", - "address": "Адреса", - "action": "Дія", - "info": "Інформація", - "to": "До", - "subname": "Підім'я", - "duration": "Тривалість", - "cost": "Вартість", - "update": "Оновити", - "resolver": "Резолвер", - "records": "Записи" - }, - "itemValue": { - "records_one": "{{count}} запис", - "records_other": "{{count}} записи" - }, - "status": { - "pending": { - "regular": "Очікує" - }, - "confirmed": { - "regular": "Підтверджено", - "notifyTitle": "Транзакцію успішно завершено", - "notifyMessage": "Ваша транзакція \"{{action}}\" була успішною" + "loading": "Завантаження", + "steps": { + "enableDnssec": { + "title": "", + "status": { + "enabled": "", + "disabled": { + "heading": "", + "help": "", + "message": "" + } }, - "failed": { - "regular": "Не вдалося", - "notifyTitle": "Помилка транзакції", - "notifyMessage": "Ваша транзакція \"{{action}}\" не вдалася і була скасована" + "help": { + "findOutRegistrar": "" } }, - "dialog": { - "intro": { - "trailingButton": "Розпочати", - "trailingButtonResume": "Продовжити", - "step": "Крок {{step}}" + "transaction": { + "mismatching": { + "title": "", + "subtitle": "" }, - "confirm": { - "title": "Підтвердіть деталі", - "message": "Подвійно перевірте ці деталі перед підтвердженням у вашому гаманці.", - "waitingForWallet": "Очікування на гаманець", - "openWallet": "Відкрити гаманець" + "matching": { + "title": "", + "subtitle": "" }, - "sent": { - "title": "Транзакцію надіслано", - "message": "Ваша транзакція зараз у процесі, ви можете закрити це і повернутися пізніше.", - "progress": { - "title": "Надіслано", - "message": "Триває довше, ніж очікувалося" + "estimatedNetworkCost": "" + }, + "verifyOwnership": { + "title": "", + "status": { + "mismatching": { + "heading": "", + "help": "", + "message": "", + "error": { + "onchain": "", + "offchain": "" + } }, - "learn": "Дізнатися про тривалі транзакції" - }, - "complete": { - "title": "Транзакцію завершено", - "message": "Ваша транзакція завершена!", - "progress": { - "title": "Зроблено" - } + "disconnected": "", + "matching": "" }, - "failed": { - "title": "Транзакція не вдалася", - "progress": { - "title": "Не вдалося" - } - }, - "error": { - "gasLimit": "Ліміт газу у вашій транзакції був недостатнім, будь ласка, спробуйте ще раз." + "action": { + "importWithoutOwnership": "" } }, - "error": { - "unknown": "Сталася невідома помилка" - }, - "viewEtherscan": "Переглянути на Etherscan", - "viewMore": "Переглянути більше" - }, - "search": { - "label": "Пошук імені", - "placeholder": "Шукати ім'я", - "emptyText": "Введіть ім'я або адресу для пошуку...", - "address": "Адреса", - "errors": { - "tooShort": "Ім'я занадто коротке", - "invalid": "Неправильний формат імені" - }, - "status": { - "registered": "Зареєстровано", - "gracePeriod": "Пільговий період", - "premium": "Тимчасовий преміум", - "available": "Доступно", - "notOwned": "Не належить", - "notImported": "Не імпортовано", - "short": "Занадто коротке", - "default": "Неправильне", - "invalid": "Неправильне", - "unsupportedTLD": "Не підтримується", - "imported": "Імпортовано", - "owned": "Належить" + "selectType": { + "title": "", + "subtitle": "", + "learnMore": "", + "select": { + "heading": "", + "offchain": { + "name": "", + "tag": "", + "description": "" + }, + "onchain": { + "name": "", + "description": "" + } + } } }, - "selectableInput": { - "add": "Додати", - "placeholder": "Вибрати опцію", - "empty": "Опцій не знайдено" - }, - "testnetFaucet": { - "explanation": "Кожна адреса на {{ testnet }} може отримати {{ amount }} {{ ticker }} для тестування програми менеджера ENS, а також для іншого використання тестової мережі.", - "note": "Може знадобитися кілька хвилин, щоб відобразитися у вашому гаманці." + "etherscan": "Etherscan", + "name": { + "graceEnd": "Кінець пільгового періоду", + "registered": "Зареєстровано", + "copy": "Скопіювати ім'я", + "expires": "Термін дії закінчується", + "noExpiry": "Без терміну дії", + "notOwned": "Не належить", + "noParent": "Без батьківського", + "yourPrimaryName": "Ваше основне ім'я" }, - "roles": { - "owner": { - "title": "власник", - "description": "Адреса, яка володіє цим ім'ям." - }, - "dns-owner": { - "title": "Власник DNS", - "description": "Адреса, яка володіє цим ім'ям." - }, - "parent-owner": { - "title": "Власник батьківського", - "description": "Адреса, яка володіє батьківським ім'ям." - }, - "manager": { - "title": "менеджер", - "description": "Адреса або контракт, який може змінювати профіль, налаштування та менеджерів профілю." - }, - "profile-editor": { - "title": "Редактор профілю", - "description": "Адреса, яка може змінювати профіль." - }, - "eth-record": { - "title": "ETH запис", - "description": "Адреса, на яку вказує це ім'я." + "transaction": { + "viewEtherscan": "Переглянути на Etherscan", + "description": { + "syncManager": "Синхронізувати менеджера" } }, "dns": { "refresh": "Оновити DNS" }, - "calendar": { - "pick_by_years": "Вибрати за роками", - "pick_by_date": "Вибрати за датою" - } + "records": { + "label": "Записи" + }, + "title": "Ваш веб3 ім'я користувача", + "description": "Ваша ідентичність у веб3, одне ім'я для всіх ваших криптоадрес і ваш децентралізований вебсайт." } diff --git a/public/locales/uk/common_old.json b/public/locales/uk/common_old.json new file mode 100644 index 000000000..a7f86ff18 --- /dev/null +++ b/public/locales/uk/common_old.json @@ -0,0 +1,310 @@ +{ + "unsupportedNetwork": "Мережева підтримка не підтримується", + "notFound": "404 Не знайдено", + "action": { + "upload": "Завантажити", + "clear": "Очистити", + "set": "Встановити", + "sign": "Підписати", + "reset": "Скинути", + "transfer": "Передати", + "done": "Готово", + "burnSelected": "Спалити вибране", + "check": "Перевірити", + "claim": "Претендувати", + "changeNetwork": "Змінити мережу", + "feedback": "Зворотний зв'язок", + "migrate": "Міграція", + "import": "Імпортувати", + "connect": "Підключити" + }, + "unit": { + "yrs_one": "{{count}} р.", + "yrs_other": "{{count}} р.", + "selected": "{{count}} вибрано", + "perPage": "{{count}} на сторінку" + }, + "navigation": { + "home": "Головна", + "names": "Мої імена", + "favourites": "Улюблені", + "governance": "Управління", + "community": "Спільнота", + "developers": "Розробники", + "support": "Підтримка", + "bounty": "Баг-баунті", + "terms": "Умови використання", + "privacy": "Політика конфіденційності", + "back": "Назад", + "oldApp": "Стара програма ENS", + "ipfsApp": "IPFS ENS програма", + "feedback": "Зворотний зв'язок" + }, + "wallet": { + "noPrimaryName": "Основне ім'я не встановлено", + "register": "Зареєструвати" + }, + "name": { + "expiry": "Термін дії", + "parent": "Батьківське", + "registrant": "Реєстратор", + "controller": "Контролер", + "dnsOwner": "Власник DNS", + "owner": "Власник", + "manager": "Менеджер", + "all": "Всі імена", + "expiresInYears_one": "Термін дії закінчується через {{count}} рік", + "expiresInYears_other": "Термін дії закінчується через {{count}} років", + "expiresInMonths_one": "Термін дії закінчується через {{count}} місяць", + "expiresInMonths_other": "Термін дії закінчується через {{count}} місяців", + "expiresInDays_one": "Термін дії закінчується через {{count}} день", + "expiresInDays_other": "Термін дії закінчується через {{count}} днів", + "expiresInHours_one": "Термін дії закінчується через {{count}} годину", + "expiresInHours_other": "Термін дії закінчується через {{count}} години", + "expiresInHours_zero": "Термін дії закінчується менш ніж за годину", + "expiredInHours_one": "Термін дії закінчився {{count}} годину тому", + "expiredInHours_other": "Термін дії закінчився {{count}} години тому", + "expiredInHours_zero": "Термін дії закінчився менш ніж годину тому", + "expiredInDays_one": "Термін дії закінчився {{count}} день тому", + "expiredInDays_other": "Термін дії закінчився {{count}} днів тому", + "expiredInMonths_one": "Термін дії закінчився {{count}} місяць тому", + "expiredInMonths_other": "Термін дії закінчився {{count}} місяців тому", + "expiredInYears_one": "Термін дії закінчився {{count}} рік тому", + "expiredInYears_other": "Термін дії закінчився {{count}} років тому", + "gracePeriod": { + "expiresInYears_one": "Пільговий період закінчується через {{count}} рік", + "expiresInYears_other": "Пільговий період закінчується через {{count}} років", + "expiresInMonths_one": "Пільговий період закінчується через {{count}} місяць", + "expiresInMonths_other": "Пільговий період закінчується через {{count}} місяців", + "expiresInDays_one": "Пільговий період закінчується через {{count}} день", + "expiresInDays_other": "Пільговий період закінчується через {{count}} днів", + "expiresInHours_one": "Пільговий період закінчується через {{count}} годину", + "expiresInHours_other": "Пільговий період закінчується через {{count}} години", + "expiresInHours_zero": "Пільговий період закінчується менш ніж за годину" + }, + "extend": "Продовжити", + "send": "Надіслати", + "transfer": "Передати", + "sendManager": "Надіслати менеджеру", + "sendOwner": "Надіслати власнику", + "renew": "Оновити {{name}}" + }, + "sortTypes": { + "expiryDate": "Дата закінчення терміну", + "labelName": "Ім'я", + "createdAt": "Дата створення" + }, + "errors": { + "noResults": "Результатів не знайдено", + "indexingErrors": { + "title": "Помилка синхронізації даних", + "message": "Ці дані можуть бути застарілими. Будь ласка, будьте обережні.", + "message_datetime": "Ці дані були востаннє оновлені {{datetime}} і можуть бути застарілими. Будь ласка, будьте обережні" + } + }, + "transaction": { + "description": { + "setName": "Встановити ім'я", + "setRecords": "Встановити записи", + "test": "Тестова транзакція", + "addSuccess": "Успішне додавання", + "sendName": "Надіслати ім'я", + "migrateProfile": "Мігрувати профіль", + "migrateProfileWithReset": "Мігрувати профіль", + "migrateProfileWithSync": "Мігрувати і оновити профіль", + "migrateProfileWithEthAddress": "Мігрувати і оновити ETH адресу", + "wrapName": "Огорнути ім'я", + "updateResolver": "Оновити резолвер", + "updateProfile": "Оновити профіль", + "setPrimaryName": "Встановити основне ім'я", + "resetPrimaryName": "Видалити основне ім'я", + "updateEthAddress": "Оновити ETH адресу", + "testSendName": "Надіслати ім'я", + "burnFuses": "Спалити дозволи", + "createSubname": "Створити підім'я", + "deleteSubname": "Видалити підім'я", + "extendNames": "Продовжити імена", + "approveDnsRegistrar": "Схвалити DNS реєстратора", + "claimDnsName": "Одержати DNS ім'я", + "importDnsName": "Імпортувати DNS ім'я", + "commitName": "Розпочати таймер", + "registerName": "Зареєструвати ім'я", + "approveNameWrapper": "Схвалити NameWrapper", + "clearRecords": "Очистити записи", + "updateRecords": "Оновити записи", + "resetProfileWithRecords": "Скинути профіль з записами", + "transferName": "Перенести ім'я", + "transferSubname": "Перенести підім'я", + "changePermissions": "Змінити дозволи", + "updateProfileRecords": "Оновити профіль", + "resetProfile": "Скинути профіль", + "unwrapName": "Відгорнути ім'я" + }, + "info": { + "sendName": "Встановити контролера та реєстратора імені", + "migrateProfile": "Встановити існуючі записи на новому резолвері", + "migrateProfileWithReset": "Встановити існуючі записи на новому резолвері", + "migrateProfileWithSync": "Встановити існуючі записи на новому резолвері", + "migrateProfileWithEthAddress": "Встановити існуючі записи та ETH адресу на новому резолвері", + "wrapName": "Огорнути ім'я", + "updateResolver": "Змінити резолвер на", + "updateProfile": "Оновити записи на існуючому резолвері", + "setPrimaryName": "Встановити основне ім'я для вашої адреси", + "updateEthAddress": "Оновити ETH адресу на цю адресу", + "updateEthAddressOnLatestResolver": "Оновити ETH адресу на останньому резолвері", + "testSendName": "Встановити контролера та реєстратора імені", + "createSubname": "Створити нове підім'я для імені", + "burnFuses": "Спалити обрані дозволи до закінчення терміну імені", + "commitName": "Розпочати таймер для реєстрації імені", + "approveNameWrapper": "Схвалити NameWrapper для управління вашими іменами", + "fuses": { + "revoke": "Анулювати", + "grant": "Надати", + "setExpiry": "Встановити термін дії", + "PARENT_CANNOT_CONTROL": "Здати контроль над батьківським", + "CAN_EXTEND_EXPIRY": "Продовжити термін дії", + "CANNOT_UNWRAP": "Відгорнути це ім'я", + "CANNOT_CREATE_SUBDOMAIN": "Створити піддомен", + "CANNOT_SET_RESOLVER": "Встановити резолвер", + "CANNOT_SET_TTL": "Встановити TTL", + "CANNOT_TRANSFER": "Надіслати це ім'я", + "CANNOT_BURN_FUSES": "Змінити дозволи", + "CANNOT_APPROVE": "Змінити менеджера з продовження" + } + }, + "itemLabel": { + "name": "Ім'я", + "address": "Адреса", + "action": "Дія", + "info": "Інформація", + "to": "До", + "subname": "Підім'я", + "duration": "Тривалість", + "cost": "Вартість", + "update": "Оновити", + "resolver": "Резолвер", + "records": "Записи" + }, + "itemValue": { + "records_one": "{{count}} запис", + "records_other": "{{count}} записи" + }, + "status": { + "pending": { + "regular": "Очікує" + }, + "confirmed": { + "regular": "Підтверджено", + "notifyTitle": "Транзакцію успішно завершено", + "notifyMessage": "Ваша транзакція \"{{action}}\" була успішною" + }, + "failed": { + "regular": "Не вдалося", + "notifyTitle": "Помилка транзакції", + "notifyMessage": "Ваша транзакція \"{{action}}\" не вдалася і була скасована" + } + }, + "dialog": { + "intro": { + "trailingButton": "Розпочати", + "trailingButtonResume": "Продовжити", + "step": "Крок {{step}}" + }, + "confirm": { + "title": "Підтвердіть деталі", + "message": "Подвійно перевірте ці деталі перед підтвердженням у вашому гаманці.", + "waitingForWallet": "Очікування на гаманець", + "openWallet": "Відкрити гаманець" + }, + "sent": { + "title": "Транзакцію надіслано", + "message": "Ваша транзакція зараз у процесі, ви можете закрити це і повернутися пізніше.", + "progress": { + "title": "Надіслано", + "message": "Триває довше, ніж очікувалося" + }, + "learn": "Дізнатися про тривалі транзакції" + }, + "complete": { + "title": "Транзакцію завершено", + "message": "Ваша транзакція завершена!", + "progress": { + "title": "Зроблено" + } + }, + "failed": { + "title": "Транзакція не вдалася", + "progress": { + "title": "Не вдалося" + } + }, + "error": { + "gasLimit": "Ліміт газу у вашій транзакції був недостатнім, будь ласка, спробуйте ще раз." + } + }, + "error": { + "unknown": "Сталася невідома помилка" + }, + "viewMore": "Переглянути більше" + }, + "search": { + "address": "Адреса", + "errors": { + "tooShort": "Ім'я занадто коротке", + "invalid": "Неправильний формат імені" + }, + "status": { + "registered": "Зареєстровано", + "gracePeriod": "Пільговий період", + "premium": "Тимчасовий преміум", + "available": "Доступно", + "notOwned": "Не належить", + "notImported": "Не імпортовано", + "short": "Занадто коротке", + "default": "Неправильне", + "invalid": "Неправильне", + "unsupportedTLD": "Не підтримується", + "imported": "Імпортовано", + "owned": "Належить" + } + }, + "selectableInput": { + "add": "Додати", + "placeholder": "Вибрати опцію", + "empty": "Опцій не знайдено" + }, + "testnetFaucet": { + "explanation": "Кожна адреса на {{ testnet }} може отримати {{ amount }} {{ ticker }} для тестування програми менеджера ENS, а також для іншого використання тестової мережі.", + "note": "Може знадобитися кілька хвилин, щоб відобразитися у вашому гаманці." + }, + "roles": { + "owner": { + "title": "власник", + "description": "Адреса, яка володіє цим ім'ям." + }, + "dns-owner": { + "title": "Власник DNS", + "description": "Адреса, яка володіє цим ім'ям." + }, + "parent-owner": { + "title": "Власник батьківського", + "description": "Адреса, яка володіє батьківським ім'ям." + }, + "manager": { + "title": "менеджер", + "description": "Адреса або контракт, який може змінювати профіль, налаштування та менеджерів профілю." + }, + "profile-editor": { + "title": "Редактор профілю", + "description": "Адреса, яка може змінювати профіль." + }, + "eth-record": { + "title": "ETH запис", + "description": "Адреса, на яку вказує це ім'я." + } + }, + "calendar": { + "pick_by_years": "Вибрати за роками", + "pick_by_date": "Вибрати за датою" + } +} diff --git a/public/locales/uk/dnssec.json b/public/locales/uk/dnssec.json index 0af00944e..c2a6aad3d 100644 --- a/public/locales/uk/dnssec.json +++ b/public/locales/uk/dnssec.json @@ -1,94 +1,14 @@ { "title": "Імпортувати {{name}} в ENS", - "error": { - "unknown": "Сталася невідома помилка", - "noTxtRecord": "Запис не знайдено", - "dnssecFailure": "DNSSEC не увімкнено", - "invalidTxtRecord": "Знайдено неправильний запис", - "invalidAddressChecksum": "Адреса недійсна", - "resolutionFailure": "Наданий запис не розв'язується" - }, "status": { - "checking": "Перевіряється...", - "error": "Сталася помилка під час перевірки", - "secondsAgo": "Останній раз перевірено кілька секунд тому", - "aWhileAgo": "Останній раз перевірено деякий час тому", - "minutesAgo_one": "Останній раз перевірено {{count}} хвилину тому", - "minutesAgo_other": "Останній раз перевірено {{count}} хвилини тому" + "checking": "Перевіряється..." }, "steps": { - "selectType": { - "title": "Отримати {{name}}", - "subtitle": "Імпорт доменних імен дозволяє використовувати їх як імена ENS.", - "learnMore": "Дізнатися більше про імпорт імен", - "select": { - "heading": "Як ви хочете імплементувати ваш домен?", - "offchain": { - "name": "Оффчейн", - "tag": "Безкоштовно", - "description": "Ваше ім'я не матиме токена в блокчейні.
Це не вплине на його можливість отримувати транзакції або використовуватися як основне ім'я.
Ви не зможете редагувати свій профіль з програми ENS." - }, - "onchain": { - "name": "В блокчейні", - "description": "Ваше ім'я матиме токен в блокчейні." - } - } - }, - "enableDnssec": { - "title": "Увімкнути DNSSEC", - "help": { - "findOutRegistrar": "Дізнатися про вашого реєстратора" - }, - "status": { - "enabled": "DNSSEC увімкнено для цього домену.", - "disabled": { - "heading": "Вам потрібно відвідати вашого реєстратора доменів, щоб увімкнути DNSSEC.", - "message": "DNSSEC не увімкнено", - "help": "Допомога з увімкнення DNSSEC" - } - } - }, - "verifyOwnership": { - "title": "Підтвердити право власності", - "status": { - "disconnected": "Підключіть ваш гаманець для підтвердження права власності.", - "mismatching": { - "heading": "Додайте запис DNS нижче, щоб підтвердити ваше право власності на цей домен.", - "help": "Допомога з додаванням TXT записів", - "message": "Запис не знайдено", - "error": { - "onchain": "Знайдений запис не відповідає вашій підключеній адресі. Ви все ще можете імплементувати це ім'я, але ви не будете його власником.", - "offchain": "Знайдений запис не відповідає вашій підключеній адресі. Ви все ще можете імплементувати це ім'я, але воно не буде вказувати на вашу підключену адресу і не зможе бути використане як ваше основне ім'я." - } - }, - "matching": "Знайдено запис, що відповідає вашій підключеній адресі." - }, - "action": { - "importWithoutOwnership": "Імплементувати без права власності" - } - }, - "transaction": { - "mismatching": { - "title": "Імплементувати цей домен", - "subtitle": "Ваше право власності не підтверджено. Ви все ще можете імплементувати цей домен." - }, - "matching": { - "title": "Претендуйте на ваш домен", - "subtitle": "Ваше право власності підтверджено." - }, - "estimatedNetworkCost": "Оцінкова вартість мережі" - }, "complete": { "title": "Вітаємо!", "import": { - "subtitle": "{{name}} був імпортований", - "description": "Домен був успішно імпортований в ENS. Тепер ви можете переглядати його.", "warning": "Безгазові DNS імена наразі не з'являються у вашому списку «Імена»." }, - "claim": { - "subtitle": "Тепер ви є власником {{name}}", - "description": "Ваш домен був успішно претендований. Тепер ви можете переглядати та керувати вашим ім'ям." - }, "action": { "claimAnother": "Претендувати на інше", "viewName": "Переглянути ім'я" diff --git a/public/locales/uk/dnssec_old.json b/public/locales/uk/dnssec_old.json new file mode 100644 index 000000000..608a166d2 --- /dev/null +++ b/public/locales/uk/dnssec_old.json @@ -0,0 +1,90 @@ +{ + "error": { + "unknown": "Сталася невідома помилка", + "noTxtRecord": "Запис не знайдено", + "dnssecFailure": "DNSSEC не увімкнено", + "invalidTxtRecord": "Знайдено неправильний запис", + "invalidAddressChecksum": "Адреса недійсна", + "resolutionFailure": "Наданий запис не розв'язується" + }, + "status": { + "error": "Сталася помилка під час перевірки", + "secondsAgo": "Останній раз перевірено кілька секунд тому", + "aWhileAgo": "Останній раз перевірено деякий час тому", + "minutesAgo_one": "Останній раз перевірено {{count}} хвилину тому", + "minutesAgo_other": "Останній раз перевірено {{count}} хвилини тому" + }, + "steps": { + "selectType": { + "title": "Отримати {{name}}", + "subtitle": "Імпорт доменних імен дозволяє використовувати їх як імена ENS.", + "learnMore": "Дізнатися більше про імпорт імен", + "select": { + "heading": "Як ви хочете імплементувати ваш домен?", + "offchain": { + "name": "Оффчейн", + "tag": "Безкоштовно", + "description": "Ваше ім'я не матиме токена в блокчейні.
Це не вплине на його можливість отримувати транзакції або використовуватися як основне ім'я.
Ви не зможете редагувати свій профіль з програми ENS." + }, + "onchain": { + "name": "В блокчейні", + "description": "Ваше ім'я матиме токен в блокчейні." + } + } + }, + "enableDnssec": { + "title": "Увімкнути DNSSEC", + "help": { + "findOutRegistrar": "Дізнатися про вашого реєстратора" + }, + "status": { + "enabled": "DNSSEC увімкнено для цього домену.", + "disabled": { + "heading": "Вам потрібно відвідати вашого реєстратора доменів, щоб увімкнути DNSSEC.", + "message": "DNSSEC не увімкнено", + "help": "Допомога з увімкнення DNSSEC" + } + } + }, + "verifyOwnership": { + "title": "Підтвердити право власності", + "status": { + "disconnected": "Підключіть ваш гаманець для підтвердження права власності.", + "mismatching": { + "heading": "Додайте запис DNS нижче, щоб підтвердити ваше право власності на цей домен.", + "help": "Допомога з додаванням TXT записів", + "message": "Запис не знайдено", + "error": { + "onchain": "Знайдений запис не відповідає вашій підключеній адресі. Ви все ще можете імплементувати це ім'я, але ви не будете його власником.", + "offchain": "Знайдений запис не відповідає вашій підключеній адресі. Ви все ще можете імплементувати це ім'я, але воно не буде вказувати на вашу підключену адресу і не зможе бути використане як ваше основне ім'я." + } + }, + "matching": "Знайдено запис, що відповідає вашій підключеній адресі." + }, + "action": { + "importWithoutOwnership": "Імплементувати без права власності" + } + }, + "transaction": { + "mismatching": { + "title": "Імплементувати цей домен", + "subtitle": "Ваше право власності не підтверджено. Ви все ще можете імплементувати цей домен." + }, + "matching": { + "title": "Претендуйте на ваш домен", + "subtitle": "Ваше право власності підтверджено." + }, + "estimatedNetworkCost": "Оцінкова вартість мережі" + }, + "complete": { + "import": { + "subtitle": "{{name}} був імпортований", + "description": "Домен був успішно імпортований в ENS. Тепер ви можете переглядати його." + }, + "claim": { + "subtitle": "Тепер ви є власником {{name}}", + "description": "Ваш домен був успішно претендований. Тепер ви можете переглядати та керувати вашим ім'ям." + } + } + } +} diff --git a/public/locales/uk/error.json b/public/locales/uk/error.json index 98cc47a15..ec5adb3a9 100644 --- a/public/locales/uk/error.json +++ b/public/locales/uk/error.json @@ -1,10 +1,6 @@ { - "not-found": { - "title": "Не знайдено", - "message": "Сторінку, яку ви шукали, не знайдено.
Ви можете пошукати ім'я або відвідати нашу підтримку для подальшої допомоги." - }, - "application-error": { - "title": "Помилка додатку", - "message": "Щось пішло не так.
Якщо це повторюється, будь ласка, відвідайте нашу підтримку для подальшої допомоги." + "errorType": { + "title": "", + "message": "" } } diff --git a/public/locales/uk/error_old.json b/public/locales/uk/error_old.json new file mode 100644 index 000000000..98cc47a15 --- /dev/null +++ b/public/locales/uk/error_old.json @@ -0,0 +1,10 @@ +{ + "not-found": { + "title": "Не знайдено", + "message": "Сторінку, яку ви шукали, не знайдено.
Ви можете пошукати ім'я або відвідати нашу підтримку для подальшої допомоги." + }, + "application-error": { + "title": "Помилка додатку", + "message": "Щось пішло не так.
Якщо це повторюється, будь ласка, відвідайте нашу підтримку для подальшої допомоги." + } +} diff --git a/public/locales/uk/names.json b/public/locales/uk/names.json index 1de5fb7e9..288dbaf32 100644 --- a/public/locales/uk/names.json +++ b/public/locales/uk/names.json @@ -1,17 +1,6 @@ { - "title": "Імена", - "subtitle": { - "start": "Всі імена, що належать", - "this": "цьому", - "your": "вашому", - "wallet": "гаманцю" - }, "empty": "Імен для цієї адреси не знайдено", - "sortTypes": { - "expiryDate": "Дата закінчення терміну", - "labelName": "Ім'я", - "createdAt": "Дата створення" - }, + "title": "Імена", "offchainWarning": { "title": "Деякі імена можуть не відображатися", "text": "Оффчейн-имена наразі не відображаються в цьому списку. Ви все ще можете переглядати їх, шукаючи їх безпосередньо. Натисніть, щоб дізнатися більше." diff --git a/public/locales/uk/names_old.json b/public/locales/uk/names_old.json new file mode 100644 index 000000000..97a70233f --- /dev/null +++ b/public/locales/uk/names_old.json @@ -0,0 +1,13 @@ +{ + "subtitle": { + "start": "Всі імена, що належать", + "this": "цьому", + "your": "вашому", + "wallet": "гаманцю" + }, + "sortTypes": { + "expiryDate": "Дата закінчення терміну", + "labelName": "Ім'я", + "createdAt": "Дата створення" + } +} diff --git a/public/locales/uk/profile.json b/public/locales/uk/profile.json index 80e262622..829e6f8ea 100644 --- a/public/locales/uk/profile.json +++ b/public/locales/uk/profile.json @@ -1,132 +1,148 @@ { - "meta": { - "title": "{{name}} на ENS", - "description": "Профіль {{name}} на Ethereum Name Service" - }, - "title": "Профіль", - "yourWallet": "Ваш гаманець", - "yourProfile": "Ваш профіль", - "accounts": "Облікові записи", - "addresses": "Адреси", - "otherRecords": "Інші записи", - "editProfile": "Редагувати профіль", - "ownership": "Володіння", - "viewDetails": "Переглянути деталі", - "banner": { - "available": { - "title": "{{name}} доступне", - "description": "Це ім'я прострочене {{date}}. Натисніть тут, щоб переглянути сторінку реєстрації." - } + "errors": { + "keyInUse": "{{value}} вже використовується", + "addressLength": "Якщо це адреса, вона повинна бути 42 символи довжиною", + "invalidAddress": "Не дійсна адреса", + "invalidName": "Це ім'я недійсне.", + "permissionRevoked": "Це ім'я відкликало дозволи, необхідні для виконання цієї дії.", + "isOwnerCannotEdit": "Ви повинні бути менеджером, щоб редагувати профіль", + "cannotEdit": "Ви не маєте дозволу на оновлення до авторизованого резолдера", + "isOwnerCannotVerify": "", + "cannotVerify": "", + "unsupportedTLD": "Цей TLD не підтримується", + "migrationNotAvailable": "Міграція до нової реєстраційної системи ще не доступна, але ви все ще можете ", + "migrationNotAvailableLink": "мігрувати це ім'я в старому додатку.", + "expiringSoon": "Грейс-період для цього імені закінчується {{date}}. Якщо його не продовжити до цієї дати, воно стане доступним для реєстрації.", + "hasExpired": "{{ name }} прострочено", + "invalidJSON": "Недійсний JSON" }, - "tabs": { - "profile": { - "name": "Профіль", - "actions": { - "setAsPrimaryName": { - "label": "Встановити як основне ім'я", - "title": "Встановіть ваше основне ім'я", - "description": "Щоб встановити це ім'я як основне, адреса ETH повинна відповідати цій адресі." - }, - "deleteSubname": { - "label": "Видалити субімена" + "advancedEditor": { + "tabs": { + "other": { + "contentHash": { + "label": "Хеш контенту", + "placeholder": "наприклад, ipfs://" }, - "extend": { - "label": "Подовжити ім'я" + "labelDisabled": "Не підтримується поточним резолвером", + "abi": { + "label": "ABI", + "placeholder": "Введіть ABI сюди..." }, - "editProfile": { - "label": "Редагувати профіль" + "label": "Інше" + }, + "text": { + "label": "Текст", + "addRecord": "Додати запис", + "createRecord": "Введіть назву запису..." + }, + "address": { + "label": "Адреса", + "addRecord": "Додати адресу", + "noOptions": "Опції адрес відсутні" + } + }, + "title": "Записи {{name}}" + }, + "tabs": { + "more": { + "burned": "", + "fuses": { + "burnFormTitle": "Спалення дозволів", + "info": "Ви повинні спалити 'Можна розпакувати', щоб спалити інші запобіжники" + }, + "misc": { + "bankless": { + "submitError": "Помилка при надсиланні. Будь ласка, спробуйте ще раз.", + "title": "Нагадування Bankless", + "enterEmail": "Отримуйте Bankless Нагадування через Email, PUSH, XMTP, Blockscan Chat та Mailchain.", + "emailConfirmation": "Ви майже закінчили. Будь ласка, перевірте вашу електронну пошту, щоб підтвердити підписку." }, - "reclaim": { - "label": "Відновити ім'я", - "warning": "Цей субімена прострочено і не є власністю. Ви можете відновити цей субімен." + "reminderOptions": { + "bankless": "Нагадування Bankless" } }, - "warnings": { - "wrappedDNS": "DNS-імена можуть бути відновлені власником DNS у будь-який час. Не купуйте DNS-імена.", - "offchain": "Offchain-імена наразі не з'являються у вашому списку 'Імена'. Дізнайтесь більше", - "homoglyph": "Це ім'я містить не ASCII-символи. Можуть бути символи, які виглядають ідентично або дуже схожі на інші символи, що може бути використано для обману читачів. Дізнайтеся більше про гомогліфи" + "ownership": { + "refreshDNS": "Оновити DNS", + "dnsOwnerWarning": { + "syncManager": "Синхронізувати менеджера" + }, + "label": "Володіння" + }, + "resolver": { + "label": "Розв'язувач" + }, + "token": { + "label": "Токен", + "noToken": "Немає токена", + "hex": "шістнадцятковий", + "decimal": "десятковий", + "wrapper": "обгортка", + "unwrap": "Розпакувати", + "wrapName": "Обгорнути ім'я" } }, - "records": { - "name": "Записи" - }, "ownership": { - "name": "Володіння", "warning": { "ownerNotManager": "Ви є власником, але не менеджером. Це може бути неочікувано, якщо ви нещодавно отримали це ім'я від іншої адреси.", - "managerNotParentOwner": "Власник {{parent}} може змінювати власність, ролі та налаштування. Вони не можуть змінювати профіль.", "managerNotDNSOwner": "Ви є менеджером, але не власником DNS цього імені. DNS-імена можуть бути відновлені власником DNS у будь-який час. Ви можете передати це ім'я власнику або оновити запис DNS, щоб відповідати.", - "dnsOwnerNotManager": "Ви не можете вносити зміни в це ім'я, оскільки ви є власником DNS, але не менеджером. Ви можете синхронізувати менеджера, щоб виправити це." + "dnsOwnerNotManager": "Ви не можете вносити зміни в це ім'я, оскільки ви є власником DNS, але не менеджером. Ви можете синхронізувати менеджера, щоб виправити це.", + "managerNotParentOwner": "Власник {{parent}} може змінювати власність, ролі та налаштування. Вони не можуть змінювати профіль." }, "sections": { - "roles": { - "title": "Ролі", - "addresses_one": "{{count}} адреса", - "addresses_other": "{{count}} адреси" + "contract": { + "title": "Адреса контракту", + "tooltip": "Адреса контракту, який дозволяє Wrapped ENS імена.", + "warning": "Деякі додатки можуть показувати адресу контракту як власника. Це не впливає на ваше володіння." }, "expiry": { "panel": { - "expiry": { - "title": "Ім'я закінчується" - }, "grace-period": { - "title": "Грейс-період закінчується", "tooltip": "90-денний період після закінчення терміну, коли ім'я ще можна продовжити, але не пере-зареєструвати." - }, - "registration": { - "title": "Зареєстровано" - }, - "parent-expiry": { - "title": "Ім'я батька закінчується" - }, - "parent-grace-period": { - "title": "Грейс-період батька закінчується" } } }, - "contract": { - "title": "Адреса контракту", - "tooltip": "Адреса контракту, який дозволяє Wrapped ENS імена.", - "warning": "Деякі додатки можуть показувати адресу контракту як власника. Це не впливає на ваше володіння." + "roles": { + "title": "Ролі", + "addresses_one": "{{count}} адреса", + "addresses_few": "", + "addresses_many": "", + "addresses_other": "{{count}} адреси" } - }, - "tooltips": { - "owner": "Власник цього імені. Власник не може змінювати профіль.", - "owner-emancipated": "Власник цього імені.", - "parent-owner": "Власник імені батька ({{parent}}).", - "dns-owner": "Власник цього імені, як зазначено в записах DNS. Власник не може змінювати профіль.", - "manager": "Адреса, яка може змінювати профіль, налаштування та редакторів профілю.", - "profile-editor": "Адреса, яка може тільки змінювати профіль", - "subname-manager": "Адреса або контракт, відповідальний за продовження субімен.", - "eth-record": "Адреса, яка отримуватиме кошти, надіслані на це ім'я на основній мережі.", - "grace-period": "90-денний період після закінчення терміну, коли ім'я ще можна продовжити, але не пере-зареєструвати.", - "contract-address": "Адреса контракту, який дозволяє Wrapped ENS імена.", - "namewrapper": "Контракт, який дозволяє Wrapped ENS імена." } }, - "subnames": { - "name": "Субімена" - }, "permissions": { - "name": "Дозволи", - "parentUnlockedWarning": "Ви не можете змінювати дозволи для цього імені. Спочатку потрібно відкликати ‘розпакувати це ім'я’ на батьківському ім'ї ({{parent}}). Натисніть тут, щоб переглянути дозволи батьківського імені.", - "revokedLabel": "Відкликано {{date}}", + "expiry": { + "permissions": { + "canExtendExpiry": { + "label": "Може продовжити термін дії", + "description": "Термін дії дозволів для цього імені може бути продовжено {{managerOrOwner}}.", + "description_date": "Термін дії дозволів для цього імені ({{date}}) може бути продовжено {{managerOrOwner}}." + }, + "cannotExtendExpiry": { + "label": "Не може продовжити термін дії", + "description": "Термін дії дозволів для цього імені не може бути продовжено менеджером.", + "description_date": "Термін дії дозволів для цього імені ({{date}}) не може бути продовжено менеджером." + } + }, + "action": { + "changePermissions": "Змінити дозволи" + } + }, "grantedLabel": "Надано {{date}}", + "nameChangePermissions": { + "action": { + "changePermissions": "Змінити дозволи" + } + }, "role": { - "manager": "менеджер", "owner": "власник", "parent": "батько" }, + "revokedLabel": "Відкликано {{date}}", "ownership": { - "title": "Дозволи на володіння", - "parentCanControl": { - "label": "Цим ім'ям може керувати його батько ({{parent}})", - "list": { - "title": "Власник батьківського імені може:", - "item1": "Керувати і змінювати налаштування та записи", - "item2": "Взяти назад або перепризначити володіння цим ім'ям", - "item3": "Видалити це ім'я" - } + "action": { + "giveUpControl": "Відмовитися від контролю батька", + "revokePermission": "Відкликати дозвіл" }, "parentCannotControl": { "label": "Цим ім'ям не може керувати його батько ({{parent}})", @@ -138,12 +154,13 @@ "item3": "Володіння ім'ям передається іншій адресі" } }, - "parentCanChange": { - "label": "Батько цього імені ({{parent}}) може змінювати дозволи", + "parentCanControl": { + "label": "Цим ім'ям може керувати його батько ({{parent}})", "list": { - "title": "Батько може:", - "item1": "Відкликати дозволи", - "item2": "Змінювати або спалювати користувацькі запобіжники" + "title": "Власник батьківського імені може:", + "item1": "Керувати і змінювати налаштування та записи", + "item2": "Взяти назад або перепризначити володіння цим ім'ям", + "item3": "Видалити це ім'я" } }, "ownerCanChange": { @@ -157,303 +174,89 @@ "ownerCannotChange": { "label": "Власник цього імені не може змінювати дозволи", "list": { - "title": "Власник не може:", + "title": "Власник не може:" + } + }, + "parentCanChange": { + "label": "Батько цього імені ({{parent}}) може змінювати дозволи", + "list": { + "title": "Батько може:", "item1": "Відкликати дозволи", "item2": "Змінювати або спалювати користувацькі запобіжники" } - }, - "unwrapWarning": { - "message": "Дозволи на розпакування повинні бути відкликані на батьківському ім'ї ({{parent}}), перш ніж відмовитися від контролю батька.
Перейти до дозволів батьківського імені" - }, - "action": { - "giveUpControl": "Відмовитися від контролю батька", - "revokePermission": "Відкликати дозвіл" } }, - "expiry": { - "permissions": { - "canExtendExpiry": { - "label": "Може продовжити термін дії", - "description": "Термін дії дозволів для цього імені може бути продовжено {{managerOrOwner}}.", - "description_date": "Термін дії дозволів для цього імені ({{date}}) може бути продовжено {{managerOrOwner}}." - }, - "cannotExtendExpiry": { - "label": "Не може продовжити термін дії", - "description": "Термін дії дозволів для цього імені не може бути продовжено менеджером.", - "description_date": "Термін дії дозволів для цього імені ({{date}}) не може бути продовжено менеджером." - } - }, - "manager": "менеджер", - "owner": "власник", - "action": { - "changePermissions": "Змінити дозволи" - } + "parentUnlockedWarning": "Ви не можете змінювати дозволи для цього імені. Спочатку потрібно відкликати ‘розпакувати це ім'я’ на батьківському ім'ї ({{parent}}). Натисніть тут, щоб переглянути дозволи батьківського імені." + }, + "profile": { + "warnings": { + "offchain": "Offchain-імена наразі не з'являються у вашому списку 'Імена'. Дізнайтесь більше", + "homoglyph": "Це ім'я містить не ASCII-символи. Можуть бути символи, які виглядають ідентично або дуже схожі на інші символи, що може бути використано для обману читачів. Дізнайтеся більше про гомогліфи", + "wrappedDNS": "DNS-імена можуть бути відновлені власником DNS у будь-який час. Не купуйте DNS-імена." }, - "nameChangePermissions": { - "title": "Дозволи на зміну імені", - "subtitle": { - "parent-can-change": "Батько цього імені ({{parent}}) може змінювати налаштування цього імені.", - "owner-can-change": "Власник цього імені може змінювати налаштування цього імені." + "actions": { + "verifyProfile": { + "label": "" }, - "permissions": { - "canUnwrap": { - "label": "Може розпакувати це ім'я", - "description": "Власник цього імені може розпакувати це ім'я." - }, - "cannotUnwrap": { - "label": "Не може розпакувати це ім'я", - "description": "Власник цього імені не може розпакувати це ім'я." - }, - "canCreateSubnames": { - "label": "Може створювати піддомени", - "description": "Власник цього імені може створювати нові піддомени." - }, - "cannotCreateSubnames": { - "label": "Не може створювати піддомени", - "description": "Власник цього імені не може створювати нові піддомени." - }, - "canSend": { - "label": "Може надіслати це ім'я", - "description": "Власник цього імені може надіслати його новому власнику." - }, - "cannotSend": { - "label": "Не може надіслати це ім'я", - "description": "Власник цього імені не може надіслати його новому власнику." - }, - "canSetResolver": { - "label": "Може встановити розв'язувач", - "description": "Власник цього імені може встановити та змінювати розв'язувач." - }, - "cannotSetResolver": { - "label": "Не може встановити розв'язувач", - "description": "Власник цього імені не може встановити та змінювати розв'язувач." - }, - "canSetTTL": { - "label": "Може встановити TTL", - "description": "Власник цього імені може встановити та змінювати TTL." - }, - "cannotSetTTL": { - "label": "Не може встановити TTL", - "description": "Власник цього імені не може встановити та змінювати TTL." - }, - "canApprove": { - "label": "Може змінити менеджера з продовження", - "description": "Власник цього імені може змінити менеджера, затвердженого для продовження піддоменів." - }, - "cannotApprove": { - "label": "Не може змінити менеджера з продовження", - "description": "Власник цього імені не може змінити менеджера, затвердженого для продовження піддоменів." - } + "setAsPrimaryName": { + "label": "Встановити як основне ім'я", + "description": "Щоб встановити це ім'я як основне, адреса ETH повинна відповідати цій адресі." }, - "action": { - "changePermissions": "Змінити дозволи" - } - } - }, - "fuses": { - "name": "Запобіжники" - }, - "more": { - "name": "Більше", - "resolver": { - "label": "Розв'язувач", - "custom": "Користувацький", - "latest": "Остання версія", - "outdated": "Застаріла", - "wildcard": "Шаблон", - "version": "Версія", - "etherscan": "Etherscan" - }, - "fuses": { - "label": "Запобіжники", - "info": "Ви повинні спалити 'Можна розпакувати', щоб спалити інші запобіжники", - "callToAction": "Будь ласка, обгорніть ваше ім'я, щоб розблокувати цю функцію", - "burnFormTitle": "Спалення дозволів", - "burned": "Спалено", - "permissions": { - "label": "Дозволи", - "warning": "Запобіжники можуть бути змінені батьківським ім'ям", - "CAN_DO_EVERYTHING": "Може робити все", - "CANNOT_BURN_FUSES": "Не може спалювати запобіжники", - "CANNOT_CREATE_SUBDOMAIN": "Не може створювати піддомен", - "CANNOT_SET_RESOLVER": "Не може встановити розв'язувач", - "CANNOT_SET_TTL": "Не може встановити TTL", - "CANNOT_TRANSFER": "Не може передати", - "CANNOT_UNWRAP": "Не може розпакувати", - "PARENT_CANNOT_CONTROL": "Батько може контролювати", - "CAN_EXTEND_EXPIRY": "Не може продовжити термін дії", - "IS_DOT_ETH": "Не є .eth" - } - }, - "ownership": { - "label": "Володіння", - "refreshDNS": "Оновити DNS", - "dnsOwnerWarning": { - "isDnsOwner": "Ви не можете вносити зміни в це ім'я, оскільки ви є власником DNS, але не менеджером. Ви можете синхронізувати менеджера, щоб виправити це.", - "isManager": "Ви є менеджером, але не власником DNS цього імені. DNS-імена можуть бути відновлені власником DNS у будь-який час. Ви можете передати це ім'я власнику або оновити запис DNS, щоб відповідати.", - "refreshDNS": "Оновити DNS", - "syncManager": "Синхронізувати менеджера" - } - }, - "token": { - "label": "Токен", - "noToken": "Немає токена", - "hex": "шістнадцятковий", - "decimal": "десятковий", - "wrapper": "обгортка", - "wrapName": "Обгорнути ім'я", - "unwrap": "Розпакувати", - "status": { - "unwrapped": "розпаковано", - "wrapped": "обгорнуто", - "emancipated": "обгорнуто, емансиповане", - "locked": "обгорнуто, заблоковане" - } - }, - "misc": { - "registered": "Зареєстровано", - "expires": "Термін закінчується", - "bankless": { - "title": "Нагадування Bankless", - "enterEmail": "Отримуйте Bankless Нагадування через Email, PUSH, XMTP, Blockscan Chat та Mailchain.", - "emailConfirmation": "Ви майже закінчили. Будь ласка, перевірте вашу електронну пошту, щоб підтвердити підписку.", - "submitError": "Помилка при надсиланні. Будь ласка, спробуйте ще раз." + "editProfile": { + "label": "Редагувати профіль" }, - "reminderOptions": { - "google": "Календар Google", - "outlook": "Календар Outlook", - "office365": "Календар Office 365", - "yahoo": "Календар Yahoo", - "ical": "Завантаження iCal (.ics)", - "bankless": "Нагадування Bankless" + "deleteSubname": { + "label": "Видалити субімена" + }, + "reclaim": { + "label": "Відновити ім'я", + "warning": "Цей субімена прострочено і не є власністю. Ви можете відновити цей субімен." } } } }, "details": { - "title": "Деталі імені", - "notWrapped": "Не запаковане", "sendName": { - "title": "Надіслати ім'я", - "description": "Надсилання імені надасть новій адресі контроль над ним", - "learnMore": "Дізнайтесь більше про володіння іменем.", - "makeOwner": "Зробити власником", - "makeOwnerDescription": "Власник може передати новому власнику і змінювати менеджера", - "makeManager": "Зробити менеджером", - "makeManagerDescription": "Менеджер може змінювати та встановлювати записи.", "inputPlaceholder": "Введіть адресу Ethereum або ім'я ENS", - "transferSubname": "Передати ім'я", - "transferController": "Передати контролер" - }, - "wrap": { - "startTitle": "Оновіть ваше ім'я", - "resumeTitle": "Продовжити оновлення", - "completeTitle": "Оновлення завершено", - "description": "Оновлення або \"запакування\" вашого імені надає йому нові функції.", - "startLabel": "Оновити", - "resumeLabel": "Продовжити оновлення", - "boxTitle": "Розблокувати нові функції", - "boxDescription": "Оновлення вашого імені розблоковує останні можливості ENS" - }, - "descriptions": { - "owner": "Володіє та контролює ім'я", - "controller": "Контролює всі записи імені", - "registrant": "Власник NFT", - "dnsOwner": "Власник DNS-імені" + "transferController": "Передати контролер", + "transferSubname": "Передати ім'я" }, "tabs": { "records": { - "label": "Записи", "text": "Текст", "contentHash": "Хеш контенту", "noContentHash": "Хеш контенту відсутній", - "editRecords": "Редагувати записи", - "noAbi": "ABI відсутній", "abi": "ABI", + "noAbi": "ABI відсутній", + "editRecords": "Редагувати записи", "editRecordsDisabled": "Поточний резолвер не сумісний з запакованими іменами" }, "subnames": { - "label": "Субімена", - "loading": "Завантаження субімен", "empty": "Субімен не додано", "noResults": "Результатів немає", - "noMoreResults": "Більше результатів немає", "addSubname": { "title": "Субімена дозволяють створювати додаткові імена з вашого існуючого імені.", "learn": "Дізнайтесь про субімена", "action": "Новий субімен", "dialog": { - "title": "Створити субімен", - "error": { - "invalidCharacters": "Містить недопустимі символи", - "mustUseLowercase": "Потрібно використовувати малі літери", - "alreadyExists": "Ім'я вже існує", - "nameTooLong": "Ім'я занадто довге", - "pccBurned": "Ім'я заблоковане до {{date}}" - } + "title": "Створити субімен" } } } + }, + "wrap": { + "description": "Оновлення або \"запакування\" вашого імені надає йому нові функції." } }, - "advancedEditor": { - "title": "Записи {{name}}", - "tabs": { - "text": { - "label": "Текст", - "addRecord": "Додати запис", - "createRecord": "Введіть назву запису...", - "placeholder": { - "default": "Додайте значення сюди..." - } - }, - "address": { - "label": "Адреса", - "addRecord": "Додати адресу", - "noOptions": "Опції адрес відсутні", - "placeholder": { - "default": "Додайте адресу сюди..." - } - }, - "other": { - "label": "Інше", - "labelDisabled": "Не підтримується поточним резолвером", - "contentHash": { - "label": "Хеш контенту", - "placeholder": "наприклад, ipfs://" - }, - "publicKey": { - "label": "Публічний ключ", - "placeholder": "наприклад, pub_1231231231231" - }, - "abi": { - "label": "ABI", - "placeholder": "Введіть ABI сюди..." - } - } + "banner": { + "available": { + "title": "{{name}} доступне", + "description": "Це ім'я прострочене {{date}}. Натисніть тут, щоб переглянути сторінку реєстрації." } }, - "errors": { - "invalidName": "Це ім'я недійсне.", - "invalidAddress": "Не дійсна адреса", - "expiringSoon": "Грейс-період для цього імені закінчується {{date}}. Якщо його не продовжити до цієї дати, воно стане доступним для реєстрації.", - "hasExpired": "{{ name }} прострочено", - "ownerManagerChoice": "Потрібно передати власника або менеджера", - "unknown": "Невідома помилка", - "notMigrated": "Це ім'я не мігрувало до нової реєстраційної системи.", - "featureNotAvailable": "Деякі функції ще не доступні, але ви все ще можете ", - "featureNotAvailableLink": "переглянути це ім'я в старому додатку.", - "migrationNotAvailable": "Міграція до нової реєстраційної системи ще не доступна, але ви все ще можете ", - "migrationNotAvailableLink": "мігрувати це ім'я в старому додатку.", - "addressLength": "Якщо це адреса, вона повинна бути 42 символи довжиною", - "unsupportedTLD": "Цей TLD не підтримується", - "keyInUse": "{{value}} вже використовується", - "hasSubnames": "Це ім'я має субімена", - "permissionRevoked": "Це ім'я відкликало дозволи, необхідні для виконання цієї дії.", - "gracePeriod": "Цю дію не можна виконати, оскільки ім'я прострочене", - "default": "Цю дію недоступно", - "invalidJSON": "Недійсний JSON", - "isOwnerCannotEdit": "Ви повинні бути менеджером, щоб редагувати профіль", - "cannotEdit": "Ви не маєте дозволу на оновлення до авторизованого резолдера" + "yourProfile": "Ваш профіль", + "meta": { + "title": "{{name}} на ENS", + "description": "Профіль {{name}} на Ethereum Name Service" } } diff --git a/public/locales/uk/profile_old.json b/public/locales/uk/profile_old.json new file mode 100644 index 000000000..75986f6b4 --- /dev/null +++ b/public/locales/uk/profile_old.json @@ -0,0 +1,283 @@ +{ + "title": "Профіль", + "yourWallet": "Ваш гаманець", + "accounts": "Облікові записи", + "addresses": "Адреси", + "otherRecords": "Інші записи", + "editProfile": "Редагувати профіль", + "ownership": "Володіння", + "viewDetails": "Переглянути деталі", + "tabs": { + "profile": { + "name": "Профіль", + "actions": { + "setAsPrimaryName": { + "title": "Встановіть ваше основне ім'я" + }, + "extend": { + "label": "Подовжити ім'я" + } + } + }, + "records": { + "name": "Записи" + }, + "ownership": { + "name": "Володіння", + "sections": { + "expiry": { + "panel": { + "expiry": { + "title": "Ім'я закінчується" + }, + "grace-period": { + "title": "Грейс-період закінчується" + }, + "registration": { + "title": "Зареєстровано" + }, + "parent-expiry": { + "title": "Ім'я батька закінчується" + }, + "parent-grace-period": { + "title": "Грейс-період батька закінчується" + } + } + } + }, + "tooltips": { + "owner": "Власник цього імені. Власник не може змінювати профіль.", + "owner-emancipated": "Власник цього імені.", + "parent-owner": "Власник імені батька ({{parent}}).", + "dns-owner": "Власник цього імені, як зазначено в записах DNS. Власник не може змінювати профіль.", + "manager": "Адреса, яка може змінювати профіль, налаштування та редакторів профілю.", + "profile-editor": "Адреса, яка може тільки змінювати профіль", + "subname-manager": "Адреса або контракт, відповідальний за продовження субімен.", + "eth-record": "Адреса, яка отримуватиме кошти, надіслані на це ім'я на основній мережі.", + "grace-period": "90-денний період після закінчення терміну, коли ім'я ще можна продовжити, але не пере-зареєструвати.", + "contract-address": "Адреса контракту, який дозволяє Wrapped ENS імена.", + "namewrapper": "Контракт, який дозволяє Wrapped ENS імена." + } + }, + "subnames": { + "name": "Субімена" + }, + "permissions": { + "name": "Дозволи", + "role": { + "manager": "менеджер" + }, + "ownership": { + "title": "Дозволи на володіння", + "ownerCannotChange": { + "list": { + "item1": "Відкликати дозволи", + "item2": "Змінювати або спалювати користувацькі запобіжники" + } + }, + "unwrapWarning": { + "message": "Дозволи на розпакування повинні бути відкликані на батьківському ім'ї ({{parent}}), перш ніж відмовитися від контролю батька.
Перейти до дозволів батьківського імені" + } + }, + "expiry": { + "manager": "менеджер", + "owner": "власник" + }, + "nameChangePermissions": { + "title": "Дозволи на зміну імені", + "subtitle": { + "parent-can-change": "Батько цього імені ({{parent}}) може змінювати налаштування цього імені.", + "owner-can-change": "Власник цього імені може змінювати налаштування цього імені." + }, + "permissions": { + "canUnwrap": { + "label": "Може розпакувати це ім'я", + "description": "Власник цього імені може розпакувати це ім'я." + }, + "cannotUnwrap": { + "label": "Не може розпакувати це ім'я", + "description": "Власник цього імені не може розпакувати це ім'я." + }, + "canCreateSubnames": { + "label": "Може створювати піддомени", + "description": "Власник цього імені може створювати нові піддомени." + }, + "cannotCreateSubnames": { + "label": "Не може створювати піддомени", + "description": "Власник цього імені не може створювати нові піддомени." + }, + "canSend": { + "label": "Може надіслати це ім'я", + "description": "Власник цього імені може надіслати його новому власнику." + }, + "cannotSend": { + "label": "Не може надіслати це ім'я", + "description": "Власник цього імені не може надіслати його новому власнику." + }, + "canSetResolver": { + "label": "Може встановити розв'язувач", + "description": "Власник цього імені може встановити та змінювати розв'язувач." + }, + "cannotSetResolver": { + "label": "Не може встановити розв'язувач", + "description": "Власник цього імені не може встановити та змінювати розв'язувач." + }, + "canSetTTL": { + "label": "Може встановити TTL", + "description": "Власник цього імені може встановити та змінювати TTL." + }, + "cannotSetTTL": { + "label": "Не може встановити TTL", + "description": "Власник цього імені не може встановити та змінювати TTL." + }, + "canApprove": { + "label": "Може змінити менеджера з продовження", + "description": "Власник цього імені може змінити менеджера, затвердженого для продовження піддоменів." + }, + "cannotApprove": { + "label": "Не може змінити менеджера з продовження", + "description": "Власник цього імені не може змінити менеджера, затвердженого для продовження піддоменів." + } + } + } + }, + "fuses": { + "name": "Запобіжники" + }, + "more": { + "name": "Більше", + "resolver": { + "custom": "Користувацький", + "latest": "Остання версія", + "outdated": "Застаріла", + "wildcard": "Шаблон", + "version": "Версія", + "etherscan": "Etherscan" + }, + "fuses": { + "label": "Запобіжники", + "callToAction": "Будь ласка, обгорніть ваше ім'я, щоб розблокувати цю функцію", + "burned": "Спалено", + "permissions": { + "label": "Дозволи", + "warning": "Запобіжники можуть бути змінені батьківським ім'ям", + "CAN_DO_EVERYTHING": "Може робити все", + "CANNOT_BURN_FUSES": "Не може спалювати запобіжники", + "CANNOT_CREATE_SUBDOMAIN": "Не може створювати піддомен", + "CANNOT_SET_RESOLVER": "Не може встановити розв'язувач", + "CANNOT_SET_TTL": "Не може встановити TTL", + "CANNOT_TRANSFER": "Не може передати", + "CANNOT_UNWRAP": "Не може розпакувати", + "PARENT_CANNOT_CONTROL": "Батько може контролювати", + "CAN_EXTEND_EXPIRY": "Не може продовжити термін дії", + "IS_DOT_ETH": "Не є .eth" + } + }, + "ownership": { + "dnsOwnerWarning": { + "isDnsOwner": "Ви не можете вносити зміни в це ім'я, оскільки ви є власником DNS, але не менеджером. Ви можете синхронізувати менеджера, щоб виправити це.", + "isManager": "Ви є менеджером, але не власником DNS цього імені. DNS-імена можуть бути відновлені власником DNS у будь-який час. Ви можете передати це ім'я власнику або оновити запис DNS, щоб відповідати.", + "refreshDNS": "Оновити DNS" + } + }, + "token": { + "status": { + "unwrapped": "розпаковано", + "wrapped": "обгорнуто", + "emancipated": "обгорнуто, емансиповане", + "locked": "обгорнуто, заблоковане" + } + }, + "misc": { + "registered": "Зареєстровано", + "expires": "Термін закінчується", + "reminderOptions": { + "google": "Календар Google", + "outlook": "Календар Outlook", + "office365": "Календар Office 365", + "yahoo": "Календар Yahoo", + "ical": "Завантаження iCal (.ics)" + } + } + } + }, + "details": { + "title": "Деталі імені", + "notWrapped": "Не запаковане", + "sendName": { + "title": "Надіслати ім'я", + "description": "Надсилання імені надасть новій адресі контроль над ним", + "learnMore": "Дізнайтесь більше про володіння іменем.", + "makeOwner": "Зробити власником", + "makeOwnerDescription": "Власник може передати новому власнику і змінювати менеджера", + "makeManager": "Зробити менеджером", + "makeManagerDescription": "Менеджер може змінювати та встановлювати записи." + }, + "wrap": { + "startTitle": "Оновіть ваше ім'я", + "resumeTitle": "Продовжити оновлення", + "completeTitle": "Оновлення завершено", + "startLabel": "Оновити", + "resumeLabel": "Продовжити оновлення", + "boxTitle": "Розблокувати нові функції", + "boxDescription": "Оновлення вашого імені розблоковує останні можливості ENS" + }, + "descriptions": { + "owner": "Володіє та контролює ім'я", + "controller": "Контролює всі записи імені", + "registrant": "Власник NFT", + "dnsOwner": "Власник DNS-імені" + }, + "tabs": { + "records": { + "label": "Записи" + }, + "subnames": { + "label": "Субімена", + "loading": "Завантаження субімен", + "noMoreResults": "Більше результатів немає", + "addSubname": { + "dialog": { + "error": { + "invalidCharacters": "Містить недопустимі символи", + "mustUseLowercase": "Потрібно використовувати малі літери", + "alreadyExists": "Ім'я вже існує", + "nameTooLong": "Ім'я занадто довге", + "pccBurned": "Ім'я заблоковане до {{date}}" + } + } + } + } + } + }, + "advancedEditor": { + "tabs": { + "text": { + "placeholder": { + "default": "Додайте значення сюди..." + } + }, + "address": { + "placeholder": { + "default": "Додайте адресу сюди..." + } + }, + "other": { + "publicKey": { + "label": "Публічний ключ", + "placeholder": "наприклад, pub_1231231231231" + } + } + } + }, + "errors": { + "ownerManagerChoice": "Потрібно передати власника або менеджера", + "unknown": "Невідома помилка", + "notMigrated": "Це ім'я не мігрувало до нової реєстраційної системи.", + "featureNotAvailable": "Деякі функції ще не доступні, але ви все ще можете ", + "featureNotAvailableLink": "переглянути це ім'я в старому додатку.", + "hasSubnames": "Це ім'я має субімена", + "gracePeriod": "Цю дію не можна виконати, оскільки ім'я прострочене", + "default": "Цю дію недоступно" + } +} diff --git a/public/locales/uk/register.json b/public/locales/uk/register.json index a698279fc..83ad8c556 100644 --- a/public/locales/uk/register.json +++ b/public/locales/uk/register.json @@ -1,25 +1,45 @@ { - "title": "Зареєструвати {{name}} в ENS", - "subtitle": "Реєстрація", - "heading": "Зареєструвати {{name}}", "invoice": { "timeRegistration": "{{time}} реєстрація", - "registration": "Реєстрація", "estimatedNetworkFee": "Оцінка плати за мережу", - "networkFee": "Плата за мережу", "temporaryPremium": "Тимчасовий преміум", "total": "Орієнтовна сума", + "registration": "Реєстрація", + "networkFee": "Плата за мережу", "totalPaid": "Всього сплачено" }, + "title": "Зареєструвати {{name}} в ENS", "error": { "nameTooLong": "Ім'я, яке ви хочете зареєструвати, занадто довге. Будь ласка, виберіть коротше ім'я." }, "steps": { + "info": { + "moonpayModalHeader": "MoonPay Checkout", + "moonpayTestCard": "Дані тестової картки", + "heading": "Перед початком", + "subheading": "Реєстрація вашого імені займає три етапи", + "setupProfile": "Я б хотів спочатку налаштувати свій профіль", + "paymentMethod": "Спосіб оплати", + "ethereum": "Ethereum", + "notEnoughEth": "Недостатньо ETH в гаманці", + "creditOrDebit": "Кредитна або дебетова картка", + "additionalFee": "Додаткова плата за обробку", + "failedMoonpayTransaction": "Ваша транзакція MoonPay не вдалася. Будь ласка, спробуйте ще раз або виберіть спосіб оплати 'Ethereum'.", + "poweredBy": "Підтримується", + "processing": "Обробка" + }, + "complete": { + "heading": "Вітаємо!", + "subheading": "Тепер ви є власником", + "description": "Ваше ім'я було успішно зареєстроване. Тепер ви можете переглядати та керувати своїм ім'ям.", + "registerAnother": "Зареєструвати інше", + "viewName": "Переглянути ім'я" + }, "pricing": { - "insufficientBalance": "Нестача коштів", - "multipleYearsMessage": "Продовження на кілька років дозволить заощадити на витратах на мережу, уникнувши щорічних транзакцій.", "primaryName": "Використовувати як основне ім'я", "primaryNameMessage": "Це прив'язує вашу адресу до цього імені, дозволяючи dApps відображати його як ваш профіль при підключенні до них. Ви можете мати тільки одне основне ім'я на адресу.", + "insufficientBalance": "Нестача коштів", + "multipleYearsMessage": "Продовження на кілька років дозволить заощадити на витратах на мережу, уникнувши щорічних транзакцій.", "premium": { "heading": "Це ім'я має тимчасовий преміум", "subheading": "Щоб надати справедливу можливість нещодавно простроченим іменам, преміум починається з $100,000,000 і зменшується до $0 протягом 21 дня. Ви можете розрахувати преміум на дату нижче.", @@ -29,88 +49,11 @@ } }, "profile": { - "title": "Створення профілю", - "title2": "Редагувати профіль", - "default": "За замовчуванням", - "advanced": "Розширені", - "permissions": "Дозволи", - "resolver": "Розв'язувач", - "visibilityMessage": "Інформація про ваш профіль буде зберігатися в блокчейні. Все, що ви додасте, буде публічно видимим.", "addProfile": "Додати поля профілю", - "addMore": "Додати більше до профілю", "options": { "groups": { - "general": { - "label": "Загальні", - "items": { - "name": "Нікнейм", - "url": "Вебсайт", - "location": "Місцезнаходження", - "description": "Коротка біографія" - }, - "placeholder": { - "name": "Джон Сміт", - "url": "https://ens.domains", - "location": "Метавсесвіт", - "description": "Я фермер з сільської місцевості Теннессі." - } - }, - "social": { - "label": "Соціальні", - "items": { - "com.twitter": "Twitter", - "com.github": "GitHub", - "com.discord": "Discord", - "org.telegram": "Telegram", - "email": "Email" - }, - "placeholder": { - "com.twitter": "наприклад, ensdomains", - "com.github": "наприклад, ensdomains", - "com.discord": "наприклад, nickjohnson", - "org.telegram": "наприклад, nicksdjohnson", - "email": "наприклад, hello@example.com" - } - }, - "address": { - "label": "Адреса", - "itemLabel": "{{coin}} адреса", - "placeholder": { - "default": "Додати адресу тут", - "eth": "0xb8c2C2...", - "btc": "3FZbgi29...", - "sol": "D4kA7VzHnmV...", - "op": "0xb8c2C2...", - "arb1": "0xb8c2C2...", - "base": "0xb8c2C2...", - "matic": "0xb8c2C2..." - } - }, - "website": { - "label": "Вебсайт", - "items": { - "ipfs": "IPFS", - "ipns": "IPNS", - "swarm": "Swarm", - "onion": "Onion", - "skynet": "Skynet", - "arweave": "Arweave" - }, - "placeholder": { - "default": "Додати URL тут", - "ipfs": "ipfs://...", - "skynet": "sia://...", - "arweave": "ar://...", - "swarm": "bzz://...", - "onion": "onion3://..." - } - }, "other": { - "label": "Інше", "items": { - "contentHash": "Хеш контенту", - "publicKey": "Публічний ключ", - "abi": "ABI", "custom": "Користувацьке" } }, @@ -118,6 +61,12 @@ "key": "Ключ", "value": "Значення" }, + "address": { + "itemLabel": "{{coin}} адреса", + "placeholder": { + "default": "Додати адресу тут" + } + }, "default": { "placeholder": "Додати значення тут" } @@ -125,10 +74,14 @@ }, "errors": { "labelRequired": "Ключ запису обов'язковий", - "duplicateRecord": "Дубльований ключ запису", + "keyRequired": "", "avatarReserved": "Ключ використовується менеджером аватара", + "duplicateRecord": "Дубльований ключ запису", "invalidValue": "Неправильне значення" }, + "actions": { + "skipProfile": "Пропустити профіль" + }, "confirmations": { "publicNotice": { "title": "Ваші дані публічні", @@ -143,55 +96,24 @@ "decline": "Скасувати" } }, - "actions": { - "skipProfile": "Пропустити профіль" - } - }, - "complete": { - "heading": "Вітаємо!", - "subheading": "Тепер ви є власником", - "description": "Ваше ім'я було успішно зареєстроване. Тепер ви можете переглядати та керувати своїм ім'ям.", - "registerAnother": "Зареєструвати інше", - "viewName": "Переглянути ім'я" - }, - "info": { - "heading": "Перед початком", - "subheading": "Реєстрація вашого імені займає три етапи", - "ethItems": [ - "Завершити транзакцію, щоб розпочати таймер", - "Чекати 60 секунд, поки таймер завершиться", - "Завершити другу транзакцію, щоб закріпити ваше ім'я" - ], - "moonpayItems": [ - "Створіть або увійдіть в існуючий обліковий запис MoonPay", - "Використовуйте вашу кредитну або дебетову картку, щоб завершити одну транзакцію" - ], - "setupProfile": "Я б хотів спочатку налаштувати свій профіль", - "paymentMethod": "Спосіб оплати", - "notEnoughEth": "Недостатньо ETH в гаманці", - "creditOrDebit": "Кредитна або дебетова картка", - "additionalFee": "Додаткова плата за обробку", - "pendingMoonpayTransaction": "Ваша транзакція MoonPay обробляється. Це може зайняти до двох хвилин. Ви можете перевірити свій прогрес з підтвердженням електронною поштою, яку ви отримали.", - "failedMoonpayTransaction": "Ваша транзакція MoonPay не вдалася. Будь ласка, спробуйте ще раз або виберіть спосіб оплати 'Ethereum'.", - "ethereum": "Ethereum", - "processing": "Обробка", - "poweredBy": "Підтримується", - "moonpayModalHeader": "MoonPay Checkout", - "moonpayTestCard": "Дані тестової картки" - }, - "transactions": { - "heading": "Майже готово", - "subheading": "Вам потрібно завершити дві транзакції, щоб закріпити ваше ім'я. Другу транзакцію потрібно завершити протягом 24 годин після першої.", - "startTimer": "Запустити таймер", - "wait": "Чекати", - "transactionFailed": "Транзакція не вдалася", - "transactionProgress": "Транзакція в процесі" + "title": "Створення профілю", + "addMore": "Додати більше до профілю", + "title2": "Редагувати профіль" }, "cancelRegistration": { "heading": "Ви втратите свою транзакцію", "contentOne": "Повернення назад скине вашу першу транзакцію. Якщо ви повернетеся, вам потрібно буде завершити транзакцію знову і сплатити супутні витрати.", "contentTwo": "Ви впевнені, що хочете продовжити?", "footer": "Скинути транзакцію та повернутися" + }, + "transactions": { + "heading": "Майже готово", + "subheading": "Вам потрібно завершити дві транзакції, щоб закріпити ваше ім'я. Другу транзакцію потрібно завершити протягом 24 годин після першої.", + "transactionFailed": "Транзакція не вдалася", + "transactionProgress": "Транзакція в процесі", + "wait": "Чекати", + "startTimer": "Запустити таймер" } - } + }, + "heading": "Зареєструвати {{name}}" } diff --git a/public/locales/uk/register_old.json b/public/locales/uk/register_old.json new file mode 100644 index 000000000..fa70c15a7 --- /dev/null +++ b/public/locales/uk/register_old.json @@ -0,0 +1,99 @@ +{ + "subtitle": "Реєстрація", + "steps": { + "profile": { + "default": "За замовчуванням", + "advanced": "Розширені", + "permissions": "Дозволи", + "resolver": "Розв'язувач", + "visibilityMessage": "Інформація про ваш профіль буде зберігатися в блокчейні. Все, що ви додасте, буде публічно видимим.", + "options": { + "groups": { + "general": { + "label": "Загальні", + "items": { + "name": "Нікнейм", + "url": "Вебсайт", + "location": "Місцезнаходження", + "description": "Коротка біографія" + }, + "placeholder": { + "name": "Джон Сміт", + "url": "https://ens.domains", + "location": "Метавсесвіт", + "description": "Я фермер з сільської місцевості Теннессі." + } + }, + "social": { + "label": "Соціальні", + "items": { + "com.twitter": "Twitter", + "com.github": "GitHub", + "com.discord": "Discord", + "org.telegram": "Telegram", + "email": "Email" + }, + "placeholder": { + "com.twitter": "наприклад, ensdomains", + "com.github": "наприклад, ensdomains", + "com.discord": "наприклад, nickjohnson", + "org.telegram": "наприклад, nicksdjohnson", + "email": "наприклад, hello@example.com" + } + }, + "address": { + "label": "Адреса", + "placeholder": { + "eth": "0xb8c2C2...", + "btc": "3FZbgi29...", + "sol": "D4kA7VzHnmV...", + "op": "0xb8c2C2...", + "arb1": "0xb8c2C2...", + "base": "0xb8c2C2...", + "matic": "0xb8c2C2..." + } + }, + "website": { + "label": "Вебсайт", + "items": { + "ipfs": "IPFS", + "ipns": "IPNS", + "swarm": "Swarm", + "onion": "Onion", + "skynet": "Skynet", + "arweave": "Arweave" + }, + "placeholder": { + "default": "Додати URL тут", + "ipfs": "ipfs://...", + "skynet": "sia://...", + "arweave": "ar://...", + "swarm": "bzz://...", + "onion": "onion3://..." + } + }, + "other": { + "label": "Інше", + "items": { + "contentHash": "Хеш контенту", + "publicKey": "Публічний ключ", + "abi": "ABI" + } + } + } + } + }, + "info": { + "ethItems": [ + "Завершити транзакцію, щоб розпочати таймер", + "Чекати 60 секунд, поки таймер завершиться", + "Завершити другу транзакцію, щоб закріпити ваше ім'я" + ], + "moonpayItems": [ + "Створіть або увійдіть в існуючий обліковий запис MoonPay", + "Використовуйте вашу кредитну або дебетову картку, щоб завершити одну транзакцію" + ], + "pendingMoonpayTransaction": "Ваша транзакція MoonPay обробляється. Це може зайняти до двох хвилин. Ви можете перевірити свій прогрес з підтвердженням електронною поштою, яку ви отримали." + } + } +} diff --git a/public/locales/uk/settings.json b/public/locales/uk/settings.json index f064cbf5a..4e8fdaf8f 100644 --- a/public/locales/uk/settings.json +++ b/public/locales/uk/settings.json @@ -1,22 +1,28 @@ { - "title": "Налаштування", "section": { - "wallet": { - "title": "Гаманець" + "primary": { + "title": "Основне ім'я", + "choosePrimaryName": "Вибрати основне ім'я", + "noNameDescription": "Основне ім'я зв'язує вашу адресу з ім'ям, дозволяючи dApps відображати ім'я як ваш профіль при підключенні до них. Дізнайтеся про основні імена" + }, + "privacy": { + "title": "", + "action": { + "clearHistory": "" + } }, "transaction": { - "title": "Транзакції", - "noRecentTransactions": "Немає нещодавніх транзакцій", "clearTransactions": { "title": "Очистити історію транзакцій", "description": "Очищення вашої історії транзакцій назавжди видалить їх з додатку ENS. Ваші транзакції все ще будуть видимі на блокчейні.", "actionLabel": "Очистити історію" - } + }, + "title": "Транзакції", + "noRecentTransactions": "Немає нещодавніх транзакцій" }, - "primary": { - "title": "Основне ім'я", - "noNameDescription": "Основне ім'я зв'язує вашу адресу з ім'ям, дозволяючи dApps відображати ім'я як ваш профіль при підключенні до них. Дізнайтеся про основні імена", - "choosePrimaryName": "Вибрати основне ім'я" + "wallet": { + "title": "Гаманець" } - } + }, + "title": "Налаштування" } diff --git a/public/locales/uk/transactionFlow.json b/public/locales/uk/transactionFlow.json index 8869dfb0b..6ea9dc2d6 100644 --- a/public/locales/uk/transactionFlow.json +++ b/public/locales/uk/transactionFlow.json @@ -1,27 +1,18 @@ { "input": { + "editResolver": { + "latestLabel": "Використовувати останню версію resolver", + "etherscan": "Etherscan", + "latestMessage": "Ви використовуєте останню версію resolver", + "customLabel": "Користувацький resolver", + "title": "Редагувати Resolver" + }, "profileEditor": { "tabs": { "avatar": { - "change": "Змінити аватар", - "label": "Аватар", "dropdown": { "selectNFT": "Вибрати NFT", - "uploadImage": "Завантажити зображення", - "enterManually": "Ввести вручну" - }, - "nft": { - "title": "Виберіть NFT", - "searchPlaceholder": "Пошук NFT", - "loading": "Завантаження ваших NFT", - "unknown": "Невідомий NFT", - "loadError": "NFT не вдалося завантажити", - "noNFTs": "NFT не знайдено для цієї адреси.", - "selected": { - "title": "Вибраний NFT", - "subtitle": "Ви впевнені, що хочете використовувати цей NFT?" - }, - "noResults": "Результатів не знайдено." + "uploadImage": "Завантажити зображення" }, "image": { "title": "Редагувати зображення", @@ -30,88 +21,66 @@ "subtitle": "Вам потрібно підписати повідомлення, щоб завантажити аватар. Це не коштує нічого.", "action": "Підписати та завантажити" } + }, + "nft": { + "loadError": "NFT не вдалося завантажити", + "unknown": "Невідомий NFT", + "selected": { + "title": "Вибраний NFT", + "subtitle": "Ви впевнені, що хочете використовувати цей NFT?" + }, + "loading": "Завантаження ваших NFT", + "searchPlaceholder": "Пошук NFT", + "noResults": "Результатів не знайдено.", + "noNFTs": "NFT не знайдено для цієї адреси.", + "title": "Виберіть NFT" } }, "general": { - "label": "Основне", - "name": { - "label": "Псевдонім", - "placeholder": "Джон Сміт" - }, - "url": { - "label": "Вебсайт", - "placeholder": "https://ens.domains" - }, - "location": { - "label": "Місцезнаходження", - "placeholder": "Метавсесвіт" - }, - "description": { - "label": "Коротка біографія", - "placeholder": "Я фермер із прибуткових культур з сільської Теннесі." - } + "label": "Основне" }, "accounts": { "label": "Акаунти", "addAccount": "Додати акаунт", - "noOptions": "Немає доступних опцій акаунту", - "placeholder": { - "default": "Додати ім'я користувача тут", - "com.twitter": "наприклад, nicksdjohnson", - "com.github": "наприклад, arachnid", - "com.discord": "наприклад, nickjohnson", - "org.telegram": "наприклад, nicksdjohnson", - "email": "наприклад, hello@example.com" - } + "noOptions": "Немає доступних опцій акаунту" }, "address": { "label": "Адреса", "addAddress": "Додати адресу", - "noOptions": "Немає доступних опцій адреси", - "placeholder": { - "default": "Додати адресу тут", - "eth": "0xD9hbQK...", - "bnb": "0xD9hbQK...", - "btc": "3FZbgi29...", - "ltc": "3FZbgi29...", - "sol": "D4kA7VzHnmV...", - "dot": "1D4kA7VxH...", - "doge": "DFabcd12..." - } + "noOptions": "Немає доступних опцій адреси" }, "contentHash": { "label": "Вебсайт", - "addContentHash": "Додати децентралізований вебсайт", - "placeholder": { - "default": "Додати URL тут", - "ipfs": "ipfs://...", - "skynet": "sia://...", - "arweave": "ar://...", - "swarm": "bzz://...", - "onion": "onion3://..." - } + "addContentHash": "Додати децентралізований вебсайт" }, "other": { "label": "Інше", "addRecord": "Додати запис", - "createRecord": "Введіть назву запису...", - "placeholder": { - "default": "Додати значення тут..." - } + "createRecord": "Введіть назву запису..." + } + }, + "intro": { + "migrateProfile": { + "description": "Це перенесе ваші поточні записи профілю на останній resolver." + }, + "resetProfile": { + "description": "Це видалить всі записи профілю з останнього resolver і потім оновить resolver." + }, + "migrateCurrentProfile": { + "description": "Це перенесе ваші поточні записи профілю на останній resolver." } }, "warningOverlay": { + "invalidResolver": { + "title": "Несанкціонований resolver", + "subtitle": "У вас немає дозволу на встановлення записів для цього resolver. Вам потрібно оновити до останньої версії resolver, щоб редагувати ваш профіль." + }, "action": { "learnMoreResolvers": "Дізнайтеся більше про resolvers", "updateResolver": "Оновити resolver", "setResolver": "Встановити resolver", "ignoreUpdate": "Ігнорувати це і продовжити використовувати ваш поточний resolver. Вам знову буде запропоновано наступного разу." }, - "invalidResolver": { - "title": "Несанкціонований resolver", - "subtitle": "У вас немає дозволу на встановлення записів для цього resolver. Вам потрібно оновити до останньої версії resolver, щоб редагувати ваш профіль.", - "action": "Оновити resolver" - }, "migrateProfileSelector": { "title": "Профіль", "subtitle": "Записи профілю на кожному resolver не збігаються. Який набір записів ви хотіли б використовувати?", @@ -133,8 +102,7 @@ }, "noResolver": { "title": "Resolver не встановлено", - "subtitle": "Нам потрібно встановити resolver перед редагуванням вашого профілю.", - "action": "Оновити" + "subtitle": "Нам потрібно встановити resolver перед редагуванням вашого профілю." }, "resetProfile": { "title": "Скинути профіль", @@ -171,40 +139,19 @@ "title": "Зберегти поточний профіль", "subtitle": "Відзначення цієї опції скине ваш профіль." } - }, - "links": { - "learnMoreResolvers": "Дізнайтеся більше про resolvers" - } - }, - "intro": { - "resetProfile": { - "title": "Скинути профіль", - "description": "Це видалить всі записи профілю з останнього resolver і потім оновить resolver." - }, - "migrateProfile": { - "title": "Міграція профілю", - "description": "Це перенесе ваші поточні записи профілю на останній resolver." - }, - "migrateCurrentProfile": { - "title": "Міграція профілю", - "description": "Це перенесе ваші поточні записи профілю на останній resolver." } } }, - "editResolver": { - "title": "Редагувати Resolver", - "latestLabel": "Використовувати останню версію resolver", - "etherscan": "Etherscan", - "latestMessage": "Ви використовуєте останню версію resolver", - "customLabel": "Користувацький resolver", - "customPlaceholder": "Введіть адресу користувацького resolver" + "deleteEmancipatedSubnameWarning": { + "title": "Це підім'я не може бути відновлено", + "message": "Видалення цього підім'я завадить його використанню або відновленню до його терміну придатності {{date}}. Це не можна скасувати, оскільки права контролю батьківського імені були відкликані." + }, + "deleteSubnameNotParentWarning": { + "title": "Ви не можете відновити це підім'я", + "message": "Тільки {{ownershipTerm}} батьківського імені ({{parentOwner}}) може відновити це підім'я. Ви не зможете відновити це ім'я самостійно після його видалення." }, "editRoles": { "views": { - "main": { - "title": "Редагувати ролі", - "noneSet": "Не встановлено" - }, "editRole": { "title": "Змінити {{role}}", "views": { @@ -212,89 +159,112 @@ "current": "Поточний {{role}}" } } + }, + "main": { + "noneSet": "Не встановлено" + } + } + }, + "sendName": { + "views": { + "search": { + "placeholder": "ENS ім'я або Ethereum адреса", + "views": { + "error": { + "message": "Щось пішло не так. Будь ласка, спробуйте ще раз." + }, + "intro": { + "message": "Шукайте ENS ім'я або ETH адресу" + }, + "noResults": { + "message": "Результатів не знайдено" + } + } + }, + "error": { + "title": "Не можна надіслати ім'я", + "description": "У вас немає дозволу на відправлення цього імені." + }, + "confirmation": { + "title": "Надсилання імені", + "description": "Надсилання цього імені передає право власності одержувачу, надаючи йому ваш контроль.", + "warning": "Ви втратите можливість змінювати, отримувати платежі або використовувати це як основне ім'я.", + "learnMore": "Дізнайтеся про надсилання імен" + }, + "summary": { + "fields": { + "summary": { + "title": "Резюме змін", + "updates": { + "role": "Оновити роль {{role}} на {{address}}", + "eth-record": "Оновити запис ETH на {{address}}" + }, + "remove": { + "profile": "Видалити записи профілю" + } + }, + "name": { + "expires": "Закінчується {{date}}", + "label": "Ім'я" + }, + "recipient": "Одержувач", + "options": { + "label": "Опції", + "title": "Скинути профіль", + "description": "Видалити всі записи профілю. Це вимагає додаткових витрат газу." + } + }, + "title": "Надіслати ім'я" } } }, "extendNames": { - "title_one": "Продовжити ім'я", - "title_other": "Продовжити {{count}} імен", + "invoice": { + "extension": "{{time}} продовження", + "transaction": "Комісія за транзакцію" + }, "ownershipWarning": { "title_one": "Ви не володієте цим ім'ям", + "title_few": "", + "title_many": "", "title_other": "Ви не володієте всіма цими іменами", "description_one": "Продовження цього імені продовжить реєстрацію поточного власника. Це не надасть вам права власності на нього.", + "description_few": "", + "description_many": "", "description_other": "Продовження цих імен продовжить реєстрацію поточного власника. Це не надасть вам права власності, якщо ви ще не є власником." }, - "invoice": { - "extension": "{{time}} продовження", - "transaction": "Комісія за транзакцію", - "total": "Оцінкова загальна сума" - }, - "bannerMsg": "Продовження на кілька років дозволить зекономити на витратах на мережу, уникнувши щорічних транзакцій.", - "gasLimitError": "Недостатньо коштів" + "title_one": "Продовжити ім'я", + "title_few": "", + "title_many": "", + "title_other": "Продовжити {{count}} імен", + "gasLimitError": "Недостатньо коштів", + "bannerMsg": "Продовження на кілька років дозволить зекономити на витратах на мережу, уникнувши щорічних транзакцій." }, - "transferProfile": { - "title": "Передати профіль", - "message1": "Перед оновленням ви можете передати свій поточний профіль, якщо хочете, в іншому випадку він буде скинутий при оновленні.", - "message2": "Бажаєте передати свій поточний профіль?" + "resetPrimaryName": { + "title": "Видалити основне ім'я", + "description": "Це ім'я більше не буде відображатися як ім'я для цієї адреси. Однак транзакції на це ім'я все ще будуть направлятися на цю адресу, якщо ви не видалите запис ETH." }, "revokePermissions": { + "action": { + "revoke": "Відмовитися" + }, "views": { - "revokeWarning": { - "title": "Це призведе до постійних змін", - "subtitle": "Дозволи є розширеною функцією, яка вносить постійні зміни до вашого імені. Ви не зможете скасувати ці зміни, і вони будуть скинуті лише якщо ім'я спливе.", - "subtitle2": "Переконайтеся, що ви впевнені у використанні цієї функції перед продовженням. Дізнайтеся більше про дозволи" - }, - "revokePCC": { - "title": "Відмовитися від права власності", - "subtitle": "Це надасть право власності на це ім'я менеджеру ({{account}}). Якщо ви не є менеджером, ви більше не зможете вносити зміни до цього імені." - }, "grantExtendExpiry": { "title": "Змінити дозволи", "fuses": { "CAN_EXTEND_EXPIRY": "Надати дозвіл на: Подовження терміну дії" } }, - "setExpiry": { - "title": "Встановити термін дії імені", - "subtitle": "Встановіть дату, коли дозволи сплинуть. Ця дата не може бути пізнішою за термін дії батьківського імені ({{parent}}).", - "subtitleWithCEE": "Встановіть дату, коли це ім'я спливе. Це замінить існуючий термін дії дозволів ({{expiry}}) і не може бути пізнішою за термін дії батьківського імені ({{parent}}).", - "options": { - "max": "Максимум", - "custom": "Вибрати ранішу дату" - }, - "error": { - "required": "Дата потрібна, якщо вибрана користувацька дата", - "min": "Дата повинна бути пізніше {{date}}", - "max": "Дата повинна бути раніше {{date}}" - } - }, - "revokeAdditional": { - "title": "Відмовитися від додаткових дозволів", - "subtitle": "Бажаєте відмовитися від дозволів на це ім'я перед відмовою від права власності? Це можна зробити лише зараз.", - "action": { - "title": "Відмовитися від додаткових дозволів", - "description": "Якщо ви не є менеджером, ви не зможете відмовитися від додаткових дозволів після цього." - } - }, - "revokeUnwrap": { - "title": "Відмовитися від дозволів", - "subtitle": "Вам потрібно відмовитися від цього дозволу перед тим, як інші можуть бути відкликані. Це запобігає видаленню дозволів.", - "fuses": { - "CANNOT_UNWRAP": "Відмовитися від дозволу на: Розгорнути це ім'я" - } + "lastWarning": { + "title": "Ви абсолютно впевнені?", + "subtitle": "Ви вносите зміни, які можуть бути скасовані тільки коли ім'я спливе ({{date}}).", + "message": "Будь ласка, введіть ваше ENS ім'я ({{name}}) для підтвердження." }, "revokePermissions": { "title": "Відмовитися від дозволів", - "unwrapSubtitle": "Виберіть це, щоб активувати інші", "fuses": { "CAN_EXTEND_EXPIRY": "Надати дозвіл на: Подовження терміну дії.", - "CANNOT_UNWRAP": "Відмовитися від дозволу на: Розгорнути це ім'я", - "CANNOT_CREATE_SUBDOMAIN": "Відмовитися від дозволу на: Створення піддоменів", - "CANNOT_TRANSFER": "Відмовитися від дозволу на: Надсилання цього імені", - "CANNOT_SET_RESOLVER": "Відмовитися від дозволу на: Встановлення resolver", - "CANNOT_SET_TTL": "Відмовитися від дозволу на: Встановлення TTL", - "CANNOT_BURN_FUSES": "Відмовитися від дозволу на: Зміна дозволів", - "CANNOT_APPROVE": "Відмовитися від дозволу на: Зміна менеджера поновлення" + "CANNOT_UNWRAP": "Відмовитися від дозволу на: Розгорнути це ім'я" } }, "revokeChangeFuses": { @@ -308,111 +278,76 @@ "title": "Залишкові дозволи будуть заблоковані", "subtitle": "Дозволи та користувацькі запобіжники будуть назавжди заблоковані у своєму поточному стані після відкликання дозволу на зміну дозволів. Це буде скинуто лише якщо ім'я спливе." }, - "lastWarning": { - "title": "Ви абсолютно впевнені?", - "subtitle": "Ви вносите зміни, які можуть бути скасовані тільки коли ім'я спливе ({{date}}).", - "message": "Будь ласка, введіть ваше ENS ім'я ({{name}}) для підтвердження." + "revokePCC": { + "title": "Відмовитися від права власності", + "subtitle": "Це надасть право власності на це ім'я менеджеру ({{account}}). Якщо ви не є менеджером, ви більше не зможете вносити зміни до цього імені." + }, + "revokeUnwrap": { + "title": "Відмовитися від дозволів", + "subtitle": "Вам потрібно відмовитися від цього дозволу перед тим, як інші можуть бути відкликані. Це запобігає видаленню дозволів.", + "fuses": { + "CANNOT_UNWRAP": "Відмовитися від дозволу на: Розгорнути це ім'я" + } + }, + "revokeWarning": { + "title": "Це призведе до постійних змін", + "subtitle": "Дозволи є розширеною функцією, яка вносить постійні зміни до вашого імені. Ви не зможете скасувати ці зміни, і вони будуть скинуті лише якщо ім'я спливе.", + "subtitle2": "Переконайтеся, що ви впевнені у використанні цієї функції перед продовженням. Дізнайтеся більше про дозволи" + }, + "setExpiry": { + "title": "Встановити термін дії імені", + "subtitleWithCEE": "Встановіть дату, коли це ім'я спливе. Це замінить існуючий термін дії дозволів ({{expiry}}) і не може бути пізнішою за термін дії батьківського імені ({{parent}}).", + "subtitle": "Встановіть дату, коли дозволи сплинуть. Ця дата не може бути пізнішою за термін дії батьківського імені ({{parent}}).", + "options": { + "max": "Максимум", + "custom": "Вибрати ранішу дату" + }, + "error": { + "required": "Дата потрібна, якщо вибрана користувацька дата", + "min": "Дата повинна бути пізніше {{date}}", + "max": "Дата повинна бути раніше {{date}}" + } } - }, - "action": { - "revoke": "Відмовитися" } }, - "unknownLabels": { - "title": "Підтвердіть ваше ім'я", - "subtitle": "Деякі етикетки у вашому імені невідомі. Будь ласка, введіть їх, щоб продовжити." - }, - "deleteEmancipatedSubnameWarning": { - "title": "Це підім'я не може бути відновлено", - "message": "Видалення цього підім'я завадить його використанню або відновленню до його терміну придатності {{date}}. Це не можна скасувати, оскільки права контролю батьківського імені були відкликані." - }, - "deleteSubnameNotParentWarning": { - "title": "Ви не можете відновити це підім'я", - "message": "Тільки {{ownershipTerm}} батьківського імені ({{parentOwner}}) може відновити це підім'я. Ви не зможете відновити це ім'я самостійно після його видалення." - }, "selectPrimaryName": { "title": "Виберіть основне ім'я", "errors": { - "noNamesFound": "Імена не знайдено", - "noEligibleNames": "Немає придатних імен" - } - }, - "resetPrimaryName": { - "title": "Видалити основне ім'я", - "description": "Це ім'я більше не буде відображатися як ім'я для цієї адреси. Однак транзакції на це ім'я все ще будуть направлятися на цю адресу, якщо ви не видалите запис ETH." - }, - "sendName": { - "views": { - "error": { - "title": "Не можна надіслати ім'я", - "description": "У вас немає дозволу на відправлення цього імені." - }, - "search": { - "placeholder": "ENS ім'я або Ethereum адреса", - "views": { - "error": { - "message": "Щось пішло не так. Будь ласка, спробуйте ще раз." - }, - "intro": { - "message": "Шукайте ENS ім'я або ETH адресу" - }, - "noResults": { - "message": "Результатів не знайдено" - } - } - }, - "summary": { - "title": "Надіслати ім'я", - "fields": { - "name": { - "label": "Ім'я", - "expires": "Закінчується {{date}}" - }, - "recipient": "Одержувач", - "options": { - "label": "Опції", - "title": "Скинути профіль", - "description": "Видалити всі записи профілю. Це вимагає додаткових витрат газу." - }, - "summary": { - "title": "Резюме змін", - "updates": { - "role": "Оновити роль {{role}} на {{address}}", - "eth-record": "Оновити запис ETH на {{address}}" - }, - "remove": { - "profile": "Видалити записи профілю" - } - } - } - }, - "confirmation": { - "title": "Надсилання імені", - "description": "Надсилання цього імені передає право власності одержувачу, надаючи йому ваш контроль.", - "warning": "Ви втратите можливість змінювати, отримувати платежі або використовувати це як основне ім'я.", - "learnMore": "Дізнайтеся про надсилання імен" - } + "noEligibleNames": "Немає придатних імен", + "noNamesFound": "Імена не знайдено" } }, "syncManager": { "title": "Синхронізація менеджера", "description": "Синхронізація менеджера зробить вас новим менеджером цього імені. Поточний менеджер ({{manager}}) більше не зможе вносити зміни.", "warning": "Синхронізація менеджера також розгорне це ім'я. Це спалить NFT і скине всі дозволи." - } - }, - "transaction": { - "extendNames": { - "actionValue": "Подовжити реєстрацію", - "costValue": "{{value}} + комісії", - "warning": "Подовження цього імені не дасть вам права власності на нього" }, - "deleteSubname": { - "warning": "Привіт всім" + "unknownLabels": { + "title": "Підтвердіть ваше ім'я", + "subtitle": "Деякі етикетки у вашому імені невідомі. Будь ласка, введіть їх, щоб продовжити." + }, + "verifyProfile": { + "dentity": { + "title": "", + "description": "", + "helper": "", + "remove": "", + "link": "" + }, + "list": { + "title": "", + "message": "" + } } }, + "action": { + "back": "" + }, "intro": { + "multiStepSubnameDelete": { + "description": "Видалення цього підім'я потребує кількох транзакцій" + }, "migrateAndUpdateResolver": { - "title": "Необхідна дія", "heading": "Редагування, яке ви хочете зберегти у вашому профілі, потребує оновлення розв'язувача.", "link": "Дізнайтеся більше про оновлення розв'язувача", "warning": "Зверніть увагу, що якщо ви скасуєте це в будь-який момент, ваші зміни не будуть збережені." @@ -420,27 +355,12 @@ "syncManager": { "description": "Синхронізація менеджера зробить вас новим менеджером цього імені. Поточний менеджер ({{manager}}) більше не зможе вносити зміни.", "wrappedWarning": "Синхронізація менеджера також розгорне це ім'я. Це спалить NFT і скине всі дозволи." - }, - "selectPrimaryName": { - "updateEthAddress": { - "title": "Оновити ETH адресу", - "description": "ETH адреса для цього імені не відповідає цьому гаманцю. Щоб використовувати це як основне ім'я, спочатку потрібно оновити ETH адресу." - }, - "noResolver": { - "title": "Розв'язувач не встановлений", - "description": "Щоб використовувати це як основне ім'я, спочатку потрібно встановити розв'язувач та оновити ETH адресу." - }, - "invalidResolver": { - "title": "Невідповідний розв'язувач встановлений", - "description": "Щоб використовувати це як основне ім'я, спочатку потрібно встановити дійсний розв'язувач та оновити ETH адресу." - } - }, - "multiStepSubnameDelete": { - "title": "Видалити підім'я", - "description": "Видалення цього підім'я потребує кількох транзакцій" } }, - "errors": { - "duplicateKey": "{{value}} є дублікатом ключа" + "transaction": { + "extendNames": { + "actionValue": "Подовжити реєстрацію", + "costValue": "{{value}} + комісії" + } } } diff --git a/public/locales/uk/transactionFlow_old.json b/public/locales/uk/transactionFlow_old.json new file mode 100644 index 000000000..9e1f850be --- /dev/null +++ b/public/locales/uk/transactionFlow_old.json @@ -0,0 +1,168 @@ +{ + "input": { + "profileEditor": { + "tabs": { + "avatar": { + "change": "Змінити аватар", + "label": "Аватар", + "dropdown": { + "enterManually": "Ввести вручну" + } + }, + "general": { + "name": { + "label": "Псевдонім", + "placeholder": "Джон Сміт" + }, + "url": { + "label": "Вебсайт", + "placeholder": "https://ens.domains" + }, + "location": { + "label": "Місцезнаходження", + "placeholder": "Метавсесвіт" + }, + "description": { + "label": "Коротка біографія", + "placeholder": "Я фермер із прибуткових культур з сільської Теннесі." + } + }, + "accounts": { + "placeholder": { + "default": "Додати ім'я користувача тут", + "com.twitter": "наприклад, nicksdjohnson", + "com.github": "наприклад, arachnid", + "com.discord": "наприклад, nickjohnson", + "org.telegram": "наприклад, nicksdjohnson", + "email": "наприклад, hello@example.com" + } + }, + "address": { + "placeholder": { + "default": "Додати адресу тут", + "eth": "0xD9hbQK...", + "bnb": "0xD9hbQK...", + "btc": "3FZbgi29...", + "ltc": "3FZbgi29...", + "sol": "D4kA7VzHnmV...", + "dot": "1D4kA7VxH...", + "doge": "DFabcd12..." + } + }, + "contentHash": { + "placeholder": { + "default": "Додати URL тут", + "ipfs": "ipfs://...", + "skynet": "sia://...", + "arweave": "ar://...", + "swarm": "bzz://...", + "onion": "onion3://..." + } + }, + "other": { + "placeholder": { + "default": "Додати значення тут..." + } + } + }, + "warningOverlay": { + "invalidResolver": { + "action": "Оновити resolver" + }, + "noResolver": { + "action": "Оновити" + }, + "links": { + "learnMoreResolvers": "Дізнайтеся більше про resolvers" + } + }, + "intro": { + "resetProfile": { + "title": "Скинути профіль" + }, + "migrateProfile": { + "title": "Міграція профілю" + }, + "migrateCurrentProfile": { + "title": "Міграція профілю" + } + } + }, + "editResolver": { + "customPlaceholder": "Введіть адресу користувацького resolver" + }, + "editRoles": { + "views": { + "main": { + "title": "Редагувати ролі" + } + } + }, + "extendNames": { + "invoice": { + "total": "Оцінкова загальна сума" + } + }, + "transferProfile": { + "title": "Передати профіль", + "message1": "Перед оновленням ви можете передати свій поточний профіль, якщо хочете, в іншому випадку він буде скинутий при оновленні.", + "message2": "Бажаєте передати свій поточний профіль?" + }, + "revokePermissions": { + "views": { + "revokeAdditional": { + "title": "Відмовитися від додаткових дозволів", + "subtitle": "Бажаєте відмовитися від дозволів на це ім'я перед відмовою від права власності? Це можна зробити лише зараз.", + "action": { + "title": "Відмовитися від додаткових дозволів", + "description": "Якщо ви не є менеджером, ви не зможете відмовитися від додаткових дозволів після цього." + } + }, + "revokePermissions": { + "unwrapSubtitle": "Виберіть це, щоб активувати інші", + "fuses": { + "CANNOT_CREATE_SUBDOMAIN": "Відмовитися від дозволу на: Створення піддоменів", + "CANNOT_TRANSFER": "Відмовитися від дозволу на: Надсилання цього імені", + "CANNOT_SET_RESOLVER": "Відмовитися від дозволу на: Встановлення resolver", + "CANNOT_SET_TTL": "Відмовитися від дозволу на: Встановлення TTL", + "CANNOT_BURN_FUSES": "Відмовитися від дозволу на: Зміна дозволів", + "CANNOT_APPROVE": "Відмовитися від дозволу на: Зміна менеджера поновлення" + } + } + } + } + }, + "transaction": { + "extendNames": { + "warning": "Подовження цього імені не дасть вам права власності на нього" + }, + "deleteSubname": { + "warning": "Привіт всім" + } + }, + "intro": { + "migrateAndUpdateResolver": { + "title": "Необхідна дія" + }, + "selectPrimaryName": { + "updateEthAddress": { + "title": "Оновити ETH адресу", + "description": "ETH адреса для цього імені не відповідає цьому гаманцю. Щоб використовувати це як основне ім'я, спочатку потрібно оновити ETH адресу." + }, + "noResolver": { + "title": "Розв'язувач не встановлений", + "description": "Щоб використовувати це як основне ім'я, спочатку потрібно встановити розв'язувач та оновити ETH адресу." + }, + "invalidResolver": { + "title": "Невідповідний розв'язувач встановлений", + "description": "Щоб використовувати це як основне ім'я, спочатку потрібно встановити дійсний розв'язувач та оновити ETH адресу." + } + }, + "multiStepSubnameDelete": { + "title": "Видалити підім'я" + } + }, + "errors": { + "duplicateKey": "{{value}} є дублікатом ключа" + } +} diff --git a/public/locales/uk/translation.json b/public/locales/uk/translation.json new file mode 100644 index 000000000..34a74ecc1 --- /dev/null +++ b/public/locales/uk/translation.json @@ -0,0 +1,104 @@ +{ + "testnetFaucet": { + "explanation": "", + "note": "" + }, + "action": { + "close": "", + "claim": "", + "cancel": "", + "done": "", + "next": "", + "tryAgain": "", + "back": "", + "continue": "", + "changeNetwork": "", + "save": "", + "delete": "" + }, + "navigation": { + "language": "" + }, + "transaction": { + "dialog": { + "intro": { + "trailingButtonResume": "", + "trailingButton": "", + "step": "" + }, + "complete": { + "message": "" + }, + "sent": { + "message": "", + "learn": "" + }, + "confirm": { + "message": "", + "waitingForWallet": "", + "openWallet": "" + } + }, + "error": { + "unknown": "" + }, + "viewEtherscan": "", + "description": { + "approveDnsRegistrar": "", + "approveNameWrapper": "", + "burnFuses": "", + "changePermissions": "", + "claimDnsName": "", + "commitName": "", + "createSubname": "", + "deleteSubname": "", + "importDnsName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "registerName": "", + "removeRecord": "", + "resetPrimaryName": "", + "clearRecords": "", + "resetProfileWithRecords": "", + "syncManager": "", + "testSendName": "", + "unwrapName": "", + "updateRecords": "", + "updateProfile": "", + "updateResolver": "", + "updateRecord": "", + "wrapName": "" + }, + "info": { + "approveNameWrapper": "", + "fuses": { + "PARENT_CANNOT_CONTROL": "", + "grant": "", + "CAN_EXTEND_EXPIRY": "", + "setExpiry": "", + "revoke": "" + }, + "commitName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "setPrimaryName": "", + "testSendName": "", + "updateEthAddressOnLatestResolver": "", + "updateEthAddress": "", + "updateResolver": "", + "wrapName": "" + }, + "itemValue": { + "records_one": "", + "records_few": "", + "records_many": "", + "records_other": "" + } + }, + "errors": { + "hasSubnames": "", + "permissionRevoked": "" + }, + "notFound": "", + "unsupportedNetwork": "" +} diff --git a/public/locales/zh/address.json b/public/locales/zh/address.json index 9cdd9b8f1..33f9a5415 100644 --- a/public/locales/zh/address.json +++ b/public/locales/zh/address.json @@ -1,14 +1,13 @@ { - "addressDetails": "地址详情", - "nameCount": "{{count}} 个名称", - "filter": "筛选", - "view": "查看", "noProfile": { "title": "未设置主名称", "message": "创建个人资料前,请为该钱包设置一个主名称" }, - "noResults": "未找到名称", "errors": { "names": "未找到地址" + }, + "meta": { + "title": "", + "description": "" } } diff --git a/public/locales/zh/address_old.json b/public/locales/zh/address_old.json new file mode 100644 index 000000000..6077e4a9f --- /dev/null +++ b/public/locales/zh/address_old.json @@ -0,0 +1,7 @@ +{ + "addressDetails": "地址详情", + "nameCount": "{{count}} 个名称", + "filter": "筛选", + "view": "查看", + "noResults": "未找到名称" +} diff --git a/public/locales/zh/common.json b/public/locales/zh/common.json index bab832fb7..a75f3161c 100644 --- a/public/locales/zh/common.json +++ b/public/locales/zh/common.json @@ -1,359 +1,172 @@ { - "title": "您的 web3 用户名", - "description": "您在 web3 上的身份,一个名称就能解析到您所有的加密地址和您的去中心化网站。", - "loading": "加载中", - "unsupportedNetwork": "不支持的网络", - "notFound": "404 未找到", - "etherscan": "Etherscan", + "unit": { + "years_other": "{{count}} 年", + "gas": "{{value}} 网络费", + "invalid_date": "时间无效", + "perPage_other": "", + "selected_other": "", + "months_other": "{{count}} 月", + "days_other": "{{count}} 天", + "years_one": "{{count}} 年", + "months_one": "{{count}} 月", + "days_one": "{{count}} 天" + }, "action": { - "cancel": "取消", - "change": "更改", - "upload": "上传", - "close": "关闭", - "save": "保存", - "edit": "编辑", - "view": "查看", - "clear": "清除", - "update": "更新", - "learnMore": "了解更多", - "send": "发送", - "next": "下一步", - "add": "添加", - "set": "设置", "search": "搜索", - "back": "上一步", + "add": "添加", + "cancel": "取消", + "extend": "续期", + "sort": "排序", + "remove": "移除", "continue": "继续", + "back": "上一步", "confirm": "确认", - "remove": "移除", - "sign": "签名", - "reset": "重置", - "transfer": "转移", "tryAgain": "再试一次", - "done": "完成", - "burnSelected": "烧毁选中项", - "extend": "续期", - "delete": "删除", - "sort": "排序", - "check": "检查", - "claim": "认领", - "remindMe": "提醒我", + "learnMore": "了解更多", "begin": "开始", + "next": "下一步", + "remindMe": "提醒我", "finish": "完成", - "skip": "跳过", - "changeNetwork": "更改网络", - "understand": "我了解", - "feedback": "反馈", "enterEmail": "输入您的 Email", - "migrate": "迁移" + "close": "关闭", + "view": "查看", + "send": "发送", + "edit": "编辑", + "setReminder": "", + "editRoles": "", + "change": "更改", + "save": "保存", + "understand": "我了解", + "update": "更新", + "setToSelf": "", + "skip": "跳过", + "delete": "删除" }, - "unit": { - "years_one": "{{count}} 年", - "years_other": "{{count}} 年", - "months_one": "{{count}} 月", - "months_other": "{{count}} 月", - "days_one": "{{count}} 天", - "days_other": "{{count}} 天", - "invalid_date": "时间无效", - "yrs_one": "{{count}} 年", - "yrs_other": "{{count}} 年", - "gas": "{{value}} 网络费", - "selected": "{{count}} 个选中项", - "perPage": "{{count}} 个/页" + "errors": { + "invalidAddress": "地址无效", + "emailRequired": "请填写 Email", + "emailInvalid": "Email 地址无效", + "networkError": { + "blurb": "由于数据同步问题,此按钮暂时被禁用。", + "title": "数据同步错误", + "message": "此数据可能已经过时了,请谨慎使用。" + }, + "networkLatency": { + "title": "数据同步缓慢", + "message": "由于网络延迟问题,ENS app 的运行速度正在受到影响。" + }, + "addressRequired": "请填写地址" }, "navigation": { - "home": "首页", - "names": "我的名称", - "favourites": "收藏", - "settings": "设置", - "governance": "治理", - "community": "社区", - "developers": "开发者", - "support": "支持", - "bounty": "漏洞赏金", - "terms": "使用条款", - "privacy": "隐私策略", - "back": "返回", - "oldApp": "旧版 ENS App", + "syncMessage": "正在进行网络同步,您在交易中更改的内容可能还看不到。", "language": "语言", "currency": "货币", - "ipfsApp": "IPFS ENS App", - "feedback": "反馈", - "syncMessage": "正在进行网络同步,您在交易中更改的内容可能还看不到。" + "settings": "设置" }, - "wallet": { - "myProfile": "个人资料", - "disconnect": "断开连接", - "connect": "连接", - "noPrimaryName": "未设置主名称", - "viewProfile": "查看个人资料", - "viewDetails": "查看详情", - "register": "注册" - }, - "name": { - "registered": "已注册", - "expires": "到期时间", - "graceEnd": "宽限期结束", - "noExpiry": "无限期", - "expiry": "到期", - "parent": "父名称", - "noParent": "无父名称", - "registrant": "注册人", - "controller": "管理员", - "dnsOwner": "DNS 所有者", - "owner": "所有者", - "notOwned": "未被持有", - "manager": "管理员", - "all": "所有名称", - "yourPrimaryName": "您的主名称", - "expiresInYears_one": "{{count}} 年后到期", - "expiresInYears_other": "{{count}} 年后到期", - "expiresInMonths_one": "{{count}} 个月后到期", - "expiresInMonths_other": "{{count}} 个月后到期", - "expiresInDays_one": "{{count}} 天后到期", - "expiresInDays_other": "{{count}} 天后到期", - "expiresInHours_one": "{{count}} 小时后到期", - "expiresInHours_other": "{{count}} 小时后到期", - "expiresInHours_zero": "将在 1 小时内到期", - "expiredInHours_one": "{{count}} 小时前已过期", - "expiredInHours_other": "{{count}} 小时前已过期", - "expiredInHours_zero": "刚过期不到 1 小时", - "expiredInDays_one": "{{count}} 天前已过期", - "expiredInDays_other": "{{count}} 天前已过期", - "expiredInMonths_one": "{{count}} 个月前已过期", - "expiredInMonths_other": "{{count}} 个月前已过期", - "expiredInYears_one": "{{count}} 年前已过期", - "expiredInYears_other": "{{count}} 年前已过期", - "gracePeriod": { - "expiresInYears_one": "宽限期将在 {{count}} 年后到期", - "expiresInYears_other": "宽限期将在 {{count}} 年后到期", - "expiresInMonths_one": "宽限期将在 {{count}} 个月后到期", - "expiresInMonths_other": "宽限期将在 {{count}} 个月后到期", - "expiresInDays_one": "宽限期将在 {{count}} 天后到期", - "expiresInDays_other": "宽限期将在 {{count}} 天后到期", - "expiresInHours_one": "宽限期将在 {{count}} 个小时后到期", - "expiresInHours_other": "宽限期将在 {{count}} 个小时后到期", - "expiresInHours_zero": "宽限期将在 1 小时内到期" - }, - "extend": "续期", - "send": "发送", - "transfer": "转移", - "sendManager": "发送管理权", - "sendOwner": "发送所有权", - "renew": "为 {{name}} 续期" + "search": { + "emptyText": "输入要搜索的名称或地址...", + "label": "名称搜索", + "placeholder": "搜索名称" }, "address": { "label": "地址", "viewAddress": "查看地址", "copyAddress": "复制地址" }, - "records": { - "label": "记录" - }, - "sortTypes": { - "expiryDate": "到期时间", - "labelName": "名称", - "createdAt": "创建时间" - }, - "errors": { - "noResults": "未找到结果", - "emailRequired": "请填写 Email", - "emailInvalid": "Email 地址无效", - "invalidAddress": "地址无效", - "addressRequired": "请填写地址", - "indexingErrors": { - "title": "数据同步错误", - "message": "此数据可能已经过时了,请谨慎使用。", - "message_datetime": "此数据最后更新时间为 {{datetime}},可能已过期,请谨慎使用。" - }, - "networkError": { - "title": "数据同步错误", - "message": "此数据可能已经过时了,请谨慎使用。", - "blurb": "由于数据同步问题,此按钮暂时被禁用。" - }, - "networkLatency": { - "title": "数据同步缓慢", - "message": "由于网络延迟问题,ENS app 的运行速度正在受到影响。" - } + "wallet": { + "connect": "连接", + "myProfile": "个人资料", + "disconnect": "断开连接", + "viewProfile": "查看个人资料", + "viewDetails": "查看详情" }, - "transaction": { - "description": { - "setName": "设置名称", - "setRecords": "设置记录", - "test": "测试交易", - "addSuccess": "添加成功", - "sendName": "发送名称", - "migrateProfile": "迁移个人资料", - "migrateProfileWithReset": "迁移个人资料", - "migrateProfileWithSync": "迁移并更新个人资料", - "migrateProfileWithEthAddress": "迁移并更新 ETH 地址", - "wrapName": "包装名称", - "updateResolver": "更新解析器", - "updateProfile": "更新个人资料", - "setPrimaryName": "设置主名称", - "resetPrimaryName": "移除主名称", - "updateEthAddress": "更新 ETH 地址", - "testSendName": "发送名称", - "burnFuses": "烧毁权限", - "createSubname": "创建子名称", - "deleteSubname": "删除子名称", - "extendNames": "为名称续期", - "importDNSSECName": "导入 DNSSEC 名称", - "commitName": "启动计时器", - "registerName": "注册名称", - "approveNameWrapper": "批准名称包装器", - "clearRecords": "清除记录", - "updateRecords": "更新记录", - "transferName": "转移名称", - "transferSubname": "转移子名称", - "changePermissions": "更改权限", - "syncManager": "同步管理员", - "updateProfileRecords": "更新个人资料", - "resetProfile": "重置个人资料", - "unwrapName": "将名称解除包装" - }, - "info": { - "sendName": "设置名称的管理员和注册人", - "migrateProfile": "将现有记录设置到新的解析器上", - "migrateProfileWithReset": "将现有记录设置到新的解析器上", - "migrateProfileWithSync": "将现有记录设置到新的解析器上", - "migrateProfileWithEthAddress": "在新解析器上设置现有记录和 ETH 地址", - "wrapName": "包装该名称", - "updateResolver": "将解析器更改为", - "updateProfile": "更新现有解析器上的记录", - "setPrimaryName": "为您的地址设置主名称", - "updateEthAddress": "将该地址更新到 ETH 地址记录", - "updateEthAddressOnLatestResolver": "在最新的解析器上更新 ETH 地址", - "testSendName": "设置该名称的管理员和注册人", - "createSubname": "在该名称上创建子名称", - "burnFuses": "烧毁选中的权限,直到名称过期", - "commitName": "启动注册名称的计时器", - "approveNameWrapper": "批准名称包装器管理您的名称", - "fuses": { - "revoke": "撤销", - "grant": "授权", - "setExpiry": "设置有效期", - "PARENT_CANNOT_CONTROL": "放弃父名称控制权", - "CAN_EXTEND_EXPIRY": "延长有效期", - "CANNOT_UNWRAP": "解除包装", - "CANNOT_CREATE_SUBDOMAIN": "创建子名称", - "CANNOT_SET_RESOLVER": "设置解析器", - "CANNOT_SET_TTL": "设置 TTL", - "CANNOT_TRANSFER": "转移该名称", - "CANNOT_BURN_FUSES": "更改权限", - "CANNOT_APPROVE": "更改续期管理员" - } - }, - "itemLabel": { - "name": "名称", - "address": "地址", - "action": "操作", - "info": "信息", - "to": "至", - "subname": "子名称", - "duration": "时长", - "cost": "费用", - "update": "更新", - "resolver": "解析器" - }, - "itemValue": { - "records_one": "{{count}} 条记录", - "records_other": "{{count}} 条记录" - }, - "status": { - "pending": { - "regular": "处理中" - }, - "confirmed": { - "regular": "已确认", - "notifyTitle": "交易成功", - "notifyMessage": "您的 \"{{action}}\" 交易已经完成" + "loading": "加载中", + "steps": { + "enableDnssec": { + "title": "", + "status": { + "enabled": "", + "disabled": { + "heading": "", + "help": "", + "message": "" + } }, - "failed": { - "regular": "失败", - "notifyTitle": "交易失败", - "notifyMessage": "您的 \"{{action}}\" 交易失败,状态已还原" + "help": { + "findOutRegistrar": "" } }, - "dialog": { - "intro": { - "trailingButton": "开始", - "trailingButtonResume": "继续", - "step": "第 {{step}} 步" + "transaction": { + "mismatching": { + "title": "", + "subtitle": "" }, - "confirm": { - "title": "确认详情", - "message": "请您在钱包里确认之前,仔细检查这些细节。", - "waitingForWallet": "等待钱包确认", - "openWallet": "打开钱包" + "matching": { + "title": "", + "subtitle": "" }, - "sent": { - "title": "交易已发送", - "message": "您的交易正在处理,您可以关闭此窗口并稍后返回。", - "progress": { - "title": "已发送", - "message": "比预期耗费的时间要长" - } - }, - "complete": { - "title": "交易完成", - "message": "您的交易已经完成!", - "progress": { - "title": "完成" - } - }, - "failed": { - "title": "交易失败", - "progress": { - "title": "失败" - } + "estimatedNetworkCost": "" + }, + "verifyOwnership": { + "title": "", + "status": { + "mismatching": { + "heading": "", + "help": "", + "message": "", + "error": { + "onchain": "", + "offchain": "" + } + }, + "disconnected": "", + "matching": "" }, - "error": { - "gasLimit": "这笔交易的网络费限额不够高,请再试一次。" + "action": { + "importWithoutOwnership": "" } }, - "error": { - "request": { - "INSUFFICIENT_FUNDS": "钱包余额不足", - "UNPREDICTABLE_GAS_LIMIT": "发生未知错误" + "selectType": { + "title": "", + "subtitle": "", + "learnMore": "", + "select": { + "heading": "", + "offchain": { + "name": "", + "tag": "", + "description": "" + }, + "onchain": { + "name": "", + "description": "" + } } - }, - "viewEtherscan": "在 Etherscan 上查看", - "viewMore": "查看详情" + } }, - "search": { - "label": "名称搜索", - "placeholder": "搜索名称", - "emptyText": "输入要搜索的名称或地址...", - "address": "地址", - "errors": { - "tooShort": "名称太短", - "invalid": "名称格式无效" - }, - "status": { - "registered": "已注册", - "gracePeriod": "宽限期", - "premium": "临时溢价期", - "available": "可注册", - "notOwned": "未被持有", - "notImported": "未导入", - "short": "太短", - "default": "无效", - "unsupportedTLD": "不支持", - "imported": "已导入", - "owned": "已被持有" + "etherscan": "Etherscan", + "name": { + "graceEnd": "宽限期结束", + "registered": "已注册", + "copy": "", + "expires": "到期时间", + "noExpiry": "无限期", + "notOwned": "未被持有", + "noParent": "无父名称", + "yourPrimaryName": "您的主名称" + }, + "transaction": { + "viewEtherscan": "在 Etherscan 上查看", + "description": { + "syncManager": "同步管理员" } }, - "selectableInput": { - "add": "添加", - "placeholder": "选择一项", - "empty": "未找到选项" + "dns": { + "refresh": "" }, - "testnetFaucet": { - "explanation": "{{ testnet }} 上的每个地址都可以申请 {{amount}} {{ ticker }} 来进行 ENS 管理器 app 或其他网络测试。", - "note": "它可能在几分钟后才能出现在你的钱包里。" + "records": { + "label": "记录" }, - "calendar": { - "pick_by_years": "选择年份", - "pick_by_date": "选择日期" - } + "title": "您的 web3 用户名", + "description": "您在 web3 上的身份,一个名称就能解析到您所有的加密地址和您的去中心化网站。" } diff --git a/public/locales/zh/common_old.json b/public/locales/zh/common_old.json new file mode 100644 index 000000000..122a3bc3d --- /dev/null +++ b/public/locales/zh/common_old.json @@ -0,0 +1,279 @@ +{ + "unsupportedNetwork": "不支持的网络", + "notFound": "404 未找到", + "action": { + "upload": "上传", + "clear": "清除", + "set": "设置", + "sign": "签名", + "reset": "重置", + "transfer": "转移", + "done": "完成", + "burnSelected": "烧毁选中项", + "check": "检查", + "claim": "认领", + "changeNetwork": "更改网络", + "feedback": "反馈", + "migrate": "迁移" + }, + "unit": { + "yrs_one": "{{count}} 年", + "yrs_other": "{{count}} 年", + "selected": "{{count}} 个选中项", + "perPage": "{{count}} 个/页" + }, + "navigation": { + "home": "首页", + "names": "我的名称", + "favourites": "收藏", + "governance": "治理", + "community": "社区", + "developers": "开发者", + "support": "支持", + "bounty": "漏洞赏金", + "terms": "使用条款", + "privacy": "隐私策略", + "back": "返回", + "oldApp": "旧版 ENS App", + "ipfsApp": "IPFS ENS App", + "feedback": "反馈" + }, + "wallet": { + "noPrimaryName": "未设置主名称", + "register": "注册" + }, + "name": { + "expiry": "到期", + "parent": "父名称", + "registrant": "注册人", + "controller": "管理员", + "dnsOwner": "DNS 所有者", + "owner": "所有者", + "manager": "管理员", + "all": "所有名称", + "expiresInYears_one": "{{count}} 年后到期", + "expiresInYears_other": "{{count}} 年后到期", + "expiresInMonths_one": "{{count}} 个月后到期", + "expiresInMonths_other": "{{count}} 个月后到期", + "expiresInDays_one": "{{count}} 天后到期", + "expiresInDays_other": "{{count}} 天后到期", + "expiresInHours_one": "{{count}} 小时后到期", + "expiresInHours_other": "{{count}} 小时后到期", + "expiresInHours_zero": "将在 1 小时内到期", + "expiredInHours_one": "{{count}} 小时前已过期", + "expiredInHours_other": "{{count}} 小时前已过期", + "expiredInHours_zero": "刚过期不到 1 小时", + "expiredInDays_one": "{{count}} 天前已过期", + "expiredInDays_other": "{{count}} 天前已过期", + "expiredInMonths_one": "{{count}} 个月前已过期", + "expiredInMonths_other": "{{count}} 个月前已过期", + "expiredInYears_one": "{{count}} 年前已过期", + "expiredInYears_other": "{{count}} 年前已过期", + "gracePeriod": { + "expiresInYears_one": "宽限期将在 {{count}} 年后到期", + "expiresInYears_other": "宽限期将在 {{count}} 年后到期", + "expiresInMonths_one": "宽限期将在 {{count}} 个月后到期", + "expiresInMonths_other": "宽限期将在 {{count}} 个月后到期", + "expiresInDays_one": "宽限期将在 {{count}} 天后到期", + "expiresInDays_other": "宽限期将在 {{count}} 天后到期", + "expiresInHours_one": "宽限期将在 {{count}} 个小时后到期", + "expiresInHours_other": "宽限期将在 {{count}} 个小时后到期", + "expiresInHours_zero": "宽限期将在 1 小时内到期" + }, + "extend": "续期", + "send": "发送", + "transfer": "转移", + "sendManager": "发送管理权", + "sendOwner": "发送所有权", + "renew": "为 {{name}} 续期" + }, + "sortTypes": { + "expiryDate": "到期时间", + "labelName": "名称", + "createdAt": "创建时间" + }, + "errors": { + "noResults": "未找到结果", + "indexingErrors": { + "title": "数据同步错误", + "message": "此数据可能已经过时了,请谨慎使用。", + "message_datetime": "此数据最后更新时间为 {{datetime}},可能已过期,请谨慎使用。" + } + }, + "transaction": { + "description": { + "setName": "设置名称", + "setRecords": "设置记录", + "test": "测试交易", + "addSuccess": "添加成功", + "sendName": "发送名称", + "migrateProfile": "迁移个人资料", + "migrateProfileWithReset": "迁移个人资料", + "migrateProfileWithSync": "迁移并更新个人资料", + "migrateProfileWithEthAddress": "迁移并更新 ETH 地址", + "wrapName": "包装名称", + "updateResolver": "更新解析器", + "updateProfile": "更新个人资料", + "setPrimaryName": "设置主名称", + "resetPrimaryName": "移除主名称", + "updateEthAddress": "更新 ETH 地址", + "testSendName": "发送名称", + "burnFuses": "烧毁权限", + "createSubname": "创建子名称", + "deleteSubname": "删除子名称", + "extendNames": "为名称续期", + "importDNSSECName": "导入 DNSSEC 名称", + "commitName": "启动计时器", + "registerName": "注册名称", + "approveNameWrapper": "批准名称包装器", + "clearRecords": "清除记录", + "updateRecords": "更新记录", + "transferName": "转移名称", + "transferSubname": "转移子名称", + "changePermissions": "更改权限", + "updateProfileRecords": "更新个人资料", + "resetProfile": "重置个人资料", + "unwrapName": "将名称解除包装" + }, + "info": { + "sendName": "设置名称的管理员和注册人", + "migrateProfile": "将现有记录设置到新的解析器上", + "migrateProfileWithReset": "将现有记录设置到新的解析器上", + "migrateProfileWithSync": "将现有记录设置到新的解析器上", + "migrateProfileWithEthAddress": "在新解析器上设置现有记录和 ETH 地址", + "wrapName": "包装该名称", + "updateResolver": "将解析器更改为", + "updateProfile": "更新现有解析器上的记录", + "setPrimaryName": "为您的地址设置主名称", + "updateEthAddress": "将该地址更新到 ETH 地址记录", + "updateEthAddressOnLatestResolver": "在最新的解析器上更新 ETH 地址", + "testSendName": "设置该名称的管理员和注册人", + "createSubname": "在该名称上创建子名称", + "burnFuses": "烧毁选中的权限,直到名称过期", + "commitName": "启动注册名称的计时器", + "approveNameWrapper": "批准名称包装器管理您的名称", + "fuses": { + "revoke": "撤销", + "grant": "授权", + "setExpiry": "设置有效期", + "PARENT_CANNOT_CONTROL": "放弃父名称控制权", + "CAN_EXTEND_EXPIRY": "延长有效期", + "CANNOT_UNWRAP": "解除包装", + "CANNOT_CREATE_SUBDOMAIN": "创建子名称", + "CANNOT_SET_RESOLVER": "设置解析器", + "CANNOT_SET_TTL": "设置 TTL", + "CANNOT_TRANSFER": "转移该名称", + "CANNOT_BURN_FUSES": "更改权限", + "CANNOT_APPROVE": "更改续期管理员" + } + }, + "itemLabel": { + "name": "名称", + "address": "地址", + "action": "操作", + "info": "信息", + "to": "至", + "subname": "子名称", + "duration": "时长", + "cost": "费用", + "update": "更新", + "resolver": "解析器" + }, + "itemValue": { + "records_one": "{{count}} 条记录", + "records_other": "{{count}} 条记录" + }, + "status": { + "pending": { + "regular": "处理中" + }, + "confirmed": { + "regular": "已确认", + "notifyTitle": "交易成功", + "notifyMessage": "您的 \"{{action}}\" 交易已经完成" + }, + "failed": { + "regular": "失败", + "notifyTitle": "交易失败", + "notifyMessage": "您的 \"{{action}}\" 交易失败,状态已还原" + } + }, + "dialog": { + "intro": { + "trailingButton": "开始", + "trailingButtonResume": "继续", + "step": "第 {{step}} 步" + }, + "confirm": { + "title": "确认详情", + "message": "请您在钱包里确认之前,仔细检查这些细节。", + "waitingForWallet": "等待钱包确认", + "openWallet": "打开钱包" + }, + "sent": { + "title": "交易已发送", + "message": "您的交易正在处理,您可以关闭此窗口并稍后返回。", + "progress": { + "title": "已发送", + "message": "比预期耗费的时间要长" + } + }, + "complete": { + "title": "交易完成", + "message": "您的交易已经完成!", + "progress": { + "title": "完成" + } + }, + "failed": { + "title": "交易失败", + "progress": { + "title": "失败" + } + }, + "error": { + "gasLimit": "这笔交易的网络费限额不够高,请再试一次。" + } + }, + "error": { + "request": { + "INSUFFICIENT_FUNDS": "钱包余额不足", + "UNPREDICTABLE_GAS_LIMIT": "发生未知错误" + } + }, + "viewMore": "查看详情" + }, + "search": { + "address": "地址", + "errors": { + "tooShort": "名称太短", + "invalid": "名称格式无效" + }, + "status": { + "registered": "已注册", + "gracePeriod": "宽限期", + "premium": "临时溢价期", + "available": "可注册", + "notOwned": "未被持有", + "notImported": "未导入", + "short": "太短", + "default": "无效", + "unsupportedTLD": "不支持", + "imported": "已导入", + "owned": "已被持有" + } + }, + "selectableInput": { + "add": "添加", + "placeholder": "选择一项", + "empty": "未找到选项" + }, + "testnetFaucet": { + "explanation": "{{ testnet }} 上的每个地址都可以申请 {{amount}} {{ ticker }} 来进行 ENS 管理器 app 或其他网络测试。", + "note": "它可能在几分钟后才能出现在你的钱包里。" + }, + "calendar": { + "pick_by_years": "选择年份", + "pick_by_date": "选择日期" + } +} diff --git a/public/locales/zh/dnssec.json b/public/locales/zh/dnssec.json index 551a8c864..47263490c 100644 --- a/public/locales/zh/dnssec.json +++ b/public/locales/zh/dnssec.json @@ -1,66 +1,18 @@ { "title": "将 {{name}} 引入 ENS", - "general": { - "connectWallet": "请先连接您的钱包", - "importDNSSECName": "导入 DNSSEC 域名", - "domainRegistrar": "域名注册商" + "status": { + "checking": "" }, - "registrars": { - "namecheap": "Namecheap", - "domaindotcom": "Domain.com", - "googledomains": "Google Domains", - "dreamhost": "Dreamhost", - "hover": "Hover", - "godaddy": "GoDaddy", - "bluehost": "Bluehost", - "hostgator": "HostGator", - "cloudflare": "Cloudflare", - "findYourRegistrar": "查看您的注册商" - }, - "addTextRecord": { - "title": "添加文本记录", - "explanation": "您需要利用这些信息为您的域名创建一个新的 DNS 记录,用于将您的以太坊地址认定为该域名的所有者。", - "syncWarningOne": "您可能不是该 DNS 域名的所有者,但您仍然可以将该域名添加到 ENS 注册表。", - "syncWarningTwo": "如果您持有该域名,请更改它的 _ens TXT 记录,使其包含您的以太坊地址,然后再次单击 “检查”。其他情况,请单击 “认领” 继续。", - "type": "类型", - "txt": "TXT", - "errors": { - "SUBDOMAIN_NOT_SET": { - "title": "未设置子域名", - "content": "请将上面显示的值设置到您的 _ens 子域名记录中。" - }, - "DNS_RECORD_DOES_NOT_EXIST": { - "title": "记录不存在", - "content": "未设置 DNS 记录" + "steps": { + "complete": { + "title": "", + "import": { + "warning": "" }, - "DNS_RECORD_INVALID": { - "title": "无效记录", - "content": "请将记录设置为上面的值。" + "action": { + "claimAnother": "", + "viewName": "" } } - }, - "claimComplete": { - "title": "恭喜!", - "ownerOf": "您现是该名称的所有者: ", - "successMessage": "您的域名已成功导入 ENS,现在可以查看和管理域名。", - "viewName": "查看域名", - "claimAnother": "再认领一个" - }, - "claimDomain": { - "title": "认领您的域名", - "syncWarning": "您正在导入的 DNS 域名似乎并不属于您。", - "verifiedOwnership": "您已经验证了所有权,现在可以认领该域名。", - "pendingTransactionPre": "您已经有一个", - "pendingTransactionLink": "正在处理的交易", - "pendingTransactionPost": "与该名称有关", - "dnsOwner": "DNS 所有者", - "networkEst": "预估网络费" - }, - "enableDNSSEC": { - "title": "启用 DNSSEC", - "instruction": "您需要访问您的域名注册商来启用 DNSSEC。启用后,单击 “检查” 进入下一步。", - "registrarHelp": "从下面的下拉框中选择您的注册商,查看相应的启用说明。", - "findRegistrar": "查看您的注册商", - "DNSSECNotEnabled": "该域名尚未启用 DNSSEC。" } } diff --git a/public/locales/zh/dnssec_old.json b/public/locales/zh/dnssec_old.json new file mode 100644 index 000000000..ecccaecb0 --- /dev/null +++ b/public/locales/zh/dnssec_old.json @@ -0,0 +1,65 @@ +{ + "general": { + "connectWallet": "请先连接您的钱包", + "importDNSSECName": "导入 DNSSEC 域名", + "domainRegistrar": "域名注册商" + }, + "registrars": { + "namecheap": "Namecheap", + "domaindotcom": "Domain.com", + "googledomains": "Google Domains", + "dreamhost": "Dreamhost", + "hover": "Hover", + "godaddy": "GoDaddy", + "bluehost": "Bluehost", + "hostgator": "HostGator", + "cloudflare": "Cloudflare", + "findYourRegistrar": "查看您的注册商" + }, + "addTextRecord": { + "title": "添加文本记录", + "explanation": "您需要利用这些信息为您的域名创建一个新的 DNS 记录,用于将您的以太坊地址认定为该域名的所有者。", + "syncWarningOne": "您可能不是该 DNS 域名的所有者,但您仍然可以将该域名添加到 ENS 注册表。", + "syncWarningTwo": "如果您持有该域名,请更改它的 _ens TXT 记录,使其包含您的以太坊地址,然后再次单击 “检查”。其他情况,请单击 “认领” 继续。", + "type": "类型", + "txt": "TXT", + "errors": { + "SUBDOMAIN_NOT_SET": { + "title": "未设置子域名", + "content": "请将上面显示的值设置到您的 _ens 子域名记录中。" + }, + "DNS_RECORD_DOES_NOT_EXIST": { + "title": "记录不存在", + "content": "未设置 DNS 记录" + }, + "DNS_RECORD_INVALID": { + "title": "无效记录", + "content": "请将记录设置为上面的值。" + } + } + }, + "claimComplete": { + "title": "恭喜!", + "ownerOf": "您现是该名称的所有者: ", + "successMessage": "您的域名已成功导入 ENS,现在可以查看和管理域名。", + "viewName": "查看域名", + "claimAnother": "再认领一个" + }, + "claimDomain": { + "title": "认领您的域名", + "syncWarning": "您正在导入的 DNS 域名似乎并不属于您。", + "verifiedOwnership": "您已经验证了所有权,现在可以认领该域名。", + "pendingTransactionPre": "您已经有一个", + "pendingTransactionLink": "正在处理的交易", + "pendingTransactionPost": "与该名称有关", + "dnsOwner": "DNS 所有者", + "networkEst": "预估网络费" + }, + "enableDNSSEC": { + "title": "启用 DNSSEC", + "instruction": "您需要访问您的域名注册商来启用 DNSSEC。启用后,单击 “检查” 进入下一步。", + "registrarHelp": "从下面的下拉框中选择您的注册商,查看相应的启用说明。", + "findRegistrar": "查看您的注册商", + "DNSSECNotEnabled": "该域名尚未启用 DNSSEC。" + } +} diff --git a/public/locales/zh/error.json b/public/locales/zh/error.json index d9da7f5e8..ec5adb3a9 100644 --- a/public/locales/zh/error.json +++ b/public/locales/zh/error.json @@ -1,10 +1,6 @@ { - "not-found": { - "title": "未找到", - "message": "没有找到您要访问的页面。
您可以搜索名称,也可以访问我们的支持页面来获得帮助。" - }, - "application-error": { - "title": "应用程序错误", - "message": "出现错误了。
如何这个问题反复出现,请访问我们的支持页面来获得帮助。" + "errorType": { + "title": "", + "message": "" } } diff --git a/public/locales/zh/error_old.json b/public/locales/zh/error_old.json new file mode 100644 index 000000000..d9da7f5e8 --- /dev/null +++ b/public/locales/zh/error_old.json @@ -0,0 +1,10 @@ +{ + "not-found": { + "title": "未找到", + "message": "没有找到您要访问的页面。
您可以搜索名称,也可以访问我们的支持页面来获得帮助。" + }, + "application-error": { + "title": "应用程序错误", + "message": "出现错误了。
如何这个问题反复出现,请访问我们的支持页面来获得帮助。" + } +} diff --git a/public/locales/zh/names.json b/public/locales/zh/names.json index 488558ed9..a3a748c2d 100644 --- a/public/locales/zh/names.json +++ b/public/locales/zh/names.json @@ -1,15 +1,8 @@ { - "title": "名称", - "subtitle": { - "start": "这些名称的所有者是", - "this": "此", - "your": "您的", - "wallet": "钱包" - }, "empty": "在此地址上未找到任何名称", - "sortTypes": { - "expiryDate": "到期时间", - "labelName": "名称", - "createdAt": "创建时间" + "title": "名称", + "offchainWarning": { + "title": "", + "text": "" } } diff --git a/public/locales/zh/names_old.json b/public/locales/zh/names_old.json new file mode 100644 index 000000000..ce3abc986 --- /dev/null +++ b/public/locales/zh/names_old.json @@ -0,0 +1,13 @@ +{ + "subtitle": { + "start": "这些名称的所有者是", + "this": "此", + "your": "您的", + "wallet": "钱包" + }, + "sortTypes": { + "expiryDate": "到期时间", + "labelName": "名称", + "createdAt": "创建时间" + } +} diff --git a/public/locales/zh/profile.json b/public/locales/zh/profile.json index e574d6c58..a2a3c9f97 100644 --- a/public/locales/zh/profile.json +++ b/public/locales/zh/profile.json @@ -1,77 +1,145 @@ { - "meta": { - "title": "{{name}} - ENS", - "description": "{{name}} 在 ENS 中的个人资料" + "errors": { + "keyInUse": "{{value}} 已经在使用了", + "addressLength": "如果是地址,那它的长度应该是 42 个字符", + "invalidAddress": "不是一个有效的地址", + "invalidName": "该名称无效。", + "permissionRevoked": "该名称撤销了执行此操作所需的权限。", + "isOwnerCannotEdit": "", + "cannotEdit": "", + "isOwnerCannotVerify": "", + "cannotVerify": "", + "unsupportedTLD": "不支持该 TLD", + "migrationNotAvailable": "目前还不能迁移至新注册表,但您仍然可以", + "migrationNotAvailableLink": "在旧版 app 中迁移该名称。", + "expiringSoon": "该名称的宽限期将在 {{date}} 结束。如果在此之前没有进行续期,它将变成可以注册的状态。", + "hasExpired": "{{ name }} 已过期", + "invalidJSON": "无效 JSON" }, - "title": "个人资料", - "yourWallet": "您的钱包", - "yourProfile": "您的个人资料", - "accounts": "账户", - "addresses": "地址", - "otherRecords": "其他记录", - "editProfile": "编辑个人资料", - "ownership": "所有权", - "viewDetails": "查看详情", - "banner": { - "available": { - "title": "{{name}} 可以注册", - "description": "该名称在 {{date}} 已经过期。点击此处查看注册页面。" - } + "advancedEditor": { + "tabs": { + "other": { + "contentHash": { + "label": "内容哈希", + "placeholder": "例如 ipfs://" + }, + "labelDisabled": "当前解析器不支持", + "abi": { + "label": "ABI", + "placeholder": "在此输入 ABI..." + }, + "label": "其他" + }, + "text": { + "label": "文本", + "addRecord": "添加记录", + "createRecord": "输入一个记录名..." + }, + "address": { + "label": "地址", + "addRecord": "添加地址", + "noOptions": "未找到可用地址项" + } + }, + "title": "{{name}} 的记录" }, "tabs": { - "profile": { - "name": "个人资料", - "actions": { - "setAsPrimaryName": { - "label": "设置为主名称", - "title": "设置您的主名称", - "description": "如果将该名称设置为主名称,ETH 地址记录必须与此地址相匹配。" + "more": { + "burned": "", + "fuses": { + "burnFormTitle": "烧毁权限", + "info": "您必须先烧毁 “可以解除包装”,才能烧毁其他的保险丝" + }, + "misc": { + "bankless": { + "submitError": "提交失败,请重试。", + "title": "Bankless 提醒", + "enterEmail": "通过 Email、PUSH、XMTP、Blockscan Chat 以及 Mailchain 来接收 Bankless 的提醒。", + "emailConfirmation": "即将完成,请检查您的电子邮件并确认此次订阅。" }, - "deleteSubname": { - "label": "删除子名称" + "reminderOptions": { + "bankless": "Bankless 提醒" + } + }, + "ownership": { + "refreshDNS": "刷新 DNS", + "dnsOwnerWarning": { + "syncManager": "同步管理员" }, - "extend": { - "label": "名称续期" + "label": "所有权" + }, + "resolver": { + "label": "解析器" + }, + "token": { + "label": "NFT", + "noToken": "非 NFT", + "hex": "十六进制", + "decimal": "十进制", + "wrapper": "包装状态", + "unwrap": "解除包装", + "wrapName": "包装名称" + } + }, + "ownership": { + "warning": { + "ownerNotManager": "", + "managerNotDNSOwner": "", + "dnsOwnerNotManager": "", + "managerNotParentOwner": "" + }, + "sections": { + "contract": { + "title": "", + "tooltip": "", + "warning": "" }, - "editProfile": { - "label": "编辑个人资料" + "expiry": { + "panel": { + "grace-period": { + "tooltip": "" + } + } }, - "reclaim": { - "label": "重新创建名称", - "warning": "该子名称已过期,并且无人持有。您可以重新创建此子名称。" + "roles": { + "title": "", + "addresses_other": "" } - }, - "warnings": { - "wrappedDNS": "一个 DNS 的所有者可以随时收回他的 DNS 域名。不要购买 DNS 域名。", - "homoglyph": "该名称包含非 ASCII 字符。有些字符可能看起来与其他字符相同或非常相似,这可能会用于欺骗用户。了解更多关于同形文字的知识" } }, - "records": { - "name": "记录" - }, - "subnames": { - "name": "子名称" - }, "permissions": { - "name": "权限", - "parentUnlockedWarning": "不能更改该名称的权限。您必须首先撤销父名称 ({{parent}}) 上的 “解除包装” 权限。点击这里查看父名称权限。", - "revokedLabel": "撤销于 {{date}}", + "expiry": { + "permissions": { + "canExtendExpiry": { + "label": "可以延长有效期", + "description": "该名称的权限有效期可以由 {{managerOrOwner}} 延长。", + "description_date": "该名称的权限有效期 ({{date}}) 可以由 {{managerOrOwner}} 延长。" + }, + "cannotExtendExpiry": { + "label": "不能延长有效期", + "description": "该名称的权限有效期不能由其管理员延长。", + "description_date": "该名称的权限有效期 ({{date}}) 不能由其管理员延长。" + } + }, + "action": { + "changePermissions": "更改权限" + } + }, "grantedLabel": "授权于 {{date}}", + "nameChangePermissions": { + "action": { + "changePermissions": "更改权限" + } + }, "role": { - "manager": "管理员", "owner": "所有者", "parent": "父名称" }, + "revokedLabel": "撤销于 {{date}}", "ownership": { - "title": "所有者权限", - "parentCanControl": { - "label": "该名称可以受到父名称的控制 ({{parent}})", - "list": { - "title": "父名称的所有者可以:", - "item1": "控制和修改该名称的设置和记录", - "item2": "重新获得或重新分配该名称的所有权", - "item3": "移除该名称" - } + "action": { + "giveUpControl": "放弃父名称控制权", + "revokePermission": "撤销权限" }, "parentCannotControl": { "label": "该名称不受父名称的控制 ({{parent}})", @@ -83,12 +151,13 @@ "item3": "名称的所有权被发送到其他地址" } }, - "parentCanChange": { - "label": "该名称的父名称 ({{parent}}) 可以更改权限", + "parentCanControl": { + "label": "该名称可以受到父名称的控制 ({{parent}})", "list": { - "title": "父名称可以:", - "item1": "撤销权限", - "item2": "更改或烧毁自定义的保险丝" + "title": "父名称的所有者可以:", + "item1": "控制和修改该名称的设置和记录", + "item2": "重新获得或重新分配该名称的所有权", + "item3": "移除该名称" } }, "ownerCanChange": { @@ -102,299 +171,89 @@ "ownerCannotChange": { "label": "该名称的所有者不能更改权限", "list": { - "title": "所有者不能:", + "title": "所有者不能:" + } + }, + "parentCanChange": { + "label": "该名称的父名称 ({{parent}}) 可以更改权限", + "list": { + "title": "父名称可以:", "item1": "撤销权限", "item2": "更改或烧毁自定义的保险丝" } - }, - "unwrapWarning": { - "message": "在放弃父名称控制之前,必须先撤销父名称 ({{parent}}) 的解除包装权限。
进入父名称权限" - }, - "action": { - "giveUpControl": "放弃父名称控制权", - "revokePermission": "撤销权限" } }, - "expiry": { - "permissions": { - "canExtendExpiry": { - "label": "可以延长有效期", - "description": "该名称的权限有效期可以由 {{managerOrOwner}} 延长。", - "description_date": "该名称的权限有效期 ({{date}}) 可以由 {{managerOrOwner}} 延长。" - }, - "cannotExtendExpiry": { - "label": "不能延长有效期", - "description": "该名称的权限有效期不能由其管理员延长。", - "description_date": "该名称的权限有效期 ({{date}}) 不能由其管理员延长。" - } - }, - "manager": "管理员", - "owner": "所有者", - "action": { - "changePermissions": "更改权限" - } + "parentUnlockedWarning": "不能更改该名称的权限。您必须首先撤销父名称 ({{parent}}) 上的 “解除包装” 权限。点击这里查看父名称权限。" + }, + "profile": { + "warnings": { + "offchain": "", + "homoglyph": "该名称包含非 ASCII 字符。有些字符可能看起来与其他字符相同或非常相似,这可能会用于欺骗用户。了解更多关于同形文字的知识", + "wrappedDNS": "一个 DNS 的所有者可以随时收回他的 DNS 域名。不要购买 DNS 域名。" }, - "nameChangePermissions": { - "title": "名称更改权限", - "subtitle": { - "parent-can-change": "该名称的父名称 ({{parent}}) 可以更改它的设置。", - "owner-can-change": "该名称的所有者可以更改它的设置。" + "actions": { + "verifyProfile": { + "label": "" }, - "permissions": { - "canUnwrap": { - "label": "可以解除包装", - "description": "该名称的{{owner}}可以解除它的包装。" - }, - "cannotUnwrap": { - "label": "不能解除包装", - "description": "该名称的{{owner}}不能解除它的包装。" - }, - "canCreateSubnames": { - "label": "可以创建子名称", - "description": "该名称的{{owner}}可以创建子名称。" - }, - "cannotCreateSubnames": { - "label": "不能创建子名称", - "description": "该名称的{{owner}}不能创建子名称。" - }, - "canSend": { - "label": "可以发送名称", - "description": "该名称的{{owner}}可以将它发送给其他人。" - }, - "cannotSend": { - "label": "不能发送名称", - "description": "该名称的{{owner}}不能将它发送给其他人。" - }, - "canSetResolver": { - "label": "可以设置解析器", - "description": "该名称的{{owner}}可以设置和更改它的解析器。" - }, - "cannotSetResolver": { - "label": "不能设置解析器", - "description": "该名称的{{owner}}不能设置和更改它的解析器。" - }, - "canSetTTL": { - "label": "可以设置 TTL", - "description": "该名称的{{owner}}可以设置和更改它的 TTL。" - }, - "cannotSetTTL": { - "label": "不能设置 TTL", - "description": "该名称的{{owner}}不能设置和更改它的 TTL。" - }, - "canApprove": { - "label": "可以更改续期管理员", - "description": "对于已经得到子名称续期权限的管理员,该名称的所有者可以更改这些管理员。" - }, - "cannotApprove": { - "label": "不能更改续期管理员", - "description": "对于已经得到子名称续期权限的管理员,该名称的所有者不能更改这些管理员。" - } + "setAsPrimaryName": { + "label": "设置为主名称", + "description": "如果将该名称设置为主名称,ETH 地址记录必须与此地址相匹配。" }, - "action": { - "changePermissions": "更改权限" - } - } - }, - "fuses": { - "name": "保险丝" - }, - "more": { - "name": "更多", - "resolver": { - "label": "解析器", - "custom": "自定义", - "latest": "最新版", - "outdated": "已过时", - "wildcard": "通配符", - "version": "版本", - "etherscan": "Etherscan" - }, - "fuses": { - "label": "保险丝", - "info": "您必须先烧毁 “可以解除包装”,才能烧毁其他的保险丝", - "callToAction": "请包装您的名称以解锁这项功能", - "burnFormTitle": "烧毁权限", - "burned": "已烧毁", - "permissions": { - "label": "权限", - "warning": "保险丝可以由父名称更改", - "CAN_DO_EVERYTHING": "具备全部权限", - "CANNOT_BURN_FUSES": "可以烧毁保险丝", - "CANNOT_CREATE_SUBDOMAIN": "可以创建子名称", - "CANNOT_SET_RESOLVER": "可以设置解析器", - "CANNOT_SET_TTL": "可以设置 TTL", - "CANNOT_TRANSFER": "可以转移", - "CANNOT_UNWRAP": "可以解除包装", - "PARENT_CANNOT_CONTROL": "父名称可以控制", - "CAN_EXTEND_EXPIRY": "不能延长有效期", - "IS_DOT_ETH": "不是 .eth" - } - }, - "ownership": { - "label": "所有权", - "refreshDNS": "刷新 DNS", - "dnsOwnerWarning": { - "isDnsOwner": "您不能更改该名称,因为您是 DNS 所有者,而不是管理员。您可以通过同步管理员来修复此问题。", - "isManager": "您是该名称的管理员,但不是 DNS 所有者。DNS 所有者可以随时收回他的 DNS 域名。您可以将该名称发送给所有者,或是通过更新 DNS 记录来匹配所有者。", - "refreshDNS": "刷新 DNS", - "syncManager": "同步管理员" - } - }, - "token": { - "label": "NFT", - "noToken": "非 NFT", - "hex": "十六进制", - "decimal": "十进制", - "wrapper": "包装状态", - "wrapName": "包装名称", - "unwrap": "解除包装", - "status": { - "unwrapped": "未包装", - "wrapped": "已包装", - "emancipated": "已包装, 已解放", - "locked": "已包装, 已锁定" - } - }, - "misc": { - "registered": "已注册", - "expires": "到期时间", - "bankless": { - "title": "Bankless 提醒", - "enterEmail": "通过 Email、PUSH、XMTP、Blockscan Chat 以及 Mailchain 来接收 Bankless 的提醒。", - "emailConfirmation": "即将完成,请检查您的电子邮件并确认此次订阅。", - "submitError": "提交失败,请重试。" + "editProfile": { + "label": "编辑个人资料" }, - "reminderOptions": { - "google": "Google 日历", - "outlook": "Outlook 日历", - "office365": "Office 365 日历", - "yahoo": "Yahoo 日历", - "ical": "iCal 下载 (.ics)", - "bankless": "Bankless 提醒" + "deleteSubname": { + "label": "删除子名称" + }, + "reclaim": { + "label": "重新创建名称", + "warning": "该子名称已过期,并且无人持有。您可以重新创建此子名称。" } } } }, "details": { - "title": "名称详情", - "notWrapped": "未包装", "sendName": { - "title": "发送名称", - "description": "发送名称将使其受新地址的控制", - "learnMore": "了解关于更多名称所有权的内容", - "makeOwner": "任命所有者", - "makeOwnerDescription": "所有者可以发送所有权以及更改管理员", - "makeManager": "任命管理员", - "makeManagerDescription": "管理员可以更改和设置记录", "inputPlaceholder": "输入以太坊地址或 ENS 名称", - "transferSubname": "转移名称", - "transferController": "转移管理员" - }, - "wrap": { - "startTitle": "升级您的名称", - "resumeTitle": "继续您的升级", - "completeTitle": "升级完成", - "description": "升级或 “包装” 您的名称会给它带来新的功能。", - "startLabel": "升级", - "resumeLabel": "继续升级", - "boxTitle": "解锁新功能", - "boxDescription": "升级您的名称可以解锁 ENS 的最新功能" - }, - "descriptions": { - "owner": "持有并掌控名称", - "controller": "控制该名称的所有记录", - "registrant": "该 NFT 的所有者", - "dnsOwner": "该 DNS 域名的所有者" + "transferController": "转移管理员", + "transferSubname": "转移名称" }, "tabs": { "records": { - "label": "记录", "text": "文本", "contentHash": "内容哈希", "noContentHash": "无内容哈希", - "editRecords": "编辑记录", - "noAbi": "无 ABI", "abi": "ABI", + "noAbi": "无 ABI", + "editRecords": "编辑记录", "editRecordsDisabled": "当前解析器不适用于经过包装的名称" }, "subnames": { - "label": "子名称", - "loading": "子名称加载中", "empty": "暂未创建子名称", "noResults": "无结果", - "noMoreResults": "无其他结果", "addSubname": { "title": "子名称功能允许您在现有名称上创建其他名称。", "learn": "了解子名称", "action": "创建子名称", "dialog": { - "title": "创建子名称", - "error": { - "invalidCharacters": "含有无效字符", - "mustUseLowercase": "必须使用小写字母", - "alreadyExists": "名称已经存在", - "nameTooLong": "名称太长", - "pccBurned": "名称已被锁定至 {{date}}" - } + "title": "创建子名称" } } } + }, + "wrap": { + "description": "升级或 “包装” 您的名称会给它带来新的功能。" } }, - "advancedEditor": { - "title": "{{name}} 的记录", - "tabs": { - "text": { - "label": "文本", - "addRecord": "添加记录", - "createRecord": "输入一个记录名...", - "placeholder": { - "default": "在此添加记录值..." - } - }, - "address": { - "label": "地址", - "addRecord": "添加地址", - "noOptions": "未找到可用地址项", - "placeholder": { - "default": "在此添加地址..." - } - }, - "other": { - "label": "其他", - "labelDisabled": "当前解析器不支持", - "contentHash": { - "label": "内容哈希", - "placeholder": "例如 ipfs://" - }, - "publicKey": { - "label": "公钥", - "placeholder": "例如 pub_1231231231231" - }, - "abi": { - "label": "ABI", - "placeholder": "在此输入 ABI..." - } - } + "banner": { + "available": { + "title": "{{name}} 可以注册", + "description": "该名称在 {{date}} 已经过期。点击此处查看注册页面。" } }, - "errors": { - "invalidName": "该名称无效。", - "invalidAddress": "不是一个有效的地址", - "expiringSoon": "该名称的宽限期将在 {{date}} 结束。如果在此之前没有进行续期,它将变成可以注册的状态。", - "hasExpired": "{{ name }} 已过期", - "ownerManagerChoice": "必须发送所有者或管理员", - "unknown": "未知错误", - "notMigrated": "该名称没有迁移到新的注册表。", - "featureNotAvailable": "有些功能目前还不可用,但您仍然可以使用", - "featureNotAvailableLink": "在旧版 app 中查看该名称。", - "migrationNotAvailable": "目前还不能迁移至新注册表,但您仍然可以", - "migrationNotAvailableLink": "在旧版 app 中迁移该名称。", - "addressLength": "如果是地址,那它的长度应该是 42 个字符", - "unsupportedTLD": "不支持该 TLD", - "keyInUse": "{{value}} 已经在使用了", - "hasSubnames": "该名称拥有子名称", - "permissionRevoked": "该名称撤销了执行此操作所需的权限。", - "invalidJSON": "无效 JSON" + "yourProfile": "您的个人资料", + "meta": { + "title": "{{name}} - ENS", + "description": "{{name}} 在 ENS 中的个人资料" } } diff --git a/public/locales/zh/profile_old.json b/public/locales/zh/profile_old.json new file mode 100644 index 000000000..0d116db7a --- /dev/null +++ b/public/locales/zh/profile_old.json @@ -0,0 +1,244 @@ +{ + "title": "个人资料", + "yourWallet": "您的钱包", + "accounts": "账户", + "addresses": "地址", + "otherRecords": "其他记录", + "editProfile": "编辑个人资料", + "ownership": "所有权", + "viewDetails": "查看详情", + "tabs": { + "profile": { + "name": "个人资料", + "actions": { + "setAsPrimaryName": { + "title": "设置您的主名称" + }, + "extend": { + "label": "名称续期" + } + } + }, + "records": { + "name": "记录" + }, + "subnames": { + "name": "子名称" + }, + "permissions": { + "name": "权限", + "role": { + "manager": "管理员" + }, + "ownership": { + "title": "所有者权限", + "ownerCannotChange": { + "list": { + "item1": "撤销权限", + "item2": "更改或烧毁自定义的保险丝" + } + }, + "unwrapWarning": { + "message": "在放弃父名称控制之前,必须先撤销父名称 ({{parent}}) 的解除包装权限。
进入父名称权限" + } + }, + "expiry": { + "manager": "管理员", + "owner": "所有者" + }, + "nameChangePermissions": { + "title": "名称更改权限", + "subtitle": { + "parent-can-change": "该名称的父名称 ({{parent}}) 可以更改它的设置。", + "owner-can-change": "该名称的所有者可以更改它的设置。" + }, + "permissions": { + "canUnwrap": { + "label": "可以解除包装", + "description": "该名称的{{owner}}可以解除它的包装。" + }, + "cannotUnwrap": { + "label": "不能解除包装", + "description": "该名称的{{owner}}不能解除它的包装。" + }, + "canCreateSubnames": { + "label": "可以创建子名称", + "description": "该名称的{{owner}}可以创建子名称。" + }, + "cannotCreateSubnames": { + "label": "不能创建子名称", + "description": "该名称的{{owner}}不能创建子名称。" + }, + "canSend": { + "label": "可以发送名称", + "description": "该名称的{{owner}}可以将它发送给其他人。" + }, + "cannotSend": { + "label": "不能发送名称", + "description": "该名称的{{owner}}不能将它发送给其他人。" + }, + "canSetResolver": { + "label": "可以设置解析器", + "description": "该名称的{{owner}}可以设置和更改它的解析器。" + }, + "cannotSetResolver": { + "label": "不能设置解析器", + "description": "该名称的{{owner}}不能设置和更改它的解析器。" + }, + "canSetTTL": { + "label": "可以设置 TTL", + "description": "该名称的{{owner}}可以设置和更改它的 TTL。" + }, + "cannotSetTTL": { + "label": "不能设置 TTL", + "description": "该名称的{{owner}}不能设置和更改它的 TTL。" + }, + "canApprove": { + "label": "可以更改续期管理员", + "description": "对于已经得到子名称续期权限的管理员,该名称的所有者可以更改这些管理员。" + }, + "cannotApprove": { + "label": "不能更改续期管理员", + "description": "对于已经得到子名称续期权限的管理员,该名称的所有者不能更改这些管理员。" + } + } + } + }, + "fuses": { + "name": "保险丝" + }, + "more": { + "name": "更多", + "resolver": { + "custom": "自定义", + "latest": "最新版", + "outdated": "已过时", + "wildcard": "通配符", + "version": "版本", + "etherscan": "Etherscan" + }, + "fuses": { + "label": "保险丝", + "callToAction": "请包装您的名称以解锁这项功能", + "burned": "已烧毁", + "permissions": { + "label": "权限", + "warning": "保险丝可以由父名称更改", + "CAN_DO_EVERYTHING": "具备全部权限", + "CANNOT_BURN_FUSES": "可以烧毁保险丝", + "CANNOT_CREATE_SUBDOMAIN": "可以创建子名称", + "CANNOT_SET_RESOLVER": "可以设置解析器", + "CANNOT_SET_TTL": "可以设置 TTL", + "CANNOT_TRANSFER": "可以转移", + "CANNOT_UNWRAP": "可以解除包装", + "PARENT_CANNOT_CONTROL": "父名称可以控制", + "CAN_EXTEND_EXPIRY": "不能延长有效期", + "IS_DOT_ETH": "不是 .eth" + } + }, + "ownership": { + "dnsOwnerWarning": { + "isDnsOwner": "您不能更改该名称,因为您是 DNS 所有者,而不是管理员。您可以通过同步管理员来修复此问题。", + "isManager": "您是该名称的管理员,但不是 DNS 所有者。DNS 所有者可以随时收回他的 DNS 域名。您可以将该名称发送给所有者,或是通过更新 DNS 记录来匹配所有者。", + "refreshDNS": "刷新 DNS" + } + }, + "token": { + "status": { + "unwrapped": "未包装", + "wrapped": "已包装", + "emancipated": "已包装, 已解放", + "locked": "已包装, 已锁定" + } + }, + "misc": { + "registered": "已注册", + "expires": "到期时间", + "reminderOptions": { + "google": "Google 日历", + "outlook": "Outlook 日历", + "office365": "Office 365 日历", + "yahoo": "Yahoo 日历", + "ical": "iCal 下载 (.ics)" + } + } + } + }, + "details": { + "title": "名称详情", + "notWrapped": "未包装", + "sendName": { + "title": "发送名称", + "description": "发送名称将使其受新地址的控制", + "learnMore": "了解关于更多名称所有权的内容", + "makeOwner": "任命所有者", + "makeOwnerDescription": "所有者可以发送所有权以及更改管理员", + "makeManager": "任命管理员", + "makeManagerDescription": "管理员可以更改和设置记录" + }, + "wrap": { + "startTitle": "升级您的名称", + "resumeTitle": "继续您的升级", + "completeTitle": "升级完成", + "startLabel": "升级", + "resumeLabel": "继续升级", + "boxTitle": "解锁新功能", + "boxDescription": "升级您的名称可以解锁 ENS 的最新功能" + }, + "descriptions": { + "owner": "持有并掌控名称", + "controller": "控制该名称的所有记录", + "registrant": "该 NFT 的所有者", + "dnsOwner": "该 DNS 域名的所有者" + }, + "tabs": { + "records": { + "label": "记录" + }, + "subnames": { + "label": "子名称", + "loading": "子名称加载中", + "noMoreResults": "无其他结果", + "addSubname": { + "dialog": { + "error": { + "invalidCharacters": "含有无效字符", + "mustUseLowercase": "必须使用小写字母", + "alreadyExists": "名称已经存在", + "nameTooLong": "名称太长", + "pccBurned": "名称已被锁定至 {{date}}" + } + } + } + } + } + }, + "advancedEditor": { + "tabs": { + "text": { + "placeholder": { + "default": "在此添加记录值..." + } + }, + "address": { + "placeholder": { + "default": "在此添加地址..." + } + }, + "other": { + "publicKey": { + "label": "公钥", + "placeholder": "例如 pub_1231231231231" + } + } + } + }, + "errors": { + "ownerManagerChoice": "必须发送所有者或管理员", + "unknown": "未知错误", + "notMigrated": "该名称没有迁移到新的注册表。", + "featureNotAvailable": "有些功能目前还不可用,但您仍然可以使用", + "featureNotAvailableLink": "在旧版 app 中查看该名称。", + "hasSubnames": "该名称拥有子名称" + } +} diff --git a/public/locales/zh/register.json b/public/locales/zh/register.json index 1ad0b3a61..ae795fb0c 100644 --- a/public/locales/zh/register.json +++ b/public/locales/zh/register.json @@ -1,25 +1,45 @@ { - "title": "注册 {{name}} - ENS", - "subtitle": "注册", - "heading": "注册 {{name}}", "invoice": { "timeRegistration": "注册{{time}}", - "registration": "注册", "estimatedNetworkFee": "预估网络费", - "networkFee": "网络费", "temporaryPremium": "临时溢价", "total": "预估总额", + "registration": "注册", + "networkFee": "网络费", "totalPaid": "支付总额" }, + "title": "注册 {{name}} - ENS", "error": { "nameTooLong": "您要注册的名称太长了,请选择一个较短的名称。" }, "steps": { + "info": { + "moonpayModalHeader": "MoonPay 结账", + "moonpayTestCard": "测试卡详细信息", + "heading": "开始之前", + "subheading": "注册一个名称需要三个步骤", + "setupProfile": "我希望先创建我的个人资料", + "paymentMethod": "支付方式", + "ethereum": "以太坊", + "notEnoughEth": "钱包中的 ETH 不足", + "creditOrDebit": "信用卡或借记卡", + "additionalFee": "附加手续费", + "failedMoonpayTransaction": "您的 Moonpay 交易失败。请重试或选择 “以太坊” 支付方式。", + "poweredBy": "技术支持来自", + "processing": "处理中" + }, + "complete": { + "heading": "恭喜!", + "subheading": "您现是该名称的所有者: ", + "description": "名称注册成功。现在可以查看和管理您的名称。", + "registerAnother": "再注册一个", + "viewName": "查看名称" + }, "pricing": { - "insufficientBalance": "余额不足", - "multipleYearsMessage": "一次续期数年可以避免每年进行交易,从而节省网络成本。", "primaryName": "作为主名称使用", "primaryNameMessage": "把您的地址关联到该名称,这样在连接到 dApp 时,就可以将它作为您的个人资料显示出来。每个地址只能有一个主名称。", + "insufficientBalance": "余额不足", + "multipleYearsMessage": "一次续期数年可以避免每年进行交易,从而节省网络成本。", "premium": { "heading": "该名称存在一个临时溢价", "subheading": "为了给刚过期的名称提供公平的注册机会,溢价从 1 亿美元开始,在 21 天内逐步降至 0 美元。您可以在下面利用日期计算溢价。", @@ -29,88 +49,11 @@ } }, "profile": { - "title": "创建您的个人资料", - "title2": "编辑您的个人资料", - "default": "默认", - "advanced": "高级", - "permissions": "权限", - "resolver": "解析器", - "visibilityMessage": "您的个人资料将存储在区块链上,您添加的所有内容都将是公开可见的。", "addProfile": "添加个人资料", - "addMore": "添加更多个人资料", "options": { "groups": { - "general": { - "label": "通用", - "items": { - "name": "昵称", - "url": "网站", - "location": "位置", - "description": "简介" - }, - "placeholder": { - "name": "约翰·史密斯", - "url": "https://ens.domains", - "location": "元宇宙", - "description": "我是一个来自田纳西州的农民。" - } - }, - "social": { - "label": "社交", - "items": { - "com.twitter": "Twitter", - "com.github": "GitHub", - "com.discord": "Discord", - "org.telegram": "Telegram", - "email": "Email" - }, - "placeholder": { - "com.twitter": "例如 ensdomains", - "com.github": "例如 ensdomains", - "com.discord": "例如 nickjohnson", - "org.telegram": "例如 nicksdjohnson", - "email": "例如 hello@example.com" - } - }, - "address": { - "label": "地址", - "itemLabel": "{{coin}} 地址", - "placeholder": { - "default": "在此添加地址", - "eth": "0xD9hbQK...", - "bnb": "bnb1grpf...", - "btc": "3FZbgi29...", - "ltc": "ltc1qdp7p...", - "sol": "D4kA7VzHnmV...", - "dot": "1D4kA7VxH...", - "doge": "DFabcd12..." - } - }, - "website": { - "label": "网站", - "items": { - "ipfs": "IPFS", - "ipns": "IPNS", - "swarm": "Swarm", - "onion": "Onion", - "skynet": "Skynet", - "arweave": "Arweave" - }, - "placeholder": { - "default": "在此添加 url", - "ipfs": "ipfs://...", - "skynet": "sia://...", - "arweave": "ar://...", - "swarm": "bzz://...", - "onion": "onion3://..." - } - }, "other": { - "label": "其他", "items": { - "contentHash": "内容哈希", - "publicKey": "公钥", - "abi": "ABI", "custom": "自定义" } }, @@ -118,6 +61,12 @@ "key": "键", "value": "值" }, + "address": { + "itemLabel": "{{coin}} 地址", + "placeholder": { + "default": "在此添加地址" + } + }, "default": { "placeholder": "在此添加值" } @@ -125,8 +74,13 @@ }, "errors": { "labelRequired": "记录键是必填项", + "keyRequired": "", + "avatarReserved": "该键已被头像管理员使用", "duplicateRecord": "重复的记录键", - "avatarReserved": "该键已被头像管理员使用" + "invalidValue": "" + }, + "actions": { + "skipProfile": "跳过个人资料" }, "confirmations": { "publicNotice": { @@ -142,55 +96,24 @@ "decline": "取消" } }, - "actions": { - "skipProfile": "跳过个人资料" - } - }, - "complete": { - "heading": "恭喜!", - "subheading": "您现是该名称的所有者: ", - "description": "名称注册成功。现在可以查看和管理您的名称。", - "registerAnother": "再注册一个", - "viewName": "查看名称" - }, - "info": { - "heading": "开始之前", - "subheading": "注册一个名称需要三个步骤", - "ethItems": [ - "完成一笔交易并开始计时", - "等待计时器完成 60 秒计时", - "完成第二笔交易来获得该名称" - ], - "moonpayItems": [ - "创建或登录现有的 Moonpay 账户", - "使用信用卡或借记卡完成单笔交易" - ], - "setupProfile": "我希望先创建我的个人资料", - "paymentMethod": "支付方式", - "notEnoughEth": "钱包中的 ETH 不足", - "creditOrDebit": "信用卡或借记卡", - "additionalFee": "附加手续费", - "pendingMoonpayTransaction": "您的 Moonpay 交易正在处理中,这可能需要两分钟。您可以从收到的确认邮件中查看当前进度。", - "failedMoonpayTransaction": "您的 Moonpay 交易失败。请重试或选择 “以太坊” 支付方式。", - "ethereum": "以太坊", - "processing": "处理中", - "poweredBy": "技术支持来自", - "moonpayModalHeader": "MoonPay 结账", - "moonpayTestCard": "测试卡详细信息" - }, - "transactions": { - "heading": "接近完成", - "subheading": "该计时器有助于防止其他人在您之前注册该名称。只有在完成第二笔交易之后,才能成功注册该名称。", - "startTimer": "启动计时器", - "wait": "等待", - "transactionFailed": "交易失败", - "transactionProgress": "交易正在处理" + "title": "创建您的个人资料", + "addMore": "添加更多个人资料", + "title2": "编辑您的个人资料" }, "cancelRegistration": { "heading": "您的交易将会丢失", "contentOne": "返回将重置您的第一次交易。如果您返回,则需要再次完成交易并支付相关费用。", "contentTwo": "确定继续吗?", "footer": "重置交易并返回" + }, + "transactions": { + "heading": "接近完成", + "subheading": "该计时器有助于防止其他人在您之前注册该名称。只有在完成第二笔交易之后,才能成功注册该名称。", + "transactionFailed": "交易失败", + "transactionProgress": "交易正在处理", + "wait": "等待", + "startTimer": "启动计时器" } - } + }, + "heading": "注册 {{name}}" } diff --git a/public/locales/zh/register_old.json b/public/locales/zh/register_old.json new file mode 100644 index 000000000..a363def9f --- /dev/null +++ b/public/locales/zh/register_old.json @@ -0,0 +1,99 @@ +{ + "subtitle": "注册", + "steps": { + "profile": { + "default": "默认", + "advanced": "高级", + "permissions": "权限", + "resolver": "解析器", + "visibilityMessage": "您的个人资料将存储在区块链上,您添加的所有内容都将是公开可见的。", + "options": { + "groups": { + "general": { + "label": "通用", + "items": { + "name": "昵称", + "url": "网站", + "location": "位置", + "description": "简介" + }, + "placeholder": { + "name": "约翰·史密斯", + "url": "https://ens.domains", + "location": "元宇宙", + "description": "我是一个来自田纳西州的农民。" + } + }, + "social": { + "label": "社交", + "items": { + "com.twitter": "Twitter", + "com.github": "GitHub", + "com.discord": "Discord", + "org.telegram": "Telegram", + "email": "Email" + }, + "placeholder": { + "com.twitter": "例如 ensdomains", + "com.github": "例如 ensdomains", + "com.discord": "例如 nickjohnson", + "org.telegram": "例如 nicksdjohnson", + "email": "例如 hello@example.com" + } + }, + "address": { + "label": "地址", + "placeholder": { + "eth": "0xD9hbQK...", + "bnb": "bnb1grpf...", + "btc": "3FZbgi29...", + "ltc": "ltc1qdp7p...", + "sol": "D4kA7VzHnmV...", + "dot": "1D4kA7VxH...", + "doge": "DFabcd12..." + } + }, + "website": { + "label": "网站", + "items": { + "ipfs": "IPFS", + "ipns": "IPNS", + "swarm": "Swarm", + "onion": "Onion", + "skynet": "Skynet", + "arweave": "Arweave" + }, + "placeholder": { + "default": "在此添加 url", + "ipfs": "ipfs://...", + "skynet": "sia://...", + "arweave": "ar://...", + "swarm": "bzz://...", + "onion": "onion3://..." + } + }, + "other": { + "label": "其他", + "items": { + "contentHash": "内容哈希", + "publicKey": "公钥", + "abi": "ABI" + } + } + } + } + }, + "info": { + "ethItems": [ + "完成一笔交易并开始计时", + "等待计时器完成 60 秒计时", + "完成第二笔交易来获得该名称" + ], + "moonpayItems": [ + "创建或登录现有的 Moonpay 账户", + "使用信用卡或借记卡完成单笔交易" + ], + "pendingMoonpayTransaction": "您的 Moonpay 交易正在处理中,这可能需要两分钟。您可以从收到的确认邮件中查看当前进度。" + } + } +} diff --git a/public/locales/zh/settings.json b/public/locales/zh/settings.json index b73af235b..b47d18e3e 100644 --- a/public/locales/zh/settings.json +++ b/public/locales/zh/settings.json @@ -1,22 +1,28 @@ { - "title": "设置", "section": { - "wallet": { - "title": "钱包" + "primary": { + "title": "主名称", + "choosePrimaryName": "选择主名称", + "noNameDescription": "主名称将您的地址链接到名称,这样在连接到 dApp 时会将主名称显示为您的个人资料。了解主名称" + }, + "privacy": { + "title": "", + "action": { + "clearHistory": "" + } }, "transaction": { - "title": "交易", - "noRecentTransactions": "近期无交易", "clearTransactions": { "title": "清除交易历史", "description": "这会在 ENS 应用程序中彻底清除交易历史记录。这些交易在区块链上仍然存在。", "actionLabel": "清除历史" - } + }, + "title": "交易", + "noRecentTransactions": "近期无交易" }, - "primary": { - "title": "主名称", - "noNameDescription": "主名称将您的地址链接到名称,这样在连接到 dApp 时会将主名称显示为您的个人资料。了解主名称", - "choosePrimaryName": "选择主名称" + "wallet": { + "title": "钱包" } - } + }, + "title": "设置" } diff --git a/public/locales/zh/transactionFlow.json b/public/locales/zh/transactionFlow.json index 7fafe218f..a9221257e 100644 --- a/public/locales/zh/transactionFlow.json +++ b/public/locales/zh/transactionFlow.json @@ -1,5 +1,12 @@ { "input": { + "editResolver": { + "latestLabel": "使用最新的解析器", + "etherscan": "Etherscan", + "latestMessage": "您已经在使用最新的解析器", + "customLabel": "自定义解析器", + "title": "编辑解析器" + }, "profileEditor": { "tabs": { "avatar": { @@ -7,18 +14,6 @@ "selectNFT": "选择 NFT", "uploadImage": "上传图像" }, - "nft": { - "title": "选择一个 NFT", - "searchPlaceholder": "搜索 NFT", - "loading": "正在加载您的 NFT", - "unknown": "未知 NFT", - "noNFTs": "此地址上未找到 NFT。", - "selected": { - "title": "选择 NFT", - "subtitle": "您确定要使用该 NFT 吗?" - }, - "noResults": "未找到结果。" - }, "image": { "title": "编辑图像", "upload": { @@ -26,88 +21,66 @@ "subtitle": "您需要在一条消息上签名才能上传头像,这不涉及任何费用。", "action": "签名并上传" } + }, + "nft": { + "loadError": "", + "unknown": "未知 NFT", + "selected": { + "title": "选择 NFT", + "subtitle": "您确定要使用该 NFT 吗?" + }, + "loading": "正在加载您的 NFT", + "searchPlaceholder": "搜索 NFT", + "noResults": "未找到结果。", + "noNFTs": "此地址上未找到 NFT。", + "title": "选择一个 NFT" } }, "general": { - "label": "通用", - "name": { - "label": "昵称", - "placeholder": "约翰·史密斯" - }, - "url": { - "label": "网站", - "placeholder": "https://ens.domains" - }, - "location": { - "label": "位置", - "placeholder": "元宇宙" - }, - "description": { - "label": "简介", - "placeholder": "我是一个来自田纳西州的农民。" - } + "label": "通用" }, "accounts": { "label": "账户", "addAccount": "添加账户", - "noOptions": "没有可用的账户", - "placeholder": { - "default": "在此添加用户名", - "com.twitter": "例如 nicksdjohnson", - "com.github": "例如 arachnid", - "com.discord": "例如 nickjohnson", - "org.telegram": "例如 nicksdjohnson", - "email": "例如 hello@example.com" - } + "noOptions": "没有可用的账户" }, "address": { "label": "地址", "addAddress": "添加地址", - "noOptions": "没有可用的地址", - "placeholder": { - "default": "在此添加地址", - "ETH": "0xD9hbQK...", - "BNB": "0xD9hbQK...", - "BTC": "3FZbgi29...", - "LTC": "3FZbgi29...", - "SOL": "D4kA7VzHnmV...", - "DOT": "1D4kA7VxH...", - "DOGE": "DFabcd12..." - } + "noOptions": "没有可用的地址" }, "contentHash": { "label": "网站", - "addContentHash": "添加去中心化网站", - "placeholder": { - "default": "在此添加 url", - "ipfs": "ipfs://...", - "skynet": "sia://...", - "arweave": "ar://...", - "swarm": "bzz://...", - "onion": "onion3://..." - } + "addContentHash": "添加去中心化网站" }, "other": { "label": "其他", "addRecord": "添加记录", - "createRecord": "输入记录名...", - "placeholder": { - "default": "添加记录值..." - } + "createRecord": "输入记录名..." + } + }, + "intro": { + "migrateProfile": { + "description": "将您当前的个人资料记录迁移到最新的解析器。" + }, + "resetProfile": { + "description": "从最新的解析器中删除所有个人资料记录,然后更新解析器。" + }, + "migrateCurrentProfile": { + "description": "将您当前的个人资料记录迁移到最新的解析器。" } }, "warningOverlay": { + "invalidResolver": { + "title": "未经授权的解析器", + "subtitle": "您没有权限设置此解析器的记录。需要更新到最新的解析器来编辑您的个人资料。" + }, "action": { "learnMoreResolvers": "了解更多关于解析器的信息", "updateResolver": "更新解析器", "setResolver": "设置解析器", "ignoreUpdate": "忽略该提示并继续使用当前的解析器。下次会重新提示您。" }, - "invalidResolver": { - "title": "未经授权的解析器", - "subtitle": "您没有权限设置此解析器的记录。需要更新到最新的解析器来编辑您的个人资料。", - "action": "更新解析器" - }, "migrateProfileSelector": { "title": "个人资料", "subtitle": "不同解析器上的个人资料记录不匹配。您需要使用哪组记录?", @@ -129,8 +102,7 @@ }, "noResolver": { "title": "未设置解析器", - "subtitle": "在编辑个人资料之前,需要设置解析器。", - "action": "更新" + "subtitle": "在编辑个人资料之前,需要设置解析器。" }, "resetProfile": { "title": "重置个人资料", @@ -167,108 +139,124 @@ "title": "保留当前的个人资料", "subtitle": "取消选择将重置您的个人资料。" } + } + } + }, + "deleteEmancipatedSubnameWarning": { + "title": "不能重新创建该子名称", + "message": "删除该子名称意味着不能再使用或重新创建它,一直到它过期 {{date}}。由于父名称控制权限已被撤销,因此该操作也无法撤消。" + }, + "deleteSubnameNotParentWarning": { + "title": "不能重新创建该子名称", + "message": "只有父名称({{parentOwner}}) 的 {{ownershipTerm}} 可以重新创建该子名称。如果该子名称被删除,您将无法自己重新创建它。" + }, + "editRoles": { + "views": { + "editRole": { + "title": "", + "views": { + "intro": { + "current": "" + } + } }, - "links": { - "learnMoreResolvers": "了解更多关于解析器的信息" + "main": { + "noneSet": "" } - }, - "intro": { - "resetProfile": { - "title": "重置个人资料", - "description": "从最新的解析器中删除所有个人资料记录,然后更新解析器。" + } + }, + "sendName": { + "views": { + "search": { + "placeholder": "", + "views": { + "error": { + "message": "" + }, + "intro": { + "message": "" + }, + "noResults": { + "message": "" + } + } }, - "migrateProfile": { - "title": "迁移个人资料", - "description": "将您当前的个人资料记录迁移到最新的解析器。" + "error": { + "title": "", + "description": "" }, - "migrateCurrentProfile": { - "title": "迁移个人资料", - "description": "将您当前的个人资料记录迁移到最新的解析器。" + "confirmation": { + "title": "", + "description": "", + "warning": "", + "learnMore": "" + }, + "summary": { + "fields": { + "summary": { + "title": "", + "updates": { + "role": "", + "eth-record": "" + }, + "remove": { + "profile": "" + } + }, + "name": { + "expires": "", + "label": "" + }, + "recipient": "", + "options": { + "label": "", + "title": "", + "description": "" + } + }, + "title": "" } } }, - "editResolver": { - "title": "编辑解析器", - "latestLabel": "使用最新的解析器", - "etherscan": "Etherscan", - "latestMessage": "您已经在使用最新的解析器", - "customLabel": "自定义解析器", - "customPlaceholder": "输入自定义解析器地址" - }, "extendNames": { - "title_one": "名称续期", - "title_other": "续期 {{count}} 个名称", "invoice": { "extension": "续期 {{count}} ", - "transaction": "交易费", - "total": "预估总额" + "transaction": "交易费" }, + "ownershipWarning": { + "title_other": "", + "description_other": "" + }, + "title_other": "续期 {{count}} 个名称", + "gasLimitError": "资金不足", "bannerMsg": "一次续期数年可以避免每年进行交易,从而节省网络成本。", - "gasLimitError": "资金不足" + "title_one": "名称续期" }, - "transferProfile": { - "title": "转移个人资料", - "message1": "在升级之前,如果愿意,您可以转移当前的个人资料,否则在升级时这些个人资料会被重置。", - "message2": "您要转移当前的个人资料吗?" + "resetPrimaryName": { + "title": "移除主名称", + "description": "移除后它不会再作为当前地址的名称来显示。但是,发送到该名称的交易仍将解析到当前地址,除非您删除该名称的 ETH 记录。" }, "revokePermissions": { + "action": { + "revoke": "撤销" + }, "views": { - "revokeWarning": { - "title": "这些更改将是永久性的", - "subtitle": "权限调整是一项高级功能,它会给您的名称带来的永久性的更改。您将无法撤消这些更改,并且只有在名称过期时才会重置这些更改。", - "subtitle2": "请先确保您有信心使用此功能,再继续操作。了解更多关于权限的信息" - }, - "revokePCC": { - "title": "放弃所有权", - "subtitle": "此操作会把名称的所有权转让给管理员 ({{account}})。除非您同时也是管理员,否则您将无法再管理该名称。" - }, "grantExtendExpiry": { "title": "更改权限", "fuses": { "CAN_EXTEND_EXPIRY": "授予此权限: 延长有效期" } }, - "setExpiry": { - "title": "设置名称的有效期", - "subtitle": "设置权限有效期。该日期不能超过其父名称 ({{parent}}) 的到期时间。", - "subtitleWithCEE": "设置该名称的有效期。这将取代它现有的权限有效期 ({{expiry}}),并且不能晚于它的父名称 ({{parent}}) 的到期时间。", - "options": { - "max": "最晚", - "custom": "选择较早的日期" - }, - "error": { - "required": "使用自定义日期,必须要选择一个日期", - "min": "日期必须晚于 {{date}}", - "max": "日期必须早于 {{date}}" - } - }, - "revokeAdditional": { - "title": "撤销权限", - "subtitle": "在放弃所有权之前,您需要撤销该名称的某些权限吗? 需要撤销权限的话,您只能现在操作。", - "action": { - "title": "撤销其他权限", - "description": "除非您同时也是管理员,否则在此之后您将无法撤销其他权限。" - } - }, - "revokeUnwrap": { - "title": "撤销权限", - "subtitle": "您必须先撤销这项权限,才能撤销其他权限。这是为了防止权限被移除。", - "fuses": { - "CANNOT_UNWRAP": "撤销此权限: 解除包装" - } + "lastWarning": { + "title": "", + "subtitle": "", + "message": "" }, "revokePermissions": { "title": "撤销权限", - "unwrapSubtitle": "选择此项可激活其他选项", "fuses": { "CAN_EXTEND_EXPIRY": "授予此权限: 延长有效期", - "CANNOT_UNWRAP": "撤销此权限: 解除包装", - "CANNOT_CREATE_SUBDOMAIN": "撤销此权限: 创建子名称", - "CANNOT_TRANSFER": "撤销此权限: 发送名称", - "CANNOT_SET_RESOLVER": "撤销此权限: 设置解析器", - "CANNOT_SET_TTL": "撤销此权限: 设置 TTL", - "CANNOT_BURN_FUSES": "撤销此权限: 更改权限", - "CANNOT_APPROVE": "撤销此权限: 更改续期管理员" + "CANNOT_UNWRAP": "撤销此权限: 解除包装" } }, "revokeChangeFuses": { @@ -281,49 +269,77 @@ "revokeChangeFusesWarning": { "title": "剩余的权限将被锁定", "subtitle": "在撤销 “更改权限” 后,权限和自定义保险丝将永久锁定在其当前状态。只有在名称过期时才会重置。" + }, + "revokePCC": { + "title": "放弃所有权", + "subtitle": "此操作会把名称的所有权转让给管理员 ({{account}})。除非您同时也是管理员,否则您将无法再管理该名称。" + }, + "revokeUnwrap": { + "title": "撤销权限", + "subtitle": "您必须先撤销这项权限,才能撤销其他权限。这是为了防止权限被移除。", + "fuses": { + "CANNOT_UNWRAP": "撤销此权限: 解除包装" + } + }, + "revokeWarning": { + "title": "这些更改将是永久性的", + "subtitle": "权限调整是一项高级功能,它会给您的名称带来的永久性的更改。您将无法撤消这些更改,并且只有在名称过期时才会重置这些更改。", + "subtitle2": "请先确保您有信心使用此功能,再继续操作。了解更多关于权限的信息" + }, + "setExpiry": { + "title": "设置名称的有效期", + "subtitleWithCEE": "设置该名称的有效期。这将取代它现有的权限有效期 ({{expiry}}),并且不能晚于它的父名称 ({{parent}}) 的到期时间。", + "subtitle": "设置权限有效期。该日期不能超过其父名称 ({{parent}}) 的到期时间。", + "options": { + "max": "最晚", + "custom": "选择较早的日期" + }, + "error": { + "required": "使用自定义日期,必须要选择一个日期", + "min": "日期必须晚于 {{date}}", + "max": "日期必须早于 {{date}}" + } } - }, - "action": { - "revoke": "撤销" } }, - "unknownLabels": { - "title": "确认您的名称", - "subtitle": "您有些名称的标签是未知的,请先将它们输入后再继续。" - }, - "deleteEmancipatedSubnameWarning": { - "title": "不能重新创建该子名称", - "message": "删除该子名称意味着不能再使用或重新创建它,一直到它过期 {{date}}。由于父名称控制权限已被撤销,因此该操作也无法撤消。" - }, - "deleteSubnameNotParentWarning": { - "title": "不能重新创建该子名称", - "message": "只有父名称({{parentOwner}}) 的 {{ownershipTerm}} 可以重新创建该子名称。如果该子名称被删除,您将无法自己重新创建它。" - }, "selectPrimaryName": { "title": "选择一个主名称", "errors": { - "noNamesFound": "未找到名称", - "noEligibleNames": "没有符合条件的名称" + "noEligibleNames": "没有符合条件的名称", + "noNamesFound": "未找到名称" } }, - "resetPrimaryName": { - "title": "移除主名称", - "description": "移除后它不会再作为当前地址的名称来显示。但是,发送到该名称的交易仍将解析到当前地址,除非您删除该名称的 ETH 记录。" - } - }, - "transaction": { - "extendNames": { - "actionValue": "续期", - "costValue": "{{value}} + 网络费", - "warning": "为该名称续期不会让您获得它的所有权" + "syncManager": { + "title": "", + "description": "", + "warning": "" }, - "deleteSubname": { - "warning": "大家好" + "unknownLabels": { + "title": "确认您的名称", + "subtitle": "您有些名称的标签是未知的,请先将它们输入后再继续。" + }, + "verifyProfile": { + "dentity": { + "title": "", + "description": "", + "helper": "", + "remove": "", + "link": "" + }, + "list": { + "title": "", + "message": "" + } } }, + "action": { + "back": "" + }, "intro": { + "multiStepSubnameDelete": { + "description": "删除该子名称需要执行多次交易" + }, "migrateAndUpdateResolver": { - "title": "需要先完成一项操作", "heading": "您需要先升级解析器,然后才能保存您编辑的个人资料。", "link": "了解更多关于解析器升级的信息", "warning": "请注意,一旦您取消该选项,那您的更改将无法保存。" @@ -331,27 +347,12 @@ "syncManager": { "description": "同步管理员会让您成为该名称的新管理员。当前管理员 ({{manager}}) 将会失去管理权限。", "wrappedWarning": "同步管理员也将解除该名称的包装,这会烧毁 NFT 并重置所有权限。" - }, - "selectPrimaryName": { - "updateEthAddress": { - "title": "更新 ETH 地址", - "description": "该名称的 ETH 地址和当前钱包无法匹配。要使用该名称作为您的主名称,您需要先更新该名称的 ETH 地址记录。" - }, - "noResolver": { - "title": "未设置解析器", - "description": "要使用该名称作为您的主名称,您需要先设置一个解析器并更新该名称的 ETH 地址记录。" - }, - "invalidResolver": { - "title": "未经授权的解析器", - "description": "要使用此名称作为您的主名称,您需要先设置一个有效的解析器并更新该名称的 ETH 地址记录。" - } - }, - "multiStepSubnameDelete": { - "title": "删除子名称", - "description": "删除该子名称需要执行多次交易" } }, - "errors": { - "duplicateKey": "{{value}} 键已经存在" + "transaction": { + "extendNames": { + "actionValue": "续期", + "costValue": "{{value}} + 网络费" + } } } diff --git a/public/locales/zh/transactionFlow_old.json b/public/locales/zh/transactionFlow_old.json new file mode 100644 index 000000000..e7a80c0d7 --- /dev/null +++ b/public/locales/zh/transactionFlow_old.json @@ -0,0 +1,154 @@ +{ + "input": { + "profileEditor": { + "tabs": { + "general": { + "name": { + "label": "昵称", + "placeholder": "约翰·史密斯" + }, + "url": { + "label": "网站", + "placeholder": "https://ens.domains" + }, + "location": { + "label": "位置", + "placeholder": "元宇宙" + }, + "description": { + "label": "简介", + "placeholder": "我是一个来自田纳西州的农民。" + } + }, + "accounts": { + "placeholder": { + "default": "在此添加用户名", + "com.twitter": "例如 nicksdjohnson", + "com.github": "例如 arachnid", + "com.discord": "例如 nickjohnson", + "org.telegram": "例如 nicksdjohnson", + "email": "例如 hello@example.com" + } + }, + "address": { + "placeholder": { + "default": "在此添加地址", + "ETH": "0xD9hbQK...", + "BNB": "0xD9hbQK...", + "BTC": "3FZbgi29...", + "LTC": "3FZbgi29...", + "SOL": "D4kA7VzHnmV...", + "DOT": "1D4kA7VxH...", + "DOGE": "DFabcd12..." + } + }, + "contentHash": { + "placeholder": { + "default": "在此添加 url", + "ipfs": "ipfs://...", + "skynet": "sia://...", + "arweave": "ar://...", + "swarm": "bzz://...", + "onion": "onion3://..." + } + }, + "other": { + "placeholder": { + "default": "添加记录值..." + } + } + }, + "warningOverlay": { + "invalidResolver": { + "action": "更新解析器" + }, + "noResolver": { + "action": "更新" + }, + "links": { + "learnMoreResolvers": "了解更多关于解析器的信息" + } + }, + "intro": { + "resetProfile": { + "title": "重置个人资料" + }, + "migrateProfile": { + "title": "迁移个人资料" + }, + "migrateCurrentProfile": { + "title": "迁移个人资料" + } + } + }, + "editResolver": { + "customPlaceholder": "输入自定义解析器地址" + }, + "extendNames": { + "invoice": { + "total": "预估总额" + } + }, + "transferProfile": { + "title": "转移个人资料", + "message1": "在升级之前,如果愿意,您可以转移当前的个人资料,否则在升级时这些个人资料会被重置。", + "message2": "您要转移当前的个人资料吗?" + }, + "revokePermissions": { + "views": { + "revokeAdditional": { + "title": "撤销权限", + "subtitle": "在放弃所有权之前,您需要撤销该名称的某些权限吗? 需要撤销权限的话,您只能现在操作。", + "action": { + "title": "撤销其他权限", + "description": "除非您同时也是管理员,否则在此之后您将无法撤销其他权限。" + } + }, + "revokePermissions": { + "unwrapSubtitle": "选择此项可激活其他选项", + "fuses": { + "CANNOT_CREATE_SUBDOMAIN": "撤销此权限: 创建子名称", + "CANNOT_TRANSFER": "撤销此权限: 发送名称", + "CANNOT_SET_RESOLVER": "撤销此权限: 设置解析器", + "CANNOT_SET_TTL": "撤销此权限: 设置 TTL", + "CANNOT_BURN_FUSES": "撤销此权限: 更改权限", + "CANNOT_APPROVE": "撤销此权限: 更改续期管理员" + } + } + } + } + }, + "transaction": { + "extendNames": { + "warning": "为该名称续期不会让您获得它的所有权" + }, + "deleteSubname": { + "warning": "大家好" + } + }, + "intro": { + "migrateAndUpdateResolver": { + "title": "需要先完成一项操作" + }, + "selectPrimaryName": { + "updateEthAddress": { + "title": "更新 ETH 地址", + "description": "该名称的 ETH 地址和当前钱包无法匹配。要使用该名称作为您的主名称,您需要先更新该名称的 ETH 地址记录。" + }, + "noResolver": { + "title": "未设置解析器", + "description": "要使用该名称作为您的主名称,您需要先设置一个解析器并更新该名称的 ETH 地址记录。" + }, + "invalidResolver": { + "title": "未经授权的解析器", + "description": "要使用此名称作为您的主名称,您需要先设置一个有效的解析器并更新该名称的 ETH 地址记录。" + } + }, + "multiStepSubnameDelete": { + "title": "删除子名称" + } + }, + "errors": { + "duplicateKey": "{{value}} 键已经存在" + } +} diff --git a/public/locales/zh/translation.json b/public/locales/zh/translation.json new file mode 100644 index 000000000..4c464f4ef --- /dev/null +++ b/public/locales/zh/translation.json @@ -0,0 +1,101 @@ +{ + "testnetFaucet": { + "explanation": "", + "note": "" + }, + "action": { + "close": "", + "claim": "", + "cancel": "", + "done": "", + "next": "", + "tryAgain": "", + "back": "", + "continue": "", + "changeNetwork": "", + "save": "", + "delete": "" + }, + "navigation": { + "language": "" + }, + "transaction": { + "dialog": { + "intro": { + "trailingButtonResume": "", + "trailingButton": "", + "step": "" + }, + "complete": { + "message": "" + }, + "sent": { + "message": "", + "learn": "" + }, + "confirm": { + "message": "", + "waitingForWallet": "", + "openWallet": "" + } + }, + "error": { + "unknown": "" + }, + "viewEtherscan": "", + "description": { + "approveDnsRegistrar": "", + "approveNameWrapper": "", + "burnFuses": "", + "changePermissions": "", + "claimDnsName": "", + "commitName": "", + "createSubname": "", + "deleteSubname": "", + "importDnsName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "registerName": "", + "removeRecord": "", + "resetPrimaryName": "", + "clearRecords": "", + "resetProfileWithRecords": "", + "syncManager": "", + "testSendName": "", + "unwrapName": "", + "updateRecords": "", + "updateProfile": "", + "updateResolver": "", + "updateRecord": "", + "wrapName": "" + }, + "info": { + "approveNameWrapper": "", + "fuses": { + "PARENT_CANNOT_CONTROL": "", + "grant": "", + "CAN_EXTEND_EXPIRY": "", + "setExpiry": "", + "revoke": "" + }, + "commitName": "", + "migrateProfile": "", + "migrateProfileWithReset": "", + "setPrimaryName": "", + "testSendName": "", + "updateEthAddressOnLatestResolver": "", + "updateEthAddress": "", + "updateResolver": "", + "wrapName": "" + }, + "itemValue": { + "records_other": "" + } + }, + "errors": { + "hasSubnames": "", + "permissionRevoked": "" + }, + "notFound": "", + "unsupportedNetwork": "" +} diff --git a/scripts/scan-locales.mjs b/scripts/scan-locales.mjs deleted file mode 100644 index 5089c79ee..000000000 --- a/scripts/scan-locales.mjs +++ /dev/null @@ -1,62 +0,0 @@ -import fs from 'fs' - -import glob from 'glob' - -import { BASE_LOCALE, getLocaleData, getLocalePaths } from './locale-utils.mjs' - -const baseLocale = getLocalePaths(BASE_LOCALE) - -const { keys: translationKeys, namespaces } = getLocaleData(baseLocale) - -const translationKeysWoNs = translationKeys.map((key) => - key.replace(new RegExp(`^(${namespaces.join('|')}).`), ''), -) - -// Search for translation keys in the source code -function searchForTranslationKeysInCode() { - const regex = /t[cs]?\(['"`]([a-zA-Z0-9_.]+)['"`]\s*,?\s*{?/g - // = /t\(['"`]([a-zA-Z0-9_.]+)['"`]\s*,?\s*{?/g - // /t\(['"`]([a-zA-Z0-9_.]+)['"`]\)/g // regex to match t('key') - const files = [ - ...glob.sync(`./src/**/*.{js,jsx,ts,tsx}`), - ...glob.sync(`./src/*.{js,jsx,ts,tsx}`), - ] - - const foundKeys = new Set() - - files.forEach((file) => { - const content = fs.readFileSync(file, 'utf-8') - let match - - while ((match = regex.exec(content)) !== null) { - foundKeys.add(match[1]) // Add the matched key - } - - const keys = translationKeysWoNs.filter((key) => new RegExp(`['"\`]${key}['"\`]`).test(content)) - - for (const key of keys) { - foundKeys.add(key) - } - }) - - return foundKeys -} - -// Find unused translation keys -function findUnusedKeys() { - const usedKeys = searchForTranslationKeysInCode() - - const unusedKeys = [] - - for (const key of translationKeysWoNs) { - if (!usedKeys.has(key)) { - unusedKeys.push(key) - } - } - console.log(`PROBABLY ${unusedKeys.length} UNSED KEYS:`) - unusedKeys.forEach((key) => { - console.log(key) - }) -} - -findUnusedKeys()