Skip to content

Commit

Permalink
Merge pull request #4112 from ethereum/add-lang-options
Browse files Browse the repository at this point in the history
Add Language Options to Settings
  • Loading branch information
joeizang authored Oct 27, 2023
2 parents 0460bd6 + 22391cd commit fbc6d2b
Show file tree
Hide file tree
Showing 20 changed files with 458 additions and 7 deletions.
8 changes: 7 additions & 1 deletion apps/remix-ide/src/app/tabs/locale-module.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,17 @@ import * as packageJson from '../../../../../package.json'
import Registry from '../state/registry'
import enJson from './locales/en'
import zhJson from './locales/zh'
import esJson from './locales/es'
import frJson from './locales/fr'
import itJson from './locales/it'
const _paq = window._paq = window._paq || []

const locales = [
{ code: 'en', name: 'English', localeName: 'English', messages: enJson },
{ code: 'zh', name: 'Chinese Simplified', localeName: '简体中文', messages: zhJson },
{ code: 'en', name: 'English', localeName: 'English', messages: enJson },
{ code: 'fr', name: 'French', localeName: 'Français', messages: frJson },
{ code: 'it', name: 'Italian', localeName: 'Italiano', messages: itJson },
{ code: 'es', name: 'Spanish', localeName: 'Español', messages: esJson }
]

