Merge branch 'develop' into features/show-building-placeholder

This commit is contained in:
Eric Mastro 2018-05-23 09:36:11 +10:00 committed by GitHub
commit f10abc8da1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 226 additions and 9 deletions

View File

@ -2,7 +2,7 @@ const i18n = require('i18n');
const osLocale = require('os-locale'); const osLocale = require('os-locale');
const path = require('path'); const path = require('path');
const supported_languages = ['en', 'pt']; const supported_languages = ['en', 'pt', 'fr'];
i18n.configure({ i18n.configure({
locales: supported_languages, locales: supported_languages,

View File

@ -101,9 +101,18 @@
"downloading {{packageName}} {{version}}....": "downloading {{packageName}} {{version}}....", "downloading {{packageName}} {{version}}....": "downloading {{packageName}} {{version}}....",
"Swarm node is offline...": "Swarm node is offline...", "Swarm node is offline...": "Swarm node is offline...",
"Swarm node detected...": "Swarm node detected...", "Swarm node detected...": "Swarm node detected...",
"Cannot find file %s Please ensure you are running this command inside the Dapp folder": "Cannot find file %s Please ensure you are running this command inside the Dapp folder",
"finished building": "finished building",
"compiling Vyper contracts": "compiling Vyper contracts",
"Vyper exited with error code ": "Vyper exited with error code ",
"attempted to deploy %s without specifying parameters": "attempted to deploy %s without specifying parameters",
"adding %s to ipfs": "adding %s to ipfs",
"DApp available at": "DApp available at",
"successfully uploaded to ipfs": "successfully uploaded to ipfs",
"Ethereum node (version unknown)": "Ethereum node (version unknown)", "Ethereum node (version unknown)": "Ethereum node (version unknown)",
"No Blockchain node found": "No Blockchain node found", "No Blockchain node found": "No Blockchain node found",
"Couldn't connect to an Ethereum node are you sure it's on?": "Couldn't connect to an Ethereum node are you sure it's on?", "Couldn't connect to an Ethereum node are you sure it's on?": "Couldn't connect to an Ethereum node are you sure it's on?",
"make sure you have an Ethereum node or simulator running. e.g '%s'": "make sure you have an Ethereum node or simulator running. e.g '%s'", "make sure you have an Ethereum node or simulator running. e.g '%s'": "make sure you have an Ethereum node or simulator running. e.g '%s'",
"Embark is building, please wait...": "Embark is building, please wait..." "Embark is building, please wait...": "Embark is building, please wait...",
"finished building DApp and deploying to": "finished building DApp and deploying to"
} }

188
lib/i18n/locales/fr.json Normal file
View File

@ -0,0 +1,188 @@
{
"New Application": "Nouvelle Application",
"Contract Name": "Contrat",
"Address": "Addresse",
"Status": "Etat",
"Embark Blockchain Using: %s": "Embark Blockchain utilise: %s",
"running: %s": "en cours d'exécution: %s",
"already initialized": "Déjà initialisé",
"create a barebones project meant only for contract development": "créer un projet destiné uniquement au développement de contrats",
"loading solc compiler": "chargement du compilateur solc",
"Welcome to Embark": "Bienvenue sur Embark",
"possible commands are:": "les commandes possibles sont:",
"display versions in use for libraries and tools like web3 and solc": "liste des versions utilisées pour les bibliothèques et les outils comme web3 et solc",
"instantiated web3.js object configured to the current environment": "objet web3.js instancié configuré pour l'environnement actuel",
"to immediatly exit (alias: exit)": "quitter immédiatement (alias: exit)",
"The web3 object and the interfaces for the deployed contracts and their methods are also available": "L'objet web3 et les interfaces avec les contrats déployés et leurs méthodes sont également disponibles",
"create a working dapp with a SimpleStorage contract": "créer une dapp fonctionnelle avec un SimpleStorage contrat",
"filename to output logs (default: none)": "nom de fichier pour les journaux de sortie (par défaut: aucun)",
"level of logging to display": "niveau de journalisation à afficher",
"deploy and build dapp at ": "Publiez et créez la dapp dans ",
"port to run the dev webserver (default: %s)": "port pour exécuter le serveur de développement Web (par défaut:% s)",
"host to run the dev webserver (default: %s)": "hôte pour exécuter le serveur de développement Web (par défaut:% s)",
"disable the development webserver": "désactiver le serveur de développement Web",
"simple mode, disables the dashboard": "mode simple, désactive le tableau de bord",
"no colors in case it's needed for compatbility purposes": "pas de couleur au cas où cela serait nécessaire à des fins de compatibilité",
"filename to output logs (default: %s)": "nom de fichier pour les journaux de sortie (par défaut: %s)",
"run dapp (default: %s)": "lancer la dapp (par défaut: %s)",
"Use a specific ethereum client or simulator (supported: %s)": "Utiliser un client ou simulateur ethereum spécifique (supporté:% s)",
"run blockchain server (default: %s)": "exécuter le serveur blockchain (par défaut: %s)",
"run a fast ethereum rpc simulator": "exécuter un simulateur ethereum RPC rapide",
"use testrpc as the rpc simulator [%s]": "utiliser testrpc comme simulateur RPC [%s]",
"port to run the rpc simulator (default: %s)": "port pour exécuter le simulateur RPC (par défaut: %s)",
"host to run the rpc simulator (default: %s)": "hôte pour exécuter le simulateur RPC (par défaut: %s)",
"number of accounts (default: %s)": "nombre de comptes (par défaut: %s)",
"Amount of ether to assign each test account (default: %s)": "Quantité d'éther à affecter à chaque compte de test (par défaut: %s)",
"custom gas limit (default: %s)": "limite de gaz personnalisée (par défaut: %s)",
"run tests": "Exécuter les tests",
"resets embarks state on this dapp including clearing cache": "réinitialise l'état d'Embark dans cette dapp, y compris le cache",
"generates documentation based on the smart contracts configured": "génère la documentation basée sur les contrats configurés",
"Upload your dapp to a decentralized storage": "Téléchargez votre dapp dans un stockage décentralisé",
"output the version number": "afficher le numéro de version",
"Logs": "Journaux",
"Environment": "Environnement",
"Available Services": "Services disponibles",
"Contracts": "Contrats",
"Console": "Console",
"dashboard start": "démarrer le tableau de bord",
"loaded plugins": "plugins chargés",
"compiling solidity contracts": "compilation des contrats Solidity",
"%s doesn't have a compatible contract compiler. Maybe a plugin exists for it.": "%s n'a pas de compilateur de contrat compatible, il existe peut-être un plugin.",
"assuming %s to be an interface": "En supposant que %s soit une interface",
"{{className}}: couldn't find instanceOf contract {{parentContractName}}": "{{className}}: impossible de trouver un instance du contrat {{parentContractName}}",
"did you mean \"%s\"?": "Voulez-vous dire \"%s\"?",
"%s has no code associated": "%s n'a aucun code associé",
"deploying contracts": "déploiement des contrats",
"running beforeDeploy plugin %s .": "En cours d'exécution du plugin beforeDeploy %s .",
"deploying": "En cours de déploiement",
"with": "avec",
"gas": "gaz",
"Pending": "en attente",
"Interface or set to not deploy": "Interface ou configuré pour ne pas déployer",
"error deploying": "erreur de déploiement",
"due to error": "en raison d'une erreur",
"error deploying contracts": "erreur lors du déploiement de contrats",
"finished deploying contracts": "fini de déployer les contrats",
"error running afterDeploy: ": "erreur d'exécution AfterDeploy: ",
"ready to watch file changes": "Prêt à monitorer les changements de fichiers",
"Starting Server": "Démarrage du serveur",
"webserver available at": "serveur Web disponible à",
"Webserver": "Serveur Web",
" already deployed at ": " déjà déployé à ",
"Deployed": "Déployé",
"Name must be only letters, spaces, or dashes": "Le nom ne doit être que des lettres, des espaces ou des tirets",
"Name your app (default is %s)": "Nommez votre application (par défaut: %s)",
"Invalid name": "Nom incorrect",
"unknown command": "commande inconnue",
"did you mean": "vouliez-vous dire",
"warning: running default config on a non-development environment": "avertissement: exécution de la configuration par défaut sur un environnement de non-développement",
"could not find {{geth_bin}} command; is {{client_name}} installed or in the PATH?": "Impossible de trouver la commande {{geth_bin}}, est-ce que {{client_name}} est installé ou dans le PATH?",
"no accounts found": "Aucun compte trouvé",
"initializing genesis block": "initialisation du bloc de genèse",
"rpcCorsDomain set to *": "rpcCorsDomain défini sur *",
"make sure you know what you are doing": "Assurez-vous de savoir ce que vous faites",
"warning: cors is not set": "avertissement: cors n'est pas défini",
"wsOrigins set to *": "wsOrigins défini sur *",
"warning: wsOrigins is not set": "avertissement: wsOrigins n'est pas défini",
"reset done!": "réinitialisation terminée!",
"%s is not installed on your machine": "%s n'est pas installé sur votre machine",
"You can install it by running: %s": "Vous pouvez l'installer en exécutant: %s",
"Initializing Embark Template....": "Initialisation du modèle Embark....",
"Installing packages...": "Installation des paquets...",
"Init complete": "Initialisation terminée",
"App ready at ": "Application prête à ",
"Next steps:": "Prochaines étapes:",
"open another console in the same directory and run": "ouvrir une autre console dans le même répertoire et exécutez",
"For more info go to http://embark.status.im": "Pour plus d'informations, rendez-vous sur http://embark.status.im",
"%s : instanceOf is set to itself": "%s : instanceOf est défini sur lui-même",
"{{className}} has code associated to it but it's configured as an instanceOf {{parentContractName}}": "{{className}} a du code associé, mais il est configuré comme une instanceOf {{parentContractName}}",
"Error Compiling/Building contracts: ": "Erreur lors de la compilation/construction des contrats: ",
"Error: ": "Erreur: ",
"there are two or more contracts that depend on each other in a cyclic manner": "il y a deux ou plusieurs contrats qui dépendent l'un de l'autre de manière cyclique",
"Embark couldn't determine which one to deploy first": "Embark n'a pas pu déterminer lequel déployer en premier",
"{{inputName}} has not been defined for {{className}} constructor": "{{inputName}} n'a pas été défini pour le constructeur {{className}}",
"error deploying %s": "erreur de déploiement de %s",
"executing onDeploy commands": "Exécution des commandes onDeploy",
"error executing onDeploy for ": "erreur d'exécution onDeploy pour ",
" does not exist": " n'existe pas",
"error running onDeploy: ": "erreur d'exécution onDeploy: ",
" exists but has been set to not deploy": " existe, mais a été configuré pour ne pas se déployer",
"couldn't find a valid address for %s has it been deployed?": "impossible de trouver une adresse valide pour %s. A-t-il été déployé?",
"executing: ": "en cours d'exécution: ",
"the transaction was rejected; this usually happens due to a throw or a require": "la transaction a été rejetée, cela arrive généralement en raison d'un 'throw' ou d'un 'require'",
"no account found at index": "aucun compte trouvé à l'index",
" check the config": " vérifier la configuration",
"Both \"from\" and \"fromIndex\" are defined for contract": "\"from\" et \"fromIndex\" sont définis pour le contrat",
"Using \"from\" as deployer account.": "Embark utilise \"from\" comme compte de déploiement.",
"{{linkReference}} is too long": "{{linkReference}} est trop long",
"{{contractName}} needs {{libraryName}} but an address was not found, did you deploy it or configured an address?": "{{contractName}} a besoin de {{libraryName}} mais une adresse n'a pas été trouvée, l'avez-vous déployée ou avez-vous configuré une adresse?",
"attempted to deploy %s without specifying parameters": "a tenté de déployer %s sans spécifier de paramètres",
"deployed at": "déployé à",
"no contracts found": "aucun contrat trouvé",
"Blockchain component is disabled in the config": "Le composant Blockchain est désactivé dans la configuration",
"Couldn't connect to an Ethereum node are you sure it's on?": "Impossible de se connecter à un noeud Ethereum. Êtes-vous sûr qu'il est activé?",
"make sure you have an Ethereum node or simulator running. e.g '%s'": "Assurez-vous que vous avez un noeud Ethereum ou un simulateur en cours d'exécution, par exemple '%s'",
"executing": "en cours d'exécution",
"the transaction was rejected; this usually happens due to a throw or a require, it can also happen due to an invalid operation": "la transaction a été rejetée, cela arrive généralement en raison d'un 'throw' ou d'un 'require', cela peut aussi arriver en raison d'une opération invalide",
"Cannot find file %s Please ensure you are running this command inside the Dapp folder": "Impossible de trouver le fichier %s Veuillez vous assurer que vous exécutez cette commande dans le dossier Dapp",
"no config file found at %s using default config": "Aucun fichier de configuration trouvé sur %s en utilisant la configuration par défaut",
"HTTP contract file not found": "Fichier de contrat HTTP introuvable",
"contract file not found": "Fichier de contrat non trouvé",
"file not found, creating it...": "fichier introuvable, en cours de création...",
"No Blockchain node found": "Pas de noeud Blockchain trouvé",
"Ethereum node (version unknown)": "Nœud Ethereum (version inconnue)",
"this event is deprecated and will be removed in future versions %s": "cet événement est obsolète et sera supprimé dans les futures versions %s",
"Error while downloading the file": "Erreur lors du téléchargement du fichier",
"Plugin {{name}} can only be loaded in the context of \"{{contextes}}\"": "Le plugin {{name}} ne peut être chargé que dans le contexte de \"{{contextes}}\"",
"error running service check": "erreur lors de l'exécution du service de contrôle",
"help": "aide",
"quit": "quitter",
"Type": "Type",
"to see the list of available commands": "pour voir la liste des commandes disponibles",
"Asset Pipeline": "Asset Pipeline",
"Ethereum node detected": "Nœud Ethereum détecté",
"Deployment Done": "Déploiement effectué",
"Looking for documentation? You can find it at": "Vous cherchez de la documentation? Vous pouvez la trouver à",
"Ready": "Prêt",
"tip: you can resize the terminal or disable the dashboard with": "astuce: vous pouvez redimensionner le terminal ou désactiver le tableau de bord avec",
"finished building": "construction terminé",
"Done": "Terminé",
"Cannot upload: {{platform}} node is not running on {{url}}.": "Impossible de télécharger: le noeud {{platform}} ne fonctionne pas sur {{url}}.",
"try \"{{ipfs}}\" or \"{{swarm}}\"": "essayez \"{{ipfs}}\" ou \"{{swarm}}\"",
"finished deploying": "déploiement terminé",
"finished building DApp and deploying to": "construction de la DApp terminé et déploiement à",
"IPFS node detected": "Noeud IPFS détecté",
"IPFS node is offline": "Le noeud IPFS est hors ligne",
"not found or not in the path. Guessing %s for path": "introuvable ou pas dans le PATH. Embark devine %s pour le chemin.",
"adding %s to ipfs": "en cours d'ajout %s à ipfs",
"DApp available at": "DApp disponible à",
"error uploading to ipfs": "Erreur de téléchargement sur ipfs",
"successfully uploaded to ipfs": "Téléchargé avec succès sur ipfs",
"Error while loading the content of ": "Erreur lors du chargement du contenu de ",
"error compiling for unknown reasons": "erreur de compilation pour des raisons inconnues",
"error compiling. There are sources available but no code could be compiled, likely due to fatal errors in the solidity code": "erreur de compilation.Il existe des sources disponibles, mais aucun code n'a pu être compilé, probablement en raison d'erreurs fatales dans le code de solidity",
"Swarm node detected...": "Noeud Swarm détecté...",
"Swarm node is offline...": "Le nœud Swarm est hors ligne ...",
"deploying to swarm!": "déploiement de swarm!",
"adding %s to swarm": "Ajout de %s à swarm",
"error uploading to swarm": "Erreur de téléchargement dans le swarm",
"successfully uploaded to swarm": "téléchargé avec succès dans le swarm",
"Vyper exited with error code ": "Vyper a quitté avec le code d'erreur ",
"Execution returned no result": "L'exécution n'a renvoyé aucun résultat",
"compiling Vyper contracts": "compilation des contrats Vyper",
"Webserver is offline": "Le serveur Web est hors ligne",
"stopping webserver": "Serveur web en cours d'arrêt",
"a webserver is already running at": "un serveur web est déjà en cours d'exécution à",
"no webserver is currently running": "Aucun serveur Web n'est en cours d'exécution",
"couldn't find file": "Impossible de trouver le fichier",
"errors found while generating": "erreurs trouvées lors de la génération",
"writing file": "écriture du fichier",
"Simulator not found; Please install it with \"%s\"": "Simulateur introuvable, veuillez l'installer avec \"%s\"",
"Tried to load testrpc but an error occurred. This is a problem with testrpc": "Nous avons essayé de charger testrpc, mais une erreur s'est produite. Ceci est un problème avec testrpc",
"IMPORTANT: if you using a NodeJS version older than 6.9.1 then you need to install an older version of testrpc \"%s\". Alternatively install node 6.9.1 and the testrpc 3.0": "IMPORTANT: si vous utilisez une version NodeJS antérieure à la version 6.9.1, vous devez installer une ancienne version de testrpc \"%s\". Ou bien installer Node 6.9.1 et le testrpc 3.0",
"terminating due to error": "en cours de terminaison en raison d'une erreur",
"There a a space in the version of {{versionKey}}. We corrected it for you ({{correction})": "Il y a un espace dans la version de {{versionKey}}. Nous l'avons corrigé pour vous ({{correction})",
"versions": "versions",
"versions in use": "versions en cours d'utilisation",
"downloading {{packageName}} {{version}}....": "téléchargement {{packageName}} {{version}}...."
}

View File

@ -43,6 +43,7 @@ class Pipeline {
function createImportList(next) { function createImportList(next) {
importsList["Embark/EmbarkJS"] = fs.dappPath(".embark", 'embark.js'); importsList["Embark/EmbarkJS"] = fs.dappPath(".embark", 'embark.js');
importsList["Embark/web3"] = fs.dappPath(".embark", 'web3_instance.js'); importsList["Embark/web3"] = fs.dappPath(".embark", 'web3_instance.js');
importsList["Embark/contracts"] = fs.dappPath(".embark/contracts", '');
self.plugins.getPluginsProperty('imports', 'imports').forEach(function (importObject) { self.plugins.getPluginsProperty('imports', 'imports').forEach(function (importObject) {
let [importName, importLocation] = importObject; let [importName, importLocation] = importObject;
@ -51,15 +52,34 @@ class Pipeline {
next(); next();
}, },
function writeContracts(next) { function writeContracts(next) {
self.events.request('contracts:list', (contracts) => { self.events.request('contracts:list', (contracts) => {
async.each(contracts, (contract, eachCb) => { // ensure the .embark/contracts directory exists (create if not exists)
self.events.request('code-generator:contract', contract.className, (contractCode) => { fs.mkdirp(fs.dappPath(".embark/contracts", ''), (err) => {
let filePath = fs.dappPath(".embark", contract.className + '.js'); if(err) return next(err);
importsList["Embark/contracts/" + contract.className] = filePath;
fs.writeFile(filePath, contractCode, eachCb); // Create a file .embark/contracts/index.js that requires all contract files
// Used to enable alternate import syntax:
// e.g. import {Token} from 'Embark/contracts'
// e.g. import * as Contracts from 'Embark/contracts'
let importsHelperFile = fs.createWriteStream(fs.dappPath(".embark/contracts", 'index.js'));
importsHelperFile.write('module.exports = {\n');
async.eachOf(contracts, (contract, idx, eachCb) => {
self.events.request('code-generator:contract', contract.className, (contractCode) => {
let filePath = fs.dappPath(".embark/contracts", contract.className + '.js');
importsList["Embark/contracts/" + contract.className] = filePath;
fs.writeFile(filePath, contractCode, eachCb);
// add the contract to the exports list to support alternate import syntax
importsHelperFile.write(`"${contract.className}": require('./${contract.className}').default`);
if(idx < contracts.length - 1) importsHelperFile.write(',\n'); // add a comma if we have more contracts to add
});
}, function(){
importsHelperFile.write('\n}'); // close the module.exports = {}
importsHelperFile.close(next); // close the write stream
}); });
}, next); });
}); });
}, },
function assetFileWrite(next) { function assetFileWrite(next) {