@ -93,3 +93,21 @@ But in some cases, the `id` prop may not be static. For example,
</h6>
```
You can't be sure there is a match key in locale file or not. So it will be better to provide a `defaultMessage` prop.
### Should I update the non-english locale json files?
You probably will have this question when you are updating the english locale json files.
Well, that depends.
If you update an old json file, then you don't need to update it in other languages, because crowdin will do it for you.
But if you add a new json file, then you have to add it in other languages, and import it in `index.js` of all languages. Because crowdin will not update `index.js`, you have to do it manually.
### How to contribute on translations?
Remix is using crowdin to manage translations. If you want to contribute on that, you can do it on crowdin. Check the link below.
https://crowdin.com/project/remix-translation
There are many languages, just get into your language, and you will see a folder named `Remix UI`, where you can do the translations.
Not only can you do the translations, you can also review it. If you agree or disagree with some translations, you can vote yes or no. If you vote no, you can comment to explain why you vote no, and give your translation.
"debugger.debugWithGeneratedSources":"When checked, debugger will also step through the compiled .yul file if it exists.",
"debugger.introduction":"When Debugging with a transaction hash, if the contract is verified, Remix will try to fetch the source code from Sourcify or Etherscan. Put in your Etherscan API key in the Remix settings. For supported networks, please see"
"debugger.introduction":"When Debugging with a transaction hash, if the contract is verified, Remix will try to fetch the source code from Sourcify or Etherscan. Put in your Etherscan API key in the Remix settings. For supported networks, please see",
"debugger.forceToUseCurrentLocalNode":"Force the debugger to use the current local node",
"debugger.sourceLocationStatus1":"Locating breakpoint, this might take a while...",
"debugger.sourceLocationStatus2":"Source location not available, neither in Sourcify nor in Etherscan. Please make sure the Etherscan api key is provided in the settings.",
"debugger.sourcifyDocs":"Sourcify docs",
"debugger.noDataAvailable":"No data available",
"debugger.loadMore":"Load more",
"debugger.copy":"Copy",
"debugger.stepOverBack":"Step over back",
"debugger.stepBack":"Step back",
"debugger.stepInto":"Step into",
"debugger.stepOverForward":"Step over forward",
"debugger.jumpPreviousBreakpoint":"Jump to the previous breakpoint",
"debugger.jumpOut":"Jump out",
"debugger.jumpNextBreakpoint":"Jump to the next breakpoint"
"filePanel.copyFolderFailedMsg":"Unexpected error while copying folder: {src}",
"filePanel.runScriptFailed":"Run script failed",
"filePanel.createPublicGist":"Create a public gist",
"filePanel.createPublicGistMsg1":"Are you sure you want to push changes to remote gist file on github.com?",
"filePanel.createPublicGistMsg2":"Are you sure you want to anonymously publish all your files in the {path} folder as a public gist on github.com?",
"filePanel.createPublicGistMsg3":"Are you sure you want to anonymously publish {path} file as a public gist on github.com?",
"filePanel.createPublicGistMsg4":"Are you sure you want to anonymously publish all your files in the {name} workspace as a public gist on github.com?",
"filePanel.deleteMsg":"Are you sure you want to delete",
"filePanel.theseItems":"these items",
"filePanel.thisItem":"this item",
"filePanel.deleteItems":"Delete items",
"filePanel.deleteItem":"Delete item",
"filePanel.globalToast":"Cannot write/modify file system in read only mode.",
"filePanel.basic":"Basic",
"filePanel.blank":"Blank",
"filePanel.multiSigWallet":"MultiSig Wallet",
"filePanel.mintable":"Mintable",
"filePanel.burnable":"Burnable",
"filePanel.pausable":"Pausable",
"filePanel.transparent":"Transparent",
"filePanel.initGitRepoTitle":"Check option to initialize workspace as a new git repository",
"filePanel.switchToBranchTitle1":"Checkout new branch from remote branch",
"filePanel.switchToBranchTitle2":"Checkout to local branch",
"solidity.copyNatSpecTag":"Click to copy the custom NatSpec tag",
"solidity.inputTitle1":"If the file you entered does not exist you will be able to create one in the next step.",
"solidity.inputTitle2":"Estimated number of times each opcode of the deployed code will be executed across the life-time of the contract.",
"solidity.tooltipText1":"Choose the script to execute right after compilation by adding the `dev-run-script` natspec tag, as in:",
"solidity.tooltipText2":"Click the \"i\" icon to learn more",
"solidity.tooltipText3":"for compiling and script execution",
"solidity.tooltipText4":"Click to open the config file",
"solidity.tooltipText5":"Cannot load compiler version list. It might have been blocked by an advertisement blocker. Please try deactivating any of them from this page and reload. Error: ",
"solidity.tooltipText6":"Language specification available from Compiler >= v0.5.7",
"solidity.toastMessage":"Updating compiler version to match current contract file pragma i.e {version}",
"solidity.compileIconAttribute":"compiler is loading, please wait a few moments.",
"solidity.compilerLicense":"Compiler License",
"solidity.compilerLicenseMsg1":"Compiler is loading. License will be displayed once compiler is loaded",
"solidity.compilerLicenseMsg2":"Could not retreive license for selected compiler version",
"solidity.compilerLicenseMsg3":"License not available",
"terminal.welcomeText7":"Select a Javascript file in the file explorer and then run `remix.execute()` or `remix.exeCurrent()` in the command line interface",
"terminal.welcomeText8":"Right click on a JavaScript file in the file explorer and then click `Run`",
"terminal.welcomeText9":"The following libraries are accessible",
"terminal.welcomeText10":"Type the library name to see available commands"
"terminal.welcomeText10":"Type the library name to see available commands",
"terminal.text1":"This type of command has been deprecated and is not functionning anymore. Please run remix.help() to list available commands.",
"udapp.warningEvmVersion":"Please make sure that the current network is compatible with this evm version: {evmVersion}. Otherwise any deployment will fail.",
"udapp.infoSyncCompiledContractTooltip":"Click here to import contracts compiled from an external framework.This action is enabled when Remix is connected to an external framework (hardhat, truffle, foundry) through remixd.",
"udapp.remixIpfsUdappTooltip":"Publishing the source code and metadata to IPFS facilitates source code verification using Sourcify and will greatly foster contract adoption (auditing, debugging, calling it, etc...)",
"udapp.signAMessage":"Sign a message",
"udapp.enterAMessageToSign":"Enter a message to sign",
"udapp.hash":"hash",
"udapp.signature":"signature",
"udapp.signedMessage":"Signed Message",
"udapp.environment":"Environment",
"udapp.environmentDocs":"Click for docs about Environment",
"udapp.deploy":"Deploy",
"udapp.publishTo":"Publish to",
"udapp.or":"or",
"udapp.atAddress":"At Address",
"udapp.atAddressOptionsTitle1":"address of contract",
"udapp.atAddressOptionsTitle2":"Interact with the deployed contract - requires the .abi file or compiled .sol file to be selected in the editor (with the same compiler configuration)",
"udapp.enterAMessageToSign":"Enter a message to sign",
"udapp.hash":"hash",
"udapp.signature":"signature",
"udapp.injectedTitle":"Unfortunately it's not possible to create an account using injected provider. Please create the account directly from your provider (i.e metamask or other of the same type).",
"udapp.createNewAccount":"Create a new account",
"udapp.web3Title":"Creating an account is possible only in Personal mode. Please go to Settings to enable it.",
"udapp.defaultTitle":"Unfortunately it's not possible to create an account using an external wallet ({selectExEnv}).",
"udapp.text1":"Please provide a Passphrase for the account creation",
"udapp.tooltipText1":"Account list is empty, please make sure the current provider is properly connected to remix",
"udapp.modalTitle1":"Passphrase to sign a message",
"udapp.modalMessage1":"Enter your passphrase for this account to sign the message",
"udapp.copyAccount":"Copy account to clipboard",
"udapp.signMsgUsingAccount":"Sign a message using this account",
"udapp.mainnetText1":"You are about to create a transaction on {name} Network. Confirm the details to send the info to your provider.",
"udapp.mainnetText2":"The provider for many users is MetaMask. The provider will ask you to sign the transaction before it is sent to {name} Network.",
"udapp.amount":"Amount",
"udapp.gasEstimation":"Gas estimation",
"udapp.maxPriorityFee":"Max Priority fee",
"udapp.maxFee":"Max fee (Not less than base fee {baseFeePerGas} Gwei)",
"udapp.contractCreation":"Contract Creation",
"udapp.transactionFee":"Transaction is invalid. Max fee should not be less than Base fee",
"udapp.title1":"Represents the part of the tx fee that goes to the miner.",
"udapp.title2":"Represents the maximum amount of fee that you will pay for this transaction. The minimun needs to be set to base fee.",
"udapp.gasPrice":"Gas price",
"udapp.gweiText":"visit {a} for current gas price info.",
"udapp.maxTransactionFee":"Max transaction fee",
"udapp.mainnetText3":"Do not show this warning again.",
"udapp.gasEstimationPromptText":"Gas estimation errored with the following message (see below). The transaction execution will likely fail. Do you want to force sending?",
"udapp.customVmForkProviderText":"Please provide information about the custom fork. If the node URL is not provided, the VM will start with an empty state.",
"udapp.nodeUrl":"Node URL",
"udapp.blockNumber":"Block number (or \"latest\")",
"udapp.externalHttpProviderText1":"Note: To use Geth & https://remix.ethereum.org, configure it to allow requests from Remix:(see <a>Geth Docs on rpc server</a>)",
"udapp.externalHttpProviderText2":"To run Remix & a local Geth test node, use this command: (see <a>Geth Docs on Dev mode</a>)",
"udapp.externalHttpProviderText3":"<b>WARNING:</b> It is not safe to use the --http.corsdomain flag with a wildcard: <b>--http.corsdomain *</b>",
"udapp.externalHttpProviderText4":"For more info: <a>Remix Docs on External HTTP Provider</a>",
"udapp.foundryProviderText1":"Note: To run Anvil on your system, run:",
"udapp.foundryProviderText2":"For more info, visit: <a>Foundry Documentation</a>",
"udapp.ganacheProviderText1":"Note: To run Ganache on your system, run:",
"udapp.ganacheProviderText2":"For more info, visit: <a>Ganache Documentation</a>",
"udapp.hardhatProviderText1":"Note: To run Hardhat network node on your system, go to hardhat project folder and run command:",
"udapp.hardhatProviderText2":"For more info, visit: <a>Hardhat Documentation</a>"
sourceLocationStatus:'Source location not available, neither in Sourcify nor in Etherscan. Please make sure the Etherscan api key is provided in the settings.'
@ -26,36 +26,35 @@ export function AccountUI(props: AccountProps) {
case'injected':
setPlusOpt({
classList:'udapp_disableMouseEvents',
title:
"Unfortunately it's not possible to create an account using injected provider. Please create the account directly from your provider (i.e metamask or other of the same type)."
@ -14,7 +14,7 @@ export function GasPriceUI(props: GasPriceProps) {
<labelclassName="udapp_settingsLabel">
<FormattedMessageid="udapp.gasLimit"/>
</label>
<CustomTooltipplacement={'right'}tooltipClasses="text-nowrap"tooltipId="remixGasPriceTooltip"tooltipText={'The default gas limit is 3M. Adjust as needed.'}>
@ -112,9 +122,11 @@ export function MainnetPrompt(props: MainnetProps) {
<spantitle="visit https://ethgasstation.info for current gas price info.">Gwei</span>
</div>
</div>
<divclassName="align-items-center my-1"title="Represents the maximum amount of fee that you will pay for this transaction. The minimun needs to be set to base fee.">
<CustomTooltipplacement={'bottom-end'}tooltipClasses="text-wrap"tooltipId="receiveEthDocstoolTip"tooltipText={"Click for docs about using 'receive'/'fallback'"}>
'Cannot load compiler version list. It might have been blocked by an advertisement blocker. Please try deactivating any of them from this page and reload. Error: '+e
@ -76,25 +77,39 @@ export default function UmlDownload(props: UmlDownloadProps) {
}}
data-id="umlPngDownload"
>
<CustomTooltipplacement="left-start"tooltipId="solUmlgenDownloadAsPngTooltip"tooltipClasses="text-nowrap"tooltipText={'Download UML diagram as a PNG file'}>
<CustomTooltipplacement="left-start"tooltipId="solUmlgenDownloadAsPdfTooltip"tooltipClasses="text-nowrap"tooltipText={'Download UML diagram as a PDF file'}>