const profile = {
Expand Down
2 changes: 1 addition & 1 deletion apps/remix-ide/src/app/tabs/locales/fr/home.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
"home.remixLinkedinProfile": "Remix Linkedin Profile",
"home.remixMediumPosts": "Remix Medium Posts",
"home.remixGitterChannel": "Join us on Discord",
"home.nativeIDE": "The Native IDE for Web3 Development.",
"home.nativeIDE": "L'EDI natif pour le développement Web3.",
"home.website": "Website",
"home.documentation": "Documentation",
"home.remixPlugin": "Remix Plugin",
Expand Down
11 changes: 11 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/debugger.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"debugger.displayName": "Debugger",
"debugger.debuggerConfiguration": "Debugger Configuration",
"debugger.stopDebugging": "Stop debugging",
"debugger.startDebugging": "Start debugging",
"debugger.placeholder": "Transaction hash, should start with 0x",
"debugger.debugLocaNodeLabel": "Force using local node",
"debugger.useGeneratedSources": "Use generated sources",
"debugger.debugWithGeneratedSources": "Debug with generated sources",
"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"
}
70 changes: 70 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/filePanel.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"filePanel.displayName": "File explorer",
"filePanel.workspace": "WORKSPACES",
"filePanel.create": "Create",
"filePanel.clone": "Clone",
"filePanel.download": "Download",
"filePanel.backup": "Backup",
"filePanel.restore": "Restore",
"filePanel.workspace.create": "Create Workspace",
"filePanel.workspace.rename": "Rename Workspace",
"filePanel.workspace.delete": "Delete Workspace",
"filePanel.workspace.deleteConfirm": "Are you sure to delete the current workspace?",
"filePanel.workspace.download": "Download Workspace",
"filePanel.workspace.downloadConfirm": "This will download current workspace in a zip file. Do you want to continue?",
"filePanel.workspace.deleteAll": "Delete All Workspaces",
"filePanel.workspace.deleteAllConfirm1": "Are you absolutely sure you want to delete all your workspaces?",
"filePanel.workspace.deleteAllConfirm2": "Deleted workspaces can not be restored in any manner.",
"filePanel.workspace.name": "Workspace name",
"filePanel.workspace.chooseTemplate": "Choose a template",
"filePanel.workspace.backup": "Backup All Workspaces",
"filePanel.workspace.restore": "Restore Workspaces from the Backup",
"filePanel.workspace.clone": "Clone Git Repository",
"filePanel.workspace.cloneMessage": "Please provide a valid git repository url.",
"filePanel.workspace.enterGitUrl": "Enter git repository url",
"filePanel.workspace.switch": "Switch To Workspace",
"filePanel.workspace.solghaction": "Adds a preset yml file to run solidity unit tests on github actions CI.",
"filePanel.solghaction": "Solidity Test Workflow",
"filePanel.workspace.tssoltestghaction": "Adds a preset yml file to run mocha and chai tests for solidity on github actions CI",
"filePanel.tssoltestghaction": "Mocha Chai Test Workflow",
"filePanel.workspace.addscriptetherscan": "Adds scripts which can be used to interact with the Etherscan API",
"filePanel.addscriptetherscan": "Add Etherscan scripts",
"filePanel.workspace.addscriptdeployer": "Adds scripts which can be used to deploy contracts",
"filePanel.addscriptdeployer": "Add contract deployer scripts",
"filePanel.workspace.slitherghaction": "Adds a preset yml file to run slither analysis on github actions CI",
"filePanel.slitherghaction": "Slither Workflow",
"filePanel.workspace.helperscripts": "Adds convenient scripts to the 'scripts' directory",
"filePanel.helperscripts": "Web3 Scripts",
"filePanel.newFile": "New File",
"filePanel.newFolder": "New Folder",
"filePanel.rename": "Rename",
"filePanel.delete": "Delete",
"filePanel.deleteAll": "Delete All",
"filePanel.run": "Run",
"filePanel.pushChangesToGist": "Push changes to gist",
"filePanel.publishFolderToGist": "Publish folder to gist",
"filePanel.publishFileToGist": "Publish file to gist",
"filePanel.copy": "Copy",
"filePanel.paste": "Paste",
"filePanel.compile": "Compile",
"filePanel.compileForNahmii": "Compile for Nahmii",
"filePanel.createNewFile": "Create new file",
"filePanel.createNewFolder": "Create new folder",
"filePanel.publishToGist": "Publish all files to GitHub gist",
"filePanel.uploadFile": "Upload files",
"filePanel.uploadFolder": "Upload folder",
"filePanel.updateGist": "Update the current [gist] explorer",
"filePanel.viewAllBranches": "View all branches",
"filePanel.createBranch": "Create branch",
"filePanel.switchBranches": "Switch branches",
"filePanel.checkoutGitBranch": "Checkout Git Branch",
"filePanel.findOrCreateABranch": "Find or create a branch.",
"filePanel.initGitRepositoryLabel": "Initialize workspace as a new git repository",
"filePanel.initGitRepositoryWarning": "To use Git features, add username and email to the Github section of the Settings panel.",
"filePanel.workspaceName": "Workspace name",
"filePanel.customizeTemplate": "Customize template",
"filePanel.features": "Features",
"filePanel.upgradeability": "Upgradeability",
"filePanel.ok": "OK",
"filePanel.cancel": "Cancel"
}
61 changes: 61 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/home.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"home.scamAlert": "Scam Alert",
"home.scamAlertText": "The only URL Remix uses is remix.ethereum.org",
"home.scamAlertText2": "Beware of online videos promoting \"liquidity front runner bots\"",
"home.scamAlertText3": "Additional safety tips",
"home.learnMore": "Learn more",
"home.here": "here",
"home.featured": "Featured",
"home.jumpIntoWeb3": "WE NEED YOUR HELP",
"home.jumpIntoWeb3More": "Go to survey",
"home.jumpIntoWeb3Text": "Remixers... Have a spare moment? Please help us improve your Remix experience with this one-minute survey.",
"home.remixYouTube": "WATCH TO LEARN",
"home.remixYouTubeText1": "Video Tips from the Remix Team",
"home.remixYouTubeMore": "Watch",
"home.remixYouTubeText2": "Remix has a growing library of videos containing lots of tips for using the tool. Check them out and subscribe to get our latest uploads.",
"home.betaTesting": "BETA TESTING",
"home.betaTestingText1": "Our community supports us.",
"home.betaTestingText2": "Help us beta test releases now and get a handle on new features!",
"home.betaTestingMore": "Sign up",
"home.featuredPlugins": "Featured Plugins",
"home.solidityPluginDesc": "Compile, test, and analyze smart contracts.",
"home.starkNetPluginDesc": "Compile and deploy contracts with Cairo, a native language for StarkNet.",
"home.solhintPluginDesc": "Solhint is an open source project for linting Solidity code.",
"home.sourcifyPluginDesc": "Solidity contract and metadata verification service.",
"home.unitTestPluginDesc": "Write and run unit tests for your contracts in Solidity.",
"home.dgitPluginDesc": "Add source control to your projects.",
"home.oneClickDappDesc": "Quickly generate smart contract interfaces",
"home.getStarted": "Get Started",
"home.projectTemplates": "Project Templates",
"home.blankTemplateDesc": "Create an empty workspace.",
"home.remixDefaultTemplateDesc": "Create a workspace with sample files.",
"home.ozerc20TemplateDesc": "Create an ERC20 token by importing OpenZeppelin library.",
"home.ozerc721TemplateDesc": "Create an NFT token by importing OpenZeppelin library.",
"home.ozerc1155TemplateDesc": "Create an ERC1155 token by importing OpenZeppelin library.",
"home.gnosisSafeMultisigTemplateDesc": "Create Multi-Signature wallets using this template.",
"home.zeroxErc20TemplateDesc": "Create an ERC20 token by importing 0xProject contract.",
"home.learn": "Learn",
"home.learnEth1": "Remix Basics",
"home.learnEth1Desc": "An introduction to Remix's interface and basic operations.",
"home.learnEth2": "Intro to Solidity",
"home.learnEth2Desc": "Interactively learn Solidity beginner concepts.",
"home.remixAdvanced": "Deploying with Libraries",
"home.remixAdvancedDesc": "Learn to deploy with libraries in Remix",
"home.remixYoutubePlaylist": "Remix Youtube Playlist",
"home.remixTwitterProfile": "Remix Twitter Profile",
"home.remixLinkedinProfile": "Remix Linkedin Profile",
"home.remixMediumPosts": "Remix Medium Posts",
"home.remixGitterChannel": "Join us on Discord",
"home.nativeIDE": "The Native IDE for Web3 Development.",
"home.website": "Website",
"home.documentation": "Documentation",
"home.remixPlugin": "Remix Plugin",
"home.remixDesktop": "Remix Desktop",
"home.searchDocumentation": "Search Documentation",
"home.files": "Files",
"home.newFile": "New File",
"home.openFile": "Open File",
"home.connectToLocalhost": "Access File System",
"home.loadFrom": "Load from",
"home.resources": "Resources"
}
36 changes: 36 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import debuggerJson from './debugger.json';
import filePanelJson from './filePanel.json';
import homeJson from './home.json';
import panelJson from './panel.json';
import pluginManagerJson from './pluginManager.json';
import searchJson from './search.json';
import settingsJson from './settings.json';
import solidityJson from './solidity.json';
import terminalJson from './terminal.json';
import udappJson from './udapp.json';
import solidityUnitTestingJson from './solidityUnitTesting.json';
import permissionHandlerJson from './permissionHandler.json';
import solUmlGenJson from './solUmlGen.json'
import remixAppJson from './remixApp.json'
import remixUiTabsJson from './remixUiTabs.json'
import enJson from '../en';

