feat: initial Pezkuwi Apps rebrand from polkadot-apps

Rebranded terminology:
- Polkadot → Pezkuwi
- Kusama → Dicle
- Westend → Zagros
- Rococo → PezkuwiChain
- Substrate → Bizinikiwi
- parachain → teyrchain

Custom logos with Kurdistan brand colors (#e6007a → #86e62a):
- bizinikiwi-hexagon.svg
- sora-bizinikiwi.svg
- hezscanner.svg
- heztreasury.svg
- pezkuwiscan.svg
- pezkuwistats.svg
- pezkuwiassembly.svg
- pezkuwiholic.svg
This commit is contained in:
2026-01-07 13:05:27 +03:00
commit d21bfb1320
5867 changed files with 329019 additions and 0 deletions
View File
+1
View File
@@ -0,0 +1 @@
# @pezkuwi/apps
+57
View File
@@ -0,0 +1,57 @@
{
"bugs": "https://github.com/pezkuwichain/pezkuwi-apps/issues",
"engines": {
"node": ">=18"
},
"homepage": "https://github.com/pezkuwichain/pezkuwi-apps/tree/master/packages/apps#readme",
"license": "Apache-2.0",
"name": "@pezkuwi/apps",
"private": true,
"repository": {
"directory": "packages/apps",
"type": "git",
"url": "https://github.com/pezkuwichain/pezkuwi-apps.git"
},
"sideEffects": true,
"type": "module",
"version": "0.168.2-4-x",
"dependencies": {
"@acala-network/chopsticks-core": "^1.2.1",
"@pezkuwi/apps-config": "^0.168.2-4-x",
"@pezkuwi/apps-routing": "^0.168.2-4-x",
"@pezkuwi/dev": "^0.85.2",
"@pezkuwi/react-api": "^0.168.2-4-x",
"@pezkuwi/react-components": "^0.168.2-4-x",
"@pezkuwi/react-hooks": "^0.168.2-4-x",
"@pezkuwi/react-params": "^0.168.2-4-x",
"@pezkuwi/react-query": "^0.168.2-4-x",
"@pezkuwi/react-signer": "^0.168.2-4-x",
"punycode": "^2.3.1",
"query-string": "^8.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-is": "^18.2.0"
},
"devDependencies": {
"@types/punycode": "^2.1.3",
"assert": "^2.1.0",
"buffer": "^6.0.3",
"copy-webpack-plugin": "^11.0.0",
"crypto-browserify": "^3.12.0",
"css-loader": "^6.8.1",
"empty": "^0.10.1",
"html-webpack-plugin": "^5.5.4",
"https-browserify": "^1.0.0",
"mini-css-extract-plugin": "^2.7.6",
"os-browserify": "^0.3.0",
"path-browserify": "^1.0.1",
"process": "^0.11.10",
"stream-browserify": "^3.0.0",
"stream-http": "^3.2.0",
"ts-loader": "^9.5.1"
},
"peerDependencies": {
"typescript": "*",
"webpack": "*"
}
}
+3
View File
@@ -0,0 +1,3 @@
/*
Content-Security-Policy: frame-ancestors 'none'
X-Frame-Options: DENY
Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

+138
View File
@@ -0,0 +1,138 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="manifest.json">
<link rel="shortcut icon" href="favicon.ico">
<title><%= htmlWebpackPlugin.options.PAGE_TITLE %></title>
<script type="text/javascript" src="env-config.js"></script>
<style>
:root {
--font-mono: 0.889em Consolas, monaco, "Ubuntu Mono", "Liberation Mono", "Courier New", Courier, monospace;
--font-sans: 1em "-apple-system", BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
/*
From https://www.modularscale.com/?1&rem&1.125 and https://type-scale.com/ -
1.125 (8:9) factor: 1.424rem, 1.266rem, 1.125rem, 1rem, 0.889rem, 0.79rem
*/
--font-percent-small: 88.9%;
--font-percent-tiny: 79.0%;
--font-size-base: 1rem;
--font-size-h1: 1.424rem;
--font-size-h2: 1.266rem;
--font-size-h3: 1.125rem;
--font-size-small: 0.889rem;
--font-size-tiny: 0.79rem;
--font-weight-bold: 600; /* semi */
--font-weight-light: 200;
--font-weight-normal: 400;
--opacity-light: 0.6;
--width-full: 1750px;
--width-half: 875px;
--width-shortaddr: 6.5em;
--width-shorthash: 9em;
--font-weight-header: var(--font-weight-normal);
--font-size-label: var(--font-size-small);
--font-weight-label: var(--font-weight-bold);
--text-transform-label: lowercase;
--bg-menu-hover: rgba(255, 255, 255, 0.2);
}
[data-theme="dark"] {
--bg-identicon-circle: #282829;
--bg-input: #38393f;
--bg-input-error: #48393f;
--bg-inverse: rgba(78, 78, 78, 0.66);
--bg-menu: #26272c;
--bg-page: #26272c;
--bg-table: #3b3d3f;
--bg-tabs: #38393f;
--bg-toggle: #58595f;
--bg-sidebar: #1a1b20;
--bg-static-extra: rgba(200, 200, 200, 0.1);
--border-identicon: transparent;
--border-input: rgba(234, 236, 238, .15);
--border-table: #343536;
--border-tabs: #343536;
--color-bounty-info: #8E8E8E;
--color-checkbox: rgba(78, 78, 78, 0.66);
--color-error: rgba(255, 83, 83, 0.8);
/* --color-header: rgba(244, 242, 240, 0.8); */
/* --color-label: rgba(244, 242, 240, 0.45); */
/* --color-summary: rgba(244, 242, 240, 0.75); */
/* --color-table-foot: rgba(254, 240, 240, 0.66); */
/* --color-table-head: rgba(254, 240, 240, 0.8); */
--color-text: rgba(244, 242, 240, 0.8);
--opacity-gray: 0.1;
}
[data-theme="light"] {
--bg-identicon-circle: #eee;
--bg-input: #ffffff;
--bg-input-error: #fff6f6;
--bg-inverse: rgba(244, 242, 240, 0.91);
--bg-menu: #ffffff;
--bg-page: #f5f3f1;
--bg-table: #ffffff;
--bg-tabs: #ffffff;
--bg-toggle: #e4e5e6;
--bg-sidebar: #fafafa;
--bg-static-extra: rgba(200, 200, 200, 0.1);
--border-identicon: #ddd;
--border-input: rgba(34, 36, 38, .15);
--border-table: #efedeb;
--border-tabs: #f1efed;
--color-bounty-info: #4D4D4D;
--color-checkbox: rgba(34, 36, 38, 0.15);
--color-error: rgba(139, 0, 0);
/* --color-header: rgba(78, 78, 78, 0.8); */
/* --color-label: rgba(78, 78, 78, 0.66); */
/* --color-summary: rgba(78, 78, 78, 0.66); */
/* --color-table-foot: rgba(78, 78, 78, 0.66); */
/* --color-table-head: rgba(78, 78, 78, 0.8); */
--color-text: rgba(78, 78, 78, 0.8); /* 1 */
--opacity-gray: 0.75;
}
.--absolute {
position: absolute;
}
.--digits {
font-variant-numeric: tabular-nums;
text-align: right;
white-space: nowrap;
}
.--hidden {
display: none;
}
.--relative {
position: relative;
}
.--tmp {
background: grey;
filter: blur(2px);
opacity: 0.15;
}
</style>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<div id="tooltips"></div>
<script>
if (window.self !== window.top) {
window.top.location.href = window.location.href;
}
</script>
</body>
</html>
+15
View File
@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<title>Redirecting to ipfs gateway</title>
<meta http-equiv="refresh" content="0; url=https://ipfs.io/ipfs/QmfP9XAMVLZZ8yUr7kQ6CkCTRBefWJPMkHVpArFXGVPUQ3/" />
<style>
body { font-family: 'Nunito Sans',sans-serif; line-height: 1.5rem; padding: 2rem; text-align: center }
p { margin: 0 }
</style>
</head>
<body>
<p>Redirecting to</p>
<p><a href="https://ipfs.io/ipfs/QmfP9XAMVLZZ8yUr7kQ6CkCTRBefWJPMkHVpArFXGVPUQ3/">https://ipfs.io/ipfs/QmfP9XAMVLZZ8yUr7kQ6CkCTRBefWJPMkHVpArFXGVPUQ3/</a></p>
</body>
</html>
+1
View File
@@ -0,0 +1 @@
{"IpfsHash":"QmfP9XAMVLZZ8yUr7kQ6CkCTRBefWJPMkHVpArFXGVPUQ3","PinSize":38434264,"Timestamp":"2025-11-13T10:57:56.829Z","ID":"4f80829e-924c-4c74-8f0b-51ad7dccdbe7","Name":"dotapps.io","NumberOfFiles":189,"MimeType":"directory","GroupId":null,"Keyvalues":null}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,312 @@
{
"1000": "1000",
" This update includes chain metadata and chain properties.": " This update includes chain metadata and chain properties.",
" to view your balances and details.": " to view your balances and details.",
"//hard": "//hard",
"//hard///password": "//hard///password",
"//hard/soft": "//hard/soft",
"//hard/soft///password": "//hard/soft///password",
"<none provided>": "<none provided>",
"@YourTwitterName": "@YourTwitterName",
"@yourname:matrix.org": "@yourname:matrix.org",
"A deposit paid by the proxied account that can not be used while the proxy is in existence. The deposit is returned when the proxy is destroyed. The amount reserved is based on the base deposit and number of proxies": "A deposit paid by the proxied account that can not be used while the proxy is in existence. The deposit is returned when the proxy is destroyed. The amount reserved is based on the base deposit and number of proxies",
"Account": "Account",
"Account type {{index}}": "Account type {{index}}",
"Accounts injected from any of these extensions will appear in this application and be available for use. The above list is updated as more extensions with external signing capability become available.": "Accounts injected from any of these extensions will appear in this application and be available for use. The above list is updated as more extensions with external signing capability become available.",
"Add": "Add",
"Add a mock account to chopsticks": "Add a mock account to chopsticks",
"Add account via Ledger": "Add account via Ledger",
"Add account via Qr": "Add account via Qr",
"Add an account via seed {{step}}/{{STEPS_COUNT}}": "Add an account via seed {{step}}/{{STEPS_COUNT}}",
"Add multisig": "Add multisig",
"Add proxied account": "Add proxied account",
"Add proxy": "Add proxy",
"Add sub": "Add sub",
"Add via backup file": "Add via backup file",
"Address index {{index}}": "Address index {{index}}",
"Advanced creation options": "Advanced creation options",
"After Asset Hub migration, all funds have been moved to Asset Hub. Please switch to the ": "After Asset Hub migration, all funds have been moved to Asset Hub. Please switch to the ",
"An encrypted backup file will be created once you have pressed the \"Download\" button. This can be used to re-import your account on any other machine.": "An encrypted backup file will be created once you have pressed the \"Download\" button. This can be used to re-import your account on any other machine.",
"Any account set as proxy will be able to perform actions in place of the proxied account": "Any account set as proxy will be able to perform actions in place of the proxied account",
"Any address, this can override other accounts": "Any address, this can override other accounts",
"Any democracy vote performed by the delegated account will result in an additional vote from the delegating account": "Any democracy vote performed by the delegated account will result in an additional vote from the delegating account",
"Approve this call hash": "Approve this call hash",
"Asset Hub chain": "Asset Hub chain",
"Backup": "Backup",
"Backup account": "Backup account",
"Cancel this call hash": "Cancel this call hash",
"Change": "Change",
"Change account password": "Change account password",
"Change democracy delegation": "Change democracy delegation",
"Change this account's password": "Change this account's password",
"Claim tokens...": "Claim tokens...",
"Clear Identity": "Clear Identity",
"Clear all": "Clear all",
"Clear expired democracy locks": "Clear expired democracy locks",
"Clear expired referenda locks": "Clear expired referenda locks",
"Consider storing your account in a signer such as a browser extension, hardware device, QR-capable phone wallet (non-connected) or desktop application for optimal account security.": "Consider storing your account in a signer such as a browser extension, hardware device, QR-capable phone wallet (non-connected) or desktop application for optimal account security.",
"Create": "Create",
"Create a backup file for this account": "Create a backup file for this account",
"Custom index": "Custom index",
"Delegate": "Delegate",
"Delegate democracy votes": "Delegate democracy votes",
"Derivation for Ledger-type accounts are only available on mnemonic seeds.": "Derivation for Ledger-type accounts are only available on mnemonic seeds.",
"Derive": "Derive",
"Derive account from pair": "Derive account from pair",
"Derive account via derivation path": "Derive account via derivation path",
"Development": "Development",
"Download": "Download",
"Ensure that the extension has accounts, some accounts are visible globally and available for this chain and that you gave the application permission to access accounts from the extension to use them.": "Ensure that the extension has accounts, some accounts are visible globally and available for this chain and that you gave the application permission to access accounts from the extension to use them.",
"Ensure that you utilized the \"Save\" functionality before using a generated address to receive funds. Without saving the address and the associated seed any funds sent to it will be lost.": "Ensure that you utilized the \"Save\" functionality before using a generated address to receive funds. Without saving the address and the associated seed any funds sent to it will be lost.",
"Ensure you are using a strong password for proper account protection.": "Ensure you are using a strong password for proper account protection.",
"Evaluated {{count}} keys in {{elapsed}}s ({{avg}} keys/s)": "Evaluated {{count}} keys in {{elapsed}}s ({{avg}} keys/s)",
"Existing approvals ({{approvals}}/{{threshold}})": "Existing approvals ({{approvals}}/{{threshold}})",
"Export": "Export",
"Export JSON file with signatories": "Export JSON file with signatories",
"For approvals outstanding approvers will be shown, for hashes that should be cancelled the first approver is required.": "For approvals outstanding approvers will be shown, for hashes that should be cancelled the first approver is required.",
"For more information about Asset Hub migration, check the ": "For more information about Asset Hub migration, check the ",
"Forget this account": "Forget this account",
"From JSON": "From JSON",
"From Ledger": "From Ledger",
"From Qr": "From Qr",
"Full Legal Name": "Full Legal Name",
"Future versions of the web-only interface will drop support for non-external accounts, much like the IPFS version.": "Future versions of the web-only interface will drop support for non-external accounts, much like the IPFS version.",
"Github name": "Github name",
"I have saved my mnemonic seed safely": "I have saved my mnemonic seed safely",
"Identity": "Identity",
"If the delegated account is currently voting in a referendum, the delegating vote and conviction will be added.": "If the delegated account is currently voting in a referendum, the delegating vote and conviction will be added.",
"If you add several proxy accounts for the same proxy type (e.g 2 accounts set as proxy for Governance), then any of those 2 accounts will be able to perform governance actions on behalf of the proxied account": "If you add several proxy accounts for the same proxy type (e.g 2 accounts set as proxy for Governance), then any of those 2 accounts will be able to perform governance actions on behalf of the proxied account",
"If you are moving accounts between applications, ensure that you use the correct type.": "If you are moving accounts between applications, ensure that you use the correct type.",
"Import": "Import",
"Initiate account recovery": "Initiate account recovery",
"Initiate recovery for another": "Initiate recovery for another",
"It is recommended that you create/store your accounts securely and externally from the app. On {{yourBrowser}} the following browser extensions are available for use -": "It is recommended that you create/store your accounts securely and externally from the app. On {{yourBrowser}} the following browser extensions are available for use -",
"Learn more...": "Learn more...",
"Ledger app type (originated from)": "Ledger app type (originated from)",
"Local": "Local",
"Make recoverable": "Make recoverable",
"Manage delegation": "Manage delegation",
"Manage proxies": "Manage proxies",
"Mnemonic": "Mnemonic",
"Multisig": "Multisig",
"Multisig approval with hash (non-final approval)": "Multisig approval with hash (non-final approval)",
"Multisig approvals": "Multisig approvals",
"Multisig approvals pending": "Multisig approvals pending",
"Multisig message with call (for final approval)": "Multisig message with call (for final approval)",
"My On-Chain Name": "My On-Chain Name",
"My accounts": "My accounts",
"Next": "Next",
"No accounts": "No accounts",
"No matches found": "No matches found",
"No sub identities set.": "No sub identities set.",
"One or more extensions are detected in your browser, however no accounts has been injected.": "One or more extensions are detected in your browser, however no accounts has been injected.",
"Optional. The balance for this account Default to 0.": "Optional. The balance for this account Default to 0.",
"Password are ignored for hex seed": "Password are ignored for hex seed",
"Pending call hashes": "Pending call hashes",
"Please make sure to save this file in a secure location as it is required, together with your password, to restore your account.": "Please make sure to save this file in a secure location as it is required, together with your password, to restore your account.",
"Prev": "Prev",
"Private Key": "Private Key",
"Provide password for browser accounts": "Provide password for browser accounts",
"Provide the account QR from the module/external application for scanning. Once detected as valid, you will be taken to the next step to add the account to your list.": "Provide the account QR from the module/external application for scanning. Once detected as valid, you will be taken to the next step to add the account to your list.",
"Proxied": "Proxied",
"Proxied account has no owned proxies": "Proxied account has no owned proxies",
"Proxy overview": "Proxy overview",
"Raw seed": "Raw seed",
"Recovery": "Recovery",
"Register identity": "Register identity",
"Register sub-identities": "Register sub-identities",
"Remove sub": "Remove sub",
"Reset": "Reset",
"Restore": "Restore",
"Retrieving sub-identities": "Retrieving sub-identities",
"Save": "Save",
"Save delegation": "Save delegation",
"Save this backup file in a secure location. Additionally, the password associated with this account is needed together with this backup file in order to restore your account.": "Save this backup file in a secure location. Additionally, the password associated with this account is needed together with this backup file in order to restore your account.",
"Search for": "Search for",
"Set Identity": "Set Identity",
"Set Subs": "Set Subs",
"Set on-chain identity": "Set on-chain identity",
"Set on-chain sub-identities": "Set on-chain sub-identities",
"Setup account as recoverable": "Setup account as recoverable",
"Show address on hardware device": "Show address on hardware device",
"Since some extensions, such as the pezkuwi-js extension, protects you against all community reported phishing sites, there are valid reasons to use them for additional protection, even if you are not storing accounts in it.": "Since some extensions, such as the pezkuwi-js extension, protects you against all community reported phishing sites, there are valid reasons to use them for additional protection, even if you are not storing accounts in it.",
"Since the multisig function like any other account, once created it is available for selection anywhere accounts are used and needs to be funded before use.": "Since the multisig function like any other account, once created it is available for selection anywhere accounts are used and needs to be funded before use.",
"Soft derivation paths are not allowed on ed25519": "Soft derivation paths are not allowed on ed25519",
"Start generation": "Start generation",
"Start recovery": "Start recovery",
"Stop generation": "Stop generation",
"Supply a JSON file with the list of signatories.": "Supply a JSON file with the list of signatories.",
"Supply a backed-up JSON file": "Supply a backed-up JSON file",
"Supply a backed-up JSON file, encrypted with your account-specific password.": "Supply a backed-up JSON file, encrypted with your account-specific password.",
"Swap to a non-executing approval type, with subsequent calls providing the actual call data.": "Swap to a non-executing approval type, with subsequent calls providing the actual call data.",
"The account type that you wish to create. This is the top-level derivation.": "The account type that you wish to create. This is the top-level derivation.",
"The address index on the account that you wish to add. This is the second-level derivation.": "The address index on the account that you wish to add. This is the second-level derivation.",
"The address that has previously setup a proxy to one of the accounts that you control.": "The address that has previously setup a proxy to one of the accounts that you control.",
"The amount to allocate and the conviction that will be applied to all votes made on a referendum.": "The amount to allocate and the conviction that will be applied to all votes made on a referendum.",
"The call data for this transaction matching the hash. Once sent, the multisig will be executed against this.": "The call data for this transaction matching the hash. Once sent, the multisig will be executed against this.",
"The call hash from the list of available and unapproved calls.": "The call hash from the list of available and unapproved calls.",
"The creator for this multisig call": "The creator for this multisig call",
"The current approvals applied to this multisig": "The current approvals applied to this multisig",
"The derivation path allows you to create different accounts from the same base mnemonic.": "The derivation path allows you to create different accounts from the same base mnemonic.",
"The derivation path is only relevant when deriving keys from a mnemonic.": "The derivation path is only relevant when deriving keys from a mnemonic.",
"The derivation will be constructed from the values you specify.": "The derivation will be constructed from the values you specify.",
"The existing account password as specified when this account was created or when it was last changed.": "The existing account password as specified when this account was created or when it was last changed.",
"The genesisHash for the scanned account does not match the genesisHash of the connected chain. The account will not be usable on this chain.": "The genesisHash for the scanned account does not match the genesisHash of the connected chain. The account will not be usable on this chain.",
"The helpers should be able to verify, via an off-chain mechanism, that the account owner indeed wishes to recover access and as such provide any approvals. In the cases of malicious recovery procedures, they will have the power to stop it.": "The helpers should be able to verify, via an off-chain mechanism, that the account owner indeed wishes to recover access and as such provide any approvals. In the cases of malicious recovery procedures, they will have the power to stop it.",
"The local name for this account. Changing this does not affect your on-line identity, so this is only used to indicate the name of the account locally.": "The local name for this account. Changing this does not affect your on-line identity, so this is only used to indicate the name of the account locally.",
"The maximum amount you can delegate is the amount of funds available on the delegating account.": "The maximum amount you can delegate is the amount of funds available on the delegating account.",
"The name for this account": "The name for this account",
"The name for this account and how it will appear under your addresses. With an on-chain identity, it can be made available to others.": "The name for this account and how it will appear under your addresses. With an on-chain identity, it can be made available to others.",
"The name for this account as it will appear under your accounts.": "The name for this account as it will appear under your accounts.",
"The name is for unique identification of the account in your owner lists.": "The name is for unique identification of the account in your owner lists.",
"The network from which this account was originally generated is different than the network you are currently connected to. Once imported ensure you toggle the \"allow on any network\" option for the account to keep it visible on the current network.": "The network from which this account was originally generated is different than the network you are currently connected to. Once imported ensure you toggle the \"allow on any network\" option for the account to keep it visible on the current network.",
"The operation type to apply. For approvals both non-final and final approvals are supported.": "The operation type to apply. For approvals both non-final and final approvals are supported.",
"The password and password confirmation for this account. This is required to authenticate any transactions made and to encrypt the keypair.": "The password and password confirmation for this account. This is required to authenticate any transactions made and to encrypt the keypair.",
"The password previously used to encrypt this account.": "The password previously used to encrypt this account.",
"The recoverable account is protected against the loss of seed/access by a social process.": "The recoverable account is protected against the loss of seed/access by a social process.",
"The secret seed value for this account. Ensure that you keep this in a safe place, with access to the seed you can re-create the account.": "The secret seed value for this account. Ensure that you keep this in a safe place, with access to the seed you can re-create the account.",
"The signatories has the ability to create transactions using the multisig and approve transactions sent by others.Once the threshold is reached with approvals, the multisig transaction is enacted on-chain.": "The signatories has the ability to create transactions using the multisig and approve transactions sent by others.Once the threshold is reached with approvals, the multisig transaction is enacted on-chain.",
"The threshold for approval should be less or equal to the number of signatories for this multisig.": "The threshold for approval should be less or equal to the number of signatories for this multisig.",
"The threshold for approvals and the delay is the protection associated with the account. The delay should be such that any colluding recovery attempts does have a window to stop.": "The threshold for approvals and the delay is the protection associated with the account. The delay should be such that any colluding recovery attempts does have a window to stop.",
"These are trusted individuals that can verify and approve any recovery actions. With recovery, once the threshold is reached, the funds associated with the account can be moved to a new destination.": "These are trusted individuals that can verify and approve any recovery actions. With recovery, once the threshold is reached, the funds associated with the account can be moved to a new destination.",
"This account has a governance delegation": "This account has a governance delegation",
"This account has a proxy set": "This account has a proxy set",
"This account has {{proxyNumber}} proxies set": "This account has {{proxyNumber}} proxies set",
"This account is available on all networks. It is recommended to link to a specific network via the account options (\"only this network\" option) to limit availability. For accounts from an extension, set the network on the extension.": "This account is available on all networks. It is recommended to link to a specific network via the account options (\"only this network\" option) to limit availability. For accounts from an extension, set the network on the extension.",
"This account is recoverable, with the following friends:": "This account is recoverable, with the following friends:",
"This does not send any transaction, rather it only sets the genesis in the account JSON.": "This does not send any transaction, rather it only sets the genesis in the account JSON.",
"This is a development account derived from the known development seed. Do not use for any funds on a non-development network.": "This is a development account derived from the known development seed. Do not use for any funds on a non-development network.",
"This is an invalid derivation path.": "This is an invalid derivation path.",
"This will apply to any future use of this account as stored on this browser. Ensure that you securely store this new password and that it is strong and unique to the account.": "This will apply to any future use of this account as stored on this browser. Ensure that you securely store this new password and that it is strong and unique to the account.",
"Undelegate": "Undelegate",
"Unlock": "Unlock",
"Unlock vested amount": "Unlock vested amount",
"Upload JSON file with signatories": "Upload JSON file with signatories",
"Use custom address index": "Use custom address index",
"Use custom derivation path": "Use custom derivation path",
"Vanity generator": "Vanity generator",
"View pending approvals": "View pending approvals",
"We will provide you with a generated backup file after your account is created. As long as you have access to your account you can always download this file later by clicking on \"Backup\" button from the Accounts section.": "We will provide you with a generated backup file after your account is created. As long as you have access to your account you can always download this file later by clicking on \"Backup\" button from the Accounts section.",
"You can batch export accounts, but only for in-browser, QR, and multisig types.": "You can batch export accounts, but only for in-browser, QR, and multisig types.",
"You can export all your accounts metadata for the selected types": "You can export all your accounts metadata for the selected types",
"You don't have any accounts. Some features are currently hidden and will only become available once you have accounts.": "You don't have any accounts. Some features are currently hidden and will only become available once you have accounts.",
"You have 1 extension that needs to be updated with the latest chain properties in order to display the correct information for the chain you are connected to and to use a Ledger device.": "You have 1 extension that needs to be updated with the latest chain properties in order to display the correct information for the chain you are connected to and to use a Ledger device.",
"You have 1 extension that needs to be updated with the latest chain properties in order to display the correct information for the chain you are connected to.": "You have 1 extension that needs to be updated with the latest chain properties in order to display the correct information for the chain you are connected to.",
"You have {{claimCount}} accounts that need attestations. Use the Claim Tokens app on the navigation bar to complete the process. Until you do, your balances for those accounts will not be reflected.": "You have {{claimCount}} accounts that need attestations. Use the Claim Tokens app on the navigation bar to complete the process. Until you do, your balances for those accounts will not be reflected.",
"You have {{upgradableCount}} extensions that need to be updated with the latest chain properties in order to display the correct information for the chain you are connected to and to use a Ledger device.": "You have {{upgradableCount}} extensions that need to be updated with the latest chain properties in order to display the correct information for the chain you are connected to and to use a Ledger device.",
"You have {{upgradableCount}} extensions that need to be updated with the latest chain properties in order to display the correct information for the chain you are connected to.": "You have {{upgradableCount}} extensions that need to be updated with the latest chain properties in order to display the correct information for the chain you are connected to.",
"You should not setup proxies to act as a self-proxy.": "You should not setup proxies to act as a self-proxy.",
"You will remove any delegation made by this account": "You will remove any delegation made by this account",
"Your password contains at least one \"/\" character. Disregard this warning if it is intended.": "Your password contains at least one \"/\" character. Disregard this warning if it is intended.",
"YourDiscordHandle": "YourDiscordHandle",
"YourGithubHandle": "YourGithubHandle",
"account forgotten": "account forgotten",
"account name": "account name",
"account restored": "account restored",
"account type": "account type",
"accounts": "accounts",
"accounts available via browser extensions": "accounts available via browser extensions",
"accounts available via mobile devices": "accounts available via mobile devices",
"accounts derived via development seeds": "accounts derived via development seeds",
"accounts exported": "accounts exported",
"accounts managed via hardware devices": "accounts managed via hardware devices",
"added proxy": "added proxy",
"address": "address",
"address being proxied": "address being proxied",
"address index": "address index",
"address {{index}}": "address {{index}}",
"all accounts imported": "all accounts imported",
"all locally stored accounts": "all locally stored accounts",
"approval type": "approval type",
"available signatories": "available signatories",
"available social recovery helpers": "available social recovery helpers",
"backup file": "backup file",
"balance": "balance",
"bonded": "bonded",
"call data for final approval": "call data for final approval",
"case sensitive": "case sensitive",
"chopsticks": "chopsticks",
"conviction": "conviction",
"created account": "created account",
"created multisig": "created multisig",
"delay": "delay",
"delegate democracy vote": "delegate democracy vote",
"delegated account": "delegated account",
"delegating account": "delegating account",
"delegating amount": "delegating amount",
"democracy vote delegation": "democracy vote delegation",
"deposit": "deposit",
"depositor": "depositor",
"derivation path": "derivation path",
"derive root account": "derive root account",
"development": "development",
"development seed": "development seed",
"discord": "discord",
"display name": "display name",
"e.g. 5Gg3...": "e.g. 5Gg3...",
"email": "email",
"ethereum private key": "ethereum private key",
"export all accounts": "export all accounts",
"extension": "extension",
"filter by name or tags": "filter by name or tags",
"found signatories": "found signatories",
"hardware": "hardware",
"https://example.com": "https://example.com",
"import all accounts": "import all accounts",
"include field": "include field",
"keypair crypto type": "keypair crypto type",
"keypair type": "keypair type",
"legal name": "legal name",
"local account name": "local account name",
"local accounts added via chopsticks fork": "local accounts added via chopsticks fork",
"matches": "matches",
"matrix name": "matrix name",
"mnemonic": "mnemonic",
"mnemonic seed": "mnemonic seed",
"multisig": "multisig",
"multisig name": "multisig name",
"name": "name",
"new account": "new account",
"on-chain multisig accounts": "on-chain multisig accounts",
"on-chain proxied accounts": "on-chain proxied accounts",
"partial seed": "partial seed",
"password": "password",
"password (repeat)": "password (repeat)",
"pending hashes {{count}}": "pending hashes {{count}}",
"private key": "private key",
"proxied": "proxied",
"proxied account": "proxied account",
"proxied name": "proxied name",
"proxy account": "proxy account",
"raw seed": "raw seed",
"recover this account": "recover this account",
"recovery block delay": "recovery block delay",
"recovery threshold": "recovery threshold",
"redeemable": "redeemable",
"reserved balance": "reserved balance",
"riot name": "riot name",
"secret": "secret",
"secret derivation path": "secret derivation path",
"seed (hex or string)": "seed (hex or string)",
"selected signatories": "selected signatories",
"send": "send",
"signatory": "signatory",
"somebody@example.com": "somebody@example.com",
"sort by": "sort by",
"sub name": "sub name",
"the account to make recoverable": "the account to make recoverable",
"the account to recover to": "the account to recover to",
"threshold": "threshold",
"total balance": "total balance",
"total deposit": "total deposit",
"total locked": "total locked",
"total transferable": "total transferable",
"trusted social recovery helpers": "trusted social recovery helpers",
"twitter": "twitter",
"unbonding": "unbonding",
"upload signatories list": "upload signatories list",
"via qr": "via qr",
"web": "web",
"your current password": "your current password",
"your new password": "your new password"
}
@@ -0,0 +1,26 @@
{
"Add an address": "Add an address",
"Add contact": "Add contact",
"Export": "Export",
"Forget this address": "Forget this address",
"Import": "Import",
"Import file": "Import file",
"Importing": "Importing",
"My contacts": "My contacts",
"Save": "Save",
"Success": "Success",
"address": "address",
"address created": "address created",
"address edited": "address edited",
"address forgotten": "address forgotten",
"contacts": "contacts",
"file content error": "file content error",
"file error": "file error",
"filter by name or tags": "filter by name or tags",
"name": "name",
"new address": "new address",
"no account imported": "no account imported",
"no addresses saved yet, add any existing address": "no addresses saved yet, add any existing address",
"no file chosen": "no file chosen",
"send": "send"
}
@@ -0,0 +1,36 @@
{
"Allowed to vote on motions": "Allowed to vote on motions",
"Announce retirement": "Announce retirement",
"Announcements ({{count}})": "Announcements ({{count}})",
"Current prime member, default voting": "Current prime member, default voting",
"Is retiring": "Is retiring",
"Join": "Join",
"Join alliance": "Join alliance",
"Motions ({{count}})": "Motions ({{count}})",
"No accounts": "No accounts",
"No announcements": "No announcements",
"No members": "No members",
"No websites": "No websites",
"Overview": "Overview",
"Retire": "Retire",
"The bond will be reserved for the duration of your alliance membership.": "The bond will be reserved for the duration of your alliance membership.",
"This account will be submitted to join the aliance. It will be allocated one of the alliance roles upon joining, starting with Ally.": "This account will be submitted to join the aliance. It will be allocated one of the alliance roles upon joining, starting with Ally.",
"Unscrupulous": "Unscrupulous",
"Up for kicking": "Up for kicking",
"accounts": "accounts",
"alliance account": "alliance account",
"alliance deposit": "alliance deposit",
"announcements": "announcements",
"code": "code",
"codec": "codec",
"kicking": "kicking",
"members": "members",
"no": "no",
"prime voter": "prime voter",
"retirting": "retirting",
"rule": "rule",
"version": "version",
"voter": "voter",
"websites": "websites",
"yes": "yes"
}
@@ -0,0 +1 @@
{}
@@ -0,0 +1,67 @@
{
"Balances": "Balances",
"Create": "Create",
"Foreign assets": "Foreign assets",
"Mint": "Mint",
"Next": "Next",
"No": "No",
"No accounts with balances found for the asset": "No accounts with balances found for the asset",
"No assets found": "No assets found",
"Normal transfer without keep-alive checks": "Normal transfer without keep-alive checks",
"Overview": "Overview",
"Prev": "Prev",
"Search": "Search",
"Search by asset id or name": "Search by asset id or name",
"Send": "Send",
"The account that is to be used for issuing this token.": "The account that is to be used for issuing this token.",
"The account that is to be used for ongoing admin on the token.": "The account that is to be used for ongoing admin on the token.",
"The account that is to be used for performing freezing.": "The account that is to be used for performing freezing.",
"The account that is to be used to create this asset and setup the initial metadata.": "The account that is to be used to create this asset and setup the initial metadata.",
"The account to transfer from. This account should have sufficient assets for this transfer.": "The account to transfer from. This account should have sufficient assets for this transfer.",
"The amount of tokens to issue to the account.": "The amount of tokens to issue to the account.",
"The amount of tokens to transfer to the account.": "The amount of tokens to transfer to the account.",
"The beneficiary will have access to the transferred asset when the transaction is included in a block.": "The beneficiary will have access to the transferred asset when the transaction is included in a block.",
"The descriptive name for this asset.": "The descriptive name for this asset.",
"The minimum balance allowed for the asset.": "The minimum balance allowed for the asset.",
"The minimum balance for the asset. This is specified in the units and decimals as requested.": "The minimum balance for the asset. This is specified in the units and decimals as requested.",
"The number of decimals for this token. Max allowed via the UI is set to 20.": "The number of decimals for this token. Max allowed via the UI is set to 20.",
"The recipient account for this minting operation.": "The recipient account for this minting operation.",
"The selected id for the asset. This should not match an already-existing asset id.": "The selected id for the asset. This should not match an already-existing asset id.",
"The symbol that will represent this asset.": "The symbol that will represent this asset.",
"Transfer with account keep-alive checks": "Transfer with account keep-alive checks",
"With the keep-alive option set, the account is protected against removal due to low balances.": "With the keep-alive option set, the account is protected against removal due to low balances.",
"Yes": "Yes",
"accounts": "accounts",
"admin": "admin",
"admin account": "admin account",
"amount to issue": "amount to issue",
"amount to transfer": "amount to transfer",
"asset": "asset",
"asset decimals": "asset decimals",
"asset id": "asset id",
"asset id or name to query": "asset id or name to query",
"asset name": "asset name",
"asset symbol": "asset symbol",
"assets": "assets",
"create asset {{step}}/{{steps}}": "create asset {{step}}/{{steps}}",
"creator account": "creator account",
"foreign assets": "foreign assets",
"free balance": "free balance",
"freezer": "freezer",
"freezer account": "freezer account",
"frozen": "frozen",
"holders": "holders",
"issuer": "issuer",
"issuer account": "issuer account",
"minimum balance": "minimum balance",
"mint asset": "mint asset",
"mint to address": "mint to address",
"owner": "owner",
"send": "send",
"send from": "send from",
"send to address": "send to address",
"sufficient": "sufficient",
"supply": "supply",
"the asset to query for balances": "the asset to query for balances",
"transfer asset": "transfer asset"
}
@@ -0,0 +1,105 @@
{
"Accept": "Accept",
"Accept Curator Role": "Accept Curator Role",
"Account does not have enough funds.": "Account does not have enough funds.",
"Add Bounty": "Add Bounty",
"Allocation value is smaller than the minimum bounty value.": "Allocation value is smaller than the minimum bounty value.",
"Approve": "Approve",
"Aye": "Aye",
"Aye: {{count}}": "Aye: {{count}}",
"Beneficiary": "Beneficiary",
"Bond": "Bond",
"Bounty approval under voting": "Bounty approval under voting",
"Bounty rejection under voting": "Bounty rejection under voting",
"Choose a curator whose background and expertise is such that they are capable of determining when the task is complete.": "Choose a curator whose background and expertise is such that they are capable of determining when the task is complete.",
"Claim": "Claim",
"Close": "Close",
"Close Bounty": "Close Bounty",
"Close deadline": "Close deadline",
"Curator proposal under voting": "Curator proposal under voting",
"Curator slash under voting": "Curator slash under voting",
"Curator's deposit": "Curator's deposit",
"Curator's deposit will be slashed and curator will be unassigned. Bounty will return to the Funded state.": "Curator's deposit will be slashed and curator will be unassigned. Bounty will return to the Funded state.",
"Curator's fee": "Curator's fee",
"Curator's fee can't be higher than bounty value.": "Curator's fee can't be higher than bounty value.",
"Description of the Bounty (to be stored on-chain)": "Description of the Bounty (to be stored on-chain)",
"Extend expiry": "Extend expiry",
"Give up": "Give up",
"How much should be paid out for completed Bounty. Upon funding, the amount will be reserved in treasury.": "How much should be paid out for completed Bounty. Upon funding, the amount will be reserved in treasury.",
"If the motion is approved, Curator's deposit will be slashed and Curator will be unassigned. Bounty will return to the Funded state.": "If the motion is approved, Curator's deposit will be slashed and Curator will be unassigned. Bounty will return to the Funded state.",
"If the motion is approved, the current Curator will be unassigned and the Bounty will return to the Funded state.": "If the motion is approved, the current Curator will be unassigned and the Bounty will return to the Funded state.",
"Initiate voting": "Initiate voting",
"Nay": "Nay",
"Nay: {{count}}": "Nay: {{count}}",
"No open bounties": "No open bounties",
"Only curator can extend the bounty time.": "Only curator can extend the bounty time.",
"Only the account proposed as curator by the council can create the assign curator transaction": "Only the account proposed as curator by the council can create the assign curator transaction",
"Only the account proposed as curator by the council can create the unassign curator transaction ": "Only the account proposed as curator by the council can create the unassign curator transaction ",
"Overview": "Overview",
"Part of the bounty value that will go to the Curator as a reward for their work": "Part of the bounty value that will go to the Curator as a reward for their work",
"Propose curator": "Propose curator",
"Proposed Curator": "Proposed Curator",
"Proposer": "Proposer",
"Proposer bond depends on bounty title length.": "Proposer bond depends on bounty title length.",
"Reject": "Reject",
"Reject curator": "Reject curator",
"Reward implementer": "Reward implementer",
"Reward the bounty to an implementer's account. The implementer will be able to claim the funds after a delay period.": "Reward the bounty to an implementer's account. The implementer will be able to claim the funds after a delay period.",
"Slash curator": "Slash curator",
"Slash curator (Council)": "Slash curator (Council)",
"The Curator account that will be used to send this transaction. Any applicable fees will be paid by this account.": "The Curator account that will be used to send this transaction. Any applicable fees will be paid by this account.",
"The account that will create the transaction.": "The account that will create the transaction.",
"The council member that will create a motion, submission equates to an \"aye\" vote for chosen option.": "The council member that will create a motion, submission equates to an \"aye\" vote for chosen option.",
"The council member that will create the close bounty proposal, submission equates to an \"aye\" vote.": "The council member that will create the close bounty proposal, submission equates to an \"aye\" vote.",
"The council member that will create the motion, submission equates to an \"aye\" vote.": "The council member that will create the motion, submission equates to an \"aye\" vote.",
"The council member that will create the motion.": "The council member that will create the motion.",
"The note that will be added to the transaction. It won't be stored on chain": "The note that will be added to the transaction. It won't be stored on chain",
"This account will propose the bounty. Bond amount will be reserved on its balance.": "This account will propose the bounty. Bond amount will be reserved on its balance.",
"This action will Slash the Curator.": "This action will Slash the Curator.",
"This action will create a Council motion to slash the Curator.": "This action will create a Council motion to slash the Curator.",
"This action will create a Council motion to unassign the Curator.": "This action will create a Council motion to unassign the Curator.",
"This amount will be reserved from your account and returned after bounty claim is confirmed or if you give up, unless you are slashed earlier.": "This amount will be reserved from your account and returned after bounty claim is confirmed or if you give up, unless you are slashed earlier.",
"This amount will be sent to your account after bounty is rewarded and you claim curator's fee.": "This amount will be sent to your account after bounty is rewarded and you claim curator's fee.",
"Title too long": "Title too long",
"Unassign curator": "Unassign curator",
"Unassign curator under voting": "Unassign curator under voting",
"Update overdue": "Update overdue",
"Voting": "Voting",
"Waiting for Bounty Funding": "Waiting for Bounty Funding",
"Waiting for Curator's acceptance": "Waiting for Curator's acceptance",
"Waiting for implementer to claim": "Waiting for implementer to claim",
"You are giving up your curator role, the bounty will return to the Funded state. You will get your deposit back.": "You are giving up your curator role, the bounty will return to the Funded state. You will get your deposit back.",
"accept curator role": "accept curator role",
"active": "active",
"active total": "active total",
"award bounty": "award bounty",
"award with account": "award with account",
"bounties": "bounties",
"bounty bond": "bounty bond",
"bounty remark": "bounty remark",
"bounty requested allocation": "bounty requested allocation",
"bounty title": "bounty title",
"children": "children",
"close bounty": "close bounty",
"curator": "curator",
"curator account": "curator account",
"curator's deposit": "curator's deposit",
"curator's fee": "curator's fee",
"current curator": "current curator",
"extend expiry": "extend expiry",
"funding period": "funding period",
"give up curator's role": "give up curator's role",
"implementer account": "implementer account",
"new expiry date and time": "new expiry date and time",
"next action": "next action",
"past": "past",
"payout": "payout",
"propose with account": "propose with account",
"proposing account": "proposing account",
"reject curator": "reject curator",
"select curator": "select curator",
"submit with account": "submit with account",
"update": "update",
"value": "value",
"vote with account": "vote with account"
}
@@ -0,0 +1,41 @@
{
"All active/available cores": "All active/available cores",
"All available slices": "All available slices",
"All scehduled cores": "All scehduled cores",
"No core description found": "No core description found",
"No workload found": "No workload found",
"No workplan found": "No workplan found",
"Overview": "Overview",
"assignment": "assignment",
"block per ts": "block per ts",
"broker Id": "broker Id",
"core": "core",
"core count": "core count",
"cores sold/offered": "cores sold/offered",
"current timeslice": "current timeslice",
"current work": "current work",
"cycle dates": "cycle dates",
"cycle progress": "cycle progress",
"cycle ts": "cycle ts",
"estimated bulk price": "estimated bulk price",
"mask": "mask",
"nav.broker": "Coretime Broker",
"next index": "next index",
"pool size": "pool size",
"region (ts)": "region (ts)",
"region length": "region length",
"sale dates": "sale dates",
"sale ts": "sale ts",
"selected core": "selected core",
"selected core for workload": "selected core for workload",
"selected core for workplan": "selected core for workplan",
"teyrchain id": "teyrchain id",
"timeslice": "timeslice",
"timeslice (ts)": "timeslice (ts)",
"timeslice period": "timeslice period",
"total cores": "total cores",
"traffic": "traffic",
"work queue": "work queue",
"workload": "workload",
"workplan": "workplan"
}
@@ -0,0 +1,30 @@
{
"Acceptance of new members and bids": "Acceptance of new members and bids",
"Application of slashes from era {{id}}": "Application of slashes from era {{id}}",
"Election of new council candidates": "Election of new council candidates",
"Enactment of the result of referendum {{id}}": "Enactment of the result of referendum {{id}}",
"End of the current teyrchain auction {{id}}": "End of the current teyrchain auction {{id}}",
"Execute anonymous scheduled task": "Execute anonymous scheduled task",
"Execute named scheduled task {{id}}": "Execute named scheduled task {{id}}",
"Potential dispatch of referendum {{id}} (if passed)": "Potential dispatch of referendum {{id}} (if passed)",
"Start of a new staking era {{id}}": "Start of a new staking era {{id}}",
"Start of a new staking session {{id}}": "Start of a new staking session {{id}}",
"Start of next membership challenge period": "Start of next membership challenge period",
"Start of next spending period": "Start of next spending period",
"Start of the next referendum voting period": "Start of the next referendum voting period",
"Start of the next teyrchain lease period {{id}}": "Start of the next teyrchain lease period {{id}}",
"Upcoming Events": "Upcoming Events",
"Upcoming events": "Upcoming events",
"Voting ends for referendum {{id}}": "Voting ends for referendum {{id}}",
"Voting ends on council motion {{id}}": "Voting ends on council motion {{id}}",
"via Council": "via Council",
"via Council/Motions": "via Council/Motions",
"via Democracy": "via Democracy",
"via Democracy/Dispatch": "via Democracy/Dispatch",
"via Society": "via Society",
"via Staking": "via Staking",
"via Staking/Slashed": "via Staking/Slashed",
"via Teyrchains": "via Teyrchains",
"via Teyrchains/Auction": "via Teyrchains/Auction",
"via Treasury": "via Treasury"
}
@@ -0,0 +1,28 @@
{
"1. Select your {{chain}} account": "1. Select your {{chain}} account",
"2. Enter the ETH address from the sale.": "2. Enter the ETH address from the sale.",
"Account balance:": "Account balance:",
"Claim": "Claim",
"Claim tokens": "Claim tokens",
"Confirm claim": "Confirm claim",
"Continue": "Continue",
"Copy the following string and sign it with the Ethereum account you used during the pre-sale in the wallet of your choice, using the string as the payload, and then paste the transaction signature object below:": "Copy the following string and sign it with the Ethereum account you used during the pre-sale in the wallet of your choice, using the string as the payload, and then paste the transaction signature object below:",
"I agree": "I agree",
"Loading": "Loading",
"Paste the signed message into the field below. The placeholder text is there as a hint to what the message should look like:": "Paste the signed message into the field below. The placeholder text is there as a hint to what the message should look like:",
"Please read these terms and conditions carefully. By submitting this statement, you are deemed to have accepted these Terms and Conditions. If you do not agree to these terms, please refrain from accessing or proceeding. You can also find them at:": "Please read these terms and conditions carefully. By submitting this statement, you are deemed to have accepted these Terms and Conditions. If you do not agree to these terms, please refrain from accessing or proceeding. You can also find them at:",
"Pre-sale ethereum address": "Pre-sale ethereum address",
"There is no on-chain attestation statement associated with the Ethereum account {{ethereumAddress}}": "There is no on-chain attestation statement associated with the Ethereum account {{ethereumAddress}}",
"There is no on-chain claimable balance associated with the Ethereum account {{ethereumAddress}}": "There is no on-chain claimable balance associated with the Ethereum account {{ethereumAddress}}",
"Warning: we did not find any attest statement for {{chain}}": "Warning: we did not find any attest statement for {{chain}}",
"We found a pre-claim with this Pezkuwi address. However, attesting requires signing with this account. To continue with attesting, please add this account as an owned account first.": "We found a pre-claim with this Pezkuwi address. However, attesting requires signing with this account. To continue with attesting, please add this account as an owned account first.",
"You need to sign an attestation for the following account:": "You need to sign an attestation for the following account:",
"You need to sign an attestation for the following accounts:": "You need to sign an attestation for the following accounts:",
"Your Ethereum account": "Your Ethereum account",
"claim to account": "claim to account",
"click to copy": "click to copy",
"copied": "copied",
"does not appear to have a valid claim. Please double check that you have signed the transaction correctly on the correct ETH account.": "does not appear to have a valid claim. Please double check that you have signed the transaction correctly on the correct ETH account.",
"has a valid claim for": "has a valid claim for",
"{{step}}. Sign with your ETH address": "{{step}}. Sign with your ETH address"
}
@@ -0,0 +1,9 @@
{
"No running collators": "No running collators",
"Overview": "Overview",
"balance": "balance",
"collators": "collators",
"deposit": "deposit",
"desired": "desired",
"last #": "last #"
}
@@ -0,0 +1,74 @@
{
"0x prefixed hex, e.g. 0x1234 or ascii data": "0x prefixed hex, e.g. 0x1234 or ascii data",
"<none>": "<none>",
"Add an existing code hash": "Add an existing code hash",
"Add an existing contract": "Add an existing contract",
"Available": "Available",
"Call a contract": "Call a contract",
"Call results": "Call results",
"Confirm ABI removal": "Confirm ABI removal",
"Constructors ({{count}})": "Constructors ({{count}})",
"Contracts": "Contracts",
"Deploy": "Deploy",
"Deploy a contract": "Deploy a contract",
"Execute": "Execute",
"Messages ({{count}})": "Messages ({{count}})",
"Mutates contract state": "Mutates contract state",
"Next": "Next",
"No code hashes available": "No code hashes available",
"No contracts available": "No contracts available",
"No documentation provided": "No documentation provided",
"Not on-chain": "Not on-chain",
"Prev": "Prev",
"Read": "Read",
"Remove": "Remove",
"Remove ABI": "Remove ABI",
"Save": "Save",
"The code is not recognized as being in valid WASM format": "The code is not recognized as being in valid WASM format",
"The codeHash is not a valid hex hash": "The codeHash is not a valid hex hash",
"The value is not in a valid address format": "The value is not in a valid address format",
"This operation does not impact the associated on-chain code or any of its contracts.": "This operation does not impact the associated on-chain code or any of its contracts.",
"This operation does not remove the uploaded code WASM and ABI from the chain, nor any deployed contracts. The forget operation only limits your access to the code on this browser.": "This operation does not remove the uploaded code WASM and ABI from the chain, nor any deployed contracts. The forget operation only limits your access to the code on this browser.",
"Unable to find deployed contract code at the specified address": "Unable to find deployed contract code at the specified address",
"Unable to find on-chain WASM code for the supplied codeHash": "Unable to find on-chain WASM code for the supplied codeHash",
"Upload & deploy code": "Upload & deploy code",
"Upload & deploy code {{info}}": "Upload & deploy code {{info}}",
"You are about to remove this code from your list of available code hashes. Once completed, should you need to access it again, you will have to manually add the code hash again.": "You are about to remove this code from your list of available code hashes. Once completed, should you need to access it again, you will have to manually add the code hash again.",
"You are about to remove this code's ABI. Once completed, should you need to access it again, you will have to manually re-upload it.": "You are about to remove this code's ABI. Once completed, should you need to access it again, you will have to manually re-upload it.",
"address forgotten": "address forgotten",
"addresses": "addresses",
"call from account": "call from account",
"click to select or drag and drop a JSON file": "click to select or drag and drop a JSON file",
"code hash": "code hash",
"code hashes": "code hashes",
"compiled contract WASM": "compiled contract WASM",
"contract ABI": "contract ABI",
"contract address": "contract address",
"contract to use": "contract to use",
"contracts": "contracts",
"current value": "current value",
"deploy": "deploy",
"deployment account": "deployment account",
"deployment constructor": "deployment constructor",
"exec": "exec",
"json for either ABI or .contract bundle": "json for either ABI or .contract bundle",
"max ProofSize allowed": "max ProofSize allowed",
"max ProofSize allowed ({{estimatedProofSize}} estimated)": "max ProofSize allowed ({{estimatedProofSize}} estimated)",
"max RefTime allowed (M)": "max RefTime allowed (M)",
"max RefTime allowed (M, {{estimatedRefTime}} estimated)": "max RefTime allowed (M, {{estimatedRefTime}} estimated)",
"max gas allowed (M)": "max gas allowed (M)",
"max gas allowed (M, {{estimatedMg}} estimated)": "max gas allowed (M, {{estimatedMg}} estimated)",
"max read gas": "max read gas",
"message to send": "message to send",
"read": "read",
"read contract only, no execution": "read contract only, no execution",
"status": "status",
"transferable": "transferable",
"unique deployment salt": "unique deployment salt",
"use deployment salt": "use deployment salt",
"use estimated gas": "use estimated gas",
"value": "value",
"{{executionTime}}s execution time": "{{executionTime}}s execution time",
"{{percentage}}% of block weight": "{{percentage}}% of block weight",
"{{size}} WASM bytes": "{{size}} WASM bytes"
}
@@ -0,0 +1,59 @@
{
"All cores are sold out": "All cores are sold out",
"Blocks (relay)": "Blocks (relay)",
"Blocks(coretime)": "Blocks(coretime)",
"Core Purchase Transactions": "Core Purchase Transactions",
"Cores cannot be purchased now": "Cores cannot be purchased now",
"Coretime providers": "Coretime providers",
"Dates": "Dates",
"DotLake Coretime Dashboard": "DotLake Coretime Dashboard",
"Open Subscan Sale Price graph": "Open Subscan Sale Price graph",
"Overview": "Overview",
"Pick a sale number": "Pick a sale number",
"Purchase a core": "Purchase a core",
"Region for sale": "Region for sale",
"Region for sale ": "Region for sale ",
"Region is an asset of Coretime. It signifies the upcoming sales period within which a core can be secured by purchasing coretime. Acquiring coretime grants access to a core for the duration of that specific region.": "Region is an asset of Coretime. It signifies the upcoming sales period within which a core can be secured by purchasing coretime. Acquiring coretime grants access to a core for the duration of that specific region.",
"Reset filters": "Reset filters",
"Sale": "Sale",
"Sale history information": "Sale history information",
"Sale information": "Sale information",
"Sale timeline": "Sale timeline",
"Search": "Search",
"Search by teyrchain id or name": "Search by teyrchain id or name",
"Subscan Links": "Subscan Links",
"Timeslices": "Timeslices",
"available cores": "available cores",
"blocks": "blocks",
"core number": "core number",
"cores sold": "cores sold",
"current price": "current price",
"current region dates": "current region dates",
"cycle": "cycle",
"cycle dates": "cycle dates",
"cycle number": "cycle number",
"cycle progress": "cycle progress",
"cycle ts": "cycle ts",
"end": "end",
"end date (approx)": "end date (approx)",
"last block": "last block",
"last timeslice": "last timeslice",
"links": "links",
"name": "name",
"other cores": "other cores",
"region ts": "region ts",
"relay chain blocks": "relay chain blocks",
"renewal": "renewal",
"renewal price": "renewal price",
"sale dates": "sale dates",
"sale end": "sale end",
"sale number": "sale number",
"sale progress": "sale progress",
"sale ts": "sale ts",
"sold/offered": "sold/offered",
"teyrchain id or name": "teyrchain id or name",
"teyrchains": "teyrchains",
"timeslice": "timeslice",
"timeslice progress": "timeslice progress",
"type": "type"
}
@@ -0,0 +1,71 @@
{
"Aye {{count}}": "Aye {{count}}",
"Cancel slashes": "Cancel slashes",
"Close": "Close",
"Close proposal": "Close proposal",
"In calculating the election outcome, this prioritized vote ordering will be used to determine the final score for the candidates.": "In calculating the election outcome, this prioritized vote ordering will be used to determine the final score for the candidates.",
"Motions": "Motions",
"Nay {{count}}": "Nay {{count}}",
"No candidates found": "No candidates found",
"No council motions": "No council motions",
"No members found": "No members found",
"No runners up found": "No runners up found",
"Overview": "Overview",
"Positive number between 1 and {{memberCount}}": "Positive number between 1 and {{memberCount}}",
"Propose": "Propose",
"Propose a council motion": "Propose a council motion",
"Propose external": "Propose external",
"Propose external (majority)": "Propose external (majority)",
"Propose motion": "Propose motion",
"Revert": "Revert",
"Revert pending slashes": "Revert pending slashes",
"Submit candidacy": "Submit candidacy",
"Submit your council candidacy": "Submit your council candidacy",
"The actual proposal to make, based on the selected call and parameters thereof.": "The actual proposal to make, based on the selected call and parameters thereof.",
"The amount will be reserved for the duration of your vote": "The amount will be reserved for the duration of your vote",
"The bond will be reserved for the duration of your candidacy and membership.": "The bond will be reserved for the duration of your candidacy and membership.",
"The council account for the proposal. The selection is filtered by the current members.": "The council account for the proposal. The selection is filtered by the current members.",
"The council account for this vote. The selection is filtered by the current members.": "The council account for this vote. The selection is filtered by the current members.",
"The council account that will apply the close for the current round.": "The council account that will apply the close for the current round.",
"The desired threshold. Here set to a default of 50%+1, as applicable for general proposals.": "The desired threshold. Here set to a default of 50%+1, as applicable for general proposals.",
"The hash of the proposal image, either already submitted or valid for the specific call.": "The hash of the proposal image, either already submitted or valid for the specific call.",
"The proposal that is being voted on. It will pass when the threshold is reached.": "The proposal that is being voted on. It will pass when the threshold is reached.",
"The proposal that will be affected. Once closed for the current voting round, it would need to be re-submitted to council for a subsequent voting round.": "The proposal that will be affected. Once closed for the current voting round, it would need to be re-submitted to council for a subsequent voting round.",
"The specific eras on which there are unapplied slashes. For each era a separate proposal is to be made.": "The specific eras on which there are unapplied slashes. For each era a separate proposal is to be made.",
"The value associated with this vote. The amount will be locked (not available for transfer) and used in all subsequent elections.": "The value associated with this vote. The amount will be locked (not available for transfer) and used in all subsequent elections.",
"The vote will be recorded for the selected account.": "The vote will be recorded for the selected account.",
"The votes for the members, runner-ups and candidates. These should be ordered based on your priority.": "The votes for the members, runner-ups and candidates. These should be ordered based on your priority.",
"This account will appear in the list of candidates. With enough votes in an election, it will become either a runner-up or a council member.": "This account will appear in the list of candidates. With enough votes in an election, it will become either a runner-up or a council member.",
"Unvote all": "Unvote all",
"Vote": "Vote",
"Vote Aye": "Vote Aye",
"Vote Nay": "Vote Nay",
"Vote for current candidates": "Vote for current candidates",
"Vote on proposal": "Vote on proposal",
"You are voting with this collective's prime account. The vote will be the default outcome in case of any abstentions.": "You are voting with this collective's prime account. The vote will be the default outcome in case of any abstentions.",
"candidacy bond": "candidacy bond",
"candidate account": "candidate account",
"candidates": "candidates",
"close from account": "close from account",
"council candidates": "council candidates",
"era {{era}}, {{count}} slashes": "era {{era}}, {{count}} slashes",
"members": "members",
"motions": "motions",
"my ordered votes": "my ordered votes",
"no unapplied slashes found": "no unapplied slashes found",
"preimage hash": "preimage hash",
"preimage length": "preimage length",
"prime": "prime",
"proposal": "proposal",
"propose from account": "propose from account",
"runners up": "runners up",
"seats": "seats",
"term progress": "term progress",
"the era to cancel for": "the era to cancel for",
"threshold": "threshold",
"votes": "votes",
"voting account": "voting account",
"voting bond": "voting bond",
"voting end": "voting end",
"voting round": "voting round"
}
@@ -0,0 +1,76 @@
{
"Aye {{count}}": "Aye {{count}}",
"Conviction locks do overlap and are not additive, meaning that funds locked during a previous vote can be locked again.": "Conviction locks do overlap and are not additive, meaning that funds locked during a previous vote can be locked again.",
"Endorse": "Endorse",
"Endorse proposal": "Endorse proposal",
"Endorsed ({{count}})": "Endorsed ({{count}})",
"Endorsing a proposal that indicates your backing for the proposal. Proposals with greater interest moves up the queue for potential next referendums.": "Endorsing a proposal that indicates your backing for the proposal. Proposals with greater interest moves up the queue for potential next referendums.",
"Fast track": "Fast track",
"Fast track proposal": "Fast track proposal",
"If this proposal is passed, the changes will be applied via dispatch and the deposit returned.": "If this proposal is passed, the changes will be applied via dispatch and the deposit returned.",
"Image": "Image",
"Nay {{count}}": "Nay {{count}}",
"No active proposals": "No active proposals",
"No active referendums": "No active referendums",
"No endorsements": "No endorsements",
"No external proposal": "No external proposal",
"No voters": "No voters",
"Overview": "Overview",
"Select the committee account you wish to make the proposal with.": "Select the committee account you wish to make the proposal with.",
"Submit Aye vote with proposal": "Submit Aye vote with proposal",
"Submit an Aye vote alongside the proposal as part of a batch": "Submit an Aye vote alongside the proposal as part of a batch",
"Submit preimage": "Submit preimage",
"Submit proposal": "Submit proposal",
"The amount this total can be reduced by to change the referendum outcome. This assumes changes to the convictions of the existing votes, with no additional turnout.": "The amount this total can be reduced by to change the referendum outcome. This assumes changes to the convictions of the existing votes, with no additional turnout.",
"The amount this total should be increased by to change the referendum outcome. This assumes additional turnout with new votes at 1x conviction.": "The amount this total should be increased by to change the referendum outcome. This assumes additional turnout with new votes at 1x conviction.",
"The associated deposit for this proposal should be more then the minimum on-chain deposit required. It will be locked until the proposal passes.": "The associated deposit for this proposal should be more then the minimum on-chain deposit required. It will be locked until the proposal passes.",
"The balance associated with the vote will be locked as per the conviction specified and will not be available for transfer during this period.": "The balance associated with the vote will be locked as per the conviction specified and will not be available for transfer during this period.",
"The calculated storage costs based on the size and the per-bytes fee.": "The calculated storage costs based on the size and the per-bytes fee.",
"The deposit will be locked for the lifetime of the proposal.": "The deposit will be locked for the lifetime of the proposal.",
"The external proposal to send to the technical committee": "The external proposal to send to the technical committee",
"The hash of the preimage for the proposal as previously submitted or intended.": "The hash of the preimage for the proposal as previously submitted or intended.",
"The image (proposal) will be stored on-chain against the hash of the contents.": "The image (proposal) will be stored on-chain against the hash of the contents.",
"The length value will be auto-populated from the on-chain value if it is found.": "The length value will be auto-populated from the on-chain value if it is found.",
"The proposal is in the queue for future referendums. One proposal from this list will move forward to voting.": "The proposal is in the queue for future referendums. One proposal from this list will move forward to voting.",
"The proposal will be registered from this account and the balance lock will be applied here.": "The proposal will be registered from this account and the balance lock will be applied here.",
"The vote will be recorded for this account. If another account delegated to this one, the delegated votes will also be counted.": "The vote will be recorded for this account. If another account delegated to this one, the delegated votes will also be counted.",
"The voting period and delay to apply to this proposal. The threshold is calculated from these values.": "The voting period and delay to apply to this proposal. The threshold is calculated from these values.",
"This account will pay the fees for the preimage, based on the size thereof.": "This account will pay the fees for the preimage, based on the size thereof.",
"Vote": "Vote",
"Vote Aye": "Vote Aye",
"Vote Nay": "Vote Nay",
"Vote on proposal": "Vote on proposal",
"When submitting a proposal the hash needs to be known. Proposals can be submitted with hash-only, but upon dispatch the preimage needs to be available.": "When submitting a proposal the hash needs to be known. Proposals can be submitted with hash-only, but upon dispatch the preimage needs to be available.",
"activate": "activate",
"beneficiary": "beneficiary",
"calculated storage fee": "calculated storage fee",
"conviction": "conviction",
"delay": "delay",
"deposit required": "deposit required",
"endorse with account": "endorse with account",
"external": "external",
"launch period": "launch period",
"locked": "locked",
"locked balance": "locked balance",
"minimum deposit": "minimum deposit",
"payout": "payout",
"preimage hash": "preimage hash",
"preimage length": "preimage length",
"proposal hash": "proposal hash",
"proposals": "proposals",
"propose": "propose",
"propose from account": "propose from account",
"proposer": "proposer",
"referenda": "referenda",
"remaining": "remaining",
"send from account": "send from account",
"threshold": "threshold",
"total": "total",
"transferable": "transferable",
"turnout": "turnout",
"votes": "votes",
"voting period": "voting period",
"{{blocks}} blocks": "{{blocks}} blocks",
"{{threshold}}, not passing": "{{threshold}}, not passing",
"{{threshold}}, passing": "{{threshold}}, passing"
}
@@ -0,0 +1,90 @@
{
"API stats": "API stats",
"Block details": "Block details",
"Chain info": "Chain info",
"Forks": "Forks",
"Latency": "Latency",
"No blocks available": "No blocks available",
"No events available": "No events available",
"No extrinsics available": "No extrinsics available",
"No justifications available": "No justifications available",
"No logs available": "No logs available",
"Node info": "Node info",
"Show my events": "Show my events",
"Unable to decode the block events. {{error}}": "Unable to decode the block events. {{error}}",
"Unable to retrieve the specified block details. {{error}}": "Unable to retrieve the specified block details. {{error}}",
"Waiting for next block...": "Waiting for next block...",
"average": "average",
"avg": "avg",
"best": "best",
"best #": "best #",
"best hash": "best hash",
"block hash or number to query": "block hash or number to query",
"block weight": "block weight",
"blocks": "blocks",
"blocksize (last {{n}} blocks)": "blocksize (last {{n}} blocks)",
"blocktime": "blocktime",
"blocktimes (last {{n}} blocks)": "blocktimes (last {{n}} blocks)",
"bytes": "bytes",
"bytes transferred": "bytes transferred",
"connected peers": "connected peers",
"deposits": "deposits",
"elapsed": "elapsed",
"epoch": "epoch",
"era": "era",
"errors": "errors",
"event count": "event count",
"events": "events",
"events (last {{n}} blocks)": "events (last {{n}} blocks)",
"extrinsic count": "extrinsic count",
"extrinsics": "extrinsics",
"extrinsics (last {{n}} blocks)": "extrinsics (last {{n}} blocks)",
"finalized": "finalized",
"forks": "forks",
"hash": "hash",
"immortal": "immortal",
"inactive issuance": "inactive issuance",
"index": "index",
"justifications": "justifications",
"last": "last",
"last block": "last block",
"last events": "last events",
"logs": "logs",
"max": "max",
"min": "min",
"mortal, valid from #{{startAt}} to #{{endsAt}}": "mortal, valid from #{{startAt}} to #{{endsAt}}",
"next": "next",
"no": "no",
"no peers connected": "no peers connected",
"our best": "our best",
"parent": "parent",
"peer best": "peer best",
"pending extrinsics": "pending extrinsics",
"proof size": "proof size",
"queued tx": "queued tx",
"recent blocks": "recent blocks",
"recent events": "recent events",
"recv": "recv",
"ref time": "ref time",
"refresh in": "refresh in",
"requests": "requests",
"requests made": "requests made",
"sent": "sent",
"session": "session",
"slot": "slot",
"state": "state",
"std dev": "std dev",
"subscriptions": "subscriptions",
"syncing": "syncing",
"system": "system",
"system events": "system events",
"target": "target",
"total": "total",
"total issuance": "total issuance",
"total peers": "total peers",
"total req": "total req",
"total sub": "total sub",
"transfers": "transfers",
"weight": "weight",
"yes": "yes"
}
@@ -0,0 +1,15 @@
{
"0x...": "0x...",
"Decode": "Decode",
"Submission": "Submission",
"Submit Transaction": "Submit Transaction",
"Submit Unsigned": "Submit Unsigned",
"decoded call": "decoded call",
"encoded call data": "encoded call data",
"encoded call hash": "encoded call hash",
"encoding details": "encoding details",
"free balance": "free balance",
"hex-encoded call": "hex-encoded call",
"submit the following extrinsic": "submit the following extrinsic",
"using the selected account": "using the selected account"
}
@@ -0,0 +1 @@
{}
@@ -0,0 +1,42 @@
{
"Berlin": "Berlin",
"Copy file cid": "Copy file cid",
"Copy link": "Copy link",
"Crust Network": "Crust Network",
"Crust Pinner": "Crust Pinner",
"DCF": "DCF",
"Do not upload files larger than 100MB!": "Do not upload files larger than 100MB!",
"Download": "Download",
"Export": "Export",
"File": "File",
"Folder": "Folder",
"Import": "Import",
"Import Success": "Import Success",
"Import files": "Import files",
"Importing": "Importing",
"Loading": "Loading",
"No files": "No files",
"Note: The file list is cached locally, switching browsers or devices will not keep displaying the original browser information.": "Note: The file list is cached locally, switching browsers or devices will not keep displaying the original browser information.",
"Please choose account": "Please choose account",
"Please do not upload more than 2000 files": "Please do not upload more than 2000 files",
"Please select non-empty folder": "Please select non-empty folder",
"Seattle": "Seattle",
"Select a Web3 IPFS Gateway": "Select a Web3 IPFS Gateway",
"Select a Web3 IPFS Pinner": "Select a Web3 IPFS Pinner",
"Sign and Upload": "Sign and Upload",
"Singapore": "Singapore",
"Upload": "Upload",
"Upload File": "Upload File",
"View status in Crust": "View status in Crust",
"Your Files": "Your Files",
"action": "action",
"file cid": "file cid",
"file content error": "file content error",
"file error": "file error",
"file size": "file size",
"files": "files",
"password": "password",
"status": "status",
"transferable": "transferable",
"⚡️ Thunder Gateway": "⚡️ Thunder Gateway"
}
@@ -0,0 +1,27 @@
{
"Bid": "Bid",
"No active gilt queues found.": "No active gilt queues found.",
"Overview": "Overview",
"Submit Bid": "Submit Bid",
"The amount you wish to lock for the duration. It needs to be more than the gilt minimum.": "The amount you wish to lock for the duration. It needs to be more than the gilt minimum.",
"The number of periods this bid is to be freezed for, less than the maximum period": "The number of periods this bid is to be freezed for, less than the maximum period",
"This account will make the bid for the gilt and pay all associated fees.": "This account will make the bid for the gilt and pay all associated fees.",
"active": "active",
"balance": "balance",
"bid amount": "bid amount",
"index": "index",
"intake": "intake",
"lock periods": "lock periods",
"maximum lock periods": "maximum lock periods",
"minimum freeze amount": "minimum freeze amount",
"no": "no",
"participants": "participants",
"proportion": "proportion",
"queues": "queues",
"send via proxy": "send via proxy",
"submit gilt bid": "submit gilt bid",
"target": "target",
"transferable": "transferable",
"use proxied account": "use proxied account",
"yes": "yes"
}
@@ -0,0 +1,10 @@
{
"Close": "Close",
"Console": "Console",
"Name your example": "Name your example",
"Never execute JS snippets from untrusted sources.": "Never execute JS snippets from untrusted sources.",
"Save snippet to local storage": "Save snippet to local storage",
"Select example": "Select example",
"This is a developer tool that allows you to execute selected snippets in a limited context.": "This is a developer tool that allows you to execute selected snippets in a limited context.",
"Unless you are a developer with insight into what the specific script does to your environment (based on reading the code being executed) generally the advice would be to not use this environment.": "Unless you are a developer with insight into what the specific script does to your environment (based on reading the code being executed) generally the advice would be to not use this environment."
}
@@ -0,0 +1 @@
{}
@@ -0,0 +1,13 @@
{
"Frozen": "Frozen",
"My NFTs": "My NFTs",
"No accounts with items found for the collection": "No accounts with items found for the collection",
"No collections found": "No collections found",
"Overview": "Overview",
"collections": "collections",
"items": "items",
"no name": "no name",
"owner": "owner",
"status": "status",
"the collection to query for items": "the collection to query for items"
}
@@ -0,0 +1,23 @@
{
"Bid": "Bid",
"Bid via Proxy": "Bid via Proxy",
"No active nis queues found.": "No active nis queues found.",
"Overview": "Overview",
"The amount you wish to lock for the duration. It needs to be more than the nis minimum.": "The amount you wish to lock for the duration. It needs to be more than the nis minimum.",
"The number of periods this bid is to be locked for, less than the maximum period.": "The number of periods this bid is to be locked for, less than the maximum period.",
"This account will make the bid for the nis and pay all associated fees.": "This account will make the bid for the nis and pay all associated fees.",
"balance": "balance",
"bid amount": "bid amount",
"intake": "intake",
"length of lock (blocks, calculated)": "length of lock (blocks, calculated)",
"lock periods": "lock periods",
"maximum lock periods": "maximum lock periods",
"minimum bid amount": "minimum bid amount",
"participants": "participants",
"proportion": "proportion",
"queues": "queues",
"send via proxy": "send via proxy",
"submit nis bid": "submit nis bid",
"transferable": "transferable",
"use proxied account": "use proxied account"
}
@@ -0,0 +1,182 @@
{
" for more details.": " for more details.",
"0x...": "0x...",
"Active": "Active",
"Add": "Add",
"Add campaign": "Add campaign",
"Add fund": "Add fund",
"Add validator": "Add validator",
"After the Asset Hub migration, crowdloan related activity has been transferred to the `ah_ops` pallet on Asset Hub. You can claim your funds from there, or visit ": "After the Asset Hub migration, crowdloan related activity has been transferred to the `ah_ops` pallet on Asset Hub. You can claim your funds from there, or visit ",
"Approve": "Approve",
"Auctions": "Auctions",
"Auctions will be deprecated in favor of Coretime. When Coretime is active in Pezkuwi, this page will be removed.": "Auctions will be deprecated in favor of Coretime. When Coretime is active in Pezkuwi, this page will be removed.",
"Before using this registered paraId, you need to have a WASM validation function registered on-chain": "Before using this registered paraId, you need to have a WASM validation function registered on-chain",
"Bid": "Bid",
"Cancel": "Cancel",
"Capped": "Capped",
"Close": "Close",
"Contribute": "Contribute",
"Contribute to fund": "Contribute to fund",
"Crowdloan": "Crowdloan",
"Crowdloans will be deprecated in favor of Coretime. When Coretime is active in Pezkuwi, this page will be removed.": "Crowdloans will be deprecated in favor of Coretime. When Coretime is active in Pezkuwi, this page will be removed.",
"Currently this is a one-way transfer since the on-chain runtime functionality to send the funds from the destination chain back to this account not yet available.": "Currently this is a one-way transfer since the on-chain runtime functionality to send the funds from the destination chain back to this account not yet available.",
"Deregister": "Deregister",
"Deregister ParaId": "Deregister ParaId",
"Deregistering a paraID will:": "Deregistering a paraID will:",
"Do not transfer any funds directly to a specific account that is associated with a loan or a team. Use the \"Contribute\" action to record the contribution on-chain using the crowdloan runtime module. When the fund is dissolved, after either the teyrchain lease expires or the loan ending without winning, the full value will be returned to your account by the runtime. Funds sent directly to an account, without using the crowdloan functionality, may not be returned by the receiving account.": "Do not transfer any funds directly to a specific account that is associated with a loan or a team. Use the \"Contribute\" action to record the contribution on-chain using the crowdloan runtime module. When the fund is dissolved, after either the teyrchain lease expires or the loan ending without winning, the full value will be returned to your account by the runtime. Funds sent directly to an account, without using the crowdloan functionality, may not be returned by the receiving account.",
"Ended": "Ended",
"Exclude it from future auctions and onboarding.": "Exclude it from future auctions and onboarding.",
"Homepage": "Homepage",
"My contributions ({{count}})": "My contributions ({{count}})",
"No": "No",
"No active campaigns found": "No active campaigns found",
"No completed campaigns found": "No completed campaigns found",
"No ongoing auction": "No ongoing auction",
"No winners in this auction": "No winners in this auction",
"Non-voters ({{count}})": "Non-voters ({{count}})",
"None": "None",
"Overview": "Overview",
"ParaId": "ParaId",
"ParaThread": "ParaThread",
"Parathreads": "Parathreads",
"Past": "Past",
"Place bid": "Place bid",
"Please ensure this is your intended action before continuing.": "Please ensure this is your intended action before continuing.",
"Potentially release any reserved deposits linked to it.": "Potentially release any reserved deposits linked to it.",
"Proposals": "Proposals",
"Propose": "Propose",
"Propose teyrchain": "Propose teyrchain",
"Refund": "Refund",
"Register parathread": "Register parathread",
"Remove it from the active teyrchain/parathread set.": "Remove it from the active teyrchain/parathread set.",
"Remove validator": "Remove validator",
"Require re-registration if you wish to use it again.": "Require re-registration if you wish to use it again.",
"Reserve ParaId": "Reserve ParaId",
"Submit": "Submit",
"Teleport": "Teleport",
"Teleport assets": "Teleport assets",
"The Id of this teyrchain as known on the network (selected from nextFreeId)": "The Id of this teyrchain as known on the network (selected from nextFreeId)",
"The WASM validation function as well as the genesis state for this teyrchain.": "The WASM validation function as well as the genesis state for this teyrchain.",
"The WASM validation function for this teyrchain.": "The WASM validation function for this teyrchain.",
"The above contribution should more than minimum contribution amount and less than the remaining value.": "The above contribution should more than minimum contribution amount and less than the remaining value.",
"The amount deposited to the recipient will be net the calculated cross-chain fee. If the recipient address is new, the amount deposited should be greater than the Existential Deposit": "The amount deposited to the recipient will be net the calculated cross-chain fee. If the recipient address is new, the amount deposited should be greater than the Existential Deposit",
"The amount is less than the minimum allowed contribution of {{value}}": "The amount is less than the minimum allowed contribution of {{value}}",
"The amount is more than the remaining contribution needed {{value}}": "The amount is more than the remaining contribution needed {{value}}",
"The amount to be raised in this funding campaign.": "The amount to be raised in this funding campaign.",
"The amount to bid for this teyrchain lease period range.": "The amount to bid for this teyrchain lease period range.",
"The amount to contribute from this account.": "The amount to contribute from this account.",
"The amount to to bid for this teyrchain lease period range.": "The amount to to bid for this teyrchain lease period range.",
"The beneficiary will have access to the transferred amount when the transaction is included in a block.": "The beneficiary will have access to the transferred amount when the transaction is included in a block.",
"The bid should be more than the current range winner to be accepted and influence the auction outcome.": "The bid should be more than the current range winner to be accepted and influence the auction outcome.",
"The code is not recognized as being in valid WASM format": "The code is not recognized as being in valid WASM format",
"The destination account must hold at least the minimum existential deposit after receiving the transfer and paying any applicable destination fees.": "The destination account must hold at least the minimum existential deposit after receiving the transfer and paying any applicable destination fees.",
"The destination chain for this asset teleport. The transferred value will appear on this chain.": "The destination chain for this asset teleport. The transferred value will appear on this chain.",
"The end block for contributions to this fund.": "The end block for contributions to this fund.",
"The ending lease period should be after the first and a maximum of {{maxPeriods}} periods more than the first": "The ending lease period should be after the first and a maximum of {{maxPeriods}} periods more than the first",
"The first and last lease period for this bid. The last lease period should be after the first with the maximum determined by the auction config.": "The first and last lease period for this bid. The last lease period should be after the first with the maximum determined by the auction config.",
"The first and last lease periods for this funding campaign.": "The first and last lease periods for this funding campaign.",
"The genesis state for this teyrchain.": "The genesis state for this teyrchain.",
"The hex-encoded verifier signature should be provided to you by the team running the crowdloan (based on the information you provide).": "The hex-encoded verifier signature should be provided to you by the team running the crowdloan (based on the information you provide).",
"The id of this teyrchain as known on the network": "The id of this teyrchain as known on the network",
"The name for this teyrchain, the id and the allocated/requested balance.": "The name for this teyrchain, the id and the allocated/requested balance.",
"The reservation fee for this Id": "The reservation fee for this Id",
"The reservation fee for this teyrchain, including base fee and per-byte fees": "The reservation fee for this teyrchain, including base fee and per-byte fees",
"The source account must retain a balance greater than the existential deposit after covering the fee.": "The source account must retain a balance greater than the existential deposit after covering the fee.",
"The teyrchain can be modified, replaced, or removed - it's neither protected nor in a transitional state": "The teyrchain can be modified, replaced, or removed - it's neither protected nor in a transitional state",
"The teyrchain id is associated with the selected account via parathread registration.": "The teyrchain id is associated with the selected account via parathread registration.",
"The transferred balance will be subtracted (along with fees) from the sender account.": "The transferred balance will be subtracted (along with fees) from the sender account.",
"The validators for this teyrchain. At least one is required and where multiple is supplied, they need to be unique.": "The validators for this teyrchain. At least one is required and where multiple is supplied, they need to be unique.",
"The verifier signature that is to be associated with this contribution.": "The verifier signature that is to be associated with this contribution.",
"There are no available parathreads": "There are no available parathreads",
"There are no pending proposals": "There are no pending proposals",
"There are no registered teyrchains": "There are no registered teyrchains",
"This account that has been used to register the teyrchain. This will pay all associated fees.": "This account that has been used to register the teyrchain. This will pay all associated fees.",
"This account will be associated with the teyrchain and pay the deposit.": "This account will be associated with the teyrchain and pay the deposit.",
"This account will be used to send the transaction.": "This account will be used to send the transaction.",
"This account will be used to the Id reservation and for the future parathread.": "This account will be used to the Id reservation and for the future parathread.",
"This account will contribute to the crowdloan.": "This account will contribute to the crowdloan.",
"This account will pay the fees for the dissolving crowdloan": "This account will pay the fees for the dissolving crowdloan",
"This action is permanent.": "This action is permanent.",
"This is the amount to be teleported to the destination chain and does not account for the source or the destination transfer fee": "This is the amount to be teleported to the destination chain and does not account for the source or the destination transfer fee",
"To ensure a successful XCM transaction, please make sure the following conditions are met:": "To ensure a successful XCM transaction, please make sure the following conditions are met:",
"Upgrading": "Upgrading",
"Val. Group {{group}} ({{count}})": "Val. Group {{group}} ({{count}})",
"Validators ({{count}})": "Validators ({{count}})",
"Winner": "Winner",
"Withdraw from fund": "Withdraw from fund",
"Yes": "Yes",
"You have duplicated validator entries, ensure each is unique.": "You have duplicated validator entries, ensure each is unique.",
"You need to supply at last one running validator for your teyrchain alongside this request.": "You need to supply at last one running validator for your teyrchain alongside this request.",
"active": "active",
"active raised / cap": "active raised / cap",
"amount": "amount",
"auctions": "auctions",
"backed": "backed",
"balance": "balance",
"bid amount": "bid amount",
"bid period range (first lease - last lease)": "bid period range (first lease - last lease)",
"bidder": "bidder",
"bids": "bids",
"chain": "chain",
"code": "code",
"completed": "completed",
"contribute from": "contribute from",
"contribution": "contribution",
"count": "count",
"crowdfund cap": "crowdfund cap",
"crowdloan": "crowdloan",
"current lease": "current lease",
"current range winning bid": "current range winning bid",
"destination chain": "destination chain",
"destination existential deposit": "destination existential deposit",
"dissolve crowdloan": "dissolve crowdloan",
"end period at": "end period at",
"ending": "ending",
"ending block": "ending block",
"ending period": "ending period",
"finalized": "finalized",
"first - last": "first - last",
"first period": "first period",
"funds": "funds",
"genesis state": "genesis state",
"head": "head",
"in/out": "in/out",
"included": "included",
"initial balance": "initial balance",
"initial state": "initial state",
"last period": "last period",
"latest": "latest",
"lease period": "lease period",
"leases": "leases",
"lifecycle": "lifecycle",
"minimum allowed": "minimum allowed",
"no": "no",
"ongoing": "ongoing",
"parathreads": "parathreads",
"proposals": "proposals",
"propose from": "propose from",
"proposer": "proposer",
"raised": "raised",
"register from": "register from",
"remaining till cap": "remaining till cap",
"requested id": "requested id",
"requesting from": "requesting from",
"reserve from": "reserve from",
"reserved deposit": "reserved deposit",
"send from account": "send from account",
"send to address": "send to address",
"teyrchain id": "teyrchain id",
"teyrchain name": "teyrchain name",
"teyrchain owner": "teyrchain owner",
"teyrchains": "teyrchains",
"the Pezkuwi Crowdloan UI": "the Pezkuwi Crowdloan UI",
"timeout": "timeout",
"total": "total",
"total raised / cap": "total raised / cap",
"transferable": "transferable",
"validation code": "validation code",
"validator {{index}}": "validator {{index}}",
"value": "value",
"verifier signature": "verifier signature",
"yes": "yes"
}
@@ -0,0 +1,29 @@
{
"All voters may alter their votes any number of times prior to the close of the poll.": "All voters may alter their votes any number of times prior to the close of the poll.",
"Any combination of the four options may be approved of by the voter. There is no need to select only one option!": "Any combination of the four options may be approved of by the voter. There is no need to select only one option!",
"Approving of all or none of the options is equivalent and will not affect the outcome of the poll.": "Approving of all or none of the options is equivalent and will not affect the outcome of the poll.",
"Aye, I support this": "Aye, I support this",
"Completed": "Completed",
"Denomination poll": "Denomination poll",
"Locked funds (e.g. for staking) are counted.": "Locked funds (e.g. for staking) are counted.",
"Nay, I do not support this": "Nay, I do not support this",
"No change": "No change",
"No change from the original 2017 sale definitions; will mean a total of 10 million HEZ from genesis.": "No change from the original 2017 sale definitions; will mean a total of 10 million HEZ from genesis.",
"No discretionary lock-voting is in place; all HEZ used to vote counts the same.": "No discretionary lock-voting is in place; all HEZ used to vote counts the same.",
"Retrieving totals...": "Retrieving totals...",
"Split of 1000x": "Split of 1000x",
"Split of 1000x from the original sale; will mean a total of 10 billion HEZ from genesis. Apparent HEZ price would be 1000x lower and apparent account balances 1000x higher.": "Split of 1000x from the original sale; will mean a total of 10 billion HEZ from genesis. Apparent HEZ price would be 1000x lower and apparent account balances 1000x higher.",
"Split of 100x": "Split of 100x",
"Split of 100x from the original sale; will mean a total of 1 billion HEZ from genesis. Apparent HEZ price would be 100x lower and apparent account balances 100x higher.": "Split of 100x from the original sale; will mean a total of 1 billion HEZ from genesis. Apparent HEZ price would be 100x lower and apparent account balances 100x higher.",
"Split of 10x": "Split of 10x",
"Split of 10x from the original sale; will mean a total of 100 million HEZ from genesis. Apparent HEZ price would be 10x lower and apparent account balances 10x higher.": "Split of 10x from the original sale; will mean a total of 100 million HEZ from genesis. Apparent HEZ price would be 10x lower and apparent account balances 10x higher.",
"This vote does not affect any economics of the Pezkuwi platform. Staking rewards, inflation, effective market capitalisation and the underlying balances of every account remain completely unchanged. It is \"merely\" about what units we use to denominate the balances into \"HEZ\" for the purpose of display.": "This vote does not affect any economics of the Pezkuwi platform. Staking rewards, inflation, effective market capitalisation and the underlying balances of every account remain completely unchanged. It is \"merely\" about what units we use to denominate the balances into \"HEZ\" for the purpose of display.",
"Vote": "Vote",
"Voting closed": "Voting closed",
"Voting costs nothing other than the transaction fee and can be done from all accounts with a non-zero spendable balance.": "Voting costs nothing other than the transaction fee and can be done from all accounts with a non-zero spendable balance.",
"Voting is made on a per-account basis; a single account must all vote the same way and cannot split its vote.": "Voting is made on a per-account basis; a single account must all vote the same way and cannot split its vote.",
"denomination vote": "denomination vote",
"vote using my account": "vote using my account",
"{{balance}} voted": "{{balance}} voted",
"{{percentage}}% turnout": "{{percentage}}% turnout"
}
@@ -0,0 +1,24 @@
{
"Add preimage": "Add preimage",
"No hashes found": "No hashes found",
"Overview": "Overview",
"Submit preimage": "Submit preimage",
"The calculated storage costs based on the base and the per-bytes fee.": "The calculated storage costs based on the base and the per-bytes fee.",
"The image (proposal) will be stored on-chain against the hash of the contents.": "The image (proposal) will be stored on-chain against the hash of the contents.",
"This account will pay the fees for the preimage, based on the size thereof.": "This account will pay the fees for the preimage, based on the size thereof.",
"Unnote": "Unnote",
"When submitting a proposal the hash needs to be known. Proposals can be submitted with hash-only, but upon dispatch the preimage needs to be available.": "When submitting a proposal the hash needs to be known. Proposals can be submitted with hash-only, but upon dispatch the preimage needs to be available.",
"calculated storage fee": "calculated storage fee",
"call": "call",
"hash": "hash",
"images": "images",
"length": "length",
"my preimages": "my preimages",
"preimage hash": "preimage hash",
"preimage length": "preimage length",
"preimages": "preimages",
"propose": "propose",
"send from account": "send from account",
"status": "status",
"transferable": "transferable"
}
@@ -0,0 +1,7 @@
{
"Membership rank": "Membership rank",
"No members found": "No members found",
"Overview": "Overview",
"Referenda ({{count}})": "Referenda ({{count}})",
"members": "members"
}
@@ -0,0 +1,110 @@
{
"A specific block to enact the proposal at.": "A specific block to enact the proposal at.",
"Abstain": "Abstain",
"Addresses": "Addresses",
"After delay": "After delay",
"All active/available tracks": "All active/available tracks",
"At block": "At block",
"Aye": "Aye",
"Aye {{count}}": "Aye {{count}}",
"Confirm end": "Confirm end",
"Confirmation period": "Confirmation period",
"Confirming": "Confirming",
"Conviction locks do overlap and are not additive, meaning that funds locked during a previous vote can be locked again.": "Conviction locks do overlap and are not additive, meaning that funds locked during a previous vote can be locked again.",
"Deciding": "Deciding",
"Decision deposit": "Decision deposit",
"Delegate": "Delegate",
"Delegate from this account to another. All votes made on the target would count as a delegated vote for this account.": "Delegate from this account to another. All votes made on the target would count as a delegated vote for this account.",
"Delegate votes {{step}}/{{numSteps}}": "Delegate votes {{step}}/{{numSteps}}",
"Either delegate your votes for a single track as selected or delegate for all available tracks.": "Either delegate your votes for a single track as selected or delegate for all available tracks.",
"Enact after": "Enact after",
"Enact at": "Enact at",
"Enact end": "Enact end",
"Enactment period": "Enactment period",
"Fellows": "Fellows",
"If this proposal is passed, the changes will be applied via dispatch and the deposit returned.": "If this proposal is passed, the changes will be applied via dispatch and the deposit returned.",
"Nay": "Nay",
"Nay {{count}}": "Nay {{count}}",
"Next": "Next",
"Next alarm": "Next alarm",
"No active referenda": "No active referenda",
"Overview": "Overview",
"Place decision deposit": "Place decision deposit",
"Place deposit": "Place deposit",
"Preparing": "Preparing",
"Prev": "Prev",
"Refund decision deposit": "Refund decision deposit",
"Refund deposit": "Refund deposit",
"Select from a list of pre-propulated accounts (based on your account activity) or supply your own": "Select from a list of pre-propulated accounts (based on your account activity) or supply your own",
"Split": "Split",
"Submit proposal": "Submit proposal",
"Submitted at": "Submitted at",
"The account that you wish to delegate to": "The account that you wish to delegate to",
"The balance associated with the vote will be locked as per the conviction specified and will not be available for transfer during this period.": "The balance associated with the vote will be locked as per the conviction specified and will not be available for transfer during this period.",
"The deposit for this proposal will be locked for the referendum duration.": "The deposit for this proposal will be locked for the referendum duration.",
"The deposit will be registered from this account and the balance lock will be applied here.": "The deposit will be registered from this account and the balance lock will be applied here.",
"The hash of the preimage for the proposal as previously submitted or intended.": "The hash of the preimage for the proposal as previously submitted or intended.",
"The length value will be auto-populated from the on-chain value if it is found.": "The length value will be auto-populated from the on-chain value if it is found.",
"The length value witll be auto-populated from the on-chain value if is is found.": "The length value witll be auto-populated from the on-chain value if is is found.",
"The moment of enactment, either at a specific block, or after a specific number of blocks.": "The moment of enactment, either at a specific block, or after a specific number of blocks.",
"The number of blocks to delay enactment after proposal approval.": "The number of blocks to delay enactment after proposal approval.",
"The origin (and by extension track) that you wish to submit for, each has a different period, different root and acceptance criteria.": "The origin (and by extension track) that you wish to submit for, each has a different period, different root and acceptance criteria.",
"The proposal will be registered from this account and the balance lock will be applied here.": "The proposal will be registered from this account and the balance lock will be applied here.",
"The referendum this deposit would apply to.": "The referendum this deposit would apply to.",
"The transaction will be submitted from this account.": "The transaction will be submitted from this account.",
"The type of vote that you wish to cast on the referendum.": "The type of vote that you wish to cast on the referendum.",
"The value of the balance that is to be split to the abstain, aye and nay parts of the vote": "The value of the balance that is to be split to the abstain, aye and nay parts of the vote",
"The value of the balance that is to be split to the aye and nay parts of the vote": "The value of the balance that is to be split to the aye and nay parts of the vote",
"The vote will be recorded for this account. If another account delegated to this one, the delegated votes will also be counted.": "The vote will be recorded for this account. If another account delegated to this one, the delegated votes will also be counted.",
"This account has no voting/delegating activity in the chain state": "This account has no voting/delegating activity in the chain state",
"This account has some delegations in itself": "This account has some delegations in itself",
"Validators": "Validators",
"Vote": "Vote",
"Vote Aye": "Vote Aye",
"Vote Nay": "Vote Nay",
"Vote on referendum": "Vote on referendum",
"abstain vote value": "abstain vote value",
"active": "active",
"active issuance": "active issuance",
"after number of blocks": "after number of blocks",
"apply delegation to all tracks": "apply delegation to all tracks",
"approval / {{percent}}%": "approval / {{percent}}%",
"at specific block": "at specific block",
"aye vote value": "aye vote value",
"conviction": "conviction",
"current approval (failing)": "current approval (failing)",
"current approval (passing)": "current approval (passing)",
"current support (failing)": "current support (failing)",
"current support (passing)": "current support (passing)",
"decision deposit": "decision deposit",
"delegate from account": "delegate from account",
"delegate to address": "delegate to address",
"delegate to fellow": "delegate to fellow",
"delegate to validator": "delegate to validator",
"delegated vote value": "delegated vote value",
"delegating": "delegating",
"deposit from account": "deposit from account",
"inactive issuance": "inactive issuance",
"minimum approval": "minimum approval",
"minimum support": "minimum support",
"nay vote value": "nay vote value",
"preimage": "preimage",
"preimage hash": "preimage hash",
"preimage length": "preimage length",
"propose from account": "propose from account",
"referenda": "referenda",
"referendum id": "referendum id",
"refund from account": "refund from account",
"selected track": "selected track",
"submission deposit": "submission deposit",
"submission track": "submission track",
"support / {{percent}}%": "support / {{percent}}%",
"total": "total",
"total issuance": "total issuance",
"track origin": "track origin",
"transferable": "transferable",
"vote": "vote",
"votes": "votes",
"{{blocks}} blocks": "{{blocks}} blocks",
"{{when}} (est.)": "{{when}} (est.)"
}
@@ -0,0 +1,7 @@
{
"Submission": "Submission",
"Submit RPC call": "Submit RPC call",
"call the selected endpoint": "call the selected endpoint",
"sign data from account": "sign data from account",
"with an index of": "with an index of"
}
@@ -0,0 +1,5 @@
{
"Calls": "Calls",
"Submit Runtime call": "Submit Runtime call",
"call the selected endpoint": "call the selected endpoint"
}
@@ -0,0 +1,12 @@
{
"No active schedules": "No active schedules",
"Nothing queued for execution": "Nothing queued for execution",
"Overview": "Overview",
"count": "count",
"dispatch queue": "dispatch queue",
"enact": "enact",
"id": "id",
"period": "period",
"remaining": "remaining",
"scheduled": "scheduled"
}
@@ -0,0 +1,57 @@
{
"API Version": "API Version",
"Additional types as a JSON file (or edit below)": "Additional types as a JSON file (or edit below)",
"Address Prefix": "Address Prefix",
"Allow local in-browser account storage": "Allow local in-browser account storage",
"Apply to UI": "Apply to UI",
"Apps Version": "Apps Version",
"Chain Type": "Chain Type",
"Color": "Color",
"Current Block": "Current Block",
"Dark theme": "Dark theme",
"Decimals": "Decimals",
"Developer": "Developer",
"Do not allow local in-browser account storage": "Do not allow local in-browser account storage",
"Extensions": "Extensions",
"General": "General",
"Generate {{lng}}/translation.json": "Generate {{lng}}/translation.json",
"Genesis Hash": "Genesis Hash",
"It is recommended that you store all keys externally to the in-page browser local storage, either on browser extensions, signers operating via QR codes or hardware devices. This option is provided for advanced users with strong backup policies.": "It is recommended that you store all keys externally to the in-page browser local storage, either on browser extensions, signers operating via QR codes or hardware devices. This option is provided for advanced users with strong backup policies.",
"Ledger hardware device support is only available on Chromium-based browsers where WebUSB and WebHID support is available in the browser.": "Ledger hardware device support is only available on Chromium-based browsers where WebUSB and WebHID support is available in the browser.",
"Ledger support is still experimental and some issues may remain. Trust, but verify the addresses on your devices before transferring large amounts. There are some features that will not work, including batch calls (used extensively in staking and democracy) as well as any identity operations.": "Ledger support is still experimental and some issues may remain. Trust, but verify the addresses on your devices before transferring large amounts. There are some features that will not work, including batch calls (used extensively in staking and democracy) as well as any identity operations.",
"Light theme": "Light theme",
"Metadata": "Metadata",
"Network Name": "Network Name",
"No Upgradable extensions": "No Upgradable extensions",
"No open tips": "No open tips",
"No version information available": "No version information available",
"Node version": "Node version",
"Reset": "Reset",
"Runtime Version": "Runtime Version",
"Save": "Save",
"Save & Reload": "Save & Reload",
"Share": "Share",
"Translate": "Translate",
"UI options": "UI options",
"Unit": "Unit",
"Update metadata": "Update metadata",
"Your custom types have been added": "Your custom types have been added",
"account options": "account options",
"address prefix": "address prefix",
"chain specifications": "chain specifications",
"default icon theme": "default icon theme",
"default interface language": "default interface language",
"default interface theme": "default interface theme",
"do not include empty strings in the generated file": "do not include empty strings in the generated file",
"generate random color": "generate random color",
"in-browser account creation": "in-browser account creation",
"include all empty strings in the generated file": "include all empty strings in the generated file",
"manage hardware connections": "manage hardware connections",
"manage ledger app": "manage ledger app",
"system version": "system version",
"the language to display translations for": "the language to display translations for",
"the module to display strings for": "the module to display strings for",
"upgradable extensions": "upgradable extensions",
"url": "url",
"{{done}}/{{total}}, {{progress}}% done": "{{done}}/{{total}}, {{progress}}% done"
}
@@ -0,0 +1,23 @@
{
"Crypto not detected": "Crypto not detected",
"No": "No",
"Sign message": "Sign message",
"This account that will perform the message signing.": "This account that will perform the message signing.",
"This external account cannot be used to sign data. Only Limited support is currently available for signing from any non-internal accounts.": "This external account cannot be used to sign data. Only Limited support is currently available for signing from any non-internal accounts.",
"This injected account cannot be used to sign data since the extension does not support raw signing.": "This injected account cannot be used to sign data since the extension does not support raw signing.",
"Unlock": "Unlock",
"Unlock account": "Unlock account",
"Unlock the account for signing. Once active the signature will be generated based on the content provided.": "Unlock the account for signing. Once active the signature will be generated based on the content provided.",
"Verify signature": "Verify signature",
"Yes": "Yes",
"You need to unlock this account to be able to sign data.": "You need to unlock this account to be able to sign data.",
"account": "account",
"hex input data": "hex input data",
"password": "password",
"sign the following data": "sign the following data",
"signature crypto type": "signature crypto type",
"signature of supplied data": "signature of supplied data",
"the supplied signature": "the supplied signature",
"using the following data": "using the following data",
"verify using address": "verify using address"
}
@@ -0,0 +1,61 @@
{
"Approvals": "Approvals",
"Aye, I approve": "Aye, I approve",
"Bid": "Bid",
"Bid to join": "Bid to join",
"Candidate": "Candidate",
"Candidates": "Candidates",
"Defender": "Defender",
"Nay, I do not approve": "Nay, I do not approve",
"No active members": "No active members",
"No bids": "No bids",
"No candidates": "No candidates",
"No suspended candidates": "No suspended candidates",
"No suspended members": "No suspended members",
"Overview": "Overview",
"Payouts ({{count}})": "Payouts ({{count}})",
"Rejections": "Rejections",
"Skeptics": "Skeptics",
"Submit bid": "Submit bid",
"Suspended": "Suspended",
"The amount to tie to your bid. The lowest bidder moves forward.": "The amount to tie to your bid. The lowest bidder moves forward.",
"The amount you wish to be tipped for your bid.": "The amount you wish to be tipped for your bid.",
"The candidate/bid account. Once accepted this account will become a member.": "The candidate/bid account. Once accepted this account will become a member.",
"Unbid": "Unbid",
"Unvouch": "Unvouch",
"Vote": "Vote",
"Vote for candidate": "Vote for candidate",
"Vote for defender": "Vote for defender",
"Vouch": "Vouch",
"Vouch for": "Vouch for",
"Vouch for a new candidate": "Vouch for a new candidate",
"Your candidate/bid account. Once accepted this account will become a member.": "Your candidate/bid account. Once accepted this account will become a member.",
"Your member account that the vouch is made from.": "Your member account that the vouch is made from.",
"bid account": "bid account",
"bid amount": "bid amount",
"bid kind": "bid kind",
"bids": "bids",
"candidates": "candidates",
"challenge": "challenge",
"defender": "defender",
"design samples": "design samples",
"founder": "founder",
"member account": "member account",
"members": "members",
"payout": "payout",
"payouts": "payouts",
"pot": "pot",
"rotation": "rotation",
"skeptic": "skeptic",
"society head": "society head",
"strikes": "strikes",
"suspended": "suspended",
"tip": "tip",
"tip amount": "tip amount",
"value": "value",
"vote for candidate": "vote for candidate",
"vote for defender": "vote for defender",
"vote from account": "vote from account",
"voted": "voted",
"voted on": "voted on"
}
@@ -0,0 +1,251 @@
{
"A controller account should not be set to manage multiple stashes. The selected controller is already controlling {{stashId}}": "A controller account should not be set to manage multiple stashes. The selected controller is already controlling {{stashId}}",
"A controller account should not map to another stash. This selected controller is a stash, controlled by {{bondedId}}": "A controller account should not map to another stash. This selected controller is a stash, controlled by {{bondedId}}",
"Accounts": "Accounts",
"Active": "Active",
"Active Validators": "Active Validators",
"Active nominations ({{count}})": "Active nominations ({{count}})",
"All Validators": "All Validators",
"All rewards will go towards the selected output destination when a payout is made.": "All rewards will go towards the selected output destination when a payout is made.",
"All stashes": "All stashes",
"All validators": "All validators",
"As such it is recommended that you setup a proxy to control operations via the stash.": "As such it is recommended that you setup a proxy to control operations via the stash.",
"Asset Hub": "Asset Hub",
"Asset Hub Events": "Asset Hub Events",
"Asset Hub chain": "Asset Hub chain",
"Aura": "Aura",
"Babe": "Babe",
"Bags": "Bags",
"Bags List": "Bags List",
"Bond": "Bond",
"Bond & Nominate": "Bond & Nominate",
"Bond & Validate": "Bond & Validate",
"Bond Extra": "Bond Extra",
"Bond extra into pool": "Bond extra into pool",
"Bond more": "Bond more",
"Bond more funds": "Bond more funds",
"Bonding Preferences": "Bonding Preferences",
"Change controller account": "Change controller account",
"Change reward destination": "Change reward destination",
"Change session keys": "Change session keys",
"Change validator preferences": "Change validator preferences",
"Command Center": "Command Center",
"Connecting to Asset Hub": "Connecting to Asset Hub",
"Connecting to Relay chain": "Connecting to Relay chain",
"Controller account": "Controller account",
"Distinct stash and controller accounts are recommended to ensure fund security. You will be allowed to make the transaction, but take care to not tie up all funds, only use a portion of the available funds during this period.": "Distinct stash and controller accounts are recommended to ensure fund security. You will be allowed to make the transaction, but take care to not tie up all funds, only use a portion of the available funds during this period.",
"Election": "Election",
"For fund security, your session key should not match your stash key.": "For fund security, your session key should not match your stash key.",
"Free balance": "Free balance",
"Grandpa": "Grandpa",
"I'm Online": "I'm Online",
"Inactive": "Inactive",
"Inactive nominations ({{count}})": "Inactive nominations ({{count}})",
"Inject Keys": "Inject Keys",
"Inject session keys (advanced)": "Inject session keys (advanced)",
"Keys from rotateKeys": "Keys from rotateKeys",
"Last Session Report End Index": "Last Session Report End Index",
"No active validators found": "No active validators found",
"No events available": "No events available",
"No funds staked yet. Bond funds to validate or nominate a validator": "No funds staked yet. Bond funds to validate or nominate a validator",
"No relevant events in recent blocks": "No relevant events in recent blocks",
"No waiting validators found": "No waiting validators found",
"No, block all nominations": "No, block all nominations",
"Nominate": "Nominate",
"Nominate Validators": "Nominate Validators",
"Nominations ({{count}})": "Nominations ({{count}})",
"Nominator": "Nominator",
"Nominators": "Nominators",
"Nominators can be selected manually from the list of all currently available validators.": "Nominators can be selected manually from the list of all currently available validators.",
"Not participating in any pools. Join a pool first.": "Not participating in any pools. Join a pool first.",
"Once bonded, it will need to be unlocked/withdrawn and will be locked for at least the bonding duration.": "Once bonded, it will need to be unlocked/withdrawn and will be locked for at least the bonding duration.",
"Once transmitted the new selection will only take effect in 2 eras taking the new validator election cycle into account. Until then, the nominations will show as inactive.": "Once transmitted the new selection will only take effect in 2 eras taking the new validator election cycle into account. Until then, the nominations will show as inactive.",
"Oversubscribed nominations ({{count}})": "Oversubscribed nominations ({{count}})",
"Own validators": "Own validators",
"Payouts": "Payouts",
"Pool rewards": "Pool rewards",
"Pooled": "Pooled",
"Pools": "Pools",
"Preparing validator list": "Preparing validator list",
"Rebond": "Rebond",
"Rebond funds": "Rebond funds",
"Relay Active Era Index": "Relay Active Era Index",
"Relay Chain": "Relay Chain",
"Relay Chain Events": "Relay Chain Events",
"Relay Session Index": "Relay Session Index",
"Relay chain": "Relay chain",
"Remove": "Remove",
"Remove nominees": "Remove nominees",
"Renomination required ({{count}})": "Renomination required ({{count}})",
"Retrieving active nominators": "Retrieving active nominators",
"Retrieving nominators": "Retrieving nominators",
"Retrieving online status": "Retrieving online status",
"Retrieving validator info": "Retrieving validator info",
"Retrieving validators": "Retrieving validators",
"Rewards (once paid) can be deposited to either the stash or controller, with different effects.": "Rewards (once paid) can be deposited to either the stash or controller, with different effects.",
"Session Info": "Session Info",
"Session Key": "Session Key",
"Set Session Key": "Set Session Key",
"Set controller": "Set controller",
"Set nominees": "Set nominees",
"Set reward destination": "Set reward destination",
"Set validator preferences": "Set validator preferences",
"Setup Nominator {{step}}/{{NUM_STEPS}}": "Setup Nominator {{step}}/{{NUM_STEPS}}",
"Setup Validator {{step}}/{{NUM_STEPS}}": "Setup Validator {{step}}/{{NUM_STEPS}}",
"Since this transaction deals with funding, the stash account will be used.": "Since this transaction deals with funding, the stash account will be used.",
"Slashed in era {{eras}}": "Slashed in era {{eras}}",
"Slashes": "Slashes",
"Specified payment account": "Specified payment account",
"Staking": "Staking",
"Staking AH Client": "Staking AH Client",
"Staking RC Client": "Staking RC Client",
"Staking/Elections": "Staking/Elections",
"Stash": "Stash",
"Stash account (do not increase the amount at stake)": "Stash account (do not increase the amount at stake)",
"Stash account (increase the amount at stake)": "Stash account (increase the amount at stake)",
"Stashed": "Stashed",
"Stop": "Stop",
"Submit key": "Submit key",
"Teyrchain Config": "Teyrchain Config",
"Teyrchains": "Teyrchains",
"The Threshold must be a positive number": "The Threshold must be a positive number",
"The Threshold must lower than 11": "The Threshold must lower than 11",
"The amount placed at-stake should allow some free funds for future transactions.": "The amount placed at-stake should allow some free funds for future transactions.",
"The amount placed at-stake should not be your full available amount to allow for transaction fees.": "The amount placed at-stake should not be your full available amount to allow for transaction fees.",
"The amount the is to be rebonded from the value currently unlocking, i.e. previously unbonded": "The amount the is to be rebonded from the value currently unlocking, i.e. previously unbonded",
"The amount to unbond. It should be less or equal to the full bonded amount.": "The amount to unbond. It should be less or equal to the full bonded amount.",
"The bonded amount is less than the current active minimum nominated amount of {{minNomination}} and depending on the network state, may not be selected to participate": "The bonded amount is less than the current active minimum nominated amount of {{minNomination}} and depending on the network state, may not be selected to participate",
"The bonded amount is less than the minimum bond amount of {{existentialDeposit}}": "The bonded amount is less than the minimum bond amount of {{existentialDeposit}}",
"The bonded amount is less than the minimum threshold of {{minBond}} for nominators": "The bonded amount is less than the minimum threshold of {{minBond}} for nominators",
"The bonded amount is less than the minimum threshold of {{minBond}} for validators": "The bonded amount is less than the minimum threshold of {{minBond}} for validators",
"The commission is below the on-chain minimum of {{p}}%": "The commission is below the on-chain minimum of {{p}}%",
"The commission is deducted from all rewards before the remainder is split with nominators.": "The commission is deducted from all rewards before the remainder is split with nominators.",
"The controller does not have sufficient funds available to cover transaction fees. Ensure that a funded controller is used.": "The controller does not have sufficient funds available to cover transaction fees. Ensure that a funded controller is used.",
"The funds will only be available for withdrawal after the unbonding period, however will not be part of the staked amount after the next validator election. You can follow the unlock countdown in the UI.": "The funds will only be available for withdrawal after the unbonding period, however will not be part of the staked amount after the next validator election. You can follow the unlock countdown in the UI.",
"The hex output from author_rotateKeys, as executed on the validator node. The keys will show as pending until applied at the start of a new session.": "The hex output from author_rotateKeys, as executed on the validator node. The keys will show as pending until applied at the start of a new session.",
"The key type and crypto type to use for this key. Be aware that different keys have different crypto requirements. You should be familiar with the type requirements for the different keys.": "The key type and crypto type to use for this key. Be aware that different keys have different crypto requirements. You should be familiar with the type requirements for the different keys.",
"The pool and pool member that is to be affected. The transaction will be sent from the associated pool member account.": "The pool and pool member that is to be affected. The transaction will be sent from the associated pool member account.",
"The seed and derivation path will be submitted to the validator node. this is an advanced operation, only to be performed when you are sure of the security and connection risks.": "The seed and derivation path will be submitted to the validator node. this is an advanced operation, only to be performed when you are sure of the security and connection risks.",
"The selected controller tied to this stash. Once set, this account will be able to control the actions performed by the stash account.": "The selected controller tied to this stash. Once set, this account will be able to control the actions performed by the stash account.",
"The selected destination account does not exist and cannot be used to receive rewards": "The selected destination account does not exist and cannot be used to receive rewards",
"The specified value is large and may not allow enough funds to pay future transaction fees.": "The specified value is large and may not allow enough funds to pay future transaction fees.",
"The stash account that is used. This will allow the controller to perform all non-funds related operations on behalf of the account.": "The stash account that is used. This will allow the controller to perform all non-funds related operations on behalf of the account.",
"The stash should be treated as a cold wallet.": "The stash should be treated as a cold wallet.",
"The stash that is to be affected.": "The stash that is to be affected.",
"The stash that is to be affected. The transaction will be sent from the associated controller account.": "The stash that is to be affected. The transaction will be sent from the associated controller account.",
"The validator can block any new nominations. By default it is set to allow all nominations.": "The validator can block any new nominations. By default it is set to allow all nominations.",
"There is a validator set queued in ah-client.": "There is a validator set queued in ah-client.",
"Think of the stash as your cold wallet and the controller as your hot wallet. Funding operations are controlled by the stash, any other non-funding actions by the controller itself.": "Think of the stash as your cold wallet and the controller as your hot wallet. Funding operations are controlled by the stash, any other non-funding actions by the controller itself.",
"This could mean your nomination has not been applied to any validator in the active set by the election algorithm or it has been applied against a validator who is either oversubscribed or chilled.": "This could mean your nomination has not been applied to any validator in the active set by the election algorithm or it has been applied against a validator who is either oversubscribed or chilled.",
"This operation will be performed on the relay chain.": "This operation will be performed on the relay chain.",
"This operation will submit the seed via an RPC call. Do not perform this operation on a public RPC node, but ensure that the node is local, connected to your validator and secure.": "This operation will submit the seed via an RPC call. Do not perform this operation on a public RPC node, but ensure that the node is local, connected to your validator and secure.",
"This pubic key is what will be visible in your queued keys list. It is generated based on the seed and the crypto used.": "This pubic key is what will be visible in your queued keys list. It is generated based on the seed and the crypto used.",
"To ensure optimal fund security using the same stash/controller is strongly discouraged, but not forbidden.": "To ensure optimal fund security using the same stash/controller is strongly discouraged, but not forbidden.",
"Unbond": "Unbond",
"Unbond funds": "Unbond funds",
"Unbond funds from pool": "Unbond funds from pool",
"Use the account actions to create a new validator/nominator stash and bond it to participate in staking. Do not send funds directly via a transfer to a validator.": "Use the account actions to create a new validator/nominator stash and bond it to participate in staking. Do not send funds directly via a transfer to a validator.",
"Validate": "Validate",
"Validator": "Validator",
"Validator stats": "Validator stats",
"Validators": "Validators",
"Validators/Nominators": "Validators/Nominators",
"Waiting": "Waiting",
"Waiting nominations ({{count}})": "Waiting nominations ({{count}})",
"Withdraw claimable": "Withdraw claimable",
"Withdraw unbonded": "Withdraw unbonded",
"Withdraw unbonded funds": "Withdraw unbonded funds",
"Yes, allow nominations": "Yes, allow nominations",
"You can either bond a specific amount from your free balance, or all of the accumulated rewards.": "You can either bond a specific amount from your free balance, or all of the accumulated rewards.",
"You should trust your nominations to act competently and honest; basing your decision purely on their current profitability could lead to reduced profits or even loss of funds.": "You should trust your nominations to act competently and honest; basing your decision purely on their current profitability could lead to reduced profits or even loss of funds.",
"Your bonded amount is below the on-chain minimum threshold of {{minBond}} and may be chilled. Bond extra funds to increase the bonded amount.": "Your bonded amount is below the on-chain minimum threshold of {{minBond}} and may be chilled. Bond extra funds to increase the bonded amount.",
"account": "account",
"active / nominators": "active / nominators",
"active era": "active era",
"additional free funds to bond": "additional free funds to bond",
"additional funds to bond": "additional funds to bond",
"all nodes": "all nodes",
"allows new nominations": "allows new nominations",
"amount to unbond": "amount to unbond",
"balance": "balance",
"bonded": "bonded",
"bonded eras": "bonded eras",
"candidate accounts": "candidate accounts",
"claimable": "claimable",
"commission": "commission",
"controller": "controller",
"controller account": "controller account",
"crypto type to use": "crypto type to use",
"current era": "current era",
"ed25519, Edwards": "ed25519, Edwards",
"election phase": "election phase",
"epoch": "epoch",
"era": "era",
"era session index": "era session index",
"era start session": "era start session",
"events": "events",
"existing/active nominators": "existing/active nominators",
"force era": "force era",
"forcing": "forcing",
"generated public key": "generated public key",
"graphs": "graphs",
"historic results": "historic results",
"historical range": "historical range",
"id": "id",
"ideal staked": "ideal staked",
"inflation": "inflation",
"intentions": "intentions",
"key type to set": "key type to set",
"last #": "last #",
"last session report": "last session report",
"lock": "lock",
"max downward msg size": "max downward msg size",
"max upward msg size": "max upward msg size",
"member account": "member account",
"min bonds": "min bonds",
"mode": "mode",
"multiblock phase": "multiblock phase",
"multiblock queued score": "multiblock queued score",
"next": "next",
"next active id": "next active id",
"nominated accounts": "nominated accounts",
"nominator candidates": "nominator candidates",
"nominators": "nominators",
"nominators to be removed": "nominators to be removed",
"number of validators": "number of validators",
"on-chain bonding duration": "on-chain bonding duration",
"other stake": "other stake",
"own stake": "own stake",
"payment destination": "payment destination",
"phase": "phase",
"pool id": "pool id",
"pools": "pools",
"prev": "prev",
"queued": "queued",
"queued score": "queued score",
"queued validator points": "queued validator points",
"queued validator set id": "queued validator set id",
"queued validators": "queued validators",
"rebonded amount": "rebonded amount",
"reward commission percentage": "reward commission percentage",
"rewards": "rewards",
"round": "round",
"session": "session",
"signed submissions": "signed submissions",
"snapshot range": "snapshot range",
"sr15519, Schnorrkel": "sr15519, Schnorrkel",
"staked": "staked",
"stash account": "stash account",
"stashes": "stashes",
"suri (seed & derivation)": "suri (seed & derivation)",
"the payment account": "the payment account",
"type of funds to bond": "type of funds to bond",
"unbond amount": "unbond amount",
"unpruned eras": "unpruned eras",
"validator candidates": "validator candidates",
"validator count": "validator count",
"validators": "validators",
"value bonded": "value bonded",
"waiting": "waiting",
"wanted validators": "wanted validators"
}
@@ -0,0 +1,291 @@
{
"A controller account should not be set to manage multiple stashes. The selected controller is already controlling {{stashId}}": "A controller account should not be set to manage multiple stashes. The selected controller is already controlling {{stashId}}",
"A controller account should not map to another stash. This selected controller is a stash, controlled by {{bondedId}}": "A controller account should not map to another stash. This selected controller is a stash, controlled by {{bondedId}}",
"Accounts": "Accounts",
"Active": "Active",
"Active nominations ({{count}})": "Active nominations ({{count}})",
"All bags": "All bags",
"All rewards will go towards the selected output destination when a payout is made.": "All rewards will go towards the selected output destination when a payout is made.",
"All stashes": "All stashes",
"All the listed validators and all their nominators will receive their rewards.": "All the listed validators and all their nominators will receive their rewards.",
"All validators": "All validators",
"Any account can request payout for stakers, this is not limited to accounts that will be rewarded.": "Any account can request payout for stakers, this is not limited to accounts that will be rewarded.",
"As such it is recommended that you setup a proxy to control operations via the stash.": "As such it is recommended that you setup a proxy to control operations via the stash.",
"Aura": "Aura",
"Babe": "Babe",
"Bags": "Bags",
"Bond": "Bond",
"Bond & Nominate": "Bond & Nominate",
"Bond & Validate": "Bond & Validate",
"Bond Extra": "Bond Extra",
"Bond extra into pool": "Bond extra into pool",
"Bond more": "Bond more",
"Bond more funds": "Bond more funds",
"Bonding Preferences": "Bonding Preferences",
"Cancel all": "Cancel all",
"Cancel selected": "Cancel selected",
"Change controller account": "Change controller account",
"Change reward destination": "Change reward destination",
"Change session keys": "Change session keys",
"Change validator preferences": "Change validator preferences",
"Controller account": "Controller account",
"Distinct stash and controller accounts are recommended to ensure fund security. You will be allowed to make the transaction, but take care to not tie up all funds, only use a portion of the available funds during this period.": "Distinct stash and controller accounts are recommended to ensure fund security. You will be allowed to make the transaction, but take care to not tie up all funds, only use a portion of the available funds during this period.",
"For fund security, your session key should not match your stash key.": "For fund security, your session key should not match your stash key.",
"Free balance": "Free balance",
"Grandpa": "Grandpa",
"I'm Online": "I'm Online",
"If you have not claimed rewards straight after the end of the era, the validator is in the active set and you are seeing no rewards, this would mean that the reward payout transaction was made by another account on your behalf. Always check your favorite explorer to see any historic payouts made to your accounts.": "If you have not claimed rewards straight after the end of the era, the validator is in the active set and you are seeing no rewards, this would mean that the reward payout transaction was made by another account on your behalf. Always check your favorite explorer to see any historic payouts made to your accounts.",
"Inactive": "Inactive",
"Inactive nominations ({{count}})": "Inactive nominations ({{count}})",
"Inject Keys": "Inject Keys",
"Inject session keys (advanced)": "Inject session keys (advanced)",
"Keys from rotateKeys": "Keys from rotateKeys",
"Max, {{eras}} eras": "Max, {{eras}} eras",
"Most profitable": "Most profitable",
"Move up {{jumpCount}}": "Move up {{jumpCount}}",
"My bags": "My bags",
"No active validators found": "No active validators found",
"No active validators to check": "No active validators to check",
"No available bags": "No available bags",
"No funds staked yet. Bond funds to validate or nominate a validator": "No funds staked yet. Bond funds to validate or nominate a validator",
"No pending payouts for your stashes": "No pending payouts for your stashes",
"No pending payouts for your validators": "No pending payouts for your validators",
"No waiting validators found": "No waiting validators found",
"No, block all nominations": "No, block all nominations",
"Nominate": "Nominate",
"Nominate Validators": "Nominate Validators",
"Nominate selected": "Nominate selected",
"Nominate validators": "Nominate validators",
"Nominations ({{count}})": "Nominations ({{count}})",
"Nominator": "Nominator",
"Nominators": "Nominators",
"Nominators ({{count}})": "Nominators ({{count}})",
"Nominators can be selected manually from the list of all currently available validators.": "Nominators can be selected manually from the list of all currently available validators.",
"Not participating in any pools. Join a pool first.": "Not participating in any pools. Join a pool first.",
"Once bonded, it will need to be unlocked/withdrawn and will be locked for at least the bonding duration.": "Once bonded, it will need to be unlocked/withdrawn and will be locked for at least the bonding duration.",
"Once transmitted the new selection will only take effect in 2 eras since the selection criteria for the next era was done at the end of the previous era. Until then, the nominations will show as inactive.": "Once transmitted the new selection will only take effect in 2 eras since the selection criteria for the next era was done at the end of the previous era. Until then, the nominations will show as inactive.",
"Once transmitted the new selection will only take effect in 2 eras taking the new validator election cycle into account. Until then, the nominations will show as inactive.": "Once transmitted the new selection will only take effect in 2 eras taking the new validator election cycle into account. Until then, the nominations will show as inactive.",
"One of your available nomination accounts, keyed by the stash. The transaction will be sent from the controller.": "One of your available nomination accounts, keyed by the stash. The transaction will be sent from the controller.",
"Oversubscribed nominations ({{count}})": "Oversubscribed nominations ({{count}})",
"Overview": "Overview",
"Own stashes": "Own stashes",
"Own validators": "Own validators",
"Payout": "Payout",
"Payout all": "Payout all",
"Payout all stakers": "Payout all stakers",
"Payouts": "Payouts",
"Payouts of rewards for a validator can be initiated by any account. This means that as soon as a validator or nominator requests a payout for an era, all the nominators for that validator will be rewarded. Each user does not need to claim individually and the suggestion is that validators should claim rewards for everybody as soon as an era ends.": "Payouts of rewards for a validator can be initiated by any account. This means that as soon as a validator or nominator requests a payout for an era, all the nominators for that validator will be rewarded. Each user does not need to claim individually and the suggestion is that validators should claim rewards for everybody as soon as an era ends.",
"Pool rewards": "Pool rewards",
"Pooled": "Pooled",
"Pools": "Pools",
"Preparing target display": "Preparing target display",
"Preparing validator list": "Preparing validator list",
"Rebag": "Rebag",
"Rebag dislocated entries": "Rebag dislocated entries",
"Rebag {{count}}": "Rebag {{count}}",
"Rebond": "Rebond",
"Rebond funds": "Rebond funds",
"Remove": "Remove",
"Remove nominees": "Remove nominees",
"Renomination required ({{count}})": "Renomination required ({{count}})",
"Retrieving active nominators": "Retrieving active nominators",
"Retrieving all available bags, this will take some time": "Retrieving all available bags, this will take some time",
"Retrieving info for the selected eras, this will take some time": "Retrieving info for the selected eras, this will take some time",
"Retrieving nominators": "Retrieving nominators",
"Retrieving online status": "Retrieving online status",
"Retrieving validator info": "Retrieving validator info",
"Retrieving validators": "Retrieving validators",
"Rewards (once paid) can be deposited to either the stash or controller, with different effects.": "Rewards (once paid) can be deposited to either the stash or controller, with different effects.",
"Session Key": "Session Key",
"Set Session Key": "Set Session Key",
"Set controller": "Set controller",
"Set nominees": "Set nominees",
"Set reward destination": "Set reward destination",
"Set validator preferences": "Set validator preferences",
"Setup Nominator {{step}}/{{NUM_STEPS}}": "Setup Nominator {{step}}/{{NUM_STEPS}}",
"Setup Validator {{step}}/{{NUM_STEPS}}": "Setup Validator {{step}}/{{NUM_STEPS}}",
"Since this transaction deals with funding, the stash account will be used.": "Since this transaction deals with funding, the stash account will be used.",
"Slashed in era {{eras}}": "Slashed in era {{eras}}",
"Slashes": "Slashes",
"Specified payment account": "Specified payment account",
"Stash": "Stash",
"Stash account (do not increase the amount at stake)": "Stash account (do not increase the amount at stake)",
"Stash account (increase the amount at stake)": "Stash account (increase the amount at stake)",
"Stashed": "Stashed",
"Stop": "Stop",
"Submit key": "Submit key",
"Targets": "Targets",
"Teyrchains": "Teyrchains",
"The All bags list is composed of bags that each describe a range of active bonded funds of the nominators. In each bag is a list of nodes that correspond to a nominator and their staked funds.": "The All bags list is composed of bags that each describe a range of active bonded funds of the nominators. In each bag is a list of nodes that correspond to a nominator and their staked funds.",
"The Threshold must be a positive number": "The Threshold must be a positive number",
"The Threshold must lower than 11": "The Threshold must lower than 11",
"The UI puts a limit of 40 payouts at a time, where each payout is a single validator for a single era.": "The UI puts a limit of 40 payouts at a time, where each payout is a single validator for a single era.",
"The account that will submit the rebag transaction.": "The account that will submit the rebag transaction.",
"The accounts that will be rebagged as a result of this operation.": "The accounts that will be rebagged as a result of this operation.",
"The amount placed at-stake should allow some free funds for future transactions.": "The amount placed at-stake should allow some free funds for future transactions.",
"The amount placed at-stake should not be your full available amount to allow for transaction fees.": "The amount placed at-stake should not be your full available amount to allow for transaction fees.",
"The amount the is to be rebonded from the value currently unlocking, i.e. previously unbonded": "The amount the is to be rebonded from the value currently unlocking, i.e. previously unbonded",
"The amount to unbond. It should be less or equal to the full bonded amount.": "The amount to unbond. It should be less or equal to the full bonded amount.",
"The bonded amount is less than the current active minimum nominated amount of {{minNomination}} and depending on the network state, may not be selected to participate": "The bonded amount is less than the current active minimum nominated amount of {{minNomination}} and depending on the network state, may not be selected to participate",
"The bonded amount is less than the minimum bond amount of {{existentialDeposit}}": "The bonded amount is less than the minimum bond amount of {{existentialDeposit}}",
"The bonded amount is less than the minimum threshold of {{minBond}} for nominators": "The bonded amount is less than the minimum threshold of {{minBond}} for nominators",
"The bonded amount is less than the minimum threshold of {{minBond}} for validators": "The bonded amount is less than the minimum threshold of {{minBond}} for validators",
"The commission is below the on-chain minimum of {{p}}%": "The commission is below the on-chain minimum of {{p}}%",
"The commission is deducted from all rewards before the remainder is split with nominators.": "The commission is deducted from all rewards before the remainder is split with nominators.",
"The controller does not have sufficient funds available to cover transaction fees. Ensure that a funded controller is used.": "The controller does not have sufficient funds available to cover transaction fees. Ensure that a funded controller is used.",
"The funds will only be available for withdrawal after the unbonding period, however will not be part of the staked amount after the next validator election. You can follow the unlock countdown in the UI.": "The funds will only be available for withdrawal after the unbonding period, however will not be part of the staked amount after the next validator election. You can follow the unlock countdown in the UI.",
"The hex output from author_rotateKeys, as executed on the validator node. The keys will show as pending until applied at the start of a new session.": "The hex output from author_rotateKeys, as executed on the validator node. The keys will show as pending until applied at the start of a new session.",
"The key type and crypto type to use for this key. Be aware that different keys have different crypto requirements. You should be familiar with the type requirements for the different keys.": "The key type and crypto type to use for this key. Be aware that different keys have different crypto requirements. You should be familiar with the type requirements for the different keys.",
"The pool and pool member that is to be affected. The transaction will be sent from the associated pool member account.": "The pool and pool member that is to be affected. The transaction will be sent from the associated pool member account.",
"The seed and derivation path will be submitted to the validator node. this is an advanced operation, only to be performed when you are sure of the security and connection risks.": "The seed and derivation path will be submitted to the validator node. this is an advanced operation, only to be performed when you are sure of the security and connection risks.",
"The selected controller tied to this stash. Once set, this account will be able to control the actions performed by the stash account.": "The selected controller tied to this stash. Once set, this account will be able to control the actions performed by the stash account.",
"The selected destination account does not exist and cannot be used to receive rewards": "The selected destination account does not exist and cannot be used to receive rewards",
"The selected validators to nominate, either via the \"currently best algorithm\" or via a manual selection.": "The selected validators to nominate, either via the \"currently best algorithm\" or via a manual selection.",
"The specified value is large and may not allow enough funds to pay future transaction fees.": "The specified value is large and may not allow enough funds to pay future transaction fees.",
"The stash account that is used. This will allow the controller to perform all non-funds related operations on behalf of the account.": "The stash account that is used. This will allow the controller to perform all non-funds related operations on behalf of the account.",
"The stash should be treated as a cold wallet.": "The stash should be treated as a cold wallet.",
"The stash that is to be affected.": "The stash that is to be affected.",
"The stash that is to be affected. The transaction will be sent from the associated controller account.": "The stash that is to be affected. The transaction will be sent from the associated controller account.",
"The validator can block any new nominations. By default it is set to allow all nominations.": "The validator can block any new nominations. By default it is set to allow all nominations.",
"There are no unapplied/pending slashes": "There are no unapplied/pending slashes",
"There is currently an ongoing election for new validator candidates. As such staking operations are not permitted.": "There is currently an ongoing election for new validator candidates. As such staking operations are not permitted.",
"Think of the stash as your cold wallet and the controller as your hot wallet. Funding operations are controlled by the stash, any other non-funding actions by the controller itself.": "Think of the stash as your cold wallet and the controller as your hot wallet. Funding operations are controlled by the stash, any other non-funding actions by the controller itself.",
"This could mean your nomination has not been applied to any validator in the active set by the election algorithm or it has been applied against a validator who is either oversubscribed or chilled.": "This could mean your nomination has not been applied to any validator in the active set by the election algorithm or it has been applied against a validator who is either oversubscribed or chilled.",
"This operation will submit the seed via an RPC call. Do not perform this operation on a public RPC node, but ensure that the node is local, connected to your validator and secure.": "This operation will submit the seed via an RPC call. Do not perform this operation on a public RPC node, but ensure that the node is local, connected to your validator and secure.",
"This pubic key is what will be visible in your queued keys list. It is generated based on the seed and the crypto used.": "This pubic key is what will be visible in your queued keys list. It is generated based on the seed and the crypto used.",
"To ensure optimal fund security using the same stash/controller is strongly discouraged, but not forbidden.": "To ensure optimal fund security using the same stash/controller is strongly discouraged, but not forbidden.",
"Unbond": "Unbond",
"Unbond funds": "Unbond funds",
"Unbond funds from pool": "Unbond funds from pool",
"Use the account actions to create a new validator/nominator stash and bond it to participate in staking. Do not send funds directly via a transfer to a validator.": "Use the account actions to create a new validator/nominator stash and bond it to participate in staking. Do not send funds directly via a transfer to a validator.",
"Validate": "Validate",
"Validator": "Validator",
"Validator stats": "Validator stats",
"Validators": "Validators",
"Waiting": "Waiting",
"Waiting nominations ({{count}})": "Waiting nominations ({{count}})",
"Withdraw claimable": "Withdraw claimable",
"Withdraw unbonded": "Withdraw unbonded",
"Withdraw unbonded funds": "Withdraw unbonded funds",
"Within the context of a single bag, nodes are not sorted by their stake, but instead placed in insertion order. In other words, the most recently inserted node will be the last node in the bag, regardless of stake. Events like staking rewards or slashes do not automatically put you in a different bag. The bags-list pallet comes with an important permissionless extrinsic: rebag. This allows anyone to specify another account that is in the wrong bag, and place it in the correct one.": "Within the context of a single bag, nodes are not sorted by their stake, but instead placed in insertion order. In other words, the most recently inserted node will be the last node in the bag, regardless of stake. Events like staking rewards or slashes do not automatically put you in a different bag. The bags-list pallet comes with an important permissionless extrinsic: rebag. This allows anyone to specify another account that is in the wrong bag, and place it in the correct one.",
"Yes, allow nominations": "Yes, allow nominations",
"You can either bond a specific amount from your free balance, or all of the accumulated rewards.": "You can either bond a specific amount from your free balance, or all of the accumulated rewards.",
"You should trust your nominations to act competently and honest; basing your decision purely on their current profitability could lead to reduced profits or even loss of funds.": "You should trust your nominations to act competently and honest; basing your decision purely on their current profitability could lead to reduced profits or even loss of funds.",
"Your bonded amount is below the on-chain minimum threshold of {{minBond}} and may be chilled. Bond extra funds to increase the bonded amount.": "Your bonded amount is below the on-chain minimum threshold of {{minBond}} and may be chilled. Bond extra funds to increase the bonded amount.",
"account": "account",
"active / nominators": "active / nominators",
"additional free funds to bond": "additional free funds to bond",
"additional funds to bond": "additional funds to bond",
"allows new nominations": "allows new nominations",
"amount to unbond": "amount to unbond",
"apply": "apply",
"average": "average",
"bags": "bags",
"balance": "balance",
"bonded": "bonded",
"candidate accounts": "candidate accounts",
"capacity < {{maxCap}}%": "capacity < {{maxCap}}%",
"claimable": "claimable",
"comm.": "comm.",
"comm. <= median": "comm. <= median",
"comm. <= {{maxComm}}%": "comm. <= {{maxComm}}%",
"commission": "commission",
"controller": "controller",
"controller account": "controller account",
"crypto type to use": "crypto type to use",
"currently elected": "currently elected",
"defer": "defer",
"ed25519, Edwards": "ed25519, Edwards",
"elected stake": "elected stake",
"era points": "era points",
"era {{era}}": "era {{era}}",
"era {{era}}/unapplied": "era {{era}}/unapplied",
"eras": "eras",
"existing/active nominators": "existing/active nominators",
"filter by name, address or index": "filter by name, address or index",
"first": "first",
"generated public key": "generated public key",
"graphs": "graphs",
"historic results": "historic results",
"ideal staked": "ideal staked",
"inflation": "inflation",
"intentions": "intentions",
"key type to set": "key type to set",
"last": "last",
"last #": "last #",
"last reward": "last reward",
"lowest / avg staked": "lowest / avg staked",
"max": "max",
"member account": "member account",
"min": "min",
"min nominated": "min nominated",
"min nominated / threshold": "min nominated / threshold",
"my nodes": "my nodes",
"next": "next",
"nodes": "nodes",
"nominated accounts": "nominated accounts",
"nominators": "nominators",
"nominators to be removed": "nominators to be removed",
"on-chain bonding duration": "on-chain bonding duration",
"one validator per operator": "one validator per operator",
"other": "other",
"other stake": "other stake",
"overall/validator": "overall/validator",
"own": "own",
"own stake": "own stake",
"payment destination": "payment destination",
"payout": "payout",
"payout stakers for (multiple)": "payout stakers for (multiple)",
"payout stakers for (single)": "payout stakers for (single)",
"payout/stash": "payout/stash",
"payout/validator": "payout/validator",
"points": "points",
"pool id": "pool id",
"pools": "pools",
"prev": "prev",
"rebag from account": "rebag from account",
"rebonded amount": "rebonded amount",
"recent payouts": "recent payouts",
"recently": "recently",
"reporters": "reporters",
"request payout from": "request payout from",
"return": "return",
"returns": "returns",
"reward commission percentage": "reward commission percentage",
"rewards": "rewards",
"rewards & slashes": "rewards & slashes",
"selected validators": "selected validators",
"sr15519, Schnorrkel": "sr15519, Schnorrkel",
"staked": "staked",
"stash account": "stash account",
"stashes": "stashes",
"suri (seed & derivation)": "suri (seed & derivation)",
"the associated controller": "the associated controller",
"the payment account": "the payment account",
"the stash account to nominate with": "the stash account to nominate with",
"to rebag": "to rebag",
"total": "total",
"total bags": "total bags",
"total nodes": "total nodes",
"total stake": "total stake",
"total staked": "total staked",
"type of funds to bond": "type of funds to bond",
"unapplied": "unapplied",
"unbond amount": "unbond amount",
"unselected": "unselected",
"validator to query": "validator to query",
"validators": "validators",
"value bonded": "value bonded",
"waiting": "waiting",
"with an identity": "with an identity",
"with capacity": "with capacity",
"yesterday": "yesterday",
"{{count}} own stashes": "{{count}} own stashes",
"{{currency}} average": "{{currency}} average",
"{{currency}} clipped": "{{currency}} clipped",
"{{currency}} paged": "{{currency}} paged",
"{{currency}} rewards": "{{currency}} rewards",
"{{currency}} slashed": "{{currency}} slashed",
"{{currency}} total": "{{currency}} total",
"{{days}} days": "{{days}} days"
}
@@ -0,0 +1,292 @@
{
"A controller account should not be set to manage multiple stashes. The selected controller is already controlling {{stashId}}": "A controller account should not be set to manage multiple stashes. The selected controller is already controlling {{stashId}}",
"A controller account should not map to another stash. This selected controller is a stash, controlled by {{bondedId}}": "A controller account should not map to another stash. This selected controller is a stash, controlled by {{bondedId}}",
"Accounts": "Accounts",
"Active": "Active",
"Active nominations ({{count}})": "Active nominations ({{count}})",
"All bags": "All bags",
"All rewards will go towards the selected output destination when a payout is made.": "All rewards will go towards the selected output destination when a payout is made.",
"All stashes": "All stashes",
"All the listed validators and all their nominators will receive their rewards.": "All the listed validators and all their nominators will receive their rewards.",
"All validators": "All validators",
"Any account can request payout for stakers, this is not limited to accounts that will be rewarded.": "Any account can request payout for stakers, this is not limited to accounts that will be rewarded.",
"As such it is recommended that you setup a proxy to control operations via the stash.": "As such it is recommended that you setup a proxy to control operations via the stash.",
"Aura": "Aura",
"Babe": "Babe",
"Bags": "Bags",
"Bond": "Bond",
"Bond & Nominate": "Bond & Nominate",
"Bond & Validate": "Bond & Validate",
"Bond Extra": "Bond Extra",
"Bond extra into pool": "Bond extra into pool",
"Bond more": "Bond more",
"Bond more funds": "Bond more funds",
"Bonding Preferences": "Bonding Preferences",
"Cancel all": "Cancel all",
"Cancel selected": "Cancel selected",
"Change controller account": "Change controller account",
"Change reward destination": "Change reward destination",
"Change session keys": "Change session keys",
"Change validator preferences": "Change validator preferences",
"Controller account": "Controller account",
"Distinct stash and controller accounts are recommended to ensure fund security. You will be allowed to make the transaction, but take care to not tie up all funds, only use a portion of the available funds during this period.": "Distinct stash and controller accounts are recommended to ensure fund security. You will be allowed to make the transaction, but take care to not tie up all funds, only use a portion of the available funds during this period.",
"For fund security, your session key should not match your stash key.": "For fund security, your session key should not match your stash key.",
"Free balance": "Free balance",
"Grandpa": "Grandpa",
"I'm Online": "I'm Online",
"If you have not claimed rewards straight after the end of the era, the validator is in the active set and you are seeing no rewards, this would mean that the reward payout transaction was made by another account on your behalf. Always check your favorite explorer to see any historic payouts made to your accounts.": "If you have not claimed rewards straight after the end of the era, the validator is in the active set and you are seeing no rewards, this would mean that the reward payout transaction was made by another account on your behalf. Always check your favorite explorer to see any historic payouts made to your accounts.",
"Inactive": "Inactive",
"Inactive nominations ({{count}})": "Inactive nominations ({{count}})",
"Inject Keys": "Inject Keys",
"Inject session keys (advanced)": "Inject session keys (advanced)",
"Keys from rotateKeys": "Keys from rotateKeys",
"Max, {{eras}} eras": "Max, {{eras}} eras",
"Most profitable": "Most profitable",
"Move up {{jumpCount}}": "Move up {{jumpCount}}",
"My bags": "My bags",
"No active validators found": "No active validators found",
"No active validators to check": "No active validators to check",
"No available bags": "No available bags",
"No funds staked yet. Bond funds to validate or nominate a validator": "No funds staked yet. Bond funds to validate or nominate a validator",
"No pending payouts for your stashes": "No pending payouts for your stashes",
"No pending payouts for your validators": "No pending payouts for your validators",
"No waiting validators found": "No waiting validators found",
"No, block all nominations": "No, block all nominations",
"Nominate": "Nominate",
"Nominate Validators": "Nominate Validators",
"Nominate selected": "Nominate selected",
"Nominate validators": "Nominate validators",
"Nominations ({{count}})": "Nominations ({{count}})",
"Nominator": "Nominator",
"Nominators": "Nominators",
"Nominators ({{count}})": "Nominators ({{count}})",
"Nominators can be selected manually from the list of all currently available validators.": "Nominators can be selected manually from the list of all currently available validators.",
"Not participating in any pools. Join a pool first.": "Not participating in any pools. Join a pool first.",
"Once bonded, it will need to be unlocked/withdrawn and will be locked for at least the bonding duration.": "Once bonded, it will need to be unlocked/withdrawn and will be locked for at least the bonding duration.",
"Once transmitted the new selection will only take effect in 2 eras since the selection criteria for the next era was done at the end of the previous era. Until then, the nominations will show as inactive.": "Once transmitted the new selection will only take effect in 2 eras since the selection criteria for the next era was done at the end of the previous era. Until then, the nominations will show as inactive.",
"Once transmitted the new selection will only take effect in 2 eras taking the new validator election cycle into account. Until then, the nominations will show as inactive.": "Once transmitted the new selection will only take effect in 2 eras taking the new validator election cycle into account. Until then, the nominations will show as inactive.",
"One of your available nomination accounts, keyed by the stash. The transaction will be sent from the controller.": "One of your available nomination accounts, keyed by the stash. The transaction will be sent from the controller.",
"Oversubscribed nominations ({{count}})": "Oversubscribed nominations ({{count}})",
"Overview": "Overview",
"Own stashes": "Own stashes",
"Own validators": "Own validators",
"Payout": "Payout",
"Payout all": "Payout all",
"Payout all stakers": "Payout all stakers",
"Payouts": "Payouts",
"Payouts of rewards for a validator can be initiated by any account. This means that as soon as a validator or nominator requests a payout for an era, all the nominators for that validator will be rewarded. Each user does not need to claim individually and the suggestion is that validators should claim rewards for everybody as soon as an era ends.": "Payouts of rewards for a validator can be initiated by any account. This means that as soon as a validator or nominator requests a payout for an era, all the nominators for that validator will be rewarded. Each user does not need to claim individually and the suggestion is that validators should claim rewards for everybody as soon as an era ends.",
"Pool rewards": "Pool rewards",
"Pooled": "Pooled",
"Pools": "Pools",
"Preparing target display": "Preparing target display",
"Preparing validator list": "Preparing validator list",
"Rebag": "Rebag",
"Rebag dislocated entries": "Rebag dislocated entries",
"Rebag {{count}}": "Rebag {{count}}",
"Rebond": "Rebond",
"Rebond funds": "Rebond funds",
"Remove": "Remove",
"Remove nominees": "Remove nominees",
"Renomination required ({{count}})": "Renomination required ({{count}})",
"Retrieving active nominators": "Retrieving active nominators",
"Retrieving all available bags, this will take some time": "Retrieving all available bags, this will take some time",
"Retrieving info for the selected eras, this will take some time": "Retrieving info for the selected eras, this will take some time",
"Retrieving nominators": "Retrieving nominators",
"Retrieving online status": "Retrieving online status",
"Retrieving validator info": "Retrieving validator info",
"Retrieving validators": "Retrieving validators",
"Rewards (once paid) can be deposited to either the stash or controller, with different effects.": "Rewards (once paid) can be deposited to either the stash or controller, with different effects.",
"Session Key": "Session Key",
"Set Session Key": "Set Session Key",
"Set controller": "Set controller",
"Set nominees": "Set nominees",
"Set reward destination": "Set reward destination",
"Set validator preferences": "Set validator preferences",
"Setup Nominator {{step}}/{{NUM_STEPS}}": "Setup Nominator {{step}}/{{NUM_STEPS}}",
"Setup Validator {{step}}/{{NUM_STEPS}}": "Setup Validator {{step}}/{{NUM_STEPS}}",
"Since this transaction deals with funding, the stash account will be used.": "Since this transaction deals with funding, the stash account will be used.",
"Slashed in era {{eras}}": "Slashed in era {{eras}}",
"Slashes": "Slashes",
"Specified payment account": "Specified payment account",
"Stash": "Stash",
"Stash account (do not increase the amount at stake)": "Stash account (do not increase the amount at stake)",
"Stash account (increase the amount at stake)": "Stash account (increase the amount at stake)",
"Stashed": "Stashed",
"Stop": "Stop",
"Submit key": "Submit key",
"Targets": "Targets",
"Teyrchains": "Teyrchains",
"The All bags list is composed of bags that each describe a range of active bonded funds of the nominators. In each bag is a list of nodes that correspond to a nominator and their staked funds.": "The All bags list is composed of bags that each describe a range of active bonded funds of the nominators. In each bag is a list of nodes that correspond to a nominator and their staked funds.",
"The Threshold must be a positive number": "The Threshold must be a positive number",
"The Threshold must lower than 11": "The Threshold must lower than 11",
"The UI puts a limit of 40 payouts at a time, where each payout is a single validator for a single era.": "The UI puts a limit of 40 payouts at a time, where each payout is a single validator for a single era.",
"The account that will submit the rebag transaction.": "The account that will submit the rebag transaction.",
"The accounts that will be rebagged as a result of this operation.": "The accounts that will be rebagged as a result of this operation.",
"The amount placed at-stake should allow some free funds for future transactions.": "The amount placed at-stake should allow some free funds for future transactions.",
"The amount placed at-stake should not be your full available amount to allow for transaction fees.": "The amount placed at-stake should not be your full available amount to allow for transaction fees.",
"The amount the is to be rebonded from the value currently unlocking, i.e. previously unbonded": "The amount the is to be rebonded from the value currently unlocking, i.e. previously unbonded",
"The amount to unbond. It should be less or equal to the full bonded amount.": "The amount to unbond. It should be less or equal to the full bonded amount.",
"The bonded amount is less than the current active minimum nominated amount of {{minNomination}} and depending on the network state, may not be selected to participate": "The bonded amount is less than the current active minimum nominated amount of {{minNomination}} and depending on the network state, may not be selected to participate",
"The bonded amount is less than the minimum bond amount of {{existentialDeposit}}": "The bonded amount is less than the minimum bond amount of {{existentialDeposit}}",
"The bonded amount is less than the minimum threshold of {{minBond}} for nominators": "The bonded amount is less than the minimum threshold of {{minBond}} for nominators",
"The bonded amount is less than the minimum threshold of {{minBond}} for validators": "The bonded amount is less than the minimum threshold of {{minBond}} for validators",
"The commission is below the on-chain minimum of {{p}}%": "The commission is below the on-chain minimum of {{p}}%",
"The commission is deducted from all rewards before the remainder is split with nominators.": "The commission is deducted from all rewards before the remainder is split with nominators.",
"The controller does not have sufficient funds available to cover transaction fees. Ensure that a funded controller is used.": "The controller does not have sufficient funds available to cover transaction fees. Ensure that a funded controller is used.",
"The funds will only be available for withdrawal after the unbonding period, however will not be part of the staked amount after the next validator election. You can follow the unlock countdown in the UI.": "The funds will only be available for withdrawal after the unbonding period, however will not be part of the staked amount after the next validator election. You can follow the unlock countdown in the UI.",
"The hex output from author_rotateKeys, as executed on the validator node. The keys will show as pending until applied at the start of a new session.": "The hex output from author_rotateKeys, as executed on the validator node. The keys will show as pending until applied at the start of a new session.",
"The key type and crypto type to use for this key. Be aware that different keys have different crypto requirements. You should be familiar with the type requirements for the different keys.": "The key type and crypto type to use for this key. Be aware that different keys have different crypto requirements. You should be familiar with the type requirements for the different keys.",
"The pool and pool member that is to be affected. The transaction will be sent from the associated pool member account.": "The pool and pool member that is to be affected. The transaction will be sent from the associated pool member account.",
"The seed and derivation path will be submitted to the validator node. this is an advanced operation, only to be performed when you are sure of the security and connection risks.": "The seed and derivation path will be submitted to the validator node. this is an advanced operation, only to be performed when you are sure of the security and connection risks.",
"The selected controller tied to this stash. Once set, this account will be able to control the actions performed by the stash account.": "The selected controller tied to this stash. Once set, this account will be able to control the actions performed by the stash account.",
"The selected destination account does not exist and cannot be used to receive rewards": "The selected destination account does not exist and cannot be used to receive rewards",
"The selected validators to nominate, either via the \"currently best algorithm\" or via a manual selection.": "The selected validators to nominate, either via the \"currently best algorithm\" or via a manual selection.",
"The specified value is large and may not allow enough funds to pay future transaction fees.": "The specified value is large and may not allow enough funds to pay future transaction fees.",
"The stash account that is used. This will allow the controller to perform all non-funds related operations on behalf of the account.": "The stash account that is used. This will allow the controller to perform all non-funds related operations on behalf of the account.",
"The stash should be treated as a cold wallet.": "The stash should be treated as a cold wallet.",
"The stash that is to be affected.": "The stash that is to be affected.",
"The stash that is to be affected. The transaction will be sent from the associated controller account.": "The stash that is to be affected. The transaction will be sent from the associated controller account.",
"The validator can block any new nominations. By default it is set to allow all nominations.": "The validator can block any new nominations. By default it is set to allow all nominations.",
"There are no unapplied/pending slashes": "There are no unapplied/pending slashes",
"There is currently an ongoing election for new validator candidates. As such staking operations are not permitted.": "There is currently an ongoing election for new validator candidates. As such staking operations are not permitted.",
"Think of the stash as your cold wallet and the controller as your hot wallet. Funding operations are controlled by the stash, any other non-funding actions by the controller itself.": "Think of the stash as your cold wallet and the controller as your hot wallet. Funding operations are controlled by the stash, any other non-funding actions by the controller itself.",
"This could mean your nomination has not been applied to any validator in the active set by the election algorithm or it has been applied against a validator who is either oversubscribed or chilled.": "This could mean your nomination has not been applied to any validator in the active set by the election algorithm or it has been applied against a validator who is either oversubscribed or chilled.",
"This operation will be performed on the relay chain.": "This operation will be performed on the relay chain.",
"This operation will submit the seed via an RPC call. Do not perform this operation on a public RPC node, but ensure that the node is local, connected to your validator and secure.": "This operation will submit the seed via an RPC call. Do not perform this operation on a public RPC node, but ensure that the node is local, connected to your validator and secure.",
"This pubic key is what will be visible in your queued keys list. It is generated based on the seed and the crypto used.": "This pubic key is what will be visible in your queued keys list. It is generated based on the seed and the crypto used.",
"To ensure optimal fund security using the same stash/controller is strongly discouraged, but not forbidden.": "To ensure optimal fund security using the same stash/controller is strongly discouraged, but not forbidden.",
"Unbond": "Unbond",
"Unbond funds": "Unbond funds",
"Unbond funds from pool": "Unbond funds from pool",
"Use the account actions to create a new validator/nominator stash and bond it to participate in staking. Do not send funds directly via a transfer to a validator.": "Use the account actions to create a new validator/nominator stash and bond it to participate in staking. Do not send funds directly via a transfer to a validator.",
"Validate": "Validate",
"Validator": "Validator",
"Validator stats": "Validator stats",
"Validators": "Validators",
"Waiting": "Waiting",
"Waiting nominations ({{count}})": "Waiting nominations ({{count}})",
"Withdraw claimable": "Withdraw claimable",
"Withdraw unbonded": "Withdraw unbonded",
"Withdraw unbonded funds": "Withdraw unbonded funds",
"Within the context of a single bag, nodes are not sorted by their stake, but instead placed in insertion order. In other words, the most recently inserted node will be the last node in the bag, regardless of stake. Events like staking rewards or slashes do not automatically put you in a different bag. The bags-list pallet comes with an important permissionless extrinsic: rebag. This allows anyone to specify another account that is in the wrong bag, and place it in the correct one.": "Within the context of a single bag, nodes are not sorted by their stake, but instead placed in insertion order. In other words, the most recently inserted node will be the last node in the bag, regardless of stake. Events like staking rewards or slashes do not automatically put you in a different bag. The bags-list pallet comes with an important permissionless extrinsic: rebag. This allows anyone to specify another account that is in the wrong bag, and place it in the correct one.",
"Yes, allow nominations": "Yes, allow nominations",
"You can either bond a specific amount from your free balance, or all of the accumulated rewards.": "You can either bond a specific amount from your free balance, or all of the accumulated rewards.",
"You should trust your nominations to act competently and honest; basing your decision purely on their current profitability could lead to reduced profits or even loss of funds.": "You should trust your nominations to act competently and honest; basing your decision purely on their current profitability could lead to reduced profits or even loss of funds.",
"Your bonded amount is below the on-chain minimum threshold of {{minBond}} and may be chilled. Bond extra funds to increase the bonded amount.": "Your bonded amount is below the on-chain minimum threshold of {{minBond}} and may be chilled. Bond extra funds to increase the bonded amount.",
"account": "account",
"active / nominators": "active / nominators",
"additional free funds to bond": "additional free funds to bond",
"additional funds to bond": "additional funds to bond",
"allows new nominations": "allows new nominations",
"amount to unbond": "amount to unbond",
"apply": "apply",
"average": "average",
"bags": "bags",
"balance": "balance",
"bonded": "bonded",
"candidate accounts": "candidate accounts",
"capacity < {{maxCap}}%": "capacity < {{maxCap}}%",
"claimable": "claimable",
"comm.": "comm.",
"comm. <= median": "comm. <= median",
"comm. <= {{maxComm}}%": "comm. <= {{maxComm}}%",
"commission": "commission",
"controller": "controller",
"controller account": "controller account",
"crypto type to use": "crypto type to use",
"currently elected": "currently elected",
"defer": "defer",
"ed25519, Edwards": "ed25519, Edwards",
"elected stake": "elected stake",
"era points": "era points",
"era {{era}}": "era {{era}}",
"era {{era}}/unapplied": "era {{era}}/unapplied",
"eras": "eras",
"existing/active nominators": "existing/active nominators",
"filter by name, address or index": "filter by name, address or index",
"first": "first",
"generated public key": "generated public key",
"graphs": "graphs",
"historic results": "historic results",
"ideal staked": "ideal staked",
"inflation": "inflation",
"intentions": "intentions",
"key type to set": "key type to set",
"last": "last",
"last #": "last #",
"last reward": "last reward",
"lowest / avg staked": "lowest / avg staked",
"max": "max",
"member account": "member account",
"min": "min",
"min nominated": "min nominated",
"min nominated / threshold": "min nominated / threshold",
"my nodes": "my nodes",
"next": "next",
"nodes": "nodes",
"nominated accounts": "nominated accounts",
"nominators": "nominators",
"nominators to be removed": "nominators to be removed",
"on-chain bonding duration": "on-chain bonding duration",
"one validator per operator": "one validator per operator",
"other": "other",
"other stake": "other stake",
"overall/validator": "overall/validator",
"own": "own",
"own stake": "own stake",
"payment destination": "payment destination",
"payout": "payout",
"payout stakers for (multiple)": "payout stakers for (multiple)",
"payout stakers for (single)": "payout stakers for (single)",
"payout/stash": "payout/stash",
"payout/validator": "payout/validator",
"points": "points",
"pool id": "pool id",
"pools": "pools",
"prev": "prev",
"rebag from account": "rebag from account",
"rebonded amount": "rebonded amount",
"recent payouts": "recent payouts",
"recently": "recently",
"reporters": "reporters",
"request payout from": "request payout from",
"return": "return",
"returns": "returns",
"reward commission percentage": "reward commission percentage",
"rewards": "rewards",
"rewards & slashes": "rewards & slashes",
"selected validators": "selected validators",
"sr15519, Schnorrkel": "sr15519, Schnorrkel",
"staked": "staked",
"stash account": "stash account",
"stashes": "stashes",
"suri (seed & derivation)": "suri (seed & derivation)",
"the associated controller": "the associated controller",
"the payment account": "the payment account",
"the stash account to nominate with": "the stash account to nominate with",
"to rebag": "to rebag",
"total": "total",
"total bags": "total bags",
"total nodes": "total nodes",
"total stake": "total stake",
"total staked": "total staked",
"type of funds to bond": "type of funds to bond",
"unapplied": "unapplied",
"unbond amount": "unbond amount",
"unselected": "unselected",
"validator to query": "validator to query",
"validators": "validators",
"value bonded": "value bonded",
"waiting": "waiting",
"with an identity": "with an identity",
"with capacity": "with capacity",
"yesterday": "yesterday",
"{{count}} own stashes": "{{count}} own stashes",
"{{currency}} average": "{{currency}} average",
"{{currency}} clipped": "{{currency}} clipped",
"{{currency}} paged": "{{currency}} paged",
"{{currency}} rewards": "{{currency}} rewards",
"{{currency}} slashed": "{{currency}} slashed",
"{{currency}} total": "{{currency}} total",
"{{days}} days": "{{days}} days"
}
@@ -0,0 +1,59 @@
{
"Active": "Active",
"Add pool": "Add pool",
"All pools": "All pools",
"Blocks nominations": "Blocks nominations",
"Chilled": "Chilled",
"Create": "Create",
"Create nomination pool": "Create nomination pool",
"Era points": "Era points",
"Join": "Join",
"Join nomination pool": "Join nomination pool",
"Members ({{count}})": "Members ({{count}})",
"Next session": "Next session",
"No available nomination pools": "No available nomination pools",
"No members": "No members",
"No nominees": "No nominees",
"No session validators found": "No session validators found",
"No waiting validators found": "No waiting validators found",
"Nominating": "Nominating",
"Nominees ({{count}})": "Nominees ({{count}})",
"Online message": "Online message",
"Oversubscribed": "Oversubscribed",
"Own pools": "Own pools",
"Para validator": "Para validator",
"Pools": "Pools",
"Produced blocks": "Produced blocks",
"Retrieving nomination pools": "Retrieving nomination pools",
"Retrieving session validators": "Retrieving session validators",
"Retrieving waiting validators": "Retrieving waiting validators",
"Slashed": "Slashed",
"The account that will join the pool.": "The account that will join the pool.",
"The id that will be assigned to this nomination pool.": "The id that will be assigned to this nomination pool.",
"The initial value to assign to the pool. It is set to the maximum of the minimum bond and the minimum nomination value.": "The initial value to assign to the pool. It is set to the maximum of the minimum bond and the minimum nomination value.",
"The initial value to assign to the pool. It is set to the minimum value required to join a pool.": "The initial value to assign to the pool. It is set to the minimum value required to join a pool.",
"The metadata description to set for this pool": "The metadata description to set for this pool",
"The origin account will also be set as the pool admin, nominator and state toggler.": "The origin account will also be set as the pool admin, nominator and state toggler.",
"Validators": "Validators",
"Waiting": "Waiting",
"claimable": "claimable",
"commission": "commission",
"create pool from": "create pool from",
"creator": "creator",
"description": "description",
"initial value": "initial value",
"join pool from": "join pool from",
"max. members": "max. members",
"max. members / pool": "max. members / pool",
"nominator": "nominator",
"points": "points",
"pool id": "pool id",
"pools": "pools",
"rewards": "rewards",
"root": "root",
"stash": "stash",
"state": "state",
"toggler": "toggler",
"validators": "validators",
"waiting": "waiting"
}
@@ -0,0 +1,13 @@
{
"0x...": "0x...",
"Constants": "Constants",
"Raw storage": "Raw storage",
"Storage": "Storage",
"blockhash to query at": "blockhash to query at",
"encoded key details": "encoded key details",
"encoded partial key": "encoded partial key",
"encoded storage key": "encoded storage key",
"hex-encoded storage key": "hex-encoded storage key",
"selected constant query": "selected constant query",
"selected state query": "selected state query"
}
@@ -0,0 +1,13 @@
{
"Reassign": "Reassign",
"Set sudo key": "Set sudo key",
"Submit Sudo": "Submit Sudo",
"Submit Sudo Unchecked": "Submit Sudo Unchecked",
"Sudo access": "Sudo access",
"You do not have access to the current sudo key": "You do not have access to the current sudo key",
"You will no longer have sudo access": "You will no longer have sudo access",
"submit the following change": "submit the following change",
"sudo key": "sudo key",
"unchecked weight for this call": "unchecked weight for this call",
"with weight override": "with weight override"
}
@@ -0,0 +1,30 @@
{
"Close": "Close",
"Close proposal": "Close proposal",
"Committee prime member, default voting": "Committee prime member, default voting",
"No committee proposals": "No committee proposals",
"No members found": "No members found",
"Overview": "Overview",
"Positive number between 1 and {{count}}": "Positive number between 1 and {{count}}",
"Proposals ({{count}})": "Proposals ({{count}})",
"Propose a committee motion": "Propose a committee motion",
"Submit proposal": "Submit proposal",
"The committee account that will apply the close for the current round.": "The committee account that will apply the close for the current round.",
"The proposal that will be affected. Once closed for the current voting round, it would need to be re-submitted for a subsequent voting round.": "The proposal that will be affected. Once closed for the current voting round, it would need to be re-submitted for a subsequent voting round.",
"Vote": "Vote",
"Vote Aye": "Vote Aye",
"Vote Nay": "Vote Nay",
"Vote on proposal": "Vote on proposal",
"You are voting with this collective's prime account. The vote will be the default outcome in case of any abstentions.": "You are voting with this collective's prime account. The vote will be the default outcome in case of any abstentions.",
"aye": "aye",
"close from account": "close from account",
"members": "members",
"nay": "nay",
"prime member": "prime member",
"proposal": "proposal",
"proposals": "proposals",
"propose from account": "propose from account",
"threshold": "threshold",
"total": "total",
"voting end": "voting end"
}
@@ -0,0 +1,62 @@
{
"A reason (to be stored-on-chain) as to why the recipient deserves a tip payout.": "A reason (to be stored-on-chain) as to why the recipient deserves a tip payout.",
"Acceptance proposal to council": "Acceptance proposal to council",
"Allocate a suggested tip amount. With enough endorsements, the suggested values are averaged and sent to the beneficiary.": "Allocate a suggested tip amount. With enough endorsements, the suggested values are averaged and sent to the beneficiary.",
"Approved": "Approved",
"As a council member, you can suggest an initial value for the tip, each other council member can suggest their own.": "As a council member, you can suggest an initial value for the tip, each other council member can suggest their own.",
"Be aware that once submitted the proposal will be put to a vote. If the proposal is rejected due to a lack of info, invalid requirements or non-benefit to the network as a whole, the full bond posted (as describe above) will be lost.": "Be aware that once submitted the proposal will be put to a vote. If the proposal is rejected due to a lack of info, invalid requirements or non-benefit to the network as a whole, the full bond posted (as describe above) will be lost.",
"Cancel": "Cancel",
"Close": "Close",
"Median tip selected": "Median tip selected",
"No approved proposals": "No approved proposals",
"No open tips": "No open tips",
"No pending proposals": "No pending proposals",
"Of the beneficiary amount, no less than the minimum bond amount and no more than maximum on-chain bond would need to be put up as collateral. This is calculated from {{bondPercentage}} of the requested amount.": "Of the beneficiary amount, no less than the minimum bond amount and no more than maximum on-chain bond would need to be put up as collateral. This is calculated from {{bondPercentage}} of the requested amount.",
"Of the beneficiary amount, no less than the minimum bond amount would need to be put up as collateral. This is calculated from {{bondPercentage}} of the requested amount.": "Of the beneficiary amount, no less than the minimum bond amount would need to be put up as collateral. This is calculated from {{bondPercentage}} of the requested amount.",
"Overview": "Overview",
"Proposal can either be to approve or reject this spend. Once approved, the change is applied by either removing the proposal or scheduling payout.": "Proposal can either be to approve or reject this spend. Once approved, the change is applied by either removing the proposal or scheduling payout.",
"Proposals": "Proposals",
"Propose tip": "Propose tip",
"Rejection proposal to council": "Rejection proposal to council",
"Send to council": "Send to council",
"Submit proposal": "Submit proposal",
"Submit tip": "Submit tip",
"Submit tip endorsement": "Submit tip endorsement",
"Submit tip request": "Submit tip request",
"Submit treasury proposal": "Submit treasury proposal",
"The beneficiary will receive the full amount if the proposal passes.": "The beneficiary will receive the full amount if the proposal passes.",
"The beneficiary will received the tip as approved by council members.": "The beneficiary will received the tip as approved by council members.",
"The council member that is proposing this, submission equates to an \"aye\" vote.": "The council member that is proposing this, submission equates to an \"aye\" vote.",
"The recipient account has no balance, ensure the tip is more than the existential deposit to create the account.": "The recipient account has no balance, ensure the tip is more than the existential deposit to create the account.",
"The value is the amount that is being asked for and that will be allocated to the beneficiary if the proposal is approved.": "The value is the amount that is being asked for and that will be allocated to the beneficiary if the proposal is approved.",
"This account will make the proposal and be responsible for the bond.": "This account will make the proposal and be responsible for the bond.",
"Tip": "Tip",
"Tippers ({{count}})": "Tippers ({{count}})",
"Tips": "Tips",
"To council": "To council",
"Use this account to request the tip from. This can be a normal or council account.": "Use this account to request the tip from. This can be a normal or council account.",
"Voting": "Voting",
"Your endorsement will be applied for this account.": "Your endorsement will be applied for this account.",
"approved": "approved",
"beneficiary": "beneficiary",
"bounties": "bounties",
"council proposal type": "council proposal type",
"finder": "finder",
"maximum bond": "maximum bond",
"minimum bond": "minimum bond",
"next burn": "next burn",
"open": "open",
"proposal bond": "proposal bond",
"proposer": "proposer",
"reason": "reason",
"show only untipped/closing": "show only untipped/closing",
"spend period": "spend period",
"spendable / available": "spendable / available",
"submit with account": "submit with account",
"submit with council account": "submit with council account",
"tip reason": "tip reason",
"tip value": "tip value",
"tips": "tips",
"total": "total",
"value": "value"
}
@@ -0,0 +1,15 @@
{
"Convert address": "Convert address",
"Encode XCM": "Encode XCM",
"Hash data": "Hash data",
"No": "No",
"Yes": "Yes",
"address prefix": "address prefix",
"address to convert": "address to convert",
"converted address": "converted address",
"from the following data": "from the following data",
"hex input data": "hex input data",
"hex public key": "hex public key",
"input ss58 prefix": "input ss58 prefix",
"the resulting hash is": "the resulting hash is"
}
@@ -0,0 +1,6 @@
{
"No call hashes found": "No call hashes found",
"Overview": "Overview",
"calls": "calls",
"hashes": "hashes"
}
@@ -0,0 +1,19 @@
{
"lightclient.experimental": "light client (experimental)",
"lng.detect": "Default browser language (auto-detect)",
"rpc.dev.custom": "Custom environment",
"rpc.dev.custom.entry": "Custom {{WS_URL}}",
"rpc.dev.custom.own": "Custom",
"rpc.dev.local": "Local Node",
"rpc.header.dev": "Development",
"rpc.header.dicle.relay": "Dicle & teyrchains",
"rpc.header.favorite": "Favorite chains",
"rpc.header.live": "Live networks",
"rpc.header.paseo.relay": "Test Paseo & teyrchains",
"rpc.header.pezkuwi.relay": "Pezkuwi & teyrchains",
"rpc.header.pezkuwichain.relay": "Test PezkuwiChain & teyrchains",
"rpc.header.test": "Test networks",
"rpc.header.zagros.relay": "Test Zagros & teyrchains",
"rpc.hosted.via": "via {{host}}",
"ss58.default": "Default for the connected node"
}
@@ -0,0 +1 @@
{}
@@ -0,0 +1,47 @@
{
"nav.accounts": "Accounts",
"nav.addresses": "Address book",
"nav.alliance": "Alliance",
"nav.ambassador": "Ambassador",
"nav.assets": "Assets",
"nav.bounties": "Bounties",
"nav.calendar": "Event calendar",
"nav.claims": "Claim Tokens",
"nav.collator": "Collators",
"nav.contracts": "Contracts",
"nav.coretime": "Coretime",
"nav.council": "Council",
"nav.democracy": "Democracy",
"nav.explorer": "Explorer",
"nav.extrinsics": "Extrinsics",
"nav.fellowship": "Fellowship",
"nav.files": "Files (IPFS)",
"nav.gilt": "Gilt",
"nav.github": "GitHub",
"nav.js": "JavaScript",
"nav.membership": "Membership",
"nav.nfts": "NFTs",
"nav.nis": "Non-interactive Staking",
"nav.poll": "Token poll",
"nav.preimages": "Preimages",
"nav.ranked": "Ranked collective",
"nav.referenda": "Referenda",
"nav.rpc": "RPC calls",
"nav.runtime": "Runtime calls",
"nav.scheduler": "Scheduler",
"nav.settings": "Settings",
"nav.signing": "Sign and verify",
"nav.society": "Society",
"nav.staking": "Staking",
"nav.staking-async": "Staking Async",
"nav.storage": "Chain state",
"nav.sudo": "Sudo",
"nav.tech-comm": "Tech. comm.",
"nav.teleport": "Teleport",
"nav.teyrchains": "Teyrchains",
"nav.transfer": "Transfer",
"nav.treasury": "Treasury",
"nav.utilities": "Utilities",
"nav.whitelist": "Whitelist",
"nav.wiki": "Wiki"
}
+27
View File
@@ -0,0 +1,27 @@
{
"Accounts": "Accounts",
"Developer": "Developer",
"Files": "Files",
"Fork Locally": "Fork Locally",
"Governance": "Governance",
"Initializing connection": "Initializing connection",
"Local fork powered by ": "Local fork powered by ",
"Network": "Network",
"Relay chain": "Relay chain",
"Settings": "Settings",
"Switch": "Switch",
"Waiting for authorization from the extension. Please open the installed extension and approve or reject access.": "Waiting for authorization from the extension. Please open the installed extension and approve or reject access.",
"Waiting to complete metadata retrieval from remote endpoint.": "Waiting to complete metadata retrieval from remote endpoint.",
"Waiting to establish a connection with the remote endpoint.": "Waiting to establish a connection with the remote endpoint.",
"You are connected to the development instance of the UI. For a fully decentralized experience, you are encouraged to use the IPFS deployed version as the canonical URL: ": "You are connected to the development instance of the UI. For a fully decentralized experience, you are encouraged to use the IPFS deployed version as the canonical URL: ",
"You are connecting from a secure location to an insecure WebSocket ({{wsUrl}}). Due to browser mixed-content security policies this connection type is not allowed. Change the RPC service to a secure 'wss' endpoint.": "You are connecting from a secure location to an insecure WebSocket ({{wsUrl}}). Due to browser mixed-content security policies this connection type is not allowed. Change the RPC service to a secure 'wss' endpoint.",
"You are not connected to a node. Ensure that your node is running and that the Websocket endpoint is reachable.": "You are not connected to a node. Ensure that your node is running and that the Websocket endpoint is reachable.",
"custom endpoint": "custom endpoint",
"nav.github": "nav.github",
"nav.wiki": "nav.wiki",
"transfer received": "transfer received",
"update on #{{index}}": "update on #{{index}}",
"{{relay}} Common": "{{relay}} Common",
"{{relay}} System": "{{relay}} System",
"{{relay}} Teyrchain": "{{relay}} Teyrchain"
}
@@ -0,0 +1,50 @@
[
"app-accounts.json",
"app-addresses.json",
"app-alliance.json",
"app-assets.json",
"app-bounties.json",
"app-broker.json",
"app-calendar.json",
"app-claims.json",
"app-collator.json",
"app-contracts.json",
"app-coretime.json",
"app-council.json",
"app-democracy.json",
"app-explorer.json",
"app-extrinsics.json",
"app-files.json",
"app-gilt.json",
"app-js.json",
"app-nfts.json",
"app-nis.json",
"app-parachains.json",
"app-poll.json",
"app-preimages.json",
"app-ranked.json",
"app-referenda.json",
"app-rpc.json",
"app-runtime.json",
"app-scheduler.json",
"app-settings.json",
"app-signing.json",
"app-society.json",
"app-staking-async.json",
"app-staking-legacy.json",
"app-staking.json",
"app-staking2.json",
"app-storage.json",
"app-sudo.json",
"app-tech-comm.json",
"app-treasury.json",
"app-utilities.json",
"app-whitelist.json",
"apps-config.json",
"apps-routing.json",
"apps.json",
"react-components.json",
"react-params.json",
"react-query.json",
"react-signer.json"
]
@@ -0,0 +1 @@
{}
@@ -0,0 +1,144 @@
{
"(enter value in standard units)": "(enter value in standard units)",
"0.1x voting balance, no lockup period": "0.1x voting balance, no lockup period",
"<unknown>": "<unknown>",
"Add identity judgment": "Add identity judgment",
"By selecting this option, the transaction fee will be automatically deducted from the specified asset, ensuring a seamless and efficient payment process.": "By selecting this option, the transaction fee will be automatically deducted from the specified asset, ensuring a seamless and efficient payment process.",
"Cancel": "Cancel",
"Confirm account removal": "Confirm account removal",
"Confirm address removal": "Confirm address removal",
"Confirm code removal": "Confirm code removal",
"Confirm contract removal": "Confirm contract removal",
"Copied": "Copied",
"Copy": "Copy",
"Council": "Council",
"Edit": "Edit",
"Era is overdue for completion due to current network operating conditions": "Era is overdue for completion due to current network operating conditions",
"External": "External",
"Flags": "Flags",
"Forget": "Forget",
"If the recipient account is new, the balance needs to be more than the existential deposit. Likewise if the sending account balance drops below the same value, the account will be removed from the state.": "If the recipient account is new, the balance needs to be more than the existential deposit. Likewise if the sending account balance drops below the same value, the account will be removed from the state.",
"Injected": "Injected",
"Judge": "Judge",
"Make Transfer": "Make Transfer",
"Multisig": "Multisig",
"No identity associated with account": "No identity associated with account",
"No judgements": "No judgements",
"Nominator": "Nominator",
"Normal transfer without keep-alive checks": "Normal transfer without keep-alive checks",
"Positive number": "Positive number",
"Prior locked voting": "Prior locked voting",
"Provide judgement": "Provide judgement",
"Proxied": "Proxied",
"Remove": "Remove",
"Retrieving data": "Retrieving data",
"Save": "Save",
"Send": "Send",
"Send funds": "Send funds",
"Society": "Society",
"Submit": "Submit",
"Sudo key": "Sudo key",
"Tags": "Tags",
"Technical committee": "Technical committee",
"Test account": "Test account",
"The beneficiary will have access to the transferred fees when the transaction is included in a block.": "The beneficiary will have access to the transferred fees when the transaction is included in a block.",
"The recipient is associated with a known phishing site on {{url}}": "The recipient is associated with a known phishing site on {{url}}",
"The transaction, after application of the transfer fees, will drop the available balance below the existential deposit. As such the transfer will fail. The account needs more free funds to cover the transaction fees.": "The transaction, after application of the transfer fees, will drop the available balance below the existential deposit. As such the transfer will fail. The account needs more free funds to cover the transaction fees.",
"The transferred balance will be subtracted (along with fees) from the sender account.": "The transferred balance will be subtracted (along with fees) from the sender account.",
"There is an existing reference count on the sender account. As such the account cannot be reaped from the state.": "There is an existing reference count on the sender account. As such the account cannot be reaped from the state.",
"This chain does not yet support atomic batch operations. This means that if the transaction gets executed and one of the operations do fail (due to invalid data or lack of available funds) some of the changes made may not be applied.": "This chain does not yet support atomic batch operations. This means that if the transaction gets executed and one of the operations do fail (due to invalid data or lack of available funds) some of the changes made may not be applied.",
"This operation does not remove the history of the account from the chain, nor any associated funds from the account. The forget operation only limits your access to the account on this browser.": "This operation does not remove the history of the account from the chain, nor any associated funds from the account. The forget operation only limits your access to the account on this browser.",
"This operation does not remove the history of the account from the chain, nor any associated funds from the account. The forget operation only limits your access to the address on this browser.": "This operation does not remove the history of the account from the chain, nor any associated funds from the account. The forget operation only limits your access to the address on this browser.",
"This operation does not remove the history of the contract from the chain, nor any associated funds from its account. The forget operation only limits your access to the contract on this browser.": "This operation does not remove the history of the contract from the chain, nor any associated funds from its account. The forget operation only limits your access to the contract on this browser.",
"Transfer the full account balance, reap the sender": "Transfer the full account balance, reap the sender",
"Transfer with account keep-alive checks": "Transfer with account keep-alive checks",
"Unbonding {{value}}": "Unbonding {{value}}",
"Uncaught error. Something went wrong with the query and rendering of this component. Please supply all the details below when logging an issue, it may help in tracing the cause.": "Uncaught error. Something went wrong with the query and rendering of this component. Please supply all the details below when logging an issue, it may help in tracing the cause.",
"Valid number": "Valid number",
"Validator": "Validator",
"View this externally": "View this externally",
"With the keep-alive option set, the account is protected against removal due to low balances.": "With the keep-alive option set, the account is protected against removal due to low balances.",
"Withdraw these unbonded funds": "Withdraw these unbonded funds",
"You are about to remove this account from your list of available accounts. Once completed, should you need to access it again, you will have to re-create the account either via seed or via a backup file.": "You are about to remove this account from your list of available accounts. Once completed, should you need to access it again, you will have to re-create the account either via seed or via a backup file.",
"You are about to remove this address from your address book. Once completed, should you need to access it again, you will have to re-add the address.": "You are about to remove this address from your address book. Once completed, should you need to access it again, you will have to re-add the address.",
"You are about to remove this contract from your list of available contracts. Once completed, should you need to access it again, you will have to manually add the contract's address in the Instantiate tab.": "You are about to remove this contract from your list of available contracts. Once completed, should you need to access it again, you will have to manually add the contract's address in the Instantiate tab.",
"address copied": "address copied",
"already vested": "already vested",
"amount": "amount",
"asset to pay the fee": "asset to pay the fee",
"available to be unlocked": "available to be unlocked",
"balance": "balance",
"beneficiary": "beneficiary",
"blocks": "blocks",
"bond": "bond",
"bonded": "bonded",
"click to select or drag and drop the file here": "click to select or drag and drop the file here",
"clipboard": "clipboard",
"commission": "commission",
"democracy": "democracy",
"discord": "discord",
"email": "email",
"everything": "everything",
"existential deposit": "existential deposit",
"external links": "external links",
"filter by name, address, or account index": "filter by name, address, or account index",
"fully vested in": "fully vested in",
"github": "github",
"identity": "identity",
"identity hash": "identity hash",
"index": "index",
"invalid/unknown registrar account": "invalid/unknown registrar account",
"judgement": "judgement",
"link": "link",
"lock expired": "lock expired",
"locked": "locked",
"matrix": "matrix",
"multisig": "multisig",
"none": "none",
"of {{locked}} vested": "of {{locked}} vested",
"ongoing referendum": "ongoing referendum",
"only this network": "only this network",
"parent": "parent",
"per block": "per block",
"proposed by": "proposed by",
"redeemable": "redeemable",
"referenda": "referenda",
"registrar account": "registrar account",
"registrar index": "registrar index",
"reserved": "reserved",
"riot": "riot",
"send from account": "send from account",
"send to address": "send to address",
"session keys": "session keys",
"session next": "session next",
"signatories": "signatories",
"strong": "strong",
"subs": "subs",
"threshold": "threshold",
"total": "total",
"transactions": "transactions",
"transferable": "transferable",
"transferable minus fees": "transferable minus fees",
"twitter": "twitter",
"type": "type",
"unbonding": "unbonding",
"unstake threshold": "unstake threshold",
"until block": "until block",
"value": "value",
"vested": "vested",
"via Council/Vote": "via Council/Vote",
"via Democracy/Vote": "via Democracy/Vote",
"via Referenda/Vote": "via Referenda/Vote",
"via Staking/Bond": "via Staking/Bond",
"via Vesting": "via Vesting",
"vote value": "vote value",
"vote with account": "vote with account",
"voting balance": "voting balance",
"weak": "weak",
"website": "website",
"{{blocks}} blocks": "{{blocks}} blocks",
"{{eras}} eras remaining": "{{eras}} eras remaining",
"{{name}} ({{size}} bytes)": "{{name}} ({{size}} bytes)",
"{{type}} copied": "{{type}} copied",
"{{value}}x voting balance, locked for {{duration}}x duration{{period}}": "{{value}}x voting balance, locked for {{duration}}x duration{{period}}"
}
@@ -0,0 +1 @@
{}
@@ -0,0 +1,34 @@
{
"0x prefixed hex, e.g. 0x1234 or ascii data": "0x prefixed hex, e.g. 0x1234 or ascii data",
"<empty>": "<empty>",
"Add item": "Add item",
"Aye": "Aye",
"Locked1x": "Locked1x",
"Locked2x": "Locked2x",
"Locked3x": "Locked3x",
"Locked4x": "Locked4x",
"Locked5x": "Locked5x",
"Locked6x": "Locked6x",
"Nay": "Nay",
"No": "No",
"No execution details available for this proposal": "No execution details available for this proposal",
"None": "None",
"Remove item": "Remove item",
"Yes": "Yes",
"aye: bool": "aye: bool",
"call hash / {{section}}.{{method}}": "call hash / {{section}}.{{method}}",
"click to select or drag and drop JSON key/value (hex-encoded) file": "click to select or drag and drop JSON key/value (hex-encoded) file",
"contract event": "contract event",
"conviction: Conviction": "conviction: Conviction",
"details": "details",
"extrinsic hash": "extrinsic hash",
"file upload": "file upload",
"hash a file": "hash a file",
"include option": "include option",
"lifetime": "lifetime",
"preimage": "preimage",
"signature {{type}}": "signature {{type}}",
"tip": "tip",
"type": "type",
"{{count}} key/value pairs encoded for submission": "{{count}} key/value pairs encoded for submission"
}
@@ -0,0 +1,4 @@
{
"Unknown": "Unknown",
"everything": "everything"
}
@@ -0,0 +1,47 @@
{
"Adding an optional tip to the transaction could allow for higher priority, especially when the chain is busy.": "Adding an optional tip to the transaction could allow for higher priority, especially when the chain is busy.",
"Authorize transaction": "Authorize transaction",
"By selecting this option, the transaction fee will be automatically deducted from the specified asset, ensuring a seamless and efficient payment process.": "By selecting this option, the transaction fee will be automatically deducted from the specified asset, ensuring a seamless and efficient payment process.",
"Current account nonce: {{accountNonce}}": "Current account nonce: {{accountNonce}}",
"Do not include a tip for the block author": "Do not include a tip for the block author",
"Don't use a proxy for this call": "Don't use a proxy for this call",
"Include an optional tip for faster processing": "Include an optional tip for faster processing",
"Lifetime (# of blocks)": "Lifetime (# of blocks)",
"Mock Sign (no submission)": "Mock Sign (no submission)",
"Mock Sign and Submit": "Mock Sign and Submit",
"Multisig approval with hash (non-final approval)": "Multisig approval with hash (non-final approval)",
"Multisig message with call (for final approval)": "Multisig message with call (for final approval)",
"Non-signature, non-hex data received from QR. Data contains \"{{sample}}\" instead of a hex-only signature. Please present the correct signature generated from the QR presented for submission.": "Non-signature, non-hex data received from QR. Data contains \"{{sample}}\" instead of a hex-only signature. Please present the correct signature generated from the QR presented for submission.",
"Nonce": "Nonce",
"Override any applicable values for the specific signed output. These will be used to construct and display the signed transaction.": "Override any applicable values for the specific signed output. These will be used to construct and display the signed transaction.",
"Preparing QR for signing": "Preparing QR for signing",
"Set to 0 to make transaction immortal": "Set to 0 to make transaction immortal",
"Sign (no submission)": "Sign (no submission)",
"Sign and Submit": "Sign and Submit",
"Sign via Qr": "Sign via Qr",
"Signed transaction": "Signed transaction",
"Submit (no signature)": "Submit (no signature)",
"Submit individual": "Submit individual",
"Submit {{queueSize}} items": "Submit {{queueSize}} items",
"The account does not have enough free funds (excluding locked/bonded/reserved) available to cover the transaction fees without dropping the balance below the account existential amount.": "The account does not have enough free funds (excluding locked/bonded/reserved) available to cover the transaction fees without dropping the balance below the account existential amount.",
"The actual fully constructed signed output. This can be used for submission via other channels.": "The actual fully constructed signed output. This can be used for submission via other channels.",
"The call hash as calculated for this transaction": "The call hash as calculated for this transaction",
"The details of the transaction including the type, the description (as available from the chain metadata) as well as any parameters and fee estimations (as available) for the specific type of call.": "The details of the transaction including the type, the description (as available from the chain metadata) as well as any parameters and fee estimations (as available) for the specific type of call.",
"The full call data that can be supplied to a final call to multi approvals": "The full call data that can be supplied to a final call to multi approvals",
"The proxy is one of the allowed proxies on the account, as set and filtered by the transaction type.": "The proxy is one of the allowed proxies on the account, as set and filtered by the transaction type.",
"The sending account that will be used to send this transaction. Any applicable fees will be paid by this account.": "The sending account that will be used to send this transaction. Any applicable fees will be paid by this account.",
"The signatory is one of the allowed accounts on the multisig, making a recorded approval for the transaction.": "The signatory is one of the allowed accounts on the multisig, making a recorded approval for the transaction.",
"This could either be an approval for the hash or with full call details. The call as last approval triggers execution.": "This could either be an approval for the hash or with full call details. The call as last approval triggers execution.",
"Tip (optional)": "Tip (optional)",
"Unable to connect to the Ledger, ensure support is enabled in settings and no other app is using it. {{errorMessage}}": "Unable to connect to the Ledger, ensure support is enabled in settings and no other app is using it. {{errorMessage}}",
"Unlock the sending account to allow signing of this transaction.": "Unlock the sending account to allow signing of this transaction.",
"Use a proxy for this call": "Use a proxy for this call",
"asset to pay the fee": "asset to pay the fee",
"call hash": "call hash",
"multisig call data": "multisig call data",
"multisig signatory": "multisig signatory",
"proxy account": "proxy account",
"sending from my account": "sending from my account",
"unlock account with password": "unlock account with password",
"unlock for {{expiry}} min": "unlock for {{expiry}} min"
}
@@ -0,0 +1 @@
{}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+17
View File
@@ -0,0 +1,17 @@
[
"ar",
"bn",
"en",
"es",
"fr",
"hi",
"id",
"it",
"ja",
"ko",
"pl",
"pt",
"ru",
"ur",
"zh"
]
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,586 @@
{
"//hard///password": "//ハード///パスワード",
"//hard/soft": "//ハード/ソフト",
"//hard/soft///password": "//ハード/ソフト///パスワード",
"1 day": "1日",
"1 hr": "1時間",
"1 min": "1分",
"1 s": "1秒",
"1. Select your {{chain}} account": "{{chain}} を選択する",
"2. Enter the ETH address from the sale.": "セールに参加したETHアドレスを入力する",
"2. Sign ETH transaction": "ETHトランザクションにサインする",
"<empty>": "<空欄>",
"<unknown>": "<unknown>",
"A deployed contract that has either been deployed or attached. The address and ABI are used to construct the parameters.": "デプロイされた、またはアタッチされたコントラクト。アドレスとABIは、パラメータを構築するために使用されます。",
"ABI": "ABI",
"Account balance:": "アカウント残高",
"Accounts injected from any of these extensions will appear in this application and be available for use. The above list is updated as more extensions with external signing capability become available.": "外部ツールから挿入されたアカウントがここで表示され利用できます。上のリストは外部ツールが更新されるに従ってアップデートされます。",
"Add account": "アカウントを追加する",
"Add account via Qr": "QRを追加する",
"Add an account via seed {{step}}/{{STEPS_COUNT}}": "シード経由でアカウントを追加する{{step}}/{{STEPS_COUNT}}",
"Add an address": "アドレスを追加する",
"Add an existing code hash": "既存のコードハッシュを追加する",
"Add an existing contract": "既存のコントラクトを追加する",
"Add contact": "コントラクトを追加する",
"Add identity judgment": "アイデンティティーを追加する",
"Add item": "アイデムを追加",
"Add multisig": "マルチシグを追加する",
"Add via Ledger": "クエリーレッジャー",
"Add via Qr": "QRを追加する",
"Add via backup file": "バックアップファイルを追加する",
"Additional types as a JSON file (or edit below)": "追加の型が定義されたJSONファイル (もしくは下で編集してください)",
"Address Prefix": "アドレスプレフィックス",
"Adjust the mode from basic (with a limited number of beginner-user-friendly apps) to full (with all basic & advanced apps available)": "通常モード(初心者向け機能のみ)か全機能モード(初心者向け+上級者向け機能)かを設定します",
"Advanced creation options": "追加オプション",
"An URL that is linked to this identity.": "アイデンティティーと紐づくURL",
"An encrypted backup file will be created once you have pressed the \"Download\" button. This can be used to re-import your account on any other machine.": "ダウンロードのボタンを押すと暗号化されたバックアップファイルが作成されます。このファイルは異なるツールで鍵をインストールするときに使われます。",
"Approvals": "承認",
"Approve or reject this defender.": "このディフェンダーを承認するか拒否するか",
"Approve this call hash": "このコールハッシュを承認する",
"Approve this candidacy.": "この候補を承認する",
"Asset ID": "アセットID",
"Assets": "アセット",
"Authorize transaction": "認証されたトランザクション",
"Aye": "はい",
"Aye, I approve": "はい、承認します",
"Backup account": "バックアップアカウント",
"Block details": "ブロックの詳細",
"By selecting this option, the transaction fee will be automatically deducted from the specified asset, ensuring a seamless and efficient payment process.": "このオプションを選択すると、取引手数料が指定された資産から自動的に差し引かれ、シームレスで効率的な支払いプロセスが保証されます。",
"Call": "コール",
"Call a contract": "コントラクトをコールする",
"Call a method on this contract": "このコントラクトのメソッドをコールする",
"Call results": "結果をコールする",
"Call this message": "このメッセージをコールする",
"Cancel slashes": "スラッシュを削除する",
"Cancel this call hash": "このコールハッシュを拒否する",
"Chain info": "チェーン情報",
"Chain specifications": "チェーンの詳細",
"Change": "変更",
"Change account password": "アカウントのパスワードを変更",
"Change this account's password": "このアカウントのパスワードを変更",
"Claim": "取得",
"Claim tokens...": "トークンを取得する",
"Clear all": "全てをコールする",
"Clear expired democracy locks": "期限切れのデモクラシーのロックを精算する",
"Close": "閉じる",
"Close proposal": "ポータルを閉じる",
"Color": "カラー",
"Confirm ABI removal": "ABIが取り除かれたのを確認する",
"Confirm claim": "取得を確認する",
"Constants": "定数",
"Continue": "続ける",
"Copy the above string and sign an Ethereum transaction with the account you used during the pre-sale in the wallet of your choice, using the string as the payload, and then paste the transaction signature object below": "上記の文字列をコピーし、その文字列をペイロードとして使用して、プレセール時に使用したアカウントでEthereumの取引を任意のウォレットに署名し、下記の取引署名オブジェクトを貼り付けます。",
"Copy the following string and sign it with the Ethereum account you used during the pre-sale in the wallet of your choice, using the string as the payload, and then paste the transaction signature object below:": "以下の文字列をコピーして、その文字列をペイロードとして、プレセール時に使用したEthereumアカウントで任意のウォレットに署名し、以下のトランザクション署名オブジェクトを貼り付けます。",
"Council": "カウンシル",
"Council overview": "カウンシル概要",
"Create": "作成",
"Create a backup file for this account": "このアカウントのバックアップファイルを作成する",
"Create an account now.": "アカウントを作成する",
"Create and backup account": "アカウントのバックアップを作成する",
"Current prime member, default voting": "現在のプライムメンバー、デフォルトの投票",
"Decimals": "デシマル",
"Decimals decides the smallest unit of the token, which is 1/10^decimals": "小数はトークンの最小単位を決定します。",
"Delete this custom example": "このカスタム例を削除します。",
"Deploy": "デプロイ",
"Deploy a code hash": "コードハッシュをデプロイする",
"Deploy this code hash as a smart contract": "スマートコントラクトとしてこのコードハッシュをデプロイする",
"Deploy with this constructor": "このコンストラクターを一緒にデプロイする",
"Deposit": "デポジット",
"Deregister ParaId": "ParaIdの登録解除",
"Deregister this teyrchain": "このパラチェーンの登録を解除する",
"Deregistering a paraID will:": "ParaIDを登録解除すると以下のことが発生します:",
"Derive account from pair": "ペアーからアカウントを派生させる",
"Derive account via derivation path": "アカウントを分岐させる",
"Determines what cryptography will be used to create this account. Note that to validate on Pezkuwi, the session account must use \"ed25519\".": "このアカウントを作るために使われた暗号を確認する。セッションアカウントは\"ed25519\"を使わなければなりません。",
"Developer": "ディベロッパー",
"Development": "開発",
"Download": "ダウンロード",
"Either approve or reject this call.": "このコールを承認or拒否する",
"Enter the Asset ID of the token you want to manage.": "管理したいトークンのアセットIDを入力します。",
"Enter the Asset ID of the token you want to transfer.": "転送するトークンのアセットIDを入力します。",
"Erroneous": "不正確",
"Evaluated {{count}} keys in {{elapsed}}s ({{avg}} keys/s)": "{{elapsed}}s ({{avg}} keys/s) の中の {{count}} 鍵を評価する",
"Exclude it from future auctions and onboarding.": "今後のオークションおよびオンボーディングから除外されます。",
"Extensions": "エクステンション",
"External": "外部の",
"Extrinsic submission": "Extrinsic提出",
"Forget this account": "このアカウントを忘れました",
"Forget this address": "このアドレスを忘れました",
"Forget this asset": "アセットを忘れました",
"Forget this code hash": "このコードハッシュを忘れました",
"Forget this contract": "このコントラクトを忘れました",
"Forks": "フォーク",
"General": "一般",
"Generate {{lng}}/translation.json": "{{lng}}/translation.json を生成する",
"Genesis Hash": "ジェネシスハッシュ",
"Genesis Hash refers to initial state of the chain, it cannot be changed once the chain is launched": "ジェネシスハッシュはチェーンの初期状態を指し、チェーンが起動すると変更できません。",
"Hash data": "ハッシュデータ",
"I agree": "同意する",
"If the recipient account is new, the balance needs to be more than the existential deposit. Likewise if the sending account balance drops below the same value, the account will be removed from the state.": "受信者のアカウントが新しい場合、残高が外部の預金高より高い必要があります。同様に、もしアカウント残高がこの値より低い場合、アカウントは取り除かれます。",
"If you are moving accounts between applications, ensure that you use the correct type.": "もしアプリケーション間のアカウントで行き来している場合、正しい型を使用しているか注意してください。",
"Important notice": "重要な事項",
"In calculating the election outcome, this prioritized vote ordering will be used to determine the final score for the candidates.": "選挙結果を算出する際には、この優先順位をつけた投票順で、候補者の最終的な得点を決定することになります。",
"Initializing connection": "接続を初期化する",
"Initiate account recovery": "アカウントのリカバリーを初期化する",
"Initiate recovery for another": "他の人のためにリカバリーを初期化する",
"Injected": "挿入された",
"It is recommended that you create/store your accounts securely and externally from the app. On {{yourBrowser}} the following browser extensions are available for use -": "このアプリから",
"Judge": "ジャッジ",
"Known good": "良いと知られている",
"Learn more...": "もっと学ぶ....",
"Loading": "ローディング",
"Locked1x": "Locked1x",
"Locked2x": "Locked2x",
"Locked3x": "Locked3x",
"Locked4x": "Locked4x",
"Locked5x": "Locked5x",
"Locked6x": "Locked6x",
"Low quality": "低いクオリティー",
"Make Transfer": "送信を作成",
"Make recoverable": "リカバリー可能にする",
"Manage your connection to Ledger S": "Ledger Sへの接続を管理します",
"Message data": "メッセージデータ",
"Message origin.": "メッセージの起源",
"Messages": "メッセージ",
"Metadata {{count}}": "メタデータ {{count}}",
"Mnemonic": "ニーモニック",
"Most recent head data": "最新のヘッドデータ",
"Motions": "モーション",
"Multisig": "マルチシグ",
"Multisig approvals": "マルチシグの承認",
"Mutates contract state": "コントラクトの状態を変える",
"My accounts": "アカウント",
"My contacts": "コントラクト",
"Name given to this account. You can change it at any point in the future.": "このアカウントに与えられた名前。将来的にはいつでも変更することができます。",
"Name given to this account. You can edit it. To use the account to validate or nominate, it is a good practice to append the function of the account in the name, e.g \"name_you_want - stash\".": "このアカウントに与えられた名前。編集することができます。このアカウントを使用して検証や指名を行うには、アカウント名にそのアカウントの機能を追加するのが良い方法です。(例:\"name_you_want - stash\".",
"Name given to this multisig. You can edit it at any later point in time.": "このマルチシグに与えられた名前。後からでも編集することができます。",
"Name of the network. It is only for display purposes.": "ネットワークの名前。これは表示をする目的のみで使用されます。",
"Name your example": "あなたの例に名前をつけます。",
"Nay": "いいえ",
"Network Name": "ネットワーク名",
"No": "いいえ",
"No assets found.": "アセットが見当たりません",
"No blocks available": "使用できるブロックがありません",
"No candidates found": "候補者がいません",
"No code hashes available": "使用可能なコードハッシュがありません",
"No contracts available": "使用可能なコントラクトがありません",
"No council motions": "カウンシルモーションがありません",
"No documentation provided": "ドキュメンテーションが提示されていません",
"No events available": "使用できる有効なイベントがありません",
"No judgments": "ノー・ジャッジメント",
"No logs available": "使用できるログがありません",
"No matches found": "該当するものがありませんでした",
"No members found": "メンバーがいませんでした",
"No pending extrinsics are in the queue": "このキューにはペンディング中のextrinsics がありません",
"No runners up found": "次点は見つかりませんでした",
"Node info": "ノード情報",
"None": "なし",
"Not updated in the last block": "最後のブロックにはアップデートされていません",
"Override the default identity icon display with a specific theme": "アイコンのテーマを設定します",
"Override the default ss58 prefix for address generation": "ss58を基準とするアドレスを生成するときに使われる接頭辞の値を上書きします",
"Owned": "所有",
"Paste here the address of the contact you want to add to your address book.": "アドレス帳に追加したい連絡先のアドレスをここに貼り付けてください。",
"Pending call hashes": "ペンディングコールハッシュ",
"Please ensure this is your intended action before continuing.": "続行する前に、これが意図された操作であることを確認してください。",
"Please make sure to save this file in a secure location as it is required, together with your password, to restore your account.": "このファイルは、アカウントを復元するためにパスワードと一緒に必要なので、必ず安全な場所に保存してください。",
"Please read these terms and conditions carefully. By submitting this statement, you are deemed to have accepted these Terms and Conditions. If you do not agree to these terms, please refrain from accessing or proceeding. You can also find them at:": "本規約をよくお読みください。本ステートメントを送信することで、本規約に同意したものとみなされます。これらの条件に同意しない場合は、アクセスまたは先に進むことをお控えください。また、以下のサイトにも掲載されています",
"Positive number between 1 and {{memberCount}}": "1から {{memberCount}} 間の整数です",
"Positive number greater than or equal to {{nextFreeId}}": "{{nextFreeId}}よりも大きいか同じ整数値",
"Potentially release any reserved deposits linked to it.": "関連する予約済みのデポジットが解放される可能性があります。",
"Pre-sale ethereum address": "プレセールのEthereumアドレス",
"Propose": "提案",
"Propose a council motion": "カウンシルモーションを提出する",
"Provide judgement": "ジャッジメントを提供する",
"Provide the account QR from the module/external application for scanning. Once detected as valid, you will be taken to the next step to add the account to your list.": "スキャンするためにモジュール/外部アプリケーションからアカウントのQRを提供します。有効として検出された場合、次のステップに移行しあなたのリストにアカウントが追加されます。",
"RPC calls": "RPCコール",
"Raw seed": "生のシード",
"Raw storage": "生のストレージ",
"Reasonable": "適切な",
"Reassign": "再度アサインする",
"Redeem": "再取得",
"Register": "登録",
"Register Asset": "アセットを登録する",
"Register a teyrchain": "パラチェーンを登録する",
"Register an Asset": "アセットを登録する",
"Register identity": "アイデンティティを登録する",
"Remove": "取り除く",
"Remove ABI": "ABIを取り除く",
"Remove it from the active teyrchain/parathread set.": "アクティブなパラチェーン/パラスレッドセットから削除されます。",
"Remove item": "アイテムを取り除く",
"Require re-registration if you wish to use it again.": "再度使用するには再登録が必要です。",
"Reset": "リセット",
"Restore": "復元する",
"Restore JSON": "JSONを復元する",
"Save": "保存",
"Save & Reload": "保存して更新",
"Save snippet to local storage": "ローカルのストレージに一部を保存します。",
"Save the type definitions for your custom structures as key-value pairs in a valid JSON file. The key should be the name of your custom structure and the value an object containing your type definitions.": "カスタム構造体のための型定義をキー・値の対となるように有効なJSONファイルに保存します。キーにはカスタム構造体の名前を、値には型定義が入ったオブジェクトを設定してください。",
"Save this backup file in a secure location. Additionally, the password associated with this account is needed together with this backup file in order to restore your account.": "このバックアップファイルを安全な場所に保存してください。さらに、アカウントを復元するには、このバックアップファイルと一緒に、このアカウントに関連付けられたパスワードが必要です。",
"Saved": "セーブ",
"Search for": "検索する",
"Select Network": "ネットワークを選択する",
"Select a contact or paste the address you want to send funds to.": "連絡先を選択するか、送金先のアドレスを貼り付けてください。",
"Select example": "例を選択します。",
"Select the JSON key file that was downloaded when you created the account. This JSON file contains your private key encrypted with your password.": "アカウントを作成した際にダウンロードしたJSONキーファイルを選択します。このJSONファイルには、パスワードで暗号化された秘密鍵が含まれています。",
"Select the account you wish to recover into this account.": "このアカウントに復元したいアカウントを選択します。",
"Select the remote endpoint, either from the dropdown on manual entered via the custom toggle": "ドロップダウンの中からリモートノードを選択するかカスタムエンドポイントをオンにして記入します",
"Send funds": "資金を送る",
"Send funds from this account": "このアカウントから資金を送る",
"Send funds to this address": "このアカウントに資金を送る",
"Set Identity": "アイデンティティをセットする",
"Set on-chain identity": "オンチェーンアイデンティティをセットする",
"Set sudo key": "sudoキーをセットする",
"Setup account as recoverable": "アカウントを復元可能にセットする",
"Should the search be case sensitive, e.g if you select \"no\" your search for \"Some\" may return addresses containing \"somE\" or \"sOme\"...": "大文字小文字を区別して検索する必要があります。例えば、\"no \"を選択した場合、\"Some \"を検索すると、\"some \"または \"sOme \"を含むアドレスが返されるかもしれません...",
"Show address on hardware device": "ハードウェアデバイスのアドレスを表示する",
"Sign message": "メッセージに署名する",
"Signed transaction": "署名されたトランザクション",
"Since the multisig function like any other account, once created it is available for selection anywhere accounts are used and needs to be funded before use.": "マルチシグは他のアカウントと同様に機能するため、一度作成されたアカウントはどこでも使用可能で、使用する前に資金を調達する必要があります。",
"Society": "ソサエティー",
"Specify the user account to use for this contract call. And fees will be deducted from this account.": "このコントラクトコールで使用するユーザーアカウントを指定します。そして、手数料はこのアカウントから差し引かれます。",
"Specify the user account to use for this deployment. And fees will be deducted from this account.": "このデプロイに使用するユーザー アカウントを指定します。このアカウントから手数料が差し引かれます。",
"Specify the user account to use for this deployment. Any fees will be deducted from this account.": "このデプロイに使用するユーザー アカウントを指定します。料金はこのアカウントから差し引かれます。",
"Start generation": "生成を始める",
"Start recovery": "復元を始める",
"Stop generation": "生成をストップする",
"Storage": "ストレージ",
"Submit (no signature)": "提出する(署名なし)",
"Submit RPC call": "RPCコールを提出する",
"Submit Sudo": "Sudoを提出する",
"Submit Transaction": "トランザクションを提出",
"Submit Unsigned": "「署名なし」を提出",
"Sudo access": "Sudoアクセス",
"Sudo key": "Sudo キー",
"Supply a backed-up JSON file, encrypted with your account-specific password.": "アカウント固有のパスワードで暗号化されたバックアップJSONファイルを提供してください。",
"Technical committee": "テクニカルコミッティー",
"Test account": "テストアカウント",
"Teyrchains overview": "パラチェーンの概要",
"The ABI for the WASM code. In this step it is optional, but setting it here simplifies the setup of contract instances.": "WASM コードの ABI。このステップは省略可能ですが、ここで設定すると、コントラクト インスタンスのセットアップが簡単になります。",
"The ABI for the WASM code. Since we will be making a call into the code, the ABI is required and stored for future operations such as sending messages.": "WASMコードのABI。コードを呼び出すことになるので、メッセージの送信などの将来の操作のために ABI が必要であり、保存されています。",
"The Ethereum address you used during the pre-sale (starting by \"0x\")": "プレセールで使用したEthereumのアドレス(0xから始まります)",
"The account password as specified when creating the account. This is used to encrypt the backup file and subsequently decrypt it when restoring the account.": "アカウントの作成時に指定したアカウント パスワード。これは、バックアップファイルを暗号化し、その後アカウントを復元する際に復号化するために使用されます。",
"The account you want to claim to.": "取得をしたいアカウント",
"The account you will send funds from.": "資金を送るアカウント",
"The address for the deployed contract instance.": "コントラクトのインスタンスをデプロイするために必要なアドレス",
"The addresses that are able to approve multisig transactions. You can select up to {{maxHelpers}} trusted addresses.": "マルチシグのトランザクションを承認できるアドレスです。信頼できるアドレスは{{{maxHelpers}}}つまで選択できます。",
"The addresses that are able to help in recovery. You can select up to {{maxHelpers}} trusted helpers.": "復元に協力できるアドレスです。信頼できるヘルパーは{{maxHelpers}}つまで選択できます。",
"The allotted endowment for this contract, i.e. the amount transferred to the contract upon instantiation.": "このコントラクトのために割り当てられた寄附金、すなわち、インスタンス化時にコントラクトに転送された金額。",
"The allotted value for this contract, i.e. the amount transferred to the contract as part of this call.": "このコントラクトに割り当てられた値、すなわち、この呼び出しの一部としてコントラクトに転送された金額。",
"The beneficiary will have access to the transferred fees when the transaction is included in a block.": "受益者は、取引がブロックに含まれている場合、譲渡された手数料にアクセスすることができます。",
"The call hashes that have not been executed as of yet.": "まだ実行されていないコールハッシュ。",
"The code hash for the on-chain deployed code.": "オンチェーンにデプロイされたコードハッシュ",
"The code is not recognized as being in valid WASM format": "コードが有効な WASM 形式であると認識されません。",
"The codeHash is not a valid hex hash": "コードハッシュが有効なhexハッシュではありません",
"The compiled WASM for the contract that you wish to deploy. Each unique code blob will be attached with a code hash that can be used to create new instances.": "デプロイしたいコントラクト用にコンパイルされた WASM。各固有のコードブロブには、新しいインスタンスを作成するために使用できるコードハッシュが添付されます。",
"The compiled runtime WASM for the teyrchain you wish to register.": "登録したいパラチェーンのコンパイル済みランタイムWASM。",
"The compiled runtime WASM for this teyrchain.": "このパラチェーンのコンパイル済みランタイム WASM。",
"The contract WASM previously deployed. Internally this is identified by the hash of the code, as either created or attached.": "以前にデプロイしたコントラクト WASM。内部的には、これはコードのハッシュで識別され、作成されたか添付されたかのどちらかになります。",
"The delay between vouching and the availability of the recovered account.": "記録されたアカウントの可用性と証明間の遅延",
"The deployment constructor information for this contract, as provided by the ABI.": "ABI が提供するこの契約のデプロイメントコンストラクタ情報。",
"The derivation path allows you to create different accounts from the same base mnemonic.": "派生パスでは、同じベースのニーモニックから異なるアカウントを作成することができます。",
"The destination account must hold at least the minimum existential deposit after receiving the transfer and paying any applicable destination fees.": "送金を受け取り、適用される手数料を支払った後も、宛先アカウントは最低限の存在保証金を保持している必要があります。",
"The email address associated with this identity.": "このアイデンティティーに紐づくemailアドレス",
"The existing account password as specified when this account was created or when it was last changed.": "このアカウントが作成されたとき、または最後に変更されたときに指定された既存のアカウントのパスワード。",
"The helpers should be able to verify, via an off-chain mechanism, that the account owner indeed wishes to recover access and as such provide any approvals. In the cases of malicious recovery procedures, they will have the power to stop it.": "ヘルパーは、アカウントの所有者が本当にアクセスの回復を望んでいるかどうかを、オフチェーンのメカニズムを介して検証し、そのような承認を提供することができるはずです。悪意のある回復手順の場合、彼らはそれを止める力を持つことになります。",
"The id number to assign to this teyrchain.": "このパラチェーンに割り当てるID番号。",
"The id of the teyrchain to be deregistered.": "登録解除されるパラチェーンのID。",
"The initial head state for the teyrchain.": "パラチェーンの初期ヘッド状態。",
"The initial head state is invalid.": "初期のヘッド状態は無効です。",
"The legal name for this identity.": "アイデンティティのためのリーガルネーム",
"The local name for this account. Changing this does not affect your on-line identity, so this is only used to indicate the name of the account locally.": "このアカウントのローカル名。これを変更してもオンラインIDには影響しないので、これはローカルでアカウントの名前を示すためにのみ使用されます。",
"The maximum amount of gas that can be used by this call. If the code requires more, the call will fail.": "この呼び出しで使用できるガスの最大量。コードがそれ以上の量を必要とする場合、この呼び出しは失敗します。",
"The maximum amount of gas that can be used by this deployment, if the code requires more, the deployment will fail.": "このデプロイで使用できるガスの最大量は、コードがそれ以上必要な場合、デプロイは失敗します。",
"The maximum amount of gas to use for this contract call. If the call requires more, it will fail.": "このコントラクトコールで使用するガスの最大量です。それ以上の量を必要とする場合、コールは失敗します。",
"The message to send to this contract. Parameters are adjusted based on the ABI provided.": "このコントラクトに送信するメッセージ。パラメータは、提供されたABIに基づいて調整されます。",
"The minimum amount that an account should have to be deemed active": "アカウントがアクティブであるとみなされるために必要な最低金額。",
"The name for this account and how it will appear under your addresses. With an on-chain identity, it can be made available to others.": "このアカウントの名前と、それがあなたのアドレスの下にどのように表示されるか。オンチェーンのIDがあれば、他の人が利用できるようにすることができます。",
"The name is for unique identification of the account in your owner lists.": "この名前は、所有者リストの中でこのアカウントを一意に識別するためのものです。",
"The name that will be displayed in your accounts list.": "アカウントリストに表示される名前です。",
"The new account password. Once set, all future account unlocks will be performed with this new password.": "新しいアカウントのパスワード。一度設定すると、今後のすべてのアカウントのロック解除は、この新しいパスワードで実行されます。",
"The password and password confirmation for this account. This is required to authenticate any transactions made and to encrypt the keypair.": "このアカウントのパスワードとパスワードの確認。これは、行われたすべてのトランザクションを認証し、キーペアを暗号化するために必要です。",
"The password previously used to encrypt this account.": "以前にこのアカウントの暗号化に使用したパスワード。",
"The password to unlock the selected account.": "選択したアカウントのロックを解除するためのパスワード。",
"The private key for your account is derived from this seed. This seed must be kept secret as anyone in its possession has access to the funds of this account. If you validate, use the seed of the session account as the \"--key\" parameter of your node.": "アカウントの秘密鍵はこのシードから取得します。このシードを持っている人は誰でもこのアカウントの資金にアクセスできるので、このシードは秘密にしておかなければなりません。検証する場合は、セッションアカウントのシードをノードの\"--key \"パラメータとして使用します。",
"The recoverable account is protected against the loss of seed/access by a social process.": "復元可能なアカウントは、ソーシャルプロセスによってシード/アクセスの損失から保護されています。",
"The scheduling preference for this teyrchain.": "このパラチェーンのスケジューリング優先順位。",
"The scheduling setting for this teyrchain.": "このパラチェーンのスケジューリング設定。",
"The secret seed value for this account. Ensure that you keep this in a safe place, with access to the seed you can re-create the account.": "このアカウントの秘密のシード値。安全な場所に保管しておくことを確認し、シードにアクセスすることでアカウントを再作成することができます。",
"The selected account to perform the derivation on.": "派生を実行するために選択されたアカウント。",
"The signatories has the ability to create transactions using the multisig and approve transactions sent by others.Once the threshold is reached with approvals, the multisig transaction is enacted on-chain.": "署名者は、マルチシグを使用してトランザクションを作成し、他の人が送信したトランザクションを承認する機能を持っています。",
"The signatory to send the approval/cancel from": "承認/否認を送るための署名",
"The source account must retain a balance greater than the existential deposit after covering the fee.": "送金元アカウントは、手数料を差し引いた後でも存在保証金を上回る残高を保持している必要があります。",
"The teyrchain can be modified, replaced, or removed - it's neither protected nor in a transitional state": "パラチェーンは変更、置き換え、または削除されることができます。これは保護されていないか、過渡的な状態にありません。",
"The threshold for approval should be less or equal to the number of signatories for this multisig.": "承認のための閾値は、このマルチシグの署名者数以下でなければならない。",
"The threshold for approvals and the delay is the protection associated with the account. The delay should be such that any colluding recovery attempts does have a window to stop.": "承認の閾値と遅延は、アカウントに関連した保護方法です。遅延は、共謀した復旧の試みが停止するチャンスを持つようなものでなければなりません。",
"The threshold for this multisig": "マルチシグの閾値",
"The threshold of vouches that is to be reached for the account to be recovered.": "アカウントを回収するために到達すべき伝票の閾値",
"The transferred balance will be subtracted (along with fees) from the sender account.": "転送された残高は、送信者アカウントから(手数料とともに)差し引かれます",
"The twitter name for this identity.": "このアイデンティティのtwitter名",
"The unchecked weight as specified for the sudoUncheckedWeight call.": "sudoUncheckedWeightコールで指定されたチェックされていないweight。",
"The value is not in a valid address format": "この値は有効なアドレスフォーマットではありません。",
"There are no registered teyrchains": "登録されているパラチェーンがありません。",
"These are trusted individuals that can verify and approve any recovery actions. With recovery, once the threshold is reached, the funds associated with the account can be moved to a new destination.": "これらは、任意のリカバリーアクションを確認し、承認することができる信頼できる個人です。リカバリーでは、閾値に達すると、アカウントに関連付けられた資金を新しい宛先に移動することができます。",
"This Ethereum address does not have a claim.": "Ethereumアドレスには取得可能な資金がありません",
"This account is recoverable, with the following friends:": "このアカウントは、次の友人と一緒に、復旧可能です。",
"This action is permanent.": "この操作は永久的です。",
"This is not a valid JSON object.": "無効なJSONオブジェクトです。",
"This operation does not impact the associated on-chain code or any of its contracts.": "この操作は、関連するオンチェーンコードやそのコントラクトには影響しません。",
"This operation does not remove the uploaded code WASM and ABI from the chain, nor any deployed contracts. The forget operation only limits your access to the code on this browser.": "この操作は、チェーンからアップロードされたコードWASMとABIを削除するものではなく、デプロイされたコントラクトも削除しません。この操作は、このブラウザ上のコードへのアクセスを制限するだけです。",
"This password is used to encrypt your private key. It must be strong and unique! You will need it to sign transactions with this account. You can recover this account using this password together with the backup file (generated in the next step).": "このパスワードは、秘密鍵を暗号化するために使用されます。それは強くてユニークでなければなりません!このパスワードは、あなたの秘密鍵を暗号化するために使用されます。このアカウントでの取引に署名するために必要になります。このパスワードとバックアップファイル(次のステップで生成された)を使用して、このアカウントを復旧することができます。",
"This will apply to any future use of this account as stored on this browser. Ensure that you securely store this new password and that it is strong and unique to the account.": "これは、このブラウザに保存されているこのアカウントの将来の使用に適用されます。この新しいパスワードを安全に保存し、アカウントに固有の強力なパスワードであることを確認してください。",
"To ensure a successful XCM transaction, please make sure the following conditions are met:": "XCMトランザクションを成功させるために、次の条件を満たしていることを確認してください。",
"Transfer": "送信",
"Type here what you would like your address to contain. This tool will generate the keys and show the associated addresses that best match your search. You can use \"?\" as a wildcard for a character.": "ここに、あなたのアドレスを含むようにしたいものを入力してください。このツールはキーを生成し、検索に最も適した関連するアドレスを表示します。文字のワイルドカードとして「?」を使用することができます。",
"Type the amount you want to transfer. Note that you can select the unit on the right e.g sending 1 milli is equivalent to sending 0.001.": "送金したい金額を入力します。右側の単位を選択することができます。例えば1ミリを送信すると0.001を送信するのと同じです。",
"Type the name of this Asset. This name will be used across all the apps. It can be edited later on.": "このアセットの名前を入力します。この名前はすべてのアプリで使用されます。後で編集することができます。",
"Type the name of your contact. This name will be used across all the apps. It can be edited later on.": "連絡先の名前を入力します。この名前はすべてのアプリで使用されます。後で編集することができます。",
"Type the password chosen at the account creation. It was used to encrypt your account's private key in the backup file.": "アカウント作成時に選択したパスワードを入力します。これは、バックアップファイル内のアカウントの秘密鍵を暗号化するために使用されました。",
"Unable to find deployed contract code at the specified address": "指定されたアドレスにデプロイされたコントラクトコードが見つかりません",
"Unable to find on-chain WASM code for the supplied codeHash": "指定されたアドレスにデプロイされたコントラクトコードが見つかりません",
"Unknown": "Unknown",
"Unlock": "アンロック",
"Updated in the latest block": "最新のブロックをアップデートする",
"Upload": "アップロード",
"Upload WASM": "WASMをアップロードする",
"Vanity generator": "バニティージェネレーター",
"Verify the password entered above.": "上記で入力したパスワードを確認します。",
"Waiting for authorization from the extension. Please open the installed extension and approve or reject access.": "外部ツールからの承認を待っています。インストールした外部ツールを開きアクセスの許可or拒否をしてください。",
"Warning: we did not find any attest statement for {{chain}}": "警告: {{chain}}上でアセットを検出することができませんでした",
"We found a pre-claim with this Pezkuwi address. However, attesting requires signing with this account. To continue with attesting, please add this account as an owned account first.": "このPezkuwiのアドレスで取得前の資産を見つけました。しかし、認証するにはこのアカウントの署名が必要です。認証を継続するには、まずこのアカウントを所有アカウントとして追加してください。",
"We will provide you with a generated backup file after your account is created. As long as you have access to your account you can always download this file later by clicking on \"Backup\" button from the Accounts section.": "アカウントが作成された後、生成されたバックアップファイルを提供します。アカウントにアクセスしている間は、アカウントセクションの「バックアップ」ボタンをクリックすることで、いつでもこのファイルをダウンロードすることができます。",
"Yes": "はい",
"You are about to remove this code from your list of available code hashes. Once completed, should you need to access it again, you will have to manually add the code hash again.": "利用可能なコードハッシュのリストからこのコードを削除しようとしています。完了したら、再度アクセスする必要がある場合は、手動でコードハッシュを再度追加する必要があります。",
"You are about to remove this code's ABI. Once completed, should you need to access it again, you will have to manually re-upload it.": "このコードのABIを削除します。削除が完了したら、再度アクセスする必要がある場合は、手動で再アップロードする必要があります。",
"You are connecting from a secure location to an insecure WebSocket ({{wsUrl}}). Due to browser mixed-content security policies this connection type is not allowed. Change the RPC service to a secure 'wss' endpoint.": "安全なロケーションから安全ではないWebSocket ({{wsUrl}})に接続しようとしています。ブラウザーのセキュリティー・ポリシーによりこの接続タイプは許可されていません。RPCサーバーを安全な'wss' エンドポイントに変更してください。",
"You are not connected to a node. Ensure that your node is running and that the Websocket endpoint is reachable.": "ノードに接続していません。ノードが起動していてWebsocketのエンドポイントが接続できることを確認してください。",
"You are using an ABI with an outdated format. Please generate a new one.": "古いフォーマットのABIを使用しています。新しいものを生成してください。",
"You can set a custom derivation path for this account using the following syntax \"/<soft-key>//<hard-key>///<password>\". The \"/<soft-key>\" and \"//<hard-key>\" may be repeated and mixed`. The \"///password\" is optional and should only occur once.": "以下の構文\"/<soft-key>//<hard-key>///<password>\"を使用して、このアカウントのカスタム派生パスを設定することができます。\"/<soft-key>\" と \"//<hard-key>\" は繰り返しても混合しても構いません`。\"///password \"は任意であり、一度だけ出現させるべきです。",
"You do not have access to the current sudo key": "現在のsudoキーへのアクセスがありません。",
"You don't have any accounts. Some features are currently hidden and will only become available once you have accounts.": "アカウントを保有していません。いくつかの特徴が利用できません。アカウントを作成の後利用できるようになります。",
"You have {{claimCount}} accounts that need attestations. Use the Claim Tokens app on the navigation bar to complete the process. Until you do, your balances for those accounts will not be reflected.": "認証が必要な{{{claimCount}}}アカウントがあります。左のナビゲーションバーのClaim Tokensアプリを使用して、プロセスを完了させてください。このプロセスを完了するまで、これらのアカウントの残高は反映されません。",
"You need to sign an attestation for the following account:": "下記のアカウントの証明書にサインが必要です。",
"You need to sign an attestation for the following accounts:": "下記のアカウントの証明書にサインが必要です。",
"You will no longer have sudo access": "sudoへのアクセスがもうできません",
"Your Ethereum account": "Ethereumアカウント",
"Your custom types have been added": "カスタムタイプが追加されました",
"a riot name linked to this identity": "このアイデンティティーに紐づくriotの名前",
"account forgotten": "アカウントを忘れました",
"account restored": "アカウントが復元されました",
"accounts": "アカウント",
"address": "アドレス",
"address created": "アドレスが生成されました",
"address edited": "アドレスが編集されました",
"address forgotten": "アドレスを忘れました",
"address prefix": "アドレス接頭辞",
"amount": "量",
"approval type": "承認のタイプ",
"asset id": "アセットid",
"asset to pay the fee": "料金を支払うための資産",
"available signatories": "利用可能な署名",
"available social recovery helpers": "利用可能なソーシャルリカバリーヘルパー",
"aye: bool": "はい: bool",
"backup file": "バックアップファイル",
"balances": "残高",
"best": "best",
"best #": "best #",
"best block": "best block",
"best hash": "best ハッシュ",
"block hash or number to query": "ブロックハッシュ or キューの番号",
"blocks": "ブロック",
"call from account": "アカウントからコールする",
"case sensitive": "大文字小文字を区別する",
"claim to account": "アカウントを取得する",
"click to copy": "クリックしてコピーする",
"click to select or drag and drop a JSON ABI file": "JSPN ABIファイルをクリックするかドラッグアンドドロップしてください",
"code": "コード",
"code for this contract": "このコントラクトのコード",
"code hash": "コードハッシュ",
"compiled contract WASM": "WASMコントラクトをコンパイルする",
"connected peers": "接続されたピア",
"contacts": "連絡先",
"contract address": "コントラクトアドレス",
"contract to use": "コントラクトを使用する",
"conviction: Conviction": "conviction: Conviction",
"copied": "コピー完了",
"created account": "アカウントを作成する",
"created multisig": "マルチシグを作成する",
"custom endpoint": "カスタムエンドポイント",
"data": "データ",
"default icon theme": "アイコンテーマ",
"default interface language": "言語",
"delay": "遅延",
"deploy": "デプロイ",
"deployment account": "デプロイアカウント",
"deployment constructor": "デプロイコンストラクター",
"deposit": "デポジット",
"derivation path": "派生パス",
"derive root account": "ルートアカウントを派生する",
"details": "詳細",
"development seed": "開発のシード",
"display name": "表示名",
"does not appear to have a valid claim. Please double check that you have signed the transaction correctly on the correct ETH account.": "有効な取得権限を持っているようには見えません。正しいETHアカウントで正しく取引に署名したかどうかを二重に確認してください。",
"email": "email",
"endowment": "寄付金",
"epoch": "エポック",
"era": "エラ",
"events": "イベント",
"everything": "すべて",
"exclude option": "オプションを除外する",
"exclude value": "値を含めない",
"execute": "実行",
"existential deposit": "実存預金",
"extrinsics": "extrinsics",
"filter by name or tags": "名前orタグでフィルターする",
"finalized": "ファイナライズされた",
"forks": "フォーク",
"free balance": "free 残高",
"has a valid claim for": "有効な取得権限をもっています",
"hash": "ハッシュ",
"heads": "ヘッド",
"hex-encoded storage key": "hexエンコードストレージキー",
"identity": "アイデンティティー",
"immortal": "永続的な",
"include option": "オプションを入れる",
"include value": "値を含める",
"index": "インデックス",
"initial head state": "細書のヘッドステート",
"interface operation mode": "機能モード",
"invalid ABI file selected": "有効ではないABIファイルが選択されました",
"invalid/unknown registrar account": "登録アカウントが不正/わかりません",
"judgement": "ジャジメント",
"keypair crypto type": "クリプトタイプキーペアー",
"last block": "最後のブロック",
"legal name": "名前",
"lng.detect": "ブラウザー設定言語(自動反映)",
"logs": "ログ",
"manage hardware connections": "ハードウェアへの接続を管理します",
"matches": "マッチ",
"maximum gas allowed": "gasの最大値",
"message to send": "送信するメッセージ",
"mnemonic seed": "ニーモニックシード",
"multisig": "マルチシグ",
"multisig name": "マルチシグ名",
"name": "名前",
"nav.accounts": "アカウント",
"nav.claims": "トークンを取得する",
"nav.contracts": "コントラクト",
"nav.council": "カウンシル",
"nav.dashboard": "ダッシュボード",
"nav.democracy": "デモクラシー",
"nav.explorer": "エクスプローラー",
"nav.extrinsics": "Extrinsics",
"nav.generic-asset": "ジェネリックアセット",
"nav.i18n": "I18n Translator",
"nav.js": "JavaScript",
"nav.rpc": "RPCコール",
"nav.settings": "設定",
"nav.society": "ソサエティー",
"nav.staking": "ステイキング",
"nav.storage": "チェーン状態",
"nav.sudo": "Sudo",
"nav.tech-comm": "Tech. comm.",
"nav.teyrchains": "パラチェーン",
"nav.toolbox": "ツールボックス",
"nav.transfer": "送信",
"nav.treasury": "トレジュリー",
"new account": "新しいアカウント",
"new address": "新しいアドレス",
"next id": "次のID",
"no accounts yet, create or import an existing": "まだ新しいアカウントがありません。作成するか既存のものをイポーとしてください。",
"no addresses saved yet, add any existing address": "アドレスが保存されていません。既存のアドレスを追加してください。",
"no messages": "ノー・メッセージ",
"no tags": "タグなし",
"origin": "オリジン",
"parent": "親",
"password": "パスワード",
"password (repeat)": "パスワード",
"pending hashes": "ハッシュをペンディングする",
"pending swap id": "ペンディングスワップID",
"recover this account": "このアカウントを復旧する",
"recovery block delay": "ブロックの遅延を復旧する",
"recovery threshold": "出発点を復旧する",
"ref time": "基準時間",
"registrar account": "アカウントを登録する",
"registrar index": "indexを登録する",
"relay dispatch queue": "リレーディスパッチキュー",
"remote node/endpoint to connect to": "リモートノード・エンドポイント",
"riot": "riot",
"riot name": "riot名",
"rpc.beresheet": "Beresheet (Edgeware Testnet, hosted by Commonwealth Labs)",
"rpc.bifrost": "Bifrost Asgard",
"rpc.custom": "カスタムエンドポイント",
"rpc.dicle.ava": "Dicle (Pezkuwi Canary, user-run public nodes; see https://status.cloud.ava.do/)",
"rpc.dicle.parity": "Dicle (Pezkuwi Canary, hosted by Parity)",
"rpc.dicle.w3f": "Dicle (Pezkuwi Canary, hosted by Web3 Foundation)",
"rpc.edgeware": "Edgeware (Edgeware Mainnet, hosted by Commonwealth Labs)",
"rpc.flamingfir": "Flaming Fir (Bizinikiwi Testnet, hosted by Parity)",
"rpc.header.dev": "開発環境",
"rpc.header.live": "メイン環境",
"rpc.header.test": "テストネット",
"rpc.kulupu": "Kulupu (Kulupu Mainnet, hosted by Kulupu)",
"rpc.litentry.test": "Litentry (Testnet, hosted by Litentry)",
"rpc.local": "Local Node (Own, 127.0.0.1:9944)",
"rpc.mandala": "Mandala (Acala Testnet, hosted by Acala)",
"rpc.nodle-arcadia": "Arcadia (Nodle Testnet, hosted by Nodle)",
"rpc.sora-bizinikiwi": "SORA",
"rpc.sora-bizinikiwi-staging": "SORA-staging (SORA-staging Testnet, hosted by Soramitsu)",
"rpc.turbulence": "Turbulence (Laminar Testnet, hosted by Laminar)",
"rpc.zagros": "Zagros (Pezkuwi Testnet, hosted by Parity)",
"scheduling": "スケジューリング",
"secret": "秘密",
"secret derivation path": "秘密の分岐パス",
"seed (hex or string)": "シード(hexかstring",
"selected constant query": "選択された定数クエリー",
"selected signatories": "選択された署名",
"selected state query": "選択されたステートクエリー",
"send": "送信",
"send as RPC call": "RPCコールとして送信する",
"send as transaction": "トランザクションを送信する",
"send from account": "アカウントから送信する",
"send to address": "アカウントに送信する",
"signatories": "署名",
"signatory": "署名",
"ss58.bizinikiwi": "Bizinikiwi (generic)",
"ss58.centrifuge": "Centrifuge (live)",
"ss58.default": "デフォルト接続ノード",
"ss58.dicle": "Dicle (canary)",
"ss58.edgeware": "Edgeware (live)",
"ss58.pezkuwi": "Dicle (canary)",
"submit the following change": "以下の変更を提出する",
"submit the following extrinsic": "次のextrinsicを提出する",
"sudo key": "sudoキー",
"sudo with unchecked weight parameter": "チェックされていないweightパラメーター付きのsudo",
"sudo without unchecked weight parameter": "チェックされていないweightパラメーター付きではないsudo",
"swap to id": "IDにスワップする",
"tags": "タグ",
"teyrchain id": "パラチェーン ID",
"teyrchains": "パラチェーン",
"the account to make recoverable": "復元可能にするアカウント",
"the account to recover to": "復元をするアカウント",
"the language to display translations for": "翻訳を表示する言語",
"threshold": "出発点",
"transactions": "トランザクション",
"transfer received": "受信",
"transferable": "送信可能な",
"trusted social recovery helpers": "信頼できるソーシャルリカバリーヘルパー",
"twitter": "twitter",
"type": "タイプ",
"unchecked weight for this call": "このコールのチェックされていないweight",
"update on #{{index}}": "#{{index}}をアップデートする",
"using the selected account": "選択されたアカウントを使用する",
"value": "値",
"version {{version}}": "バージョン {{version}}",
"web": "web",
"website": "website",
"your current password": "現在のパスワード",
"your new password": "新しいパスワード",
"{{count}} key/value pairs encoded for submission": "エンコードされた {count}} キー/値 のペアー",
"{{days}} days": "{{days}}日",
"{{executionTime}}s execution time": "{{executionTime}} 実行時間",
"{{hours}} hrs": "{{hours}} 時間",
"{{minutes}} mins": "{{minutes}} 分",
"{{percentage}}% of block time": "ブロックタイム {{percentage}} %",
"{{relayDispatchQueueSize}} dispatch messages pending": "{{relayDispatchQueueSize}} ディスパッチメッセージペンディング",
"{{seconds}} s": "{{seconds}} 秒",
"{{step}}. Sign with your ETH address": "{{step}}. ETHアドレスでサインしてください"
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,340 @@
{
"//hard": "//hard",
"//hard///password": "//hard///hasło",
"//hard/soft": "//hard/soft",
"//hard/soft///password": "//hard/soft///hasło",
"<none provided>": "<brak danych>",
"<unknown>": "<nieznane>",
"@YourTwitterName": "@Nazwa_Uzytkownika_Twitter",
"@yourname:matrix.org": "@Nazwa_Uzytkownika:matrix.org",
"Account type {{index}}": "Konto typu {{index}}",
"Accounts injected from any of these extensions will appear in this application and be available for use. The above list is updated as more extensions with external signing capability become available.": "Konta dodane z któregokolwiek z tych rozszerzeń pojawią się w tej aplikacji i będą dostępne do użytku. Powyższa lista bedzie aktualizowana, gdy dostępnych bedzie więcej rozszerzeń z możliwością podpisywania zewnętrznego",
"Add": "Dodaj",
"Add account": "Dodaj konto",
"Add account via Ledger": "Dodaj konto z Ledger",
"Add account via Qr": "Dodaj konto przez kod QR",
"Add an account via seed {{step}}/{{STEPS_COUNT}}": "Dodaj konto przez seed {{step}}/{{STEPS_COUNT}}",
"Add identity judgment": "Dodaj ocenę tożsamości",
"Add multisig": "Dodaj multisig",
"Add proxied account": "Dodaj konto zależne",
"Add proxy": "Dodaj nadrzędność",
"Add sub": "Dodaj podrzędność",
"Add via Ledger": "Dodaj przez Ledger",
"Add via Qr": "Dodaj przez kod QR",
"Add via backup file": "Dodaj przez plik backup",
"Address index {{index}}": "Index adresu {{index}}",
"Advanced creation options": "Dodatkowe opcje tworzenia konta",
"Amount to delegate for any democracy vote. This is adjusted using the available funds on the account.": "Ilość dostępna do głosowania. Wartość jest zmienna w zależności do stanu konta",
"An URL that is linked to this identity.": "URL powiązany z tą tożsamością.",
"An encrypted backup file will be created once you have pressed the \"Download\" button. This can be used to re-import your account on any other machine.": "Zaszyfrowany plik kopii zapasowej zostanie utworzony po naciśnięciu przycisku \"Pobierz\". Można go wykorzystać do ponownego zaimportowania konta na dowolnym innym komputerze.",
"Any account set as proxy will be able to perform actions in place of the proxied account": "Każde konto ustawione jako nadrzędne (proxy), bedzie mogło wykonywać operacje w imieniu konta ustawionego jako zależne (proxied)",
"Any democracy vote performed by the delegated account will result in an additional vote from the delegating account": "Każde głosowanie na rzecz demokracji wykonane przez konto delegowane będzie skutkować dodatkowym głosem z konta delegującego",
"Approve this call hash": "Zatwierdz hash tego połączenia",
"Backup account": "Kopia zapasowa konta",
"Cancel this call hash": "Anuluj hash tego połączenia",
"Change": "Zmień",
"Change account password": "Zmiana hasła",
"Change democracy delegation": "Zmień delegację głosów",
"Change this account's password": "Zmień hasło dla tego konta",
"Claim tokens...": "Odbierz tokeny...",
"Clear Identity": "Wyczyść tożsamość",
"Clear all": "Wyczyść wszystko",
"Clear expired democracy locks": "Usuń blokady na głosach w wygasłych głosowaniach demokratycznych",
"Consider storing your account in a signer such as a browser extension, hardware device, QR-capable phone wallet (non-connected) or desktop application for optimal account security.": "Rozważ przechowywanie swojego konta w aplikacji zabezpieczonej podpisem, takiej jak rozszerzenie przeglądarki, urządzenie sprzętowe, portfel telefoniczny obsługujący QR (niepodłączony) lub aplikacja komputerowa, aby zapewnić optymalne bezpieczeństwo konta.",
"Council": "Rada (Council)",
"Create": "Utwórz",
"Create a backup file for this account": "Utwórz plik zapasowy (backup file) dla tego konta",
"Delegate": "Deleguj",
"Delegate democracy votes": "Deleguj głosy w głosowaniu demokratycznym",
"Derivation for Ledger-type accounts are only available on mnemonic seeds.": "Derywacja dla konta Ledger mozliwa wyłącznie przez mnemonic seeds.",
"Derive account from pair": "Derywacja konta z pary",
"Derive account via derivation path": "Derywacja konta ze scieżki derywacyjnej",
"Determines what cryptography will be used to create this account. Note that to validate on Pezkuwi, the session account must use \"ed25519\".": "Określa jaki typ zabezpieczenia zostanie wykorzystany przy tworzeniu konta. Aby byc walidatorem na Pezkuwi konta kuszą użyć zebezpieczenia edwardsm\"ed25519\".",
"Development": "Rozbudowa",
"Download": "Pobierz",
"Either approve or reject this call.": "Zaakceptuj lub odrzuć to połączenie.",
"Ensure that the extension has accounts, some accounts are visible globally and available for this chain and that you gave the application permission to access accounts from the extension to use them.": "Upewnij się, że rozszerzenie ma podłączone konta, niektóre konta są widoczne globalnie i dostępne dla tego łańcucha oraz że dałeś aplikacji uprawnienia dostępu do kont z rozszerzenia, aby z nich korzystać.",
"Ensure that you utilized the \"Save\" functionality before using a generated address to receive funds. Without saving the address any funds and the associated seed any funds sent to it will be lost.": "Upewnij się, że korzystałeś z funkcji \"Zapisz\", zanim użyjesz wygenerowanego adresu do odebrania środków. Bez zapisania adresu i seedów wszelkie środki mogą zostać utracone.",
"Ensure you are using a strong password for proper account protection.": "Upewnij się że używasz wystarczająco silnego hasła do zabezpieczenia swojego konta.",
"Erroneous": "Błędny",
"Evaluated {{count}} keys in {{elapsed}}s ({{avg}} keys/s)": "Oszacowane {{count}} klucze w {{elapsed}}s ({{avg}} kluczach/s)",
"External": "Zewnętrzne",
"For approvals outstanding approvers will be shown, for hashes that should be cancelled the first approver is required.": "W przypadku zatwierdzeń zostaną wyświetlone wymagane osoby zatwierdzające, w przypadku operacji, które powinny zostać anulowane, wymagana jest pierwsza osoba zatwierdzająca.",
"For final approvals, the actual full call data is required to execute the transaction": "W celu uzyskania ostatecznych zatwierdzeń do wykonania transakcji wymagane są rzeczywiste pełne dane wywołania",
"Forget this account": "Zapomnij to konto",
"Full Legal Name": "Pełne Imię i Nazwisko",
"Future versions of the web-only interface will drop support for non-external accounts, much like the IPFS version.": "Przyszłe wersje interfejsu internetowego porzucą obsługę kont innych niż zewnętrzne, podobnie jak wersja IPFS.",
"I have saved my mnemonic seed safely": "Zapisałem słowa mnemonic seed w bezpieczny sposób",
"If the delegated account is currently voting in a referendum, the delegating vote and conviction will be added.": "Jeśli konto delegowane aktualnie głosuje w referendum, głos delegujący i wyrażone opinie zostaną dodane.",
"If the recipient account is new, the balance needs to be more than the existential deposit. Likewise if the sending account balance drops below the same value, the account will be removed from the state.": "Jeśli konto odbiorcy jest nowe, saldo musi być większe niż depozyt egzystencjalny. Podobnie, jeśli saldo konta wysyłającego spadnie poniżej tej samej wartości, konto zostanie usunięte z bazy kont.",
"If you add several proxy accounts for the same proxy type (e.g 2 accounts set as proxy for Governance), then any of those 2 accounts will be able to perfom governance actions on behalf of the proxied account": "Jeśli dodasz kilka kont proxy dla tego samego typu proxy (np. 2 konta ustawione jako proxy do zarządzania), wówczas każde z tych 2 kont będzie mogło wykonywać działania związane z governance w imieniu konta proxy",
"If you are moving accounts between applications, ensure that you use the correct type.": "Jeśli przenosisz konta między aplikacjami, upewnij się, że używasz właściwego typu zabezpieczenia.",
"Initiate account recovery": "Rozpocznij odzyskiwanie konta",
"Initiate recovery for another": "Rozpocznij odzyskiwania dla innego",
"Injected": "Zaimportowane",
"It is recommended that you create/store your accounts securely and externally from the app. On {{yourBrowser}} the following browser extensions are available for use -": "Zaleca się bezpieczne tworzenie / przechowywanie kont z poziomu aplikacji. W {{yourBrowser}} dostępne są następujące rozszerzenia przeglądarki -",
"Judge": "Ocenić",
"Known good": "Dobrze znane",
"Learn more...": "Dowiedz się wiecej...",
"Ledger app type (originated from)": "Typ aplikacji Ledger (originated from)",
"Low quality": "Niska jakość",
"Make Transfer": "Zrób transfer",
"Make recoverable": "Uczyń możliwym do odzyskania",
"Manage proxies": "Zarządzaj proxy",
"Mnemonic": "Mnemonic",
"Multisig": "Multisig",
"Multisig approval with hash (non-final approval)": "Zatwierdzenie multisig z hashem (zatwierdzenie nie ostateczne)",
"Multisig approvals": "Zatwierdzenia Multisig",
"Multisig approvals pending": "Oczekujące zatwierdzenia Multisig",
"Multisig message with call (for final approval)": "Wiadomość multisig z wezwaniem (do ostatecznego zatwierdzenia)",
"My On-Chain Name": "Moja nazwa w w blockchainie",
"My accounts": "Moje konta",
"Name given to this account to uniquely identity the account to yourself.": "Nazwa nadana temu kontu w celu jednoznacznej identyfikacji konta.",
"Name given to this account. You can change it at any point in the future.": "Nazwa nadana temu kontu. Możesz to zmienić w dowolnym momencie w przyszłości.",
"Name given to this account. You can edit it. To use the account to validate or nominate, it is a good practice to append the function of the account in the name, e.g \"name_you_want - stash\".": "Nazwa nadana dla tego konta. Możesz ją edytować. Aby używać konta do walidacji lub nominowania, dobrą praktyką jest dodanie funkcji konta do nazwy, np. \"Nazwa Konta - głowne \".",
"Name given to this multisig. You can edit it at any later point in time.": "Nazwa tego konta Multisig. Możesz ją edytować w późniejszym czasie.",
"Name given to this proxied account. You can edit it at any later point in time.": "Nazwa nadana temu kontu proxy. Możesz ją edytować w późniejszym czasie.",
"Next": "Następny",
"No judgments": "Brak ocen",
"No matches found": "NIe znaleziono powiązań",
"No sub identities set.": "Brak ustawionyhc sub tożsamości.",
"Nominator": "Nominator",
"Normal transfer without keep-alive checks": "Zwykły transfer bez funkcji \"keep-alive\".",
"One or more extensions are detected in your browser, however no accounts has been injected.": "W Twojej przeglądarce wykryto jedno lub więcej rozszerzeń, jednak żadne konto nie zostało zaimportowane.",
"Owned": "We własności",
"Password are ignored for hex seed": "Haslo jest ignorowane dla seedów hex",
"Pending call hashes": "Hasze połączeń oczekujących",
"Please make sure to save this file in a secure location as it is required, together with your password, to restore your account.": "Pamiętaj, aby zapisać ten plik w bezpiecznej lokalizacji, ponieważ jest on wymagany wraz z hasłem do przywrócenia konta.",
"Prev": "Poprzedni",
"Private Key": "Klucz Prywatny",
"Provide judgement": "Zapewnij osąd",
"Provide the account QR from the module/external application for scanning. Once detected as valid, you will be taken to the next step to add the account to your list.": "Podaj QR konta z modułu / aplikacji zewnętrznej do skanowania. Po uznaniu konta za prawidłowe zostaniesz przeniesiony do następnego kroku, aby dodać konto do listy.",
"Proxied": "Z zależnościami",
"Proxied account has no owned proxies": "Konto proxy nie ma posiadanych pełnomocników",
"Proxy overview": "Przegląd zależności",
"Raw seed": "Raw seed",
"Reasonable": "Rozsądny",
"Register identity": "Zarejestruj tożsamość",
"Register sub-identities": "Zarejestruj tożsamość podrzęną",
"Remove": "Usuń",
"Remove sub": "Usuń podrzędność",
"Restore": "Odzyskaj",
"Restore JSON": "Odzyskaj plik JSON",
"Retrieving sub-identities": "Pobieranie tożsamości podrzędnych",
"Save": "Zapisz",
"Save delegation": "Zapisz delegacje",
"Save this backup file in a secure location. Additionally, the password associated with this account is needed together with this backup file in order to restore your account.": "Zapisz ten plik kopii zapasowej w bezpiecznej lokalizacji. Ponadto hasło skojarzone z tym kontem jest potrzebne wraz z tym plikiem kopii zapasowej w celu przywrócenia konta.",
"Search for": "Szukaj",
"Select a contact or paste the address you want to send funds to.": "Wybierz kontakt lub wklej adres, na który chcesz wysłać środki.",
"Select the JSON key file that was downloaded when you created the account. This JSON file contains your private key encrypted with your password.": "Wybierz plik klucza JSON, który został pobrany podczas tworzenia konta. Ten plik JSON zawiera Twój klucz prywatny zaszyfrowany Twoim hasłem.",
"Select the account you wish to recover into this account.": "Wybierz konto, które chcesz odzyskać na to konto.",
"Send": "Wyślij",
"Send funds": "Wyślij środki",
"Set Identity": "Ustaw Tożsamość",
"Set Subs": "Ustaw Podrzędności",
"Set on-chain identity": "Ustaw tożsamośc na blockchainie",
"Set on-chain sub-identities": "Ustaw tożsamości podrzędne na blockchainie",
"Setup account as recoverable": "Skonfiguruj konto jako odzyskiwalne",
"Should the search be case sensitive, e.g if you select \"no\" your search for \"Some\" may return addresses containing \"somE\" or \"sOme\"...": "Czy w wyszukiwaniu rozróżniana jest wielkość liter, np. Jeśli wybierzesz \"nie\", twoje wyszukiwanie \"Niektóre\" może zwrócić adresy zawierające \"NiektóRE\" lub \"NIEKtóre\"...",
"Show address on hardware device": "Pokaż adres na urządzeniu sprzętowym",
"Since the multisig function like any other account, once created it is available for selection anywhere accounts are used and needs to be funded before use.": "Ponieważ multisig działa jak każde inne konto, po utworzeniu jest dostępne do wyboru wszędzie tam, gdzie konta są używane i muszą zostać zasilone środkami przed użyciem.",
"Society": "Społeczność",
"Soft derivation paths are not allowed on ed25519": "Miękkie ścieżki derywacji nie są dozwolone dla ed25519",
"Start generation": "Rozpocznij generowanie",
"Start recovery": "Rozpocznij odzyskiwanie",
"Stop generation": "Zatrzymaj generowanie",
"Sudo key": "Klucz Sudo",
"Supply a backed-up JSON file, encrypted with your account-specific password.": "Podaj kopię zapasową pliku JSON, zaszyfrowanego hasłem do Twojego konta.",
"Swap to a non-executing approval type, with subsequent calls providing the actual call data.": "Przełącz się na niewykonawczy typ zatwierdzenia, a kolejne wywołania będą dostarczać rzeczywiste dane połączenia.",
"Technical committee": "Komitet techniczny",
"Test account": "Konto testowe",
"The account password as specified when creating the account. This is used to encrypt the backup file and subsequently decrypt it when restoring the account.": "Hasło do konta określone podczas tworzenia konta. Służy do zaszyfrowania pliku kopii zapasowej, a następnie odszyfrowania go podczas przywracania konta.",
"The account type (derivation) to use": "Typ konta (pochodzenie) do użycia",
"The account type that you wish to create. This is the top-level derivation.": "Typ konta, które chcesz utworzyć. Jest to derywacja najwyższego poziomu.",
"The account you will send funds from.": "Konto, z którego będziesz przesyłać środki.",
"The address index (derivation on account) to use": "Indeks adresu (derywacja na koncie) do użycia",
"The address index on the account that you wish to add. This is the second-level derivation.": "Indeks adresów na koncie, które chcesz dodać. To jest derywacja drugiego poziomu.",
"The address that has previously setup a proxy to one of the accounts that you control.": "Adres, który wcześniej ustawił proxy dla jednego z kont, które kontrolujesz.",
"The address that you have a valid proxy setup for.": "Adres, dla którego masz prawidłową konfigurację proxy.",
"The addresses that are able to approve multisig transactions. You can select up to {{maxHelpers}} trusted addresses.": "Adresy, które mogą zatwierdzać transakcje multisig. Możesz wybrać do {{maxHelpers}} zaufanych adresów.",
"The addresses that are able to help in recovery. You can select up to {{maxHelpers}} trusted helpers.": "Adresy, które mogą pomóc w odzyskaniu. Możesz wybrać do {{maxHelpers}} zaufanych pomocników.",
"The amount to allocate and the conviction that will be applied to all votes made on a referendum.": "Kwota do przydzielenia i przekonanie, które zostanie zastosowane do wszystkich głosów oddanych w referendum.",
"The beneficiary will have access to the transferred fees when the transaction is included in a block.": "Beneficjent będzie miał dostęp do przekazywanych opłat, gdy transakcja zostanie włączona do bloku.",
"The call data for this transaction matching the hash. Once sent, the multisig will be executed against this.": "Dane wywołania dla tej transakcji pasujące do skrótu. Po wysłaniu multisig zostanie wykonany.",
"The call hash from the list of available and unapproved calls.": "Hash połączenia z listy dostępnych i niezatwierdzonych połączeń.",
"The call hashes that have not been executed as of yet.": "Hash wywołania, który nie został jeszcze wykonany.",
"The conviction that will be used for each delegated vote.": "Osąd, które będzie używany przy każdym oddelegowanym głosowaniu.",
"The delay between vouching and the availability of the recovered account.": "Opóźnienie między poręczeniem a dostępnością odzyskanego konta.",
"The derivation path allows you to create different accounts from the same base mnemonic.": "Ścieżka derywacji umożliwia tworzenie różnych kont z tego samego podstawowego mnemonic seed.",
"The derivation will be constructed from the values you specify.": "Derywacja zostanie utworzona z podanych wartości.",
"The email address associated with this identity.": "Adres email powiązany z tą tożsamością.",
"The existing account password as specified when this account was created or when it was last changed.": "Istniejące hasło do konta określone podczas tworzenia tego konta lub podczas ostatniej zmiany.",
"The full account balance to be transferred, minus the transaction fees": "Pełne saldo konta, które ma zostać przeniesione, pomniejszone o opłaty transakcyjne",
"The helpers should be able to verify, via an off-chain mechanism, that the account owner indeed wishes to recover access and as such provide any approvals. In the cases of malicious recovery procedures, they will have the power to stop it.": "Pomocnicy powinni być w stanie zweryfikować, za pośrednictwem mechanizmu poza łańcuchem, czy właściciel konta rzeczywiście chce odzyskać dostęp i jako taki powinien zapewnić wszelkie zgody. W przypadku złośliwych procedur odzyskiwania będą oni mogli zatrzymac taki proces.",
"The legal name for this identity.": "Oficjalna nazwa tej tożsamości.",
"The local name for this account. Changing this does not affect your on-line identity, so this is only used to indicate the name of the account locally.": "Lokalna nazwa tego konta. Zmiana tego nie wpływa na Twoją tożsamość na blockchainie, więc służy ona tylko do lokalnego wskazania nazwy konta.",
"The maximum amount you can delegate is the amount of funds available on the delegating account.": "Maksymalna kwota, jaką możesz delegować, to kwota środków dostępnych na koncie delegującym.",
"The minimum amount that an account should have to be deemed active": "Minimalna ilość środków, jaką konto powinno posiadać być uznane za aktywne",
"The name for this account and how it will appear under your addresses. With an on-chain identity, it can be made available to others.": "Nazwa tego konta i sposób, w jaki będzie wyświetlana pod Twoimi adresami. Dzięki tożsamości na łańcuchu można ją udostępnić innym.",
"The name for this account as it will appear under your accounts.": "Nazwa tego konta, która będzie wyświetlana pod Twoimi kontami.",
"The name is for unique identification of the account in your owner lists.": "Nazwa służy do unikalnej identyfikacji konta na listach właścicieli.",
"The name that will be displayed in your accounts list.": "Nazwa, która będzie wyświetlana na liście Twoich kont.",
"The network from which this account was originally generated is different than the network you are currently connected to. Once imported ensure you toggle the \"allow on any network\" option for the account to keep it visible on the current network.": "Sieć, z której to konto zostało pierwotnie wygenerowane, różni się od sieci, z którą jesteś obecnie połączony. Po zaimportowaniu upewnij się, że przełączasz opcję \"zezwól w dowolnej sieci\", aby konto pozostało widoczne w bieżącej sieci.",
"The network to derive on": "Sieć, z której mają pochodzić",
"The new account password. Once set, all future account unlocks will be performed with this new password.": "Nowe hasło do konta. Po ustawieniu wszystkie przyszłe odblokowania kont będą wykonywane przy użyciu tego nowego hasła.",
"The operation type to apply. For approvals both non-final and final approvals are supported.": "Typ operacji do zastosowania. W przypadku zatwierdzeń obsługiwane są zarówno zatwierdzenia nie ostateczne, jak i ostateczne.",
"The password and password confirmation for this account. This is required to authenticate any transactions made and to encrypt the keypair.": "Hasło i potwierdzenie hasła do tego konta. Jest to wymagane do uwierzytelnienia wszelkich wykonanych transakcji i zaszyfrowania pary kluczy.",
"The password previously used to encrypt this account.": "Hasło użyte wcześniej do szyfrowania tego konta.",
"The password to unlock the selected account.": "Hasło do odblokowania wybranego konta.",
"The private key for your account is derived from this seed. This seed must be kept secret as anyone in its possession has access to the funds of this account. If you validate, use the seed of the session account as the \"--key\" parameter of your node.": "Klucz prywatny do Twojego konta pochodzi z tego seeda. Ten seed musi być trzymany w bezpiecznym i w tajemnicy, ponieważ każdy, kto jest w jego posiadaniu, ma dostęp do środków na tym koncie. Jeśli przeprowadzasz walidację, użyj seedu konta sesji jako parametru \"--key\" dla noda.",
"The recipient is associated with a known phishing site on {{url}}": "Odbiorca jest powiązany ze znaną witryną phishingową pod adresem {{url}}",
"The recipient is associated with a known phishing site, {{url}}": "Odbiorca jest powiązany ze znaną witryną phishingową pod adresem {{url}}",
"The recoverable account is protected against the loss of seed/access by a social process.": "Konto możliwe do odzyskania jest chronione przed utratą seedów / dostępu przez proces społeczny.",
"The secret seed value for this account. Ensure that you keep this in a safe place, with access to the seed you can re-create the account.": "Tajna wartość początkowa dla tego konta. Upewnij się że przechowujesz te dane w bezpiecznym miejscu, mając dostęp do seed możesz przywrócić konto.",
"The selected account to perform the derivation on.": "Wybrane konto do wykonania wyprowadzenia.",
"The sender is associated with a known phishing site, {{url}}": "Nadawca jest powiązany ze znaną witryną wyłudzającą informacje, {{url}}",
"The signatories has the ability to create transactions using the multisig and approve transactions sent by others.Once the threshold is reached with approvals, the multisig transaction is enacted on-chain.": "Sygnatariusze mają możliwość tworzenia transakcji z wykorzystaniem multisig oraz zatwierdzania transakcji przesyłanych przez innych..",
"The signatory to send the approval/cancel from": "Sygnatariusz, od którego ma zostać wysłane zatwierdzenie / anulowanie",
"The threshold for approval should be less or equal to the number of signatories for this multisig.": "Próg zatwierdzenia powinien być mniejszy lub równy liczbie sygnatariuszy tego multisig.",
"The threshold for approvals and the delay is the protection associated with the account. The delay should be such that any colluding recovery attempts does have a window to stop.": "Próg zatwierdzeń i opóźnienia to ochrona związana z kontem. Opóźnienie powinno być takie, aby wszelkie próby odzyskania danych w zmowie miały czas na zatrzymanie.",
"The threshold for this multisig": "Próg dla tego multisig",
"The threshold of vouches that is to be reached for the account to be recovered.": "Próg poręczeń, który ma zostać osiągnięty, aby konto zostało odzyskane.",
"The transaction, after application of the transfer fees, will drop the balance below the existential deposit. As such the transfer will fail. The account needs more funds to cover the transaction fees.": "Transakcja, po zastosowaniu opłat za przelew, obniży saldo poniżej depozytu egzystencjalnego. W związku z tym transfer się nie powiedzie. Konto potrzebuje więcej środków na pokrycie opłat transakcyjnych.",
"The transferred balance will be subtracted (along with fees) from the sender account.": "Przelane saldo zostanie odjęte (wraz z opłatami) z konta nadawcy.",
"The twitter name for this identity.": "Nazwa twittera dla tej tożsamości.",
"There is an existing reference count on the sender account. As such the account cannot be reaped from the state.": "Na koncie nadawcy istnieją referencje. W związku z tym konto nie może być wyczyszczone do zera.",
"These are trusted individuals that can verify and approve any recovery actions. With recovery, once the threshold is reached, the funds associated with the account can be moved to a new destination.": "Są to zaufane osoby, które mogą weryfikować i zatwierdzać wszelkie działania naprawcze. Po osiągnieciu progu decyzyjności środki powiązane z kontem mogą zostać przeniesione w nowe miejsce.",
"This account has a governance delegation": "To konto ma delegację głosów governance",
"This account has {{proxyNumber}} proxy set.": "To konto ma następującą liczbę {{proxyNumber}} ustawionych proxy.",
"This account is available on all networks. Ensure you tie it to a specific network via the account options (\"only this network\" option) to limit availability on a single network.": "To konto jest dostępne we wszystkich sieciach. Upewnij się, że łączysz je z określoną siecią za pomocą opcji konta (opcja \"tylko ta sieć\"), aby ograniczyć dostępność w jednej sieci.",
"This account is available on all networks. Ensure you tie it to a specific network via the account options (\"only this network\" option) to limit availability on a single network. For accounts from eg. an extension, use the extension itself to set the network.": "To konto jest dostępne we wszystkich sieciach. Upewnij się, że łączysz go z określoną siecią za pomocą opcji konta (opcja \"tylko ta sieć\"), aby ograniczyć dostępność w pojedynczej sieci. Dla kont z rozszerzenia, użyj ustawień bezpośrednio w rozszerzeniu do ustawienia sieci.",
"This account is available on all networks. It is recommended to link to a specific network via the account options (\"only this network\" option) to limit availability. For accounts from an extension, set the network on the extension.": "To konto jest dostępne we wszystkich sieciach. Zaleca się połączenie z określoną siecią za pomocą opcji konta (opcja \"tylko ta sieć\") w celu ograniczenia dostępności. W przypadku kont z importowanych z rozszerzenia, ustaw sieć bezpośrenio w ustawieniach rozszerzenia.",
"This account is recoverable, with the following friends:": "To konto można odzyskać u następujących znajomych:",
"This does not send any transaction, rather is only sets the genesis in the account JSON.": "To nie wysyła żadnej transakcji, a raczej ustawia genezę na koncie JSON.",
"This is a development account derived from the known development seed. Do not use for any funds on a non-development network.": "To jest konto developerski pochodzące z development seed. Nie używaj do żadnych innych celów niż programistycznych.",
"This is a development account derived from the known development seed. Do now use for any funds on a non-development network.": "To jest konto developerski pochodzące z development seed. Nie używaj do żadnych innych celów niż programistycznych.",
"This is especially prudent in cases where the address is only destined to be used on a single network or linked to a specific device.": "Jest to szczególna zalecana opcja w przypadkach, gdy adres ma być używany tylko w jednej sieci lub połączony z określonym urządzeniem.",
"This password is used to encrypt your private key. It must be strong and unique! You will need it to sign transactions with this account. You can recover this account using this password together with the backup file (generated in the next step).": "To hasło służy do szyfrowania klucza prywatnego. Musi być mocne i niepowtarzalne! Będziesz go potrzebować do podpisywania transakcji na tym koncie. Możesz odzyskać to konto, używając tego hasła wraz z plikiem kopii zapasowej (wygenerowanym w następnym kroku).",
"This will apply to any future use of this account as stored on this browser. Ensure that you securely store this new password and that it is strong and unique to the account.": "Będzie to miało zastosowanie do każdego przyszłego wykorzystania tego konta zapisanego w tej przeglądarce. Upewnij się, że bezpiecznie przechowujesz nowe hasło oraz że jest ono silne i unikalne dla konta.",
"Total amount of fund that will be reserved. These funds are returned when the identity is cleared": "Całkowita kwota funduszu, który zostanie zarezerwowany. Środki te są zwracane po skasowaniu tożsamości",
"Transfer the full account balance, reap the sender": "Przenieś pełne saldo konta, zamykając je",
"Transfer with account keep-alive checks": "Przeew z bieżacym sprawdzeniem stanu transackji i poprawności stanu po dokonaniu stransakcji",
"Type here what you would like your address to contain. This tool will generate the keys and show the associated addresses that best match your search. You can use \"?\" as a wildcard for a character.": "Wpisz tutaj, co chcesz, aby zawierał Twój adres. To narzędzie wygeneruje klucze i pokaże powiązane adresy, które najlepiej pasują do Twojego wyszukiwania. Możesz użyć \"?\" Jako symbolu wieloznacznego dla znaku.",
"Type the amount you want to transfer. Note that you can select the unit on the right e.g sending 1 milli is equivalent to sending 0.001.": "Wpisz kwotę, którą chcesz przelać. Zauważ, że możesz wybrać jednostkę po prawej stronie, np. Wysłanie 1 mili jest równoważne wysłaniu 0,001.",
"Type the password chosen at the account creation. It was used to encrypt your account's private key in the backup file.": "Wpisz hasło wybrane podczas tworzenia konta. To które zostało użyte do zaszyfrowania klucza prywatnego Twojego konta w pliku kopii zapasowej.",
"Undelegate": "Cofnij delegacje",
"Unlock": "Odblokuj",
"Unlock vested amount": "Odblokuj przysługującą kwotę",
"Validator": "Validator",
"Vanity generator": "Vanity generator",
"Verify the password entered above.": "Potwierdź hasło wprowadzone powyżej.",
"We will provide you with a generated backup file after your account is created. As long as you have access to your account you can always download this file later by clicking on \"Backup\" button from the Accounts section.": "Po utworzeniu konta dostarczymy Ci wygenerowany plik kopii zapasowej. Jeśli masz dostęp do swojego konta, zawsze możesz pobrać ten plik później, klikając przycisk \"Kopia zapasowa\" w sekcji Konta.",
"With the keep-alive option set, the account is protected against removal due to low balances.": "Dzięki ustawionej opcji utrzymywania przy życiu konto jest chronione przed usunięciem z powodu niskiego salda.",
"You can set a custom derivation path for this account using the following syntax \"/<soft-key>//<hard-key>\". The \"/<soft-key>\" and \"//<hard-key>\" may be repeated and mixed`. An optional \"///<password>\" can be used with a mnemonic seed, and may only be specified once.": "Możesz ustawić niestandardową ścieżkę wyprowadzania dla tego konta, używając następującej składni \"/<soft-key>//<hard-key>\".\"/<soft-key>\" i \"//<hard-key>\" mogą być powtarzane i mieszane. \"/// <hasło>\" można użyć z mnemonic seed i można je podać tylko raz.",
"You can set a custom derivation path for this account using the following syntax \"/<soft-key>//<hard-key>///<password>\". The \"/<soft-key>\" and \"//<hard-key>\" may be repeated and mixed`.": "Możesz ustawić niestandardową ścieżkę wyprowadzania dla tego konta, używając następującej składni \"/<soft-key>//<hard-key>///<password>\".\"/<soft-key>\" i \"// <hard-key>\" mogą być powtarzane i mieszane..",
"You can set a custom derivation path for this account using the following syntax \"/<soft-key>//<hard-key>///<password>\". The \"/<soft-key>\" and \"//<hard-key>\" may be repeated and mixed`. The \"///password\" is optional and should only occur once.": "Możesz ustawić niestandardową ścieżkę wyprowadzania dla tego konta, używając następującej składni \"/<soft-key>//<hard-key>///<password>\".\"/<soft-key>\" i \"//<hard-key>\" mogą być powtarzane i mieszane. \"///hasło\" jest opcjonalne i powinno wystąpić tylko raz.",
"You don't have any accounts. Some features are currently hidden and will only become available once you have accounts.": "Nie masz żadnych kont. Niektóre funkcje są obecnie ukryte i będą dostępne dopiero po założeniu kont.",
"You have {{claimCount}} accounts that need attestations. Use the Claim Tokens app on the navigation bar to complete the process. Until you do, your balances for those accounts will not be reflected.": "Masz {{claimCount}} kont, które wymagają zaświadczeń. Użyj aplikacji Odbierz Tokeny na pasku nawigacyjnym, aby zakończyć proces. Dopóki tego nie zrobisz, Twoje salda na tych kontach nie zostaną uwzględnione.",
"You have {{upgradableCount}} extensions that need to be updated with the latest chain properties in order to display the correct information for the chain you are connected to. This update includes chain metadata and chain properties.": "Masz {{upgradableCount}} rozszerzeń, które muszą zostać zaktualizowane o najnowsze właściwości łańcucha, aby wyświetlić poprawne informacje o łańcuchu, z którym jesteś połączony. Ta aktualizacja zawiera metadane łańcucha i właściwości łańcucha.",
"You should not setup proxies to act as a self-proxy.": "Nie należy konfigurować proxy, aby działały jako własne proxy.",
"You will remove any delegation made by this account": "Usuniesz wszystkie delegacje dokonane z tego konta",
"Your ethereum key pair is derived from your private key. Don't divulge this key.": "Twoja para kluczy ethereum pochodzi z twojego klucza prywatnego. Nie ujawniaj tego klucza.",
"Your password contains at least one \"/\" character. Disregard this warning if it is intended.": "Twoje hasło zawiera co najmniej jeden znak \"/\". Zignoruj to ostrzeżenie, jeśli jest zamierzone.",
"a riot name linked to this identity": "Nazwa konta riot powiązana z tą tożsamośćią",
"account forgotten": "konto zapomniane",
"account name": "nazwa konta",
"account restored": "konto przywrócone",
"account type": "typ konta",
"accounts": "konta",
"added proxy": "dodane proxy",
"address index": "indez adresu",
"address {{index}}": "adres {{index}}",
"amount": "ilość / kwota",
"approval type": "typ potwierdzenia",
"available signatories": "dostępni sygnotariusze",
"available social recovery helpers": "dostępni pomocnicy w odyskaniu społecznym",
"backup file": "plik zapasowy",
"balance": "stan",
"balances": "stany",
"call data for final approval": "dane do ostatecznego zatwierdzenia",
"case sensitive": "wielkość liter ma znaczenie",
"conviction": "opinia",
"created account": "storzone konto",
"created multisig": "stworzone konto multisig",
"delay": "opóźnienie",
"delegate democracy vote": "deleguj głosy w głosowaniu demokratycznym",
"delegated account": "konto delegowane",
"delegating account": "konto delegujące",
"delegating amount": "delegowana kwota / ilość",
"democracy vote delegation": "delegacja głosów demokratycznych",
"deposit": "depozyt",
"derivation path": "scieżka derywacji / wydzielenia",
"derive root account": "wydziel konto root",
"development seed": "seedy deweloperskie",
"display name": "wyświetlana nazwa",
"email": "email",
"ethereum private key": "prywatny klucz ethereum",
"existential deposit": "depozyt egzystencjalny",
"filter by name or tags": "filtruj według nazwy lub tagów",
"https://example.com": "https://example.com",
"identity": "tożsamość",
"include field": "uwzględnij pole",
"invalid/unknown registrar account": "nieprawidłowe / nieznane konto rejestratora",
"judgement": "osąd / ocena",
"keypair crypto type": "typ kryptograficzny zabezpieczenia pary kluczy",
"keypair type": "typ pary kluczy",
"legal name": "oficjalna nazwa",
"matches": "powiązania",
"mnemonic": "mnemonic",
"mnemonic seed": "mnemonic seed",
"multisig": "multisig",
"multisig name": "nazwa konta multisig",
"name": "nazwa",
"new account": "nowe konto",
"parent": "żródło",
"partial seed": "częściowy seed",
"password": "hasło",
"password (repeat)": "hasło (powtórz)",
"pending hashes": "oczekujące hashe",
"private key": "klucz prywatny",
"proxied account": "konto z zależnościami",
"proxied name": "nazwa zależności",
"proxy account": "konto proxy",
"raw seed": "raw seed",
"recover this account": "odzyskaj to konto",
"recovery block delay": "opóźnienie blokady odzyskiwania",
"recovery threshold": "próg odzysku",
"registrar account": "konto rejestratora",
"registrar index": "index rejestratora",
"riot": "riot",
"riot name": "nazwa w riot",
"secret": "tajne",
"secret derivation path": "tajna ścieżka derywacji",
"seed (hex or string)": "seed (hex lub string)",
"selected signatories": "wybrani sygnotariusze",
"send": "wyślij",
"send from account": "wyślij z konta",
"send to address": "wyślij na adres",
"signatories": "sygnotariusze",
"signatory": "sygnotariusz",
"somebody@example.com": "ktoś@przykład.com",
"stash address": "adres konta środków",
"sub": "podrzędny",
"sub name": "podrzędna nazwa",
"subs": "podrzędności",
"tags": "tagi",
"the account to make recoverable": "konto do odzyskania",
"the account to recover to": "konto na które ma być odzyskane",
"threshold": "próg / limit",
"total deposit": "ogólny depozyt",
"transactions": "tranzakcje",
"transferable": "możliwy do przeslania",
"transferable minus fees": "możliwy do przesłania po odjęciu opłat",
"trusted social recovery helpers": "zaufani pomocnicy w naprawie społecznej",
"twitter": "twitter",
"type": "typ",
"web": "sieć",
"website": "strona internetowa",
"your current password": "twoje obecne hasło",
"your new password": "twoje nowe hasło"
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+15
View File
@@ -0,0 +1,15 @@
{
"short_name": "Pezkuwi Apps",
"name": "Apps for interacting with a Pezkuwi node",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
}
],
"start_url": "index.html",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
+75
View File
@@ -0,0 +1,75 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { BareProps as Props } from '@pezkuwi/react-components/types';
import React, { useMemo } from 'react';
import { AccountSidebar, styled } from '@pezkuwi/react-components';
import GlobalStyle from '@pezkuwi/react-components/styles';
import { useApi, useTheme } from '@pezkuwi/react-hooks';
import Signer from '@pezkuwi/react-signer';
import Content from './Content/index.js';
import Menu from './Menu/index.js';
import BottomOverlay from './overlays/Bottom.js';
import ConnectingOverlay from './overlays/Connecting.js';
import WarmUp from './WarmUp.js';
export const PORTAL_ID = 'portals';
function Apps ({ className = '' }: Props): React.ReactElement<Props> {
const { themeClassName } = useTheme();
const { apiEndpoint, isDevelopment } = useApi();
const uiHighlight = useMemo(
() => isDevelopment
? undefined
: apiEndpoint?.ui.color,
[apiEndpoint, isDevelopment]
);
return (
<>
<GlobalStyle uiHighlight={uiHighlight} />
<StyledDiv className={`${className} apps--Wrapper ${themeClassName}`}>
<Menu />
<AccountSidebar>
<Signer>
<Content />
</Signer>
<ConnectingOverlay />
<BottomOverlay />
<div id={PORTAL_ID} />
</AccountSidebar>
</StyledDiv>
<WarmUp />
</>
);
}
const StyledDiv = styled.div`
background: var(--bg-page);
box-sizing: border-box;
display: flex;
flex-direction: column;
min-height: 100vh;
${[
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24
].map((n) => `
.greyAnim-${n} {
animation: greyAnim${n} 2s;
}
@keyframes greyAnim${n} {
0% { background: #a6a6a6; }
50% { background: darkorange; }
100% { background: #a6a6a6; }
}
`).join('')}
`;
export default React.memo(Apps);
@@ -0,0 +1,47 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import React, { useEffect, useState } from 'react';
import { MarkWarning, styled } from '@pezkuwi/react-components';
const BrowserCheckAlert: React.FC = () => {
const [isTargetBrowser, setIsTargetBrowser] = useState(false);
useEffect(() => {
const ua = navigator.userAgent;
// Detect Firefox
const firefoxMatch = ua.match(/Firefox\/(\d+\.\d+)/);
if (firefoxMatch) {
// Check for Firefox 145.0 specifically
if (ua.includes('145.0')) {
setIsTargetBrowser(true);
}
}
}, []);
if (!isTargetBrowser) {
return null;
}
return (
<StyledBanner
className='warning centered'
withIcon={false}
>
The app is having some trouble running on Firefox v145.0. To keep everything running smoothly, please upgrade Firefox to the latest version or try using a different browser.
</StyledBanner>
);
};
const StyledBanner = styled(MarkWarning)`
border: 1px solid #ffc107;
background: #ffc10720;
font-size: 1rem !important;
margin-bottom: 5rem !important;
`;
export default BrowserCheckAlert;
+21
View File
@@ -0,0 +1,21 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { RouteProps } from '@pezkuwi/apps-routing/types';
import React from 'react';
import { Navigate } from 'react-router';
interface Props extends RouteProps {
missingApis?: (string | string[])[];
}
function NotFound ({ basePath, missingApis = [] }: Props): React.ReactElement {
console.log(`Redirecting from route "${basePath}" to "/explorer"${missingApis.length ? `, missing the following APIs: ${JSON.stringify(missingApis)}` : ''}`);
return (
<Navigate to='/explorer' />
);
}
export default React.memo(NotFound);
+82
View File
@@ -0,0 +1,82 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ActionStatus } from '@pezkuwi/react-components/Status/types';
import type { EventRecord } from '@pezkuwi/types/interfaces';
import type { KeyringOptions } from '@pezkuwi/ui-keyring/options/types';
import React, { useEffect } from 'react';
import { Status as StatusDisplay } from '@pezkuwi/react-components';
import { useAccounts, useApi, useCall, useQueue } from '@pezkuwi/react-hooks';
import { stringToU8a } from '@pezkuwi/util';
import { xxhashAsHex } from '@pezkuwi/util-crypto';
import { useTranslation } from '../translate.js';
interface Props {
optionsAll?: KeyringOptions;
}
let prevEventHash: string;
function filterEvents (allAccounts: string[], t: (key: string, options?: { replace: Record<string, unknown> }) => string, optionsAll?: KeyringOptions, events?: EventRecord[]): ActionStatus[] | null {
const eventHash = xxhashAsHex(stringToU8a(JSON.stringify(events)));
if (!optionsAll || !events || eventHash === prevEventHash) {
return null;
}
prevEventHash = eventHash;
return events
.map(({ event: { data, method, section } }): ActionStatus | null => {
if (section === 'balances' && method === 'Transfer') {
const account = data[1].toString();
if (allAccounts.includes(account)) {
return {
account,
action: `${section}.${method}`,
message: t('transfer received'),
status: 'event'
};
}
} else if (section === 'democracy') {
const index = data[0].toString();
return {
action: `${section}.${method}`,
message: t('update on #{{index}}', {
replace: {
index
}
}),
status: 'event'
};
}
return null;
})
.filter((item): item is ActionStatus => !!item);
}
function Status ({ optionsAll }: Props): React.ReactElement<Props> {
const { queueAction } = useQueue();
const { api, isApiReady } = useApi();
const { allAccounts } = useAccounts();
const { t } = useTranslation();
const events = useCall<EventRecord[]>(isApiReady && api.query.system?.events);
useEffect((): void => {
const filtered = filterEvents(allAccounts, t, optionsAll, events);
filtered && queueAction(filtered);
}, [allAccounts, events, optionsAll, queueAction, t]);
return (
<StatusDisplay />
);
}
export default React.memo(Status);
+132
View File
@@ -0,0 +1,132 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Route } from '@pezkuwi/apps-routing/types';
import React, { Suspense, useMemo } from 'react';
import { useLocation } from 'react-router-dom';
import createRoutes from '@pezkuwi/apps-routing';
import { ErrorBoundary, Spinner, styled } from '@pezkuwi/react-components';
import { useApi, useQueue } from '@pezkuwi/react-hooks';
import { TabsCtx } from '@pezkuwi/react-hooks/ctx/Tabs';
import { findMissingApis } from '../endpoint.js';
import { useTranslation } from '../translate.js';
import BrowserCheckAlert from './BrowserCheckAlert.js';
import NotFound from './NotFound.js';
import Status from './Status.js';
interface Props {
className?: string;
}
const NOT_FOUND: Route = {
Component: NotFound,
display: {},
group: 'settings',
icon: 'times',
isIgnored: false,
name: 'unknown',
text: 'Unknown'
};
function Content ({ className }: Props): React.ReactElement<Props> {
const location = useLocation();
const { t } = useTranslation();
const { api, isApiConnected, isApiReady, isDevelopment } = useApi();
const { queueAction } = useQueue();
const { Component, display: { needsApi, needsApiCheck, needsApiInstances }, icon, name, text } = useMemo(
(): Route => {
const app = location.pathname.slice(1) || '';
return createRoutes(t).find((r) =>
r &&
app.startsWith(r.name) &&
(isDevelopment || !r.display.isDevelopment)
) || NOT_FOUND;
},
[isDevelopment, location, t]
);
const missingApis = useMemo(
() => needsApi
? isApiReady && isApiConnected
? findMissingApis(api, needsApi, needsApiInstances, needsApiCheck)
: null
: [],
[api, isApiConnected, isApiReady, needsApi, needsApiCheck, needsApiInstances]
);
return (
<StyledDiv className={className}>
{!missingApis
? (
<div className='connecting'>
<BrowserCheckAlert />
<Spinner label={t('Initializing connection')} />
</div>
)
: (
<>
<Suspense fallback='...'>
<ErrorBoundary trigger={name}>
<TabsCtx.Provider value={{ icon, text }}>
{missingApis.length
? (
<NotFound
basePath={`/${name}`}
location={location}
missingApis={missingApis}
onStatusChange={queueAction}
/>
)
: (
<Component
basePath={`/${name}`}
location={location}
onStatusChange={queueAction}
/>
)
}
</TabsCtx.Provider>
</ErrorBoundary>
</Suspense>
<Status />
</>
)
}
</StyledDiv>
);
}
const StyledDiv = styled.div`
flex-grow: 1;
overflow: hidden auto;
padding: 0 0 1rem 0;
position: relative;
width: 100%;
.connecting {
padding: 3.5rem 0;
}
& main > *:not(header):not(.hasOwnMaxWidth) {
max-width: var(--width-full);
margin-right: auto;
margin-left: auto;
width: 100%;
padding: 0 1.5rem;
@media only screen and (max-width: 1100px) {
padding: 0 1rem;
}
@media only screen and (max-width: 800px) {
padding: 0 0.75rem;
}
}
`;
export default React.memo(Content);
+127
View File
@@ -0,0 +1,127 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Group, IFavoriteChainProps, IFavoriteChainsStorage } from './types.js';
import React, { useCallback, useMemo } from 'react';
import { Icon, styled } from '@pezkuwi/react-components';
import Network from './Network.js';
import { getContrastingColor, isFavoriteChain } from './utils.js';
interface Props {
affinities: Record<string, string>;
apiUrl: string;
children?: React.ReactNode;
className?: string;
index: number;
isSelected: boolean;
favoriteChains: IFavoriteChainsStorage,
toggleFavoriteChain: (chainInfo: IFavoriteChainProps) => void;
setApiUrl: (network: string, apiUrl: string) => void;
setGroup: (groupIndex: number) => void;
value: Group;
highlightColor: string;
}
function GroupDisplay ({ affinities, apiUrl, children, className = '', favoriteChains, highlightColor, index, isSelected, setApiUrl, setGroup, toggleFavoriteChain, value: { header, isSpaced, networks } }: Props): React.ReactElement<Props> {
const _setGroup = useCallback(
() => setGroup(isSelected ? -1 : index),
[index, isSelected, setGroup]
);
const isFavoriteHeader = useMemo(() => header?.toString().includes('Favorite'), [header]);
const filtered = useMemo(
() => networks.filter(({ isUnreachable }) => !isUnreachable),
[networks]
);
if (isFavoriteHeader && Object.keys(favoriteChains).length === 0) {
return <></>;
}
return (
<StyledDiv
className={`${className}${isSelected ? ' isSelected' : ''}`}
highlightColor={highlightColor}
>
<div
className={`groupHeader${isSpaced ? ' isSpaced' : ''}${isFavoriteHeader ? ' isFavoriteHeader' : ''}`}
onClick={_setGroup}
>
<Icon icon={isSelected ? 'caret-up' : 'caret-down'} />
{header}
</div>
{isSelected && (
<>
<div className='groupNetworks'>
{filtered.map((network, index): React.ReactNode => (
<Network
affinity={affinities[network.name]}
apiUrl={apiUrl}
isFavorite={isFavoriteChain(favoriteChains, {
chainName: network.name,
paraId: network.paraId,
relay: network.nameRelay
})}
key={index}
setApiUrl={setApiUrl}
toggleFavoriteChain={toggleFavoriteChain}
value={network}
/>
))}
</div>
{children}
</>
)}
</StyledDiv>
);
}
const StyledDiv = styled.div<{ highlightColor: string; }>`
.groupHeader {
border-radius: 0.25rem;
cursor: pointer;
line-height: 1;
padding: 0.75rem 1rem;
position: relative;
text-transform: uppercase;
&:hover {
background: var(--bg-table);
}
&.isSpaced {
margin-top: 0.75rem;
}
.ui--Icon {
margin-right: 0.5rem;
}
&.isFavoriteHeader {
&:hover {
background: linear-gradient(
135deg,
${(props) => props.highlightColor}f2 0%,
${(props) => props.highlightColor}99 100%
);
color: ${(props) => getContrastingColor(props.highlightColor)};
}
&::after {
content: '⭐';
margin-left: 8px;
font-size: 16px;
}
}
}
.groupNetworks {
padding: 0.25rem 0 0.5rem 1rem;
}
`;
export default React.memo(GroupDisplay);
+193
View File
@@ -0,0 +1,193 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { IFavoriteChainProps, Network } from './types.js';
import React, { useCallback, useMemo } from 'react';
import { ChainImg, Dropdown, Icon, styled } from '@pezkuwi/react-components';
import { useTranslation } from '../translate.js';
interface Props {
affinity?: string; // unused - previous selection
apiUrl: string;
className?: string;
setApiUrl: (network: string, apiUrl: string) => void;
value: Network;
isFavorite: boolean;
toggleFavoriteChain: (chainInfo: IFavoriteChainProps) => void;
}
function NetworkDisplay ({ apiUrl, className = '', isFavorite, setApiUrl, toggleFavoriteChain, value: { isChild, isRelay, isUnreachable, name, nameRelay: relay, paraId, providers, ui } }: Props): React.ReactElement<Props> {
const { t } = useTranslation();
const isSelected = useMemo(
() => providers.some(({ url }) => url === apiUrl),
[apiUrl, providers]
);
const providersOptions = useMemo(() => {
return providers.map(({ name, url }) => ({
text: name,
value: url
}));
}, [providers]);
const _selectUrl = useCallback(
() => {
const filteredProviders = providers.filter(({ url }) => !url.startsWith('light://'));
if (filteredProviders.length === 0) {
alert('No WebSocket (wss://) provider available');
return;
}
return setApiUrl(name, filteredProviders[Math.floor(Math.random() * filteredProviders.length)].url);
},
[name, providers, setApiUrl]
);
const _setApiUrl = useCallback(
(apiUrl: string) => setApiUrl(name, apiUrl),
[name, setApiUrl]
);
const _toggleFavoriteChain = useCallback((e: React.MouseEvent<SVGSVGElement, MouseEvent>) => {
e.preventDefault();
e.stopPropagation();
toggleFavoriteChain({ chainName: name, paraId, relay });
}, [name, paraId, relay, toggleFavoriteChain]);
return (
<StyledDiv className={`${className}${isSelected ? ' isSelected highlight--border' : ''}${isUnreachable ? ' isUnreachable' : ''}`}>
<div
className={`markFavoriteSection${isChild ? ' isChild' : ''}`}
onClick={isUnreachable ? undefined : _selectUrl}
>
<div className='endpointSection'>
<ChainImg
className='endpointIcon'
isInline
logo={ui.logo || 'empty'}
withoutHl
/>
<div className='endpointValue'>
<div>{name}</div>
{isSelected && (isRelay || !!paraId) && (
<div className='endpointExtra'>
{isRelay
? t('Relay chain')
: paraId && paraId < 1000
? t('{{relay}} System', { replace: { relay } })
: paraId && paraId < 2000
? t('{{relay}} Common', { replace: { relay } })
: t('{{relay}} Teyrchain', { replace: { relay } })
}
</div>
)}
</div>
</div>
<Icon
className={isFavorite ? 'isFavorite' : ''}
icon='star'
onClick={_toggleFavoriteChain}
/>
</div>
{isSelected &&
<Dropdown
className='isSmall'
onChange={_setApiUrl}
options={providersOptions}
value={apiUrl}
withLabel={false}
/>
}
</StyledDiv>
);
}
const StyledDiv = styled.div`
border-left: 0.25rem solid transparent;
border-radius: 0.25rem;
cursor: pointer;
margin: 0 0 0.25rem 0;
padding: 0.375rem 0.5rem 0.375rem 1rem;
position: relative;
&.isUnreachable {
opacity: var(--opacity-light);
}
&.isSelected {
.markFavoriteSection {
gap: 1rem;
padding-bottom: 1rem;
}
}
.markFavoriteSection {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
&:hover .ui--Icon {
opacity: 0.5;
}
.ui--Icon {
scale: 1.1;
opacity: 0;
transition: color 0.2s ease;
&:hover {
opacity: 0.5;
stroke: darkorange;
color: darkorange;
}
&.isFavorite {
opacity: 1;
stroke: darkorange;
color: darkorange;
}
}
}
&.isSelected,
&:hover {
background: var(--bg-table);
}
.endpointSection {
align-items: center;
display: flex;
justify-content: flex-start;
position: relative;
&+.ui--Toggle {
margin-top: 1rem;
}
&+.endpointProvider {
margin-top: -0.125rem;
}
.endpointValue {
.endpointExtra {
font-size: var(--font-size-small);
opacity: var(--opacity-light);
}
}
}
// we jiggle our labels somewhat...
label {
font-size: var(--font-size-small);
font-weight: var(--font-weight-normal);
text-transform: none;
}
`;
export default React.memo(NetworkDisplay);
+446
View File
@@ -0,0 +1,446 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { LinkOption } from '@pezkuwi/apps-config/endpoints/types';
import type { Group, IFavoriteChainProps } from './types.js';
// ok, this seems to be an eslint bug, this _is_ a package import
import punycode from 'punycode/';
import React, { useCallback, useMemo, useRef, useState } from 'react';
import store from 'store';
import { createWsEndpoints, CUSTOM_ENDPOINT_KEY } from '@pezkuwi/apps-config';
import { Button, Input, Sidebar, styled } from '@pezkuwi/react-components';
import { defaultHighlight } from '@pezkuwi/react-components/styles';
import { useApi } from '@pezkuwi/react-hooks';
import { settings } from '@pezkuwi/ui-settings';
import { isAscii } from '@pezkuwi/util';
import { useTranslation } from '../translate.js';
import GroupDisplay from './Group.js';
import { getFavoriteChains, isFavoriteChain, toggleFavoriteChain } from './utils.js';
interface Props {
className?: string;
offset?: number | string;
onClose: () => void;
}
interface UrlState {
apiUrl: string;
groupIndex: number;
hasUrlChanged: boolean;
isUrlValid: boolean;
}
const STORAGE_AFFINITIES = 'network:affinities';
function isValidUrl (url: string): boolean {
return (
// some random length... we probably want to parse via some lib
(url.length >= 7) &&
// check that it starts with a valid ws identifier
(url.startsWith('ws://') || url.startsWith('wss://') || url.startsWith('light://'))
);
}
function combineEndpoints (endpoints: LinkOption[]): Group[] {
const favoriteChains = getFavoriteChains();
let favoriteGroupIndex = -1;
const combinedEndpoints = endpoints.reduce((result: Group[], e): Group[] => {
if (e.isHeader) {
const isFavoriteHeader =
typeof e.text === 'string' && e.text.includes('Favorite chains');
result.push({ header: e.text, isDevelopment: e.isDevelopment, isSpaced: e.isSpaced, networks: [] });
if (isFavoriteHeader) {
favoriteGroupIndex = result.length - 1;
}
} else {
const prev = result[result.length - 1];
const prov = { isLightClient: e.isLightClient, name: e.textBy, url: e.value };
const isFavorite = isFavoriteChain(favoriteChains,
{ chainName: e.text?.toString() ?? '',
paraId: e.paraId,
relay: e.textRelay?.toString() });
if (isFavorite && favoriteGroupIndex !== -1 && !e.isUnreachable) {
const favGroup = result[favoriteGroupIndex];
const lastFav = favGroup.networks[favGroup.networks.length - 1];
if (lastFav && lastFav.name === e.text && lastFav.nameRelay === e.textRelay && lastFav.paraId === e.paraId) {
lastFav.providers.push(prov);
} else {
favGroup.networks.push({
isChild: e.isChild,
isRelay: !!e.genesisHash,
name: e.text as string,
nameRelay: e.textRelay as string,
paraId: e.paraId,
providers: [prov],
ui: e.ui
});
}
}
if (prev.networks[prev.networks.length - 1] && e.text === prev.networks[prev.networks.length - 1].name) {
prev.networks[prev.networks.length - 1].providers.push(prov);
} else if (!e.isUnreachable) {
prev.networks.push({
isChild: e.isChild,
isRelay: !!e.genesisHash,
name: e.text as string,
nameRelay: e.textRelay as string,
paraId: e.paraId,
providers: [prov],
ui: e.ui
});
}
}
return result;
}, []);
// Swap first two items in `networks` if first item is relay chain
combinedEndpoints.forEach((r) => {
if (r.networks.length >= 2 && r.networks[0].isRelay && r.header?.toString().includes('teyrchains')) {
[r.networks[0], r.networks[1]] = [r.networks[1], r.networks[0]];
}
});
return combinedEndpoints;
}
function getCustomEndpoints (): string[] {
try {
const storedAsset = localStorage.getItem(CUSTOM_ENDPOINT_KEY);
if (storedAsset) {
return JSON.parse(storedAsset) as string[];
}
} catch (e) {
console.error(e);
// ignore error
}
return [];
}
function extractUrlState (apiUrl: string, groups: Group[]): UrlState {
let groupIndex = groups.findIndex(({ networks }) =>
networks.some(({ providers }) =>
providers.some(({ url }) => url === apiUrl)
)
);
if (groupIndex === -1) {
groupIndex = groups.findIndex(({ isDevelopment }) => isDevelopment);
}
return {
apiUrl,
groupIndex,
hasUrlChanged: settings.get().apiUrl !== apiUrl,
isUrlValid: isValidUrl(apiUrl)
};
}
function loadAffinities (groups: Group[]): Record<string, string> {
return Object
.entries<string>(store.get(STORAGE_AFFINITIES) as Record<string, string> || {})
.filter(([network, apiUrl]) =>
groups.some(({ networks }) =>
networks.some(({ name, providers }) =>
name === network && providers.some(({ url }) => url === apiUrl)
)
)
)
.reduce((result: Record<string, string>, [network, apiUrl]): Record<string, string> => ({
...result,
[network]: apiUrl
}), {});
}
function isSwitchDisabled (hasUrlChanged: boolean, apiUrl: string, isUrlValid: boolean, isLocalFork?: boolean): boolean {
if (!hasUrlChanged) {
if (isLocalFork) {
return false;
} else {
return true;
}
} else if (apiUrl.startsWith('light://')) {
return false;
} else if (isUrlValid) {
return false;
}
return true;
}
function isLocalForkDisabled (hasUrlChanged: boolean, apiUrl: string, isUrlValid: boolean, isLocalFork?: boolean): boolean {
if (!hasUrlChanged) {
if (isLocalFork) {
return true;
} else {
return false;
}
} else if (apiUrl.startsWith('light://')) {
return true;
} else if (isUrlValid) {
return false;
}
return true;
}
function Endpoints ({ className = '', offset, onClose }: Props): React.ReactElement<Props> {
const { t } = useTranslation();
const linkOptions = createWsEndpoints(t);
const { apiEndpoint, isLocalFork } = useApi();
const [favoriteChains, setFavoriteChains] = useState(() => getFavoriteChains());
const [groups, setGroups] = useState(() => combineEndpoints(linkOptions));
const [{ apiUrl, groupIndex, hasUrlChanged, isUrlValid }, setApiUrl] = useState<UrlState>(() => extractUrlState(settings.get().apiUrl, groups));
const [storedCustomEndpoints, setStoredCustomEndpoints] = useState<string[]>(() => getCustomEndpoints());
const [affinities, setAffinities] = useState(() => loadAffinities(groups));
const sidebarRef = useRef<HTMLDivElement>(null);
const isKnownUrl = useMemo(() => {
let result = false;
linkOptions.some((endpoint) => {
if (endpoint.value === apiUrl) {
result = true;
return true;
}
return false;
});
return result;
}, [apiUrl, linkOptions]);
const isSavedCustomEndpoint = useMemo(() => {
let result = false;
storedCustomEndpoints.some((endpoint) => {
if (endpoint === apiUrl) {
result = true;
return true;
}
return false;
});
return result;
}, [apiUrl, storedCustomEndpoints]);
const _changeGroup = useCallback(
(groupIndex: number) => setApiUrl((state) => ({ ...state, groupIndex })),
[]
);
const _toggleFavoriteChain = useCallback((chainInfo: IFavoriteChainProps) => {
toggleFavoriteChain(chainInfo);
setFavoriteChains(getFavoriteChains());
setGroups(combineEndpoints(createWsEndpoints(t)));
}, [t]);
const _removeApiEndpoint = useCallback(
(): void => {
if (!isSavedCustomEndpoint) {
return;
}
const newStoredCurstomEndpoints = storedCustomEndpoints.filter((url) => url !== apiUrl);
try {
localStorage.setItem(CUSTOM_ENDPOINT_KEY, JSON.stringify(newStoredCurstomEndpoints));
setGroups(combineEndpoints(createWsEndpoints(t)));
setStoredCustomEndpoints(getCustomEndpoints());
} catch (e) {
console.error(e);
// ignore error
}
},
[apiUrl, isSavedCustomEndpoint, storedCustomEndpoints, t]
);
const _setApiUrl = useCallback(
(network: string, apiUrl: string): void => {
setAffinities((affinities): Record<string, string> => {
const newValue = { ...affinities, [network]: apiUrl };
store.set(STORAGE_AFFINITIES, newValue);
return newValue;
});
setApiUrl((state) => ({ ...extractUrlState(apiUrl, groups), groupIndex: state.groupIndex }));
},
[groups]
);
const _onChangeCustom = useCallback(
(apiUrl: string): void => {
if (!isAscii(apiUrl)) {
apiUrl = punycode.toASCII(apiUrl);
}
setApiUrl((state) => ({ ...extractUrlState(apiUrl, groups), groupIndex: state.groupIndex }));
},
[groups]
);
const _onApply = useCallback(
(): void => {
store.set('localFork', '');
settings.set({ ...(settings.get()), apiUrl });
window.location.assign(`${window.location.origin}${window.location.pathname}?rpc=${encodeURIComponent(apiUrl)}${window.location.hash}`);
if (!hasUrlChanged) {
window.location.reload();
}
onClose();
},
[apiUrl, onClose, hasUrlChanged]
);
const _onLocalFork = useCallback(
(): void => {
store.set('localFork', apiUrl);
settings.set({ ...(settings.get()), apiUrl });
window.location.assign(`${window.location.origin}${window.location.pathname}?rpc=${encodeURIComponent(apiUrl)}${window.location.hash}`);
if (!hasUrlChanged) {
window.location.reload();
}
onClose();
},
[apiUrl, onClose, hasUrlChanged]
);
const _saveApiEndpoint = useCallback(
(): void => {
try {
localStorage.setItem(CUSTOM_ENDPOINT_KEY, JSON.stringify([...storedCustomEndpoints, apiUrl]));
_onApply();
} catch (e) {
console.error(e);
// ignore error
}
},
[_onApply, apiUrl, storedCustomEndpoints]
);
const canSwitch = useMemo(
() => isSwitchDisabled(hasUrlChanged, apiUrl, isUrlValid, isLocalFork),
[hasUrlChanged, apiUrl, isUrlValid, isLocalFork]
);
const canLocalFork = useMemo(
() => isLocalForkDisabled(hasUrlChanged, apiUrl, isUrlValid, isLocalFork),
[hasUrlChanged, apiUrl, isUrlValid, isLocalFork]
);
return (
<StyledSidebar
buttons={
<>
<Button
icon='code-fork'
isDisabled={canLocalFork}
label={t('Fork Locally')}
onClick={_onLocalFork}
tooltip='fork-locally-btn'
/>
<Button
icon='sync'
isDisabled={canSwitch}
label={t('Switch')}
onClick={_onApply}
/>
</>
}
className={className}
offset={offset}
onClose={onClose}
position='left'
sidebarRef={sidebarRef}
>
{groups.map((group, index): React.ReactNode => (
<GroupDisplay
affinities={affinities}
apiUrl={apiUrl}
favoriteChains={favoriteChains}
highlightColor={apiEndpoint?.ui.color || defaultHighlight}
index={index}
isSelected={groupIndex === index}
key={index}
setApiUrl={_setApiUrl}
setGroup={_changeGroup}
toggleFavoriteChain={_toggleFavoriteChain}
value={group}
>
{group.isDevelopment && (
<div className='endpointCustomWrapper'>
<Input
className='endpointCustom'
isError={!isUrlValid}
isFull
label={t('custom endpoint')}
onChange={_onChangeCustom}
value={apiUrl}
/>
{isSavedCustomEndpoint
? (
<Button
className='customButton'
icon='trash-alt'
onClick={_removeApiEndpoint}
/>
)
: (
<Button
className='customButton'
icon='save'
isDisabled={!isUrlValid || isKnownUrl}
onClick={_saveApiEndpoint}
/>
)
}
</div>
)}
</GroupDisplay>
))}
</StyledSidebar>
);
}
const StyledSidebar = styled(Sidebar)`
color: var(--color-text);
padding-top: 3.5rem;
.customButton {
position: absolute;
top: 1rem;
right: 1rem;
}
.endpointCustom {
input {
padding-right: 4rem;
}
}
.endpointCustomWrapper {
position: relative;
}
`;
export default React.memo(Endpoints);
+37
View File
@@ -0,0 +1,37 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type React from 'react';
export interface IFavoriteChainProps {
chainName: string;
relay?: string;
paraId?: number;
}
export type IFavoriteChainsStorage = Record<string, {relay: string, paraId: number}[]>
export interface Network {
isChild?: boolean;
isLightClient?: boolean;
isRelay?: boolean;
isUnreachable?: boolean;
name: string;
nameRelay?: string;
paraId?: number;
providers: {
name: string;
url: string;
}[];
ui: {
color?: string;
logo?: string;
}
}
export interface Group {
header: React.ReactNode;
isDevelopment?: boolean;
isSpaced?: boolean;
networks: Network[];
}
+156
View File
@@ -0,0 +1,156 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { IFavoriteChainProps, IFavoriteChainsStorage } from './types.js';
import { createWsEndpoints } from '@pezkuwi/apps-config';
export const FAVORITE_CHAINS_KEY = 'pezkuwi-app-favorite-chains';
const chainsConfig = createWsEndpoints((k, v) => v?.toString() || k);
export const toggleFavoriteChain = (
chainInfo: IFavoriteChainProps
) => {
try {
const chainName = chainInfo.chainName;
const meta = { paraId: chainInfo.paraId ?? -1, relay: chainInfo.relay ?? 'Unknown' };
const favoriteChains = getFavoriteChains();
const existingEntries = favoriteChains[chainName] ?? [];
const alreadyExists = existingEntries.some(
(entry) => entry.relay === meta.relay && entry.paraId === meta.paraId
);
let updatedEntries: IFavoriteChainsStorage[string];
if (alreadyExists) {
// Remove the matching entry
updatedEntries = existingEntries.filter(
(entry) => entry.relay !== meta.relay || entry.paraId !== meta.paraId
);
} else {
// Add new entry
updatedEntries = [...existingEntries, meta];
}
const updatedChains: IFavoriteChainsStorage = { ...favoriteChains };
if (updatedEntries.length === 0) {
delete updatedChains[chainName];
} else {
updatedChains[chainName] = updatedEntries;
}
localStorage.setItem(FAVORITE_CHAINS_KEY, JSON.stringify(updatedChains));
} catch {}
};
export const getFavoriteChains = (): IFavoriteChainsStorage => {
try {
const favoriteChains = localStorage.getItem(FAVORITE_CHAINS_KEY);
if (!favoriteChains) {
return {};
}
const parsed: unknown = JSON.parse(favoriteChains);
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
throw new Error('Invalid favorite chains format');
}
const result: IFavoriteChainsStorage = {};
for (const [key, value] of Object.entries(parsed) as [string, IFavoriteChainsStorage[string]][]) {
if (!Array.isArray(value)) {
throw new Error(`Invalid value for key "${key}": not an array`);
}
const allValid = value.every(
(entry: IFavoriteChainsStorage[string][number]) =>
typeof entry === 'object' &&
entry !== null &&
typeof entry.relay === 'string' &&
typeof entry.paraId === 'number'
);
if (!allValid) {
throw new Error(`Invalid entries under key "${key}"`);
}
// Make sure key exists in chain config
if (chainsConfig.find((e) => e.text === key)) {
// Make sure "relay" value also exists in chain config
const matchingFavorites = value.filter((v) => v.relay === 'Unknown' ? true : !!chainsConfig.find((e) => e.text === v.relay));
if (matchingFavorites.length > 0) {
result[key] = matchingFavorites;
}
}
}
// Set filtered result to localStorage
localStorage.setItem(FAVORITE_CHAINS_KEY, JSON.stringify(result));
return result;
} catch (e) {
console.error('Failed to parse favorite chains:', e);
localStorage.removeItem(FAVORITE_CHAINS_KEY);
return {};
}
};
export const isFavoriteChain = (
favoriteChains: IFavoriteChainsStorage,
chainInfo: IFavoriteChainProps
): boolean => {
try {
const chainName = chainInfo.chainName;
const meta = { paraId: chainInfo.paraId ?? -1, relay: chainInfo.relay ?? 'Unknown' };
const list = favoriteChains[chainName];
if (!Array.isArray(list)) {
return false;
}
return list.some(
(entry) =>
entry.relay === meta.relay && entry.paraId === meta.paraId
);
} catch (e) {
console.error('Failed to check favorite chain:', e);
return false;
}
};
export function getContrastingColor (hexColor: string): string {
if (typeof hexColor !== 'string') {
return '#000000';
}
let hex = hexColor.replace('#', '').trim();
if (hex.length === 3) {
hex = hex.split('').map((c) => c + c).join('');
}
if (hex.length !== 6 || /[^0-9a-f]/i.test(hex)) {
return '#000000';
}
try {
const r = parseInt(hex.substring(0, 2), 16);
const g = parseInt(hex.substring(2, 4), 16);
const b = parseInt(hex.substring(4, 6), 16);
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
return luminance > 0.5 ? '#000000' : '#FFFFFF';
} catch {
return '#000000';
}
}
+110
View File
@@ -0,0 +1,110 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { RuntimeVersion } from '@pezkuwi/types/interfaces';
import React from 'react';
import { ChainImg, Icon, styled } from '@pezkuwi/react-components';
import { useApi, useCall, useIpfs, useToggle } from '@pezkuwi/react-hooks';
import { BestNumber, Chain } from '@pezkuwi/react-query';
import Endpoints from '../Endpoints/index.js';
interface Props {
className?: string;
}
function ChainInfo ({ className }: Props): React.ReactElement<Props> {
const { api, isApiReady } = useApi();
const runtimeVersion = useCall<RuntimeVersion>(isApiReady && api.rpc.state.subscribeRuntimeVersion);
const { ipnsChain } = useIpfs();
const [isEndpointsVisible, toggleEndpoints] = useToggle();
const canToggle = !ipnsChain;
return (
<StyledDiv className={className}>
<div
className={`apps--SideBar-logo-inner${canToggle ? ' isClickable' : ''} highlight--color-contrast`}
onClick={toggleEndpoints}
>
<ChainImg />
<div className='info media--1000'>
<Chain className='chain' />
{runtimeVersion && (
<div className='runtimeVersion'>{runtimeVersion.specName.toString()}/{runtimeVersion.specVersion.toNumber()}</div>
)}
<BestNumber
className='bestNumber'
label='#'
/>
</div>
{canToggle && (
<Icon
className='dropdown'
icon={isEndpointsVisible ? 'caret-right' : 'caret-down'}
/>
)}
</div>
{isEndpointsVisible && (
<Endpoints onClose={toggleEndpoints} />
)}
</StyledDiv>
);
}
const StyledDiv = styled.div`
box-sizing: border-box;
padding: 0.5rem 1rem 0.5rem 0;
margin: 0;
.apps--SideBar-logo-inner {
display: flex;
align-items: center;
justify-content: space-between;
&.isClickable {
cursor: pointer;
}
.ui--ChainImg {
height: 3rem;
margin-right: 0.5rem;
width: 3rem;
}
.ui--Icon.dropdown,
> div.info {
text-align: right;
vertical-align: middle;
}
.ui--Icon.dropdown {
flex: 0;
margin: 0;
width: 1rem;
}
.info {
flex: 1;
font-size: var(--font-size-tiny);
line-height: 1.2;
padding-right: 0.5rem;
text-align: right;
.chain {
font-size: var(--font-size-small);
max-width: 16rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.runtimeVersion {
letter-spacing: -0.01em;
}
}
}
`;
export default React.memo(ChainInfo);
+122
View File
@@ -0,0 +1,122 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Group } from './types.js';
import React from 'react';
import { Icon, styled } from '@pezkuwi/react-components';
import Item from './Item.js';
interface Props extends Group {
className?: string;
isActive: boolean;
}
const SHA_COL = 'rgba(34, 36, 38, 0.12)';
const SHA_OFF = '5px';
function Grouping ({ className = '', isActive, name, routes }: Props): React.ReactElement<Props> {
if (routes.length === 1 && routes[0].group === 'settings') {
return (
<Item
className={isActive ? 'isActive' : ''}
classNameText='smallHide'
isToplevel
route={routes[0]}
/>
);
}
return (
<StyledLi className={`${className} ${isActive ? 'isActive' : ''}`}>
<div className={`groupHdr ${!isActive ? 'highlight--color-contrast' : ''}`}>
<span className='smallHide'>{name}</span>
<Icon
className='smallShow'
icon={routes[0].icon}
/>
<Icon icon='caret-down' />
</div>
<ul className='groupMenu'>
{routes.map((route): React.ReactNode => (
<Item
key={route.name}
route={route}
/>
))}
</ul>
</StyledLi>
);
}
const StyledLi = styled.li`
cursor: pointer;
position: relative;
.groupHdr {
border-radius: 0.25rem;
padding: 0.857rem 1.375rem;
font-weight: var(--font-weight-normal);
line-height: 1.214rem;
> .ui--Icon {
margin-left: 0.75rem;
}
}
&.isActive .groupHdr {
background-color: var(--bg-tabs);
font-weight: var(--font-weight-normal);
margin-bottom: 0;
}
.groupMenu {
border-radius: 0.25rem;
box-shadow: 0 ${SHA_OFF} ${SHA_OFF} -${SHA_OFF} ${SHA_COL}, ${SHA_OFF} 0 ${SHA_OFF} -${SHA_OFF} ${SHA_COL}, -${SHA_OFF} 0 ${SHA_OFF} -${SHA_OFF} ${SHA_COL};
display: none;
margin: 0;
overflow: hidden;
padding: 0;
position: absolute;
top: 2.9rem;
z-index: 250;
> li {
z-index: 1;
a {
padding-right: 4rem;
}
}
&::before {
bottom: 0;
content: ' ';
left: 0;
position: absolute;
right: 0;
top: 0;
z-index: -1;
}
}
&:hover {
.groupHdr {
box-shadow: 0px 4px 37px rgba(0, 0, 0, 0.08);
padding-bottom: 2rem;
margin-bottom: -2rem;
}
.groupMenu {
display: block;
> li:hover {
background: var(--bg-menu-hover);
}
}
}
`;
export default React.memo(Grouping);
+114
View File
@@ -0,0 +1,114 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ItemRoute } from './types.js';
import React from 'react';
import { Badge, Icon, styled } from '@pezkuwi/react-components';
import { useToggle } from '@pezkuwi/react-hooks';
interface Props {
className?: string;
classNameText?: string;
isLink?: boolean;
isToplevel?: boolean;
route: ItemRoute;
}
const DUMMY_COUNTER = () => 0;
function Item ({ className = '', classNameText, isLink, isToplevel, route: { Modal, href, icon, name, text, useCounter = DUMMY_COUNTER } }: Props): React.ReactElement<Props> {
const [isModalVisible, toggleModal] = useToggle();
const count = useCounter();
return (
<StyledLi className={`${className} ui--MenuItem ${count ? 'withCounter' : ''} ${isLink ? 'isLink' : ''} ${isToplevel ? 'topLevel highlight--color-contrast' : ''}`}>
<a
href={Modal ? undefined : (href || `#/${name}`)}
onClick={Modal ? toggleModal : undefined}
rel='noopener noreferrer'
target={href ? '_blank' : undefined}
>
<Icon icon={icon} />
<span className={classNameText}>{text}</span>
{!!count && (
<Badge
color='white'
info={count}
/>
)}
</a>
{Modal && isModalVisible && (
<Modal onClose={toggleModal} />
)}
</StyledLi>
);
}
const StyledLi = styled.li`
cursor: pointer;
position: relative;
white-space: nowrap;
&.topLevel {
font-weight: var(--font-weight-normal);
line-height: 1.214rem;
border-radius: 0.15rem;
a {
padding: 0.857rem 0.857em 0.857rem 1rem;
line-height: 1.214rem;
border-radius: 0.25rem;
}
&.isActive.highlight--color-contrast {
font-weight: var(--font-weight-normal);
color: var(--color-text);
a {
background-color: var(--bg-tabs);
}
}
&.isActive {
border-radius: 0.15rem 0.15rem 0 0;
a {
padding: 0.857rem 1.429rem 0.857rem;
cursor: default;
}
&&.withCounter a {
padding-right: 3.2rem;
}
}
.ui--Badge {
top: 0.7rem;
}
}
&&.withCounter a {
padding-right: 3.2rem;
}
a {
color: inherit !important;
display: block;
padding: 0.5rem 1.15rem 0.57rem;
text-decoration: none;
line-height: 1.5rem;
}
.ui--Badge {
position: absolute;
right: 0.5rem;
}
.ui--Icon {
margin-right: 0.5rem;
}
`;
export default React.memo(Item);
+48
View File
@@ -0,0 +1,48 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { BareProps as Props } from '@pezkuwi/react-components/types';
import React from 'react';
import { packageInfo } from '@pezkuwi/apps-config';
import { styled } from '@pezkuwi/react-components';
import { useApi } from '@pezkuwi/react-hooks';
import { NodeName, NodeVersion } from '@pezkuwi/react-query';
const appsVersion = `apps v${packageInfo.version.replace('-x', '')}`;
function NodeInfo ({ className = '' }: Props): React.ReactElement<Props> {
const { api, isApiReady } = useApi();
return (
<StyledDiv className={`${className} media--1400 highlight--color-contrast ui--NodeInfo`}>
{isApiReady && (
<div className='node'>
<NodeName />&nbsp;
<NodeVersion label='v' />
</div>
)}
<div>{api.libraryInfo.replace('@pezkuwi/', '')}</div>
<div>{appsVersion}</div>
</StyledDiv>
);
}
const StyledDiv = styled.div`
background: transparent;
font-size: var(--font-size-tiny);
line-height: 1.2;
padding: 0 0 0 1rem;
text-align: right;
> div {
margin-bottom: -0.125em;
> div {
display: inline-block;
}
}
`;
export default React.memo(NodeInfo);
+258
View File
@@ -0,0 +1,258 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Route, Routes } from '@pezkuwi/apps-routing/types';
import type { ApiProps } from '@pezkuwi/react-api/types';
import type { AccountId } from '@pezkuwi/types/interfaces';
import type { Group, Groups, ItemRoute } from './types.js';
import React, { useMemo, useRef } from 'react';
import { useLocation } from 'react-router-dom';
import createRoutes from '@pezkuwi/apps-routing';
import { styled } from '@pezkuwi/react-components';
import { useAccounts, useApi, useCall, useTeleport } from '@pezkuwi/react-hooks';
import { findMissingApis } from '../endpoint.js';
import { useTranslation } from '../translate.js';
import ChainInfo from './ChainInfo.js';
import Grouping from './Grouping.js';
import Item from './Item.js';
import NodeInfo from './NodeInfo.js';
interface Props {
className?: string;
}
function createExternals (t: (key: string, optionsOrText?: string | { replace: Record<string, unknown> }, options?: { ns: string }) => string): ItemRoute[] {
return [
{
href: 'https://github.com/pezkuwi-js/apps',
icon: 'code-branch',
name: 'github',
text: t('nav.github', 'GitHub', { ns: 'apps-routing' })
},
{
href: 'https://wiki.pezkuwi.network',
icon: 'book',
name: 'wiki',
text: t('nav.wiki', 'Wiki', { ns: 'apps-routing' })
}
];
}
function checkVisible ({ api, isApiConnected, isApiReady, isDevelopment: isApiDevelopment }: ApiProps, allowTeleport: boolean, hasAccounts: boolean, hasSudo: boolean, { isDevelopment, isHidden, needsAccounts, needsApi, needsApiCheck, needsApiInstances, needsSudo, needsTeleport }: Route['display']): boolean {
if (isHidden) {
return false;
} else if (needsAccounts && !hasAccounts) {
return false;
} else if (!needsApi) {
return true;
} else if (!isApiReady || !isApiConnected) {
return false;
} else if (needsSudo && !hasSudo) {
return false;
} else if (needsTeleport && !allowTeleport) {
return false;
} else if (!isApiDevelopment && isDevelopment) {
return false;
}
return findMissingApis(api, needsApi, needsApiInstances, needsApiCheck).length === 0;
}
function extractGroups (routing: Routes, groupNames: Record<string, string>, apiProps: ApiProps, allowTeleport: boolean, hasAccounts: boolean, hasSudo: boolean): Group[] {
return Object
.values(
routing.reduce((all: Groups, route): Groups => {
if (!all[route.group]) {
all[route.group] = {
name: groupNames[route.group],
routes: [route]
};
} else {
all[route.group].routes.push(route);
}
return all;
}, {})
)
.map(({ name, routes }): Group => ({
name,
routes: routes.filter(({ display }) =>
checkVisible(apiProps, allowTeleport, hasAccounts, hasSudo, display)
)
}))
.filter(({ routes }) => routes.length);
}
function Menu ({ className = '' }: Props): React.ReactElement<Props> {
const { t } = useTranslation();
const { allAccounts, hasAccounts } = useAccounts();
const apiProps = useApi();
const { allowTeleport } = useTeleport();
const sudoKey = useCall<AccountId>(apiProps.isApiReady && apiProps.api.query.sudo?.key);
const location = useLocation();
const externalRef = useRef(createExternals(t));
const routeRef = useRef(createRoutes(t));
const groupRef = useRef({
accounts: t('Accounts'),
developer: t('Developer'),
files: t('Files'),
governance: t('Governance'),
network: t('Network'),
settings: t('Settings')
});
const hasSudo = useMemo(
() => !!sudoKey && allAccounts.some((a) => sudoKey.eq(a)),
[allAccounts, sudoKey]
);
const visibleGroups = useMemo(
() => extractGroups(routeRef.current, groupRef.current, apiProps, allowTeleport, hasAccounts, hasSudo),
[allowTeleport, apiProps, hasAccounts, hasSudo]
);
const activeRoute = useMemo(
() => routeRef.current.find(({ name }) =>
location.pathname.startsWith(`/${name}`)
) || null,
[location]
);
return (
<StyledDiv className={`${className}${(!apiProps.isApiReady || !apiProps.isApiConnected) ? ' isLoading' : ''} highlight--bg`}>
<div className='menuContainer'>
<div className='menuSection'>
<ChainInfo />
<ul className='menuItems'>
{visibleGroups.map(({ name, routes }): React.ReactNode => (
<Grouping
isActive={!!activeRoute && activeRoute.group === name.toLowerCase()}
key={name}
name={name}
routes={routes}
/>
))}
</ul>
</div>
<div className='menuSection media--1200'>
<ul className='menuItems'>
{externalRef.current.map((route): React.ReactNode => (
<Item
isLink
isToplevel
key={route.name}
route={route}
/>
))}
</ul>
</div>
<NodeInfo className='media--1400' />
</div>
</StyledDiv>
);
}
const StyledDiv = styled.div`
width: 100%;
padding: 0;
z-index: 220;
position: relative;
.smallShow {
display: none;
}
& .menuContainer {
flex-direction: row;
align-items: center;
display: flex;
justify-content: space-between;
padding: 0 1.5rem;
width: 100%;
max-width: var(--width-full);
margin: 0 auto;
}
&.isLoading {
background: #999 !important;
.menuActive {
background: var(--bg-page);
}
&:before {
filter: grayscale(1);
}
.menuItems {
filter: grayscale(1);
}
}
.menuSection {
align-items: center;
display: flex;
}
.menuActive {
background: var(--bg-tabs);
border-bottom: none;
border-radius: 0.25rem 0.25rem 0 0;
color: var(--color-text);
padding: 1rem 1.5rem;
margin: 0 1rem -1px;
z-index: 1;
.ui--Icon {
margin-right: 0.5rem;
}
}
.menuItems {
flex: 1 1;
list-style: none;
margin: 0 1rem 0 0;
padding: 0;
> li {
display: inline-block;
}
> li + li {
margin-left: 0.375rem
}
}
.ui--NodeInfo {
align-self: center;
}
@media only screen and (max-width: 800px) {
.groupHdr {
padding: 0.857rem 0.75rem;
}
.smallShow {
display: initial;
}
.smallHide {
display: none;
}
.menuItems {
margin-right: 0;
> li + li {
margin-left: 0.25rem;
}
}
}
`;
export default React.memo(Menu);
+22
View File
@@ -0,0 +1,22 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { IconName } from '@fortawesome/fontawesome-svg-core';
import type React from 'react';
import type { Routes } from '@pezkuwi/apps-routing/types';
export interface ItemRoute {
Modal?: React.ComponentType<any>;
href?: string;
icon: IconName;
name: string;
text: string;
useCounter?: () => number | string | null;
}
export interface Group {
name: string;
routes: Routes;
}
export type Groups = Record<string, Group>;
+76
View File
@@ -0,0 +1,76 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ThemeDef } from '@pezkuwi/react-components/types';
import type { KeyringStore } from '@pezkuwi/ui-keyring/types';
import React, { Suspense, useEffect, useState } from 'react';
import { HashRouter } from 'react-router-dom';
import { ThemeProvider } from 'styled-components';
import { ApiCtxRoot } from '@pezkuwi/react-api';
import { ApiStatsCtxRoot, BlockAuthorsCtxRoot, BlockEventsCtxRoot, KeyringCtxRoot, PayWithAssetCtxRoot, QueueCtxRoot, StakingAsyncApisCtxRoot, WindowSizeCtxRoot } from '@pezkuwi/react-hooks';
import { settings } from '@pezkuwi/ui-settings';
import BeforeApiInit from './overlays/BeforeInit.js';
import Apps from './Apps.js';
interface Props {
isElectron: boolean;
store?: KeyringStore;
}
function createTheme ({ uiTheme }: { uiTheme: string }): ThemeDef {
const theme = uiTheme === 'dark'
? 'dark'
: 'light';
document?.documentElement?.setAttribute('data-theme', theme);
return { theme };
}
function Root ({ isElectron, store }: Props): React.ReactElement<Props> {
const [theme, setTheme] = useState(() => createTheme(settings));
useEffect((): void => {
settings.on('change', (settings) => setTheme(createTheme(settings)));
}, []);
// The ordering here is critical. It defines the hierarchy of dependencies,
// i.e. Block* depends on Api. Certainly no cross-deps allowed
return (
<Suspense fallback='...'>
<ThemeProvider theme={theme}>
<QueueCtxRoot>
<ApiCtxRoot
apiUrl={settings.apiUrl}
beforeApiInit={<BeforeApiInit />}
isElectron={isElectron}
store={store}
>
<KeyringCtxRoot>
<ApiStatsCtxRoot>
<BlockAuthorsCtxRoot>
<BlockEventsCtxRoot>
<HashRouter>
<WindowSizeCtxRoot>
<PayWithAssetCtxRoot>
<StakingAsyncApisCtxRoot>
<Apps />
</StakingAsyncApisCtxRoot>
</PayWithAssetCtxRoot>
</WindowSizeCtxRoot>
</HashRouter>
</BlockEventsCtxRoot>
</BlockAuthorsCtxRoot>
</ApiStatsCtxRoot>
</KeyringCtxRoot>
</ApiCtxRoot>
</QueueCtxRoot>
</ThemeProvider>
</Suspense>
);
}
export default React.memo(Root);
+58
View File
@@ -0,0 +1,58 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Unused atm, experiment as a replacement for NodeInfo on the SideBar
import React from 'react';
import { styled } from '@pezkuwi/react-components';
import { BestNumber, Chain, NodeName, NodeVersion } from '@pezkuwi/react-query';
interface Props {
className?: string;
}
function TopBar ({ className }: Props): React.ReactElement<Props> {
return (
<StyledDiv className={className}>
<div>
<NodeName />&nbsp;
<NodeVersion label='v' />
</div>
<div>
<Chain />&nbsp;
<BestNumber label='#' />
</div>
</StyledDiv>
);
}
const StyledDiv = styled.div`
background: #f2f2f2;
font-size: var(--font-size-small);
line-height: 1rem;
overflow: hidden;
padding: 0.5rem 1rem;
position: fixed;
right: 0;
text-align: right;
text-overflow: ellipsis;
white-space: nowrap;
top: 0;
div {
display: inline-block;
vertical-align: middle;
}
> div {
border-left: 1px solid #ccc;
padding: 0 0.5rem;
&:first-child {
border-width: 0;
}
}
`;
export default React.memo(TopBar);
+25
View File
@@ -0,0 +1,25 @@
// Copyright 2017-2025 @pezkuwi/apps authors & contributors
// SPDX-License-Identifier: Apache-2.0
import React, { useEffect, useState } from 'react';
import { useApi, useCall } from '@pezkuwi/react-hooks';
function WarmUp (): React.ReactElement {
const { api, apiIdentity, isApiReady } = useApi();
const indexes = useCall<unknown>(isApiReady && api.derive.accounts?.indexes);
const registrars = useCall<unknown>(isApiReady && apiIdentity.query.identity?.registrars);
const issuance = useCall<unknown>(isApiReady && api.query.balances?.totalIssuance);
const [hasValues, setHasValues] = useState(false);
useEffect((): void => {
setHasValues(!!indexes || !!issuance || !!registrars);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
return (
<div className={`apps--api-warm ${hasValues.toString()}`} />
);
}
export default React.memo(WarmUp);

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