// There may have some un-translated content. Always fill in the gaps with EN JSON.
// No need for a defaultMessage prop when render a FormattedMessage component.
export default Object.assign({}, enJson, {
...debuggerJson,
...filePanelJson,
...homeJson,
...panelJson,
...pluginManagerJson,
...searchJson,
...settingsJson,
...solidityJson,
...terminalJson,
...udappJson,
...solidityUnitTestingJson,
...permissionHandlerJson,
...solUmlGenJson,
...remixAppJson,
...remixUiTabsJson,
})
6 changes: 6 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/panel.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"panel.author": "Author",
"panel.maintainedBy": "Maintained By",
"panel.documentation": "Documentation",
"panel.description": "Description"
}
13 changes: 13 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/permissionHandler.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"permissionHandler.allPermissionsReset": "All permisssions have been reset.",
"permissionHandler.rememberText": "has changed and",
"permissionHandler.permissionHandlerMessage": "\"{from}\" {rememberText} would like to access to \"{method}\" of \"{to}\"`",
"permissionHandler.description": "Description",
"permissionHandler.noDescriptionProvided": "No description Provided",
"permissionHandler.makeSureYouTrustThisPlugin": "Make sure you trust this plugin before processing this call. If you choose to remember the choice for this specific call, the value will be kept only for the current session.",
"permissionHandler.rememberThisChoice": "Remember this choice",
"permissionHandler.resetAllPermissions": "Reset all Permissions",
"permissionHandler.permissionNeededFor": "Permission needed for {to}",
"permissionHandler.accept": "Accept",
"permissionHandler.decline": "Decline"
}
31 changes: 31 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/pluginManager.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"pluginManager.displayName": "Plugin manager",
"pluginManager.activate": "Activate",
"pluginManager.deactivate": "Deactivate",
"pluginManager.activeModules": "Active Modules",
"pluginManager.inactiveModules": "Inactive Modules",
"pluginManager.connectLocal": "Connect to a Local Plugin",
"pluginManager.localForm.title": "Local Plugin",
"pluginManager.localForm.pluginName": "Plugin Name",
"pluginManager.localForm.shouldBeCamelCase": "Should be camelCase",
"pluginManager.localForm.displayName": "Display Name",
"pluginManager.localForm.nameInTheHeader": "Name in the header",
"pluginManager.localForm.required": "required",
"pluginManager.localForm.commaSeparatedMethod": "comma separated list of method names",
"pluginManager.localForm.commaSeparatedPlugin": "comma separated list of plugin names",
"pluginManager.localForm.pluginsItCanActivate": "Plugins it can activate",
"pluginManager.localForm.typeOfConnection": "Type of connection",
"pluginManager.localForm.locationInRemix": "Location in remix",
"pluginManager.localForm.sidePanel": "Side Panel",
"pluginManager.localForm.mainPanel": "Main Panel",
"pluginManager.localForm.none": "None",
"pluginManager.Permissions": "Permissions",
"pluginManager.permissions": "permissions",
"pluginManager.pluginManagerPermissions": "Plugin Manager Permissions",
"pluginManager.currentPermissionSettings": "Current Permission Settings",
"pluginManager.noPermissionRequestedYet": "No Permission requested yet.",
"pluginManager.allow": "Allow",
"pluginManager.toCall": "to call",
"pluginManager.ok": "OK",
"pluginManager.cancel": "Cancel"
}
3 changes: 3 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/remixApp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"remixApp.scrollToSeeAllTabs": "Scroll to see all tabs"
}
7 changes: 7 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/remixUiTabs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"remixUiTabs.tooltipText1": "Run script (CTRL + SHIFT + S)",
"remixUiTabs.tooltipText2": "Compile CTRL + S",
"remixUiTabs.tooltipText3": "Select .sol or .yul file to compile or a .ts or .js file and run it",
"remixUiTabs.zoomOut": "Zoom out",
"remixUiTabs.zoomIn": "Zoom in"
}
14 changes: 14 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/search.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"search.displayName": "Search in files",
"search.replace": "Replace",
"search.replaceAll": "Replace All",
"search.placeholder1": "Search ( Enter to search )",
"search.placeholder2": "Include ie *.sol ( Enter to include )",
"search.placeholder3": "Exclude ie .git/**/* ( Enter to exclude )",
"search.matchCase": "Match Case",
"search.matchWholeWord": "Match Whole Word",
"search.useRegularExpression": "Use Regular Expression",
"search.replaceWithoutConfirmation": "replace without confirmation",
"search.filesToInclude": "Files to include",
"search.filesToExclude": "Files to exclude"
}
26 changes: 26 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"settings.displayName": "Settings",
"settings.reset": "Reset to Default settings",
"settings.general": "General settings",
"settings.generateContractMetadataText": "Generate contract metadata. Generate a JSON file in the contract folder. Allows to specify library addresses the contract depends on. If nothing is specified, Remix deploys libraries automatically.",
"settings.ethereunVMText": "Always use the Remix VM at load",
"settings.wordWrapText": "Word wrap in editor",
"settings.useAutoCompleteText": "Enable code completion in editor.",
"settings.useShowGasInEditorText": "Display gas estimates in editor.",
"settings.displayErrorsText": "Display errors in editor while typing.",
"settings.matomoAnalytics": "Enable Matomo Analytics. We do not collect personally identifiable information (PII). The info is used to improve the site’s UX & UI. See more about ",
"settings.enablePersonalModeText": " Enable Personal Mode for web3 provider. Transaction sent over Web3 will use the web3.personal API.\n",
"settings.warnText": "Be sure the endpoint is opened before enabling it. This mode allows a user to provide a passphrase in the Remix interface without having to unlock the account. Although this is very convenient, you should completely trust the backend you are connected to (Geth, Parity, ...). Remix never persists any passphrase",
"settings.gitAccessTokenTitle": "Github Credentials",
"settings.gitAccessTokenText": "The access token is used to publish a Gist and retrieve GitHub contents. You may need to input username/email.",
"settings.gitAccessTokenText2": "Go to github token page (link below) to create a new token and save it in Remix. Make sure this token has only 'create gist' permission",
"settings.etherscanTokenTitle": "EtherScan Access Token",
"settings.etherscanAccessTokenText": "Manage the api key used to interact with Etherscan.",
"settings.etherscanAccessTokenText2": "Go to Etherscan api key page (link below) to create a new api key and save it in Remix.",
"settings.save": "Save",
"settings.remove": "Remove",
"settings.themes": "Themes",
"settings.locales": "Language",
"settings.swarm": "Swarm Settings",
"settings.ipfs": "IPFS Settings"
}
10 changes: 10 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/solUmlGen.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"solUmlGen.pngDownload": "Download as PNG",
"solUmlGen.pdfDownload": "Download as PDF",
"solUmlGen.pngDownloadTooltip": "Download UML diagram as a PNG file",
"solUmlGen.pdfDownloadTooltip": "Download UML diagram as a PDF file",
"solUmlGen.text1": "To view your contract as a UML Diagram",
"solUmlGen.text2": "Right click on your contract file",
"solUmlGen.clickOn": "Click on",
"solUmlGen.generateUML": "Generate UML"
}
42 changes: 42 additions & 0 deletions apps/remix-ide/src/app/tabs/locales/it/solidity.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"solidity.displayName": "Solidity compiler",
"solidity.compiler": "Compiler",
"solidity.compileDetails": "Descargar detalles de compilación (formato JSON)",
"solidity.addACustomCompiler": "Add a custom compiler",
"solidity.addACustomCompilerWithURL": "Add a custom compiler with URL",
"solidity.includeNightlyBuilds": "Include nightly builds",
"solidity.autoCompile": "Auto compile",
"solidity.hideWarnings": "Hide warnings",
"solidity.enableHardhat": "Enable Hardhat Compilation",
"solidity.learnHardhat": "Learn how to use Hardhat Compilation",
"solidity.enableTruffle": "Enable Truffle Compilation",
"solidity.learnTruffle": "Learn how to use Truffle Compilation",
"solidity.advancedConfigurations": "Advanced Configurations",
"solidity.compilerConfiguration": "Compiler configuration",
"solidity.compilationDetails": "Compilation Details",
"solidity.language": "Language",
"solidity.evmVersion": "EVM Version",
"solidity.enableOptimization": "Enable optimization",
"solidity.useConfigurationFile": "Use configuration file",
"solidity.change": "Change",
"solidity.compile": "Compile",
"solidity.noFileSelected": "no file selected",
"solidity.compileAndRunScript": "Compile and Run script",
"solidity.publishOn": "Publish on",
"solidity.flatten": "Flatten contracts before UML generation.",
"solidity.generateUML": "Generate a UML diagram of your contract.",
"solidity.flattenLabel": "Flatten",
"solidity.generateUMLLabel": "Generate UML Diagram",
"solidity.Assembly": "Assembly opcodes describing the contract including corresponding solidity source code",
"solidity.Opcodes": "Assembly opcodes describing the contract",
"solidity.name": "Name of the compiled contract",
"solidity.metadata": "Contains all informations related to the compilation",
"solidity.bytecode": "Bytecode being executed during contract creation",
"solidity.abi": "ABI: describing all the functions (input/output params, scope, ...)",
"solidity.web3Deploy": "Copy/paste this code to any JavaScript/Web3 console to deploy this contract",
"solidity.metadataHash": "Hash representing all metadata information",
"solidity.functionHashes": "List of declared function and their corresponding hash",
"solidity.gasEstimates": "Gas estimation for each function call",
"solidity.Runtime Bytecode": "Bytecode storing the state and being executed during normal contract call",
"solidity.swarmLocation": "Swarm url where all metadata information can be found (contract needs to be published first)"
}
Loading

0 comments on commit fbc6d2b

Please sign in to comment.