From 9aed1417ee2b6d0e9622e3d5da66725c74ad990d Mon Sep 17 00:00:00 2001 From: Alice <alice.poggioli@hotmail.fr> Date: Mon, 4 Nov 2019 11:16:24 +0100 Subject: [PATCH 01/13] WIP : We get translated variable. --- compile-pug.js | 63 ++++++++++++++++++++++++++++++++++++++++++++++ translation/en.yml | 5 ++++ translation/fr.yml | 4 +++ 3 files changed, 72 insertions(+) create mode 100644 compile-pug.js create mode 100644 translation/en.yml create mode 100644 translation/fr.yml diff --git a/compile-pug.js b/compile-pug.js new file mode 100644 index 00000000..0636f12d --- /dev/null +++ b/compile-pug.js @@ -0,0 +1,63 @@ +const path = require('path') +const fs = require('fs').promises +const objectAssignDeep = require(`object-assign-deep`) +const yaml = require('js-yaml') +const pug = require('pug') +const chokidar = require('chokidar') + +const default_lang = 'en' + +const pugFile = './src/index.pug' +const dataDir = './translation' +const outDir = './www' + +async function compile() { + const langs = (await fs.readdir(dataDir)) + .filter(f => path.extname(f) === '.yml') + .map(f => path.basename(f, '.yml')) + + const langData = {} + + await Promise.all( + langs.map(lang => + fs + .readFile(`${dataDir}/${lang}.yml`, 'utf8') + .then(text => (langData[lang] = yaml.safeLoad(text))), + ), + ) + + for (const lang in langData) { + if (lang === default_lang) continue + langData[lang] = objectAssignDeep( + {}, + langData[default_lang], + langData[lang], + ) + } + + const options = JSON.parse(await fs.readFile('./src/config.json', 'utf-8')) + const pugFct = pug.compileFile(pugFile) + + await fs.mkdir(outDir, { recursive: true }) + + await Promise.all( + Object.entries(langData).map(([lang, data]) => { + options.lang=lang + options.data=data + + const html = pugFct(options) + const filename = `${outDir}/index-${lang}.html` + console.log(`write ${filename}`) + return fs.writeFile(filename, html) + }), + ) +} + +compile().then(() => { + if (!process.argv.includes('-w') && !process.argv.includes('--watch')) return + console.log('watching for changes…') + chokidar.watch([pugFile, dataDir]).on('change', editedFilePath => { + console.log(`\nchanged: ${editedFilePath}`) + compile() + }) +}) diff --git a/translation/en.yml b/translation/en.yml new file mode 100644 index 00000000..9e8e911a --- /dev/null +++ b/translation/en.yml @@ -0,0 +1,5 @@ +--- +title: My amazing website +welcome: Hi! welcome to our website +contact: click here to contact us +email: contact@example.com \ No newline at end of file diff --git a/translation/fr.yml b/translation/fr.yml new file mode 100644 index 00000000..eb31599a --- /dev/null +++ b/translation/fr.yml @@ -0,0 +1,4 @@ +--- +title: Mon superbe site +welcome: Bonjour ! bienvenu sur notre site +contact: cliquez ici pour nous contacter \ No newline at end of file -- GitLab From 8f5143f70872bc29bdd2415cf3e216cafd84957b Mon Sep 17 00:00:00 2001 From: Alice <alice.poggioli@hotmail.fr> Date: Mon, 4 Nov 2019 11:16:38 +0100 Subject: [PATCH 02/13] WIP : We get translated variable. --- package.json | 9 ++++++--- server.js | 2 +- src/includes/mentor/components/header.pug | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c51b7fa7..3a74c2eb 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "scss": "node-sass -w ./src/styles/index.scss -o ./www/styles/", - "pug": "pug --watch ./src/index.pug --out ./www/ --obj ./src/config.json", + "pug": "node ./compile-pug.js -w", "pugprod": "pug ./src/index.pug --out ./www/ --obj prod.json", "copy-js": "cp ./src/scripts/*.js ./www/scripts/", "copy-fonts": "cp -R ./src/fonts ./www", @@ -21,9 +21,12 @@ "@babel/core": "^7.1.0", "@babel/cli": "^7.1.0", "node-sass": "^4.9.3", - "pug-cli": "^1.0.0-alpha6", "browser-sync": "^2.24.7", - "express": "^4.16.3" + "express": "^4.16.3", + "chokidar": "^3.2.3", + "js-yaml": "^3.13.1", + "object-assign-deep": "^0.4.0", + "pug": "^2.0.4" }, "dependencies": { "@webcomponents/html-imports": "^1.2.0", diff --git a/server.js b/server.js index 21a3c704..f16bdbd9 100644 --- a/server.js +++ b/server.js @@ -10,7 +10,7 @@ app .use(express.static(distPath)) // .use('/src', express.static(join(__dirname, 'src'))) .get(/^[^.]*$/, (req, rep) => - rep.sendFile(join(__dirname, distPath, '/index.html')) + rep.sendFile(join(__dirname, distPath, '/index-fr.html')) ) .listen(port); diff --git a/src/includes/mentor/components/header.pug b/src/includes/mentor/components/header.pug index 3e7b4a46..44de2130 100644 --- a/src/includes/mentor/components/header.pug +++ b/src/includes/mentor/components/header.pug @@ -16,7 +16,8 @@ label-languages='' naked ) - + h1= data.title + h2 hello .dropdownWrapper sib-display#mentor-account-picture.dropdownLabel( bind-user -- GitLab From ed1d183db3c8dd5cb464accf10a6d0fe82a9027d Mon Sep 17 00:00:00 2001 From: Alice <alice.poggioli@hotmail.fr> Date: Mon, 4 Nov 2019 13:32:45 +0100 Subject: [PATCH 03/13] We can set the language given by the navigator's user. --- server.js | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/server.js b/server.js index f16bdbd9..09078206 100644 --- a/server.js +++ b/server.js @@ -1,16 +1,51 @@ -const port = 9000; +const port = 9001; const browserSyncPort = 3000; const distPath = 'www'; +const fs = require('fs') +const path = require('path') // express server const { join } = require('path'); const express = require('express'); const app = express(); + +const default_lang = 'en' + +function parseLanguageData(stringData) { + var arrayData = stringData.split(',').map(element => + element.split(/[-;]/).shift() + ); + arrayData.push(default_lang) + return arrayData +} + +function getAvailableLanguage() { + const langs = fs.readdirSync(distPath) + .filter(f => path.basename(f, '.yml').match(/^index-[a-z]{2}\.html/)) + .map(f => f.match(/^index-([a-z]{2})\.html/)[1]) + return langs +} + +function matchLanguage(availableLanguages, userLanguages) { + for (let index = 0; index < userLanguages.length; index++) { + const userLanguage = userLanguages[index]; + for (let index = 0; index < availableLanguages.length; index++) { + const availableLanguage = availableLanguages[index]; + if (userLanguage === availableLanguage) { + return userLanguage + } + } + } +} + app .use(express.static(distPath)) // .use('/src', express.static(join(__dirname, 'src'))) - .get(/^[^.]*$/, (req, rep) => - rep.sendFile(join(__dirname, distPath, '/index-fr.html')) + .get(/^[^.]*$/, (req, rep) => { + var langRequired = matchLanguage(getAvailableLanguage(), parseLanguageData(req.headers["accept-language"])) + console.log('langRequired : ', langRequired) + rep.sendFile(join(__dirname, distPath, `/index-${langRequired}.html`)) + } ) .listen(port); -- GitLab From ea7da8e284a2520fb74561aa8f329ffcc1a8d2f9 Mon Sep 17 00:00:00 2001 From: Alice <alice.poggioli@hotmail.fr> Date: Mon, 4 Nov 2019 13:48:19 +0100 Subject: [PATCH 04/13] Add comments --- server.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server.js b/server.js index 09078206..41004b17 100644 --- a/server.js +++ b/server.js @@ -11,6 +11,10 @@ const app = express(); const default_lang = 'en' +/** + * Get the languages of the user's navigator and covert it in a array of exploitable datas. + * @param {string} stringData + */ function parseLanguageData(stringData) { var arrayData = stringData.split(',').map(element => element.split(/[-;]/).shift() @@ -19,6 +23,9 @@ function parseLanguageData(stringData) { return arrayData } +/** + * Get the language we can display. + */ function getAvailableLanguage() { const langs = fs.readdirSync(distPath) .filter(f => path.basename(f, '.yml').match(/^index-[a-z]{2}\.html/)) @@ -26,6 +33,11 @@ function getAvailableLanguage() { return langs } +/** + * Compare the languages possibles with the languages avalaible and return the matched language. + * @param {array} availableLanguages + * @param {array} userLanguages + */ function matchLanguage(availableLanguages, userLanguages) { for (let index = 0; index < userLanguages.length; index++) { const userLanguage = userLanguages[index]; @@ -43,7 +55,6 @@ app // .use('/src', express.static(join(__dirname, 'src'))) .get(/^[^.]*$/, (req, rep) => { var langRequired = matchLanguage(getAvailableLanguage(), parseLanguageData(req.headers["accept-language"])) - console.log('langRequired : ', langRequired) rep.sendFile(join(__dirname, distPath, `/index-${langRequired}.html`)) } ) -- GitLab From dddc057ee2d6deb97aad5fd3dc9cbe3ffb40e2f3 Mon Sep 17 00:00:00 2001 From: Alice <alice.poggioli@hotmail.fr> Date: Mon, 4 Nov 2019 14:26:34 +0100 Subject: [PATCH 05/13] Add lang cookie. --- package.json | 1 + server.js | 75 ++++++++++++++++++++++++++++++++++------------------ 2 files changed, 51 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 3a74c2eb..c0eded18 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "dependencies": { "@webcomponents/html-imports": "^1.2.0", "@webcomponents/webcomponentsjs": "^1.2.7", + "cookie-parser": "^1.4.4", "include-media": "^1.4.9", "normalize.css": "^8.0.0", "onchange": "^6.1.0", diff --git a/server.js b/server.js index 41004b17..adf022f4 100644 --- a/server.js +++ b/server.js @@ -1,42 +1,45 @@ const port = 9001; const browserSyncPort = 3000; -const distPath = 'www'; -const fs = require('fs') -const path = require('path') +const distPath = "www"; +const fs = require("fs"); +const path = require("path"); // express server -const { join } = require('path'); -const express = require('express'); +const { join } = require("path"); +const express = require("express"); const app = express(); +let cookieParser = require("cookie-parser"); -const default_lang = 'en' +//By defaut the language should be english. +const default_lang = "en"; /** * Get the languages of the user's navigator and covert it in a array of exploitable datas. - * @param {string} stringData + * @param {string} stringData */ function parseLanguageData(stringData) { - var arrayData = stringData.split(',').map(element => - element.split(/[-;]/).shift() - ); - arrayData.push(default_lang) - return arrayData + var arrayData = stringData + .split(",") + .map(element => element.split(/[-;]/).shift()); + arrayData.push(default_lang); + return arrayData; } /** * Get the language we can display. */ function getAvailableLanguage() { - const langs = fs.readdirSync(distPath) - .filter(f => path.basename(f, '.yml').match(/^index-[a-z]{2}\.html/)) - .map(f => f.match(/^index-([a-z]{2})\.html/)[1]) - return langs + const langs = fs + .readdirSync(distPath) + .filter(f => path.basename(f, ".yml").match(/^index-[a-z]{2}\.html/)) + .map(f => f.match(/^index-([a-z]{2})\.html/)[1]); + return langs; } /** * Compare the languages possibles with the languages avalaible and return the matched language. - * @param {array} availableLanguages - * @param {array} userLanguages + * @param {array} availableLanguages + * @param {array} userLanguages */ function matchLanguage(availableLanguages, userLanguages) { for (let index = 0; index < userLanguages.length; index++) { @@ -44,26 +47,48 @@ function matchLanguage(availableLanguages, userLanguages) { for (let index = 0; index < availableLanguages.length; index++) { const availableLanguage = availableLanguages[index]; if (userLanguage === availableLanguage) { - return userLanguage + return userLanguage; } } } } +//JSON object to be added to language's cookie +let langAsked = { + langIndice: null +}; + app + .use(cookieParser()) .use(express.static(distPath)) // .use('/src', express.static(join(__dirname, 'src'))) + + //Route for adding lang's cookie + // res.cookie("langData", langAsked); + .get(/^[^.]*$/, (req, rep) => { - var langRequired = matchLanguage(getAvailableLanguage(), parseLanguageData(req.headers["accept-language"])) - rep.sendFile(join(__dirname, distPath, `/index-${langRequired}.html`)) - } - ) + if (langAsked.langIndice == null) { + var langRequired = matchLanguage( + getAvailableLanguage(), + parseLanguageData(req.headers["accept-language"]) + ); + langAsked = { + langIndice: langRequired + }; + rep.cookie("langData", langAsked); + console.log("langAsked", langAsked) + } else { + var langRequired = langAsked.langIndice; + } + + rep.sendFile(join(__dirname, distPath, `/index-${langRequired}.html`)); + }) .listen(port); // browser sync -const bs = require('browser-sync').create(); +const bs = require("browser-sync").create(); bs.init({ - files: [distPath + '/**/*'], + files: [distPath + "/**/*"], proxy: `http://localhost:${port}`, open: false, notify: false, -- GitLab From 1f61e2ff132e895d1e491316f096c2409229f9f3 Mon Sep 17 00:00:00 2001 From: Alice <alice.poggioli@hotmail.fr> Date: Mon, 4 Nov 2019 15:55:37 +0100 Subject: [PATCH 06/13] The language selector works --- server.js | 16 +++--------- .../entrepreneur/components/header.pug | 2 +- src/includes/mentor/components/header.pug | 2 +- src/includes/public/components/header.pug | 2 +- src/scripts/coopstarter.js | 26 +++++++++++++++++++ 5 files changed, 33 insertions(+), 15 deletions(-) diff --git a/server.js b/server.js index adf022f4..93e04df6 100644 --- a/server.js +++ b/server.js @@ -53,21 +53,14 @@ function matchLanguage(availableLanguages, userLanguages) { } } -//JSON object to be added to language's cookie -let langAsked = { - langIndice: null -}; - app .use(cookieParser()) .use(express.static(distPath)) // .use('/src', express.static(join(__dirname, 'src'))) - //Route for adding lang's cookie - // res.cookie("langData", langAsked); - .get(/^[^.]*$/, (req, rep) => { - if (langAsked.langIndice == null) { + // If we have no language's cookie, we take the language of the navigator's user and set a cookie, else we take the language of the cookie. + if (!req.cookies.langData.langIndice) { var langRequired = matchLanguage( getAvailableLanguage(), parseLanguageData(req.headers["accept-language"]) @@ -76,12 +69,11 @@ app langIndice: langRequired }; rep.cookie("langData", langAsked); - console.log("langAsked", langAsked) } else { - var langRequired = langAsked.langIndice; + langAsked = req.cookies.langData.langIndice } - rep.sendFile(join(__dirname, distPath, `/index-${langRequired}.html`)); + rep.sendFile(join(__dirname, distPath, `/index-${langAsked}.html`)); }) .listen(port); diff --git a/src/includes/entrepreneur/components/header.pug b/src/includes/entrepreneur/components/header.pug index 998a38c1..ed209a7a 100644 --- a/src/includes/entrepreneur/components/header.pug +++ b/src/includes/entrepreneur/components/header.pug @@ -7,7 +7,7 @@ include menu.pug div.flex.flex_espace.flex_item_center - sib-form( + sib-form.languageChoic( data-src=`${endpoints.languages}` fields='languages' range-languages=`${endpoints.languages}` diff --git a/src/includes/mentor/components/header.pug b/src/includes/mentor/components/header.pug index 44de2130..49ee5433 100644 --- a/src/includes/mentor/components/header.pug +++ b/src/includes/mentor/components/header.pug @@ -7,7 +7,7 @@ include menu.pug div.flex.flex_espace.flex_item_center - sib-form( + sib-form.languageChoice( data-src=`${endpoints.languages}` fields='languages' range-languages=`${endpoints.languages}` diff --git a/src/includes/public/components/header.pug b/src/includes/public/components/header.pug index dcd974cb..dd4fd78f 100644 --- a/src/includes/public/components/header.pug +++ b/src/includes/public/components/header.pug @@ -7,7 +7,7 @@ include menu.pug div.flex.flex_espace.flex_item_center - sib-form( + sib-form.languageChoic( data-src=`${endpoints.languages}` fields='languages' range-languages=`${endpoints.languages}` diff --git a/src/scripts/coopstarter.js b/src/scripts/coopstarter.js index 0312cf45..675b9d71 100644 --- a/src/scripts/coopstarter.js +++ b/src/scripts/coopstarter.js @@ -325,6 +325,29 @@ function manageLogoutButton() { } } + +/** + * Manage the select language + */ +function manageSelectLanguage() { + const languageSelects = document.getElementsByClassName("languageChoice") + for (let item of languageSelects) { + item.addEventListener("change", function() { + uriLanguge = item.querySelector("option:checked").value + document.cookie = "langData=j%3A%7B%22langIndice%22%3A%22fr%22%7D" + if (uriLanguge === '{"@id": "http://localhost:8000/languages/1/"}') { + document.cookie = "langData=j%3A%7B%22langIndice%22%3A%22fr%22%7D" + location.reload() + } else { + document.cookie = "langData=j%3A%7B%22langIndice%22%3A%22en%22%7D" + location.reload() + } + + }) + } + +} + /** * Initi the custom form file behaviour * Todo : we can improve the performance adding param to reduce the loop @@ -589,6 +612,9 @@ jQuery(document).ready(function($) { //Manage the logout action manageLogoutButton(); + //Manage the select language + manageSelectLanguage(); + /* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX MENTOR DASHBOARD XXXXXXXXXXXXXXXXXXXX -- GitLab From ddffb226f7f51cfb9ed3b2df9b37dbd7aca5ea1a Mon Sep 17 00:00:00 2001 From: Alice <alice.poggioli@hotmail.fr> Date: Thu, 7 Nov 2019 13:34:21 +0100 Subject: [PATCH 07/13] Good solution for internationalisation. --- compile-pug.js | 12 +-- server.js | 79 ++----------------- .../entrepreneur/components/header.pug | 6 +- src/includes/entrepreneur/dashboard.pug | 2 +- .../entrepreneur/profile/confirmation.pug | 6 +- src/includes/entrepreneur/profile/create.pug | 10 +-- src/includes/entrepreneur/profile/detail.pug | 10 +-- src/includes/entrepreneur/profile/edit.pug | 14 ++-- src/includes/entrepreneur/requests/create.pug | 27 ++++--- .../entrepreneur/resources/detail.pug | 30 +++---- src/includes/entrepreneur/resources/list.pug | 38 ++++----- ...source-report-broken-link-entrepreneur.pug | 4 +- src/includes/mentor/browseDatabase.pug | 38 ++++----- src/includes/mentor/components/header.pug | 8 +- src/includes/mentor/components/menu.pug | 2 +- src/includes/mentor/dashboard.pug | 4 +- src/includes/mentor/profile/confirmation.pug | 6 +- src/includes/mentor/profile/create.pug | 32 ++++---- src/includes/mentor/profile/detail.pug | 20 ++--- src/includes/mentor/profile/edit.pug | 36 ++++----- src/index.pug | 4 +- translation/en.yml | 78 +++++++++++++++++- translation/fr.yml | 72 ++++++++++++++++- 23 files changed, 307 insertions(+), 231 deletions(-) diff --git a/compile-pug.js b/compile-pug.js index 0636f12d..46671768 100644 --- a/compile-pug.js +++ b/compile-pug.js @@ -41,12 +41,12 @@ async function compile() { await fs.mkdir(outDir, { recursive: true }) await Promise.all( - Object.entries(langData).map(([lang, data]) => { - options.lang=lang - options.data=data - - const html = pugFct(options) - const filename = `${outDir}/index-${lang}.html` + Object.entries(langData).map(async([lang, data]) => { + const opt = Object.assign({}, options, { lang, data }); + const dir = `${outDir}/${lang}` + await fs.mkdir(dir, { recursive: true }) + const html = pugFct(opt) + const filename = `${dir}/index.html` console.log(`write ${filename}`) return fs.writeFile(filename, html) }), diff --git a/server.js b/server.js index 93e04df6..6d3e1bf0 100644 --- a/server.js +++ b/server.js @@ -1,86 +1,23 @@ -const port = 9001; +const port = 9000; const browserSyncPort = 3000; -const distPath = "www"; -const fs = require("fs"); -const path = require("path"); +const distPath = 'www'; // express server -const { join } = require("path"); -const express = require("express"); +const { join } = require('path'); +const express = require('express'); const app = express(); -let cookieParser = require("cookie-parser"); - -//By defaut the language should be english. -const default_lang = "en"; - -/** - * Get the languages of the user's navigator and covert it in a array of exploitable datas. - * @param {string} stringData - */ -function parseLanguageData(stringData) { - var arrayData = stringData - .split(",") - .map(element => element.split(/[-;]/).shift()); - arrayData.push(default_lang); - return arrayData; -} - -/** - * Get the language we can display. - */ -function getAvailableLanguage() { - const langs = fs - .readdirSync(distPath) - .filter(f => path.basename(f, ".yml").match(/^index-[a-z]{2}\.html/)) - .map(f => f.match(/^index-([a-z]{2})\.html/)[1]); - return langs; -} - -/** - * Compare the languages possibles with the languages avalaible and return the matched language. - * @param {array} availableLanguages - * @param {array} userLanguages - */ -function matchLanguage(availableLanguages, userLanguages) { - for (let index = 0; index < userLanguages.length; index++) { - const userLanguage = userLanguages[index]; - for (let index = 0; index < availableLanguages.length; index++) { - const availableLanguage = availableLanguages[index]; - if (userLanguage === availableLanguage) { - return userLanguage; - } - } - } -} - app - .use(cookieParser()) .use(express.static(distPath)) // .use('/src', express.static(join(__dirname, 'src'))) - - .get(/^[^.]*$/, (req, rep) => { - // If we have no language's cookie, we take the language of the navigator's user and set a cookie, else we take the language of the cookie. - if (!req.cookies.langData.langIndice) { - var langRequired = matchLanguage( - getAvailableLanguage(), - parseLanguageData(req.headers["accept-language"]) - ); - langAsked = { - langIndice: langRequired - }; - rep.cookie("langData", langAsked); - } else { - langAsked = req.cookies.langData.langIndice - } - - rep.sendFile(join(__dirname, distPath, `/index-${langAsked}.html`)); + .get('/:lang/:path([^.]*)', (req, rep) => { + rep.sendFile(join(__dirname, distPath, `${req.params.lang}/index.html`)); }) .listen(port); // browser sync -const bs = require("browser-sync").create(); +const bs = require('browser-sync').create(); bs.init({ - files: [distPath + "/**/*"], + files: [distPath + '/**/*'], proxy: `http://localhost:${port}`, open: false, notify: false, diff --git a/src/includes/entrepreneur/components/header.pug b/src/includes/entrepreneur/components/header.pug index ed209a7a..493c1cd6 100644 --- a/src/includes/entrepreneur/components/header.pug +++ b/src/includes/entrepreneur/components/header.pug @@ -27,10 +27,10 @@ ul li sib-link(next='entrepreneur-dashboard') - p Dashboard + p= data.Dashboard li sib-link(next='entrepreneur-account') - p My account + p= data.MyAccount li a.logout-button - p Logout \ No newline at end of file + p= data.Logout \ No newline at end of file diff --git a/src/includes/entrepreneur/dashboard.pug b/src/includes/entrepreneur/dashboard.pug index 5c795315..681e6c66 100644 --- a/src/includes/entrepreneur/dashboard.pug +++ b/src/includes/entrepreneur/dashboard.pug @@ -28,7 +28,7 @@ section#home include ./requests/create.pug dialog#entrepreneur-request-validation.no-sidebar.container - p You request has been submitted + p=`${data.YouRequestHasBeenSubmitted}` p.flex sib-link(next='entrepreneur-resource-list', class='button_base') Ok diff --git a/src/includes/entrepreneur/profile/confirmation.pug b/src/includes/entrepreneur/profile/confirmation.pug index 69a6c69c..df14f292 100644 --- a/src/includes/entrepreneur/profile/confirmation.pug +++ b/src/includes/entrepreneur/profile/confirmation.pug @@ -1,9 +1,9 @@ div.container_min - h2.title_lead.fd_bleu Edit your account + h2.title_lead.fd_bleu= data.EditYourAccount -p.p_entete Your modifications have properly been saved. +p.p_entete= data.ModificationsProperlySaved div div.flex h3.button_base - sib-link(next='entrepreneur-resource-list') -> Back to the database \ No newline at end of file + sib-link(next='entrepreneur-resource-list')= data.BackToDashboard \ No newline at end of file diff --git a/src/includes/entrepreneur/profile/create.pug b/src/includes/entrepreneur/profile/create.pug index ccfda50e..a3dd7ead 100644 --- a/src/includes/entrepreneur/profile/create.pug +++ b/src/includes/entrepreneur/profile/create.pug @@ -8,7 +8,7 @@ figure.logo.img_log img(src="../images/fusee.png" alt="Create an entrepreneur account") -h2.title_create Complete your entrepreneur account +h2.title_create=`${data.CompleteEntrepreneurAccount}` sib-form#entrepreneur_profile_creation.block_log.block_creat_count( bind-user @@ -16,9 +16,9 @@ sib-form#entrepreneur_profile_creation.block_log.block_creat_count( range-entrepreneur_profile.organisation=`${endpoints.organisations}` - label-first_name="Surname" - label-last_name="Name" - label-entrepreneur_profile.organisation="Organisation *" + label-first_name=`${data.Surname}` + label-last_name=`${data.Name}` + label-entrepreneur_profile.organisation=`${data.Organisation}` class-entrepreneur_profile.organisation='form-label is-dark' widget-entrepreneur_profile.organisation='sib-form-auto-completion' @@ -29,7 +29,7 @@ sib-form#entrepreneur_profile_creation.block_log.block_creat_count( widget-account.picture='cs-form-file-custom' class-account.picture='input_photo w_25' - submit-button="COMPLETE YOUR ACCOUNT" + submit-button=`${data.CompleteYourAccount}` next="entrepreneur-dashboard" ) diff --git a/src/includes/entrepreneur/profile/detail.pug b/src/includes/entrepreneur/profile/detail.pug index e0099ead..eeea2edf 100644 --- a/src/includes/entrepreneur/profile/detail.pug +++ b/src/includes/entrepreneur/profile/detail.pug @@ -1,23 +1,23 @@ include ../../components/widgets div.container_min - h2.title_lead.fd_bleu My Account + h2.title_lead.fd_bleu=`${data.MyAccount}` div.block_list.flex div.button__actions.w_25 div.dashboard__database sib-link(next='entrepreneur-database') - div.button_base.ico_gauche.ico_database Browse database + div.button_base.ico_gauche.ico_database=`${data.BrowseDatabase}` div.dashboard__database sib-link(next='entrepreneur-resource-list') - div.button_base.ico_gauche.ico_search Back to dashboard + div.button_base.ico_gauche.ico_search=`${data.BackToDashboard}` div.dashboard__database div.logout-button.button_base( role='log out' - ) Logout + )=`${data.Logout}` div.profile_information.block_log.w_75 sib-link(next='entrepreneur-account-edit') @@ -35,7 +35,7 @@ div.block_list.flex sib-display#entrepreneur_contact( bind-user fields='email' - label-email='Email:' + label-email=`${data.Email}` class-email="contact_profil" widget-email='cs-display-resource-property' ) \ No newline at end of file diff --git a/src/includes/entrepreneur/profile/edit.pug b/src/includes/entrepreneur/profile/edit.pug index 8028caf0..f3f90cb1 100644 --- a/src/includes/entrepreneur/profile/edit.pug +++ b/src/includes/entrepreneur/profile/edit.pug @@ -1,16 +1,16 @@ include ../../components/widgets -h2.title_create Edit your account +h2.title_create= data.EditYourAccount sib-form#entrepreneur_profile_edition.block_log.block_creat_count( bind-user fields="info(last_name, first_name, username, email, entrepreneur_profile.organisation, account.picture)" range-entrepreneur_profile.organisation=`${endpoints.organisations}` - label-first_name="Surname" - label-last_name="Name" - label-entrepreneur_profile.organisation="Organisation" - label-account.picture="Profile picture" + label-first_name=`${data.Surname}` + label-last_name=`${data.Name}` + label-entrepreneur_profile.organisation=`${data.Organisation}` + label-account.picture=`${data.Photo}` widget-username="sib-form-hidden" class-last_name='form-label is-dark input_big' @@ -25,8 +25,8 @@ sib-form#entrepreneur_profile_edition.block_log.block_creat_count( widget-account.picture='cs-form-file-custom' class-account.picture='input_photo w_25' - submit-button="Save modifications" + submit-button=`${data.SaveModification}` next='entrepreneur-account-edit-confirmation' ) -sib-link(class="backlink", next="entrepreneur-resource-list") Back to the dashboard \ No newline at end of file +sib-link(class="backlink", next="entrepreneur-resource-list")= data.BackToDashboard \ No newline at end of file diff --git a/src/includes/entrepreneur/requests/create.pug b/src/includes/entrepreneur/requests/create.pug index c0852549..8291703f 100644 --- a/src/includes/entrepreneur/requests/create.pug +++ b/src/includes/entrepreneur/requests/create.pug @@ -4,11 +4,12 @@ p.backlink i.fas.fa-times div#resource-creation-form-loader - hidden Loading form, please wait... + hidden + i.fas.fa-spinner.fa-spin - h2.title_form Request a ressource + h2.title_form=`${data.RequestRessource}` - p.p_entete You can't find a resource you are looking for ? You need resources to acquire certain skills or progress in your cooperative developement ? It can be a book, a document model, a tutorial, anything you need, make a request to our mentors so they know how to help you. + p.p_entete=`${data.RequestRessourceInfo}` img(src="../images/asid_entre.png" alt="rechercher de ressources") sib-form#resource-creation-form( @@ -25,16 +26,16 @@ range-organisation=`${endpoints.organisations}` range-country=`${endpoints.countries}` - label-header_mandatory='Mandatory information' - label-header_complementary='Complementary information' + label-header_mandatory=`${data.MandatoryInformation}` + label-header_complementary=`${data.ComplementaryInformation}` - label-name='Title*' - label-description='Description' - label-language='Language*' - label-country='Country*' - label-field='Field*' - label-organisation='Organisation' - label-skills='What do you need to learn with this resource ?' + label-name=`${data.TitleRequired}` + label-description=`${data.Description}` + label-language=`${data.Language}` + label-country=`${data.Country}` + label-field=`${data.FieldRequired}` + label-organisation=`${data.Organisation}` + label-skills=`${data.SkillToLearn}` multiple-fields='sib-multiple-select' widget-fields='sib-form-auto-completion' @@ -47,7 +48,7 @@ widget-skills='sib-form-textarea' widget-organisation='sib-form-auto-completion' - submit-button='Send request' + submit-button=`${data.SendRequest}` next="entrepreneur-request-validation" ) diff --git a/src/includes/entrepreneur/resources/detail.pug b/src/includes/entrepreneur/resources/detail.pug index dbb6ea52..399d29fc 100644 --- a/src/includes/entrepreneur/resources/detail.pug +++ b/src/includes/entrepreneur/resources/detail.pug @@ -46,31 +46,31 @@ include ../../components/widgets class-review.reviewer.name="validator_ressource" widget-header_specifications='cs-section_header' - label-broken='Report broken link' - label-sharing='Access:' - label-language.name='Language:' - label-publication_year='Year of publication:' - label-header_specifications='Resource specifications' + label-broken=`${data.ReportBrokenLink}` + label-sharing=`${data.Access}` + label-language.name=`${data.Language}` + label-publication_year=`${data.DatePublication}` + label-header_specifications=`${data.ResourceSpecifications}` class-format.name='format_type' label-format.name='' widget-steps='cs-display-step-property' label-steps='' - each-label-steps="Step" + each-label-steps=`${data.Step}` multiple-steps widget-fields='cs-display-multiple-property' label-fields='' - each-label-fields='Field:' + each-label-fields=`${data.Field}` multiple-fields - label-skills='With this resource, you will be able to:' - label-uri='Link to resource' + label-skills=`${data.WithThisResourceBeAbleTo}` + label-uri=`${data.LinkToResource}` name-uri='original-link' - label-country.name='Country:' - label-submitter.mentor_profile.organisation.name='Organisation:' - label-author='Author :' - label-submitter.name='Resource posted by:' + label-country.name=`${data.Country}` + label-submitter.mentor_profile.organisation.name=`${data.Organisation}` + label-author=`${data.Author}` + label-submitter.name=`${data.ResourcePostedBy}` action-broken='resource-report-broken-link-entrepreneur' ) @@ -98,7 +98,7 @@ include ../../components/widgets bind-resources fields="" nested-field="conversations" - counter-template="<p>Comments (${counter})</p>" + counter-template=`<p>${data.Comments} (${counter})</p>` ) sib-conversation( @@ -106,7 +106,7 @@ include ../../components/widgets id-suffix="conversations" ) - h2.title_lead_avenir Related resources + h2.title_lead_avenir=`${data.RelatedResources}` sib-display( bind-resources, diff --git a/src/includes/entrepreneur/resources/list.pug b/src/includes/entrepreneur/resources/list.pug index 20b2f851..3e846b1e 100644 --- a/src/includes/entrepreneur/resources/list.pug +++ b/src/includes/entrepreneur/resources/list.pug @@ -7,8 +7,8 @@ dialog#resource-report-broken-link-entrepreneur include ./resource-report-broken-link-entrepreneur div.container_min - h2.title_lead.fd_bleu International index of resources for cooperative mentors and entrepreneurs - button.button_dark.pull-right Watch the presentation + h2.title_lead.fd_bleu=`${data.generalLabel}` + button.button_dark.pull-right=`${data.WatchThePresentation}` i.far.fa-play-circle //-About : @@ -19,7 +19,7 @@ container.block_list div.flex.flex_espace div.w_75.block-g-entre div - h2.title_form Search for a resource + h2.title_form=`${data.SearchForResource}` div#resources-loader hidden i.fas.fa-spinner.fa-spin @@ -27,13 +27,13 @@ container.block_list data-src=`${endpoints.resources}`, loader-id="resources-loader" fields='keyword(name_keyword)' - label-name_keyword="Search by name..." + label-name_keyword=`${data.SearchByNam}` widget-name_keyword="sib-form-placeholder-text" naked ) div.keyword_submit.button__actions - div.button_base.ico_gauche Search + div.button_base.ico_gauche=`${data.Search}` sib-form.instance_database_only( data-src=`${endpoints.resources}`, @@ -47,12 +47,12 @@ container.block_list sib-form.more_criterias.flex.flex_espace( data-src=`${endpoints.resources}`, fields='header_criterias, format, publication_year, country, language, fields' - label-header_criterias='More criterias' - label-format='Format:' - label-publication_year='Year of publication' - label-country='Country of publication' - label-language='Language' - label-fields='Field' + label-header_criterias=`${data.Search}` + label-format=`${data.Format}` + label-publication_year=`${data.DatePublication}` + label-country=`${data.CountryPublication}` + label-language=`${data.Language}` + label-fields=`${data.Field}` widget-header_criterias='cs-section_header' range-language=`${endpoints.languages}` @@ -78,11 +78,11 @@ container.block_list div.w_25 div.block_aside_entre img(src="../images/asid_entre.png" alt="rechercher de ressources") - p Can't find the ressource you need ? + p=`${data.CantFindRessourceYouNeed}` div.button__actions sib-link(next='entrepreneur-request-create') div - div.button_base Make a request + div.button_base=`${data.MakeRequest}` //Fake tabs to filter by type. @@ -115,7 +115,7 @@ container.block_list fields='name' class="accordion active" - label-name ='Step 1 ' + label-name =`${data.MakeRequest} 1 ` label-resources='' widget-name='cs-steps-header' @@ -171,7 +171,7 @@ container.block_list fields='name' class="accordion" - label-name ='Step 2 ' + label-name =`${data.MakeRequest} 2 ` label-resources='' widget-name='cs-steps-header' @@ -225,7 +225,7 @@ container.block_list fields='name' class="accordion" - label-name ='Step 3 ' + label-name =`${data.MakeRequest} 3 ` label-resources='' widget-name='cs-steps-header' @@ -279,7 +279,7 @@ container.block_list fields='name' class="accordion" - label-name ='Step 4 ' + label-name =`${data.MakeRequest} 4 ` label-resources='' widget-name='cs-steps-header' @@ -335,7 +335,7 @@ container.block_list fields='name' class="accordion" - label-name ='Step 5 ' + label-name =`${data.MakeRequest} 5 ` label-resources='' widget-name='cs-steps-header' @@ -390,7 +390,7 @@ container.block_list fields='name' class="accordion" - label-name ='Step 6 ' + label-name =`${data.MakeRequest} 6 ` label-resources='' widget-name='cs-steps-header' diff --git a/src/includes/entrepreneur/resources/resource-report-broken-link-entrepreneur.pug b/src/includes/entrepreneur/resources/resource-report-broken-link-entrepreneur.pug index 28896924..4026a559 100644 --- a/src/includes/entrepreneur/resources/resource-report-broken-link-entrepreneur.pug +++ b/src/includes/entrepreneur/resources/resource-report-broken-link-entrepreneur.pug @@ -4,8 +4,8 @@ p i.fas.fa-times - h2.title_lead_avenir Thanks! - p The submitter of the resource will be advised that this link is broken. + h2.title_lead_avenir=`${data.Thanks}` + p=`${data.ConfirmSendBrokenLink}` sib-form#report-broken-link-entrepreneur( data-src=`${endpoints.brokenlinks}` fields = "resource, submitter" diff --git a/src/includes/mentor/browseDatabase.pug b/src/includes/mentor/browseDatabase.pug index 4b3d385e..56b50163 100644 --- a/src/includes/mentor/browseDatabase.pug +++ b/src/includes/mentor/browseDatabase.pug @@ -2,8 +2,8 @@ include ../components/widgets div.container_min - h2.title_lead.fd_bleu International index of resources for cooperative mentors and entrepreneurs - button.button_dark.pull-right Watch the presentation + h2.title_lead.fd_bleu=`${data.generalLabel}` + button.button_dark.pull-right= `${data.WatchThePresentation}` i.far.fa-play-circle div.block_list @@ -11,17 +11,17 @@ div.block_list div.resources__newresource sib-link(next='mentor-resource-create') div - div.button_base.ico_gauche.ico_plus Post a new Resource + div.button_base.ico_gauche.ico_plus= `${data.PostResource}` div.dashboard__database sib-link(next='mentor-resource-list') - div.button_base.ico_gauche.ico_database Back to dashboard + div.button_base.ico_gauche.ico_database= `${data.BackToDashboard}` container.block_list.flex.flex_espace div.w_75.block-g-entre div - h2.title_form Search for a resource + h2.title_form= `${data.SearchForResource}` div#resources-mentor-database-loader hidden i.fas.fa-spinner.fa-spin @@ -30,14 +30,14 @@ container.block_list.flex.flex_espace data-src=`${endpoints.resources}`, loader-id="resources-mentor-database-loader" fields='keyword(name_keyword)' - label-name_keyword="Search by name..." + label-name_keyword=`${data.SearchByNam}` widget-name_keyword="sib-form-placeholder-text" naked ) div.keyword_submit.button__actions - div.button_base.ico_gauche Search + div.button_base.ico_gauche=`${data.Search}` sib-form.instance_database_only( data-src=`${endpoints.resources}`, @@ -50,12 +50,12 @@ container.block_list.flex.flex_espace sib-form.more_criterias.flex.flex_espace( data-src=`${endpoints.resources}`, fields='header_criterias, format, publication_year, country, language, fields' - label-header_criterias='More criterias' - label-format='Format:' - label-publication_year='Year of publication' - label-country='Country of publication' - label-language='Language' - label-fields='Field' + label-header_criterias=`${data.MoreCriterias}` + label-format=`${data.Format}` + label-publication_year=`${data.DatePublication}` + label-country=`${data.CountryPublication}` + label-language=`${data.Language}` + label-fields=`${data.Field}` widget-header_criterias='cs-section_header' range-language=`${endpoints.languages}` @@ -108,7 +108,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion active" - label-name ='Step 1 ' + label-name =`${data.Step} 1`, label-resources='' widget-name='cs-steps-header' @@ -162,7 +162,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion" - label-name ='Step 2 ' + label-name =`${data.Step} 2`, label-resources='' widget-name='cs-steps-header' @@ -216,7 +216,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion" - label-name ='Step 3 ' + label-name =`${data.Step} 3`, label-resources='' widget-name='cs-steps-header' @@ -271,7 +271,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion" - label-name ='Step 4 ' + label-name =`${data.Step} 4`, label-resources='' widget-name='cs-steps-header' @@ -326,7 +326,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion" - label-name ='Step 5 ' + label-name =`${data.Step} 5`, label-resources='' widget-name='cs-steps-header' @@ -380,7 +380,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion" - label-name ='Step 6 ' + label-name =`${data.Step} 6`, label-resources='' widget-name='cs-steps-header' diff --git a/src/includes/mentor/components/header.pug b/src/includes/mentor/components/header.pug index 49ee5433..b4afb121 100644 --- a/src/includes/mentor/components/header.pug +++ b/src/includes/mentor/components/header.pug @@ -28,13 +28,13 @@ ul li sib-link(next='mentor-dashboard') - p Dashboard + p= data.Dashboard li sib-link(next='mentor-database') - p Resources database + p= data.ResourcesDatabase li sib-link(next='mentor-account') - p My account + p= data.MyAccount li a.logout-button - p Logout \ No newline at end of file + p= data.Logout \ No newline at end of file diff --git a/src/includes/mentor/components/menu.pug b/src/includes/mentor/components/menu.pug index fbf8d640..8aa5ce80 100644 --- a/src/includes/mentor/components/menu.pug +++ b/src/includes/mentor/components/menu.pug @@ -1,4 +1,4 @@ -sib-router(default-route='mentor-resource-list') +sib-router(default-route='mentor-resource-list' route-prefix=lang) sib-route(name='mentor-resource-list') sib-route(name='mentor-account', id-prefix=`${endpoints.users}`, use-id) sib-route(name='mentor-account-edit', id-prefix=`${endpoints.users}`, use-id) diff --git a/src/includes/mentor/dashboard.pug b/src/includes/mentor/dashboard.pug index d34b539a..470065c8 100644 --- a/src/includes/mentor/dashboard.pug +++ b/src/includes/mentor/dashboard.pug @@ -33,11 +33,11 @@ section#home include ./browseDatabase.pug #mentor-resource-create(hidden).no-sidebar.container - sib-link(class="backlink", next="mentor-resource-list") Back to the dashboard + sib-link(class="backlink", next="mentor-resource-list")=`${data.BackToDashboard}` include resources/create.pug #mentor-resource-edit(hidden).no-sidebar.container - sib-link(class="backlink", next="mentor-resource-list") Back to the dashboard + sib-link(class="backlink", next="mentor-resource-list")=`${data.BackToDashboard}` include resources/edit.pug #resource-creation-confirmation(hidden).no-sidebar.container diff --git a/src/includes/mentor/profile/confirmation.pug b/src/includes/mentor/profile/confirmation.pug index d6b54388..7e318508 100644 --- a/src/includes/mentor/profile/confirmation.pug +++ b/src/includes/mentor/profile/confirmation.pug @@ -1,9 +1,9 @@ div.container_min - h2.title_lead.fd_bleu Edit your account + h2.title_lead.fd_bleu= data.EditYourAccount -p.p_entete Your modifications have properly been saved. +p.p_entete= data.ModificationsProperlySaved div div.flex h3.button_base - sib-link(next='mentor-resource-list') -> Back to dashboard \ No newline at end of file + sib-link(next='mentor-resource-list')= data.BackToDashboard \ No newline at end of file diff --git a/src/includes/mentor/profile/create.pug b/src/includes/mentor/profile/create.pug index 677dd802..318cce1d 100644 --- a/src/includes/mentor/profile/create.pug +++ b/src/includes/mentor/profile/create.pug @@ -8,7 +8,7 @@ figure.logo.img_log img(src="../images/mentor.png" alt="Create a mentor account") -h2.title_create Complete your mentor account +h2.title_create= data.CompleteMentorAccount sib-form#mentor_profile_creation.block_log.block_creat_count( bind-user @@ -23,25 +23,25 @@ sib-form#mentor_profile_creation.block_log.block_creat_count( range-mentor_profile.languages=`${endpoints.languages}` range-mentor_profile.country=`${endpoints.countries}` - label-header_about_you="About you" - label-header_social_media="Social medias" + label-header_about_you=`${data.AboutYou}` + label-header_social_media=`${data.SocialMedias}` widget-header_social_media="cs-section_header" widget-header_about_you="cs-section_introduction" - label-first_name="Surname" - label-last_name="Name" - label-mentor_profile.organisation="Organisation" - label-mentor_profile.phone="Phone number" - label-mentor_profile.languages="Languages" - label-mentor_profile.fields="Fields" - label-account.picture="Photo" - label-mentor_profile.headline="Headline or current position" + label-first_name=`${data.Surname}` + label-last_name=`${data.Name}` + label-mentor_profile.organisation=`${data.Organisation}` + label-mentor_profile.phone=`${data.PhoneNumber}` + label-mentor_profile.languages=`${data.Language}` + label-mentor_profile.fields=`${data.Field}` + label-account.picture=`${data.Photo}` + label-mentor_profile.headline=`${data.Headline}` class-mentor_profile.headline="w_75" - label-mentor_profile.city="City" - label-mentor_profile.country="Country" - label-mentor_profile.biography="Tell us more about your activities" - label-mentor_profile.skills="What skills can you share with our entrepreneurs ?" + label-mentor_profile.city=`${data.City}` + label-mentor_profile.country=`${data.Country}` + label-mentor_profile.biography=`${data.ActivitiesMore}` + label-mentor_profile.skills=`${data.SkillForEntrepreneur}` label-mentor_profile.linkedin="Linkedin" label-mentor_profile.twitter="Twitter" @@ -66,6 +66,6 @@ sib-form#mentor_profile_creation.block_log.block_creat_count( class-account.picture='input_photo w_25' class-headline='w_75' - submit-button="COMPLETE YOUR ACCOUNT" + submit-button=`${data.CompleteYourAccount}` next='mentor-dashboard' ) diff --git a/src/includes/mentor/profile/detail.pug b/src/includes/mentor/profile/detail.pug index bdd0091f..14788928 100644 --- a/src/includes/mentor/profile/detail.pug +++ b/src/includes/mentor/profile/detail.pug @@ -1,27 +1,27 @@ include ../../components/widgets div.container_min - h2.title_lead.fd_bleu My Account + h2.title_lead.fd_bleu=`${data.MyAccount}` div.block_list.flex div.button__actions.w_25 div.resources__newresource sib-link(next='mentor-resource-create') div - div.button_base.ico_gauche.ico_plus Post a new Resource + div.button_base.ico_gauche.ico_plus=`${data.PostResource}` div.dashboard__database sib-link(next='mentor-database') - div.button_base.ico_gauche.ico_database Browse database + div.button_base.ico_gauche.ico_database=`${data.BrowseDatabase}` div.dashboard__database sib-link(next='mentor-resource-list') - div.button_base.ico_gauche.ico_search Back to dashboard + div.button_base.ico_gauche.ico_search=`${data.BackToDashboard}` div.dashboard__database div.logout-button.button_base( role='log out' - ) Logout + )=`${data.Logout}` div.profile_information.block_log.w_75 sib-link(next='mentor-account-edit') @@ -41,7 +41,7 @@ div.block_list.flex sib-display.bold( fields="" nested-field="resources" - counter-template="<p>${counter} resource(s) uploaded here</p>" + counter-template=`<p>${counter} ${data.resourcesUploadedHere}</p>` bind-user ) @@ -50,8 +50,8 @@ div.block_list.flex fields='biography_label, mentor_profile.biography, skills_label, mentor_profile.skills' widget-biography_label='cs-display-label' widget-skills_label='cs-display-label' - label-skills_label='Skills:' - label-biography_label='Activities:' + label-skills_label=`${data.Skills}` + label-biography_label=`${data.Activities}` widget-mentor_profile.skills='cs-display-property' widget-mentor_profile.biography='cs-display-property' ) @@ -59,9 +59,9 @@ div.block_list.flex sib-display#mentor_contact( bind-user fields='email, mentor_profile.phone, mentor_profile.linkedin, mentor_profile.twitter' - label-email='Email:' + label-email=`${data.Email}` class-email="contact_profil" - label-mentor_profile.phone='Phone number:' + label-mentor_profile.phone=`${data.PhoneNumber}` class-mentor_profile.phone="contact_profil" widget-email='cs-display-resource-property' widget-mentor_profile.phone='cs-display-resource-property' diff --git a/src/includes/mentor/profile/edit.pug b/src/includes/mentor/profile/edit.pug index 198a850a..71402553 100644 --- a/src/includes/mentor/profile/edit.pug +++ b/src/includes/mentor/profile/edit.pug @@ -1,6 +1,6 @@ include ../../components/widgets -h2.title_create Edit your account +h2.title_create= data.EditYourAccount sib-form#mentor_profile_edition.block_log.block_creat_count( bind-user @@ -14,25 +14,25 @@ sib-form#mentor_profile_edition.block_log.block_creat_count( range-mentor_profile.organisation=`${endpoints.organisations}` range-mentor_profile.languages=`${endpoints.languages}` - label-header_about_you="About you" - label-header_social_media="Social medias" + label-header_about_you=`${data.AboutYou}` + label-header_social_media=`${data.AboutYou}` widget-header_social_media="cs-section_header" widget-header_about_you="cs-section_introduction" - label-first_name="Surname" - label-last_name="Name" - label-mentor_profile.organisation="Organisation" - label-mentor_profile.phone="Phone number" - label-mentor_profile.languages="Languages" - label-mentor_profile.fields="Fields" - label-account.picture="Photo" - label-mentor_profile.headline="Headline or current position" + label-first_name=`${data.Surname}` + label-last_name=`${data.Name}` + label-mentor_profile.organisation=`${data.Organisation}` + label-mentor_profile.phone=`${data.PhoneNumber}` + label-mentor_profile.languages=`${data.Language}` + label-mentor_profile.fields=`${data.Field}` + label-account.picture=`${data.Photo}` + label-mentor_profile.headline=`${data.Headline}` class-mentor_profile.headline="w_75" - label-mentor_profile.city="City" - label-mentor_profile.country="Country" - label-mentor_profile.biography="Tell us more about your activities" - label-mentor_profile.skills="What skills can you share with our entrepreneurs ?" + label-mentor_profile.city=`${data.City}` + label-mentor_profile.country=`${data.Country}` + label-mentor_profile.biography=`${data.ActivitiesMore}` + label-mentor_profile.skills=`${data.SkillForEntrepreneur}` label-mentor_profile.linkedin="Linkedin" label-mentor_profile.twitter="Twitter" @@ -57,9 +57,9 @@ sib-form#mentor_profile_edition.block_log.block_creat_count( class-account.picture='input_photo w_25' class-headline='w_75' - submit-button="Save modifications" + submit-button=`${data.SaveModification}` next="mentor-account-edit-confirmation" ) -sib-link(class="backlink", next="mentor-account") Back to my account -sib-link(class="backlink", next="mentor-resource-list") Back to the dashboard +sib-link(class="backlink", next="mentor-account")= data.BackToMyAccount +sib-link(class="backlink", next="mentor-resource-list")= data.BackToDashboard diff --git a/src/index.pug b/src/index.pug index 20604cd6..fa56f892 100644 --- a/src/index.pug +++ b/src/index.pug @@ -2,7 +2,7 @@ doctype html html include includes/head.pug - sib-router(default-route='splash') + sib-router(default-route='splash' route-prefix=lang) sib-route(name='splash') sib-route(name='account-creation') sib-route(name='mentor-dashboard') @@ -56,7 +56,7 @@ script(type='module'). ); } user = await store.get(user); - + if (user && user.mentor_profile) { window.dispatchEvent( new CustomEvent('requestNavigation', { detail: { route: 'mentor-dashboard' } }) diff --git a/translation/en.yml b/translation/en.yml index 9e8e911a..5da96e01 100644 --- a/translation/en.yml +++ b/translation/en.yml @@ -1,5 +1,77 @@ --- title: My amazing website -welcome: Hi! welcome to our website -contact: click here to contact us -email: contact@example.com \ No newline at end of file +Dashboard : Dashboard +ResourcesDatabase : Resources database +MyAccount : My account +Logout : Logout +BackToDashboard : -> Back to dashboard +BackToMyAccount : Back to my account +welcome : Welcome to our international index of resources for cooperative mentors and entrepreneurs +generalLabel : International index of resources for cooperative mentors and entrepreneurs +PostResource: Post a new Resource +BrowseDatabase: Browse database +ResourcesRequestingValidation: Resources requesting validation +RequestedResources: Requested resources +HistoryResources : History of your resources +ConnectKnowledgeBase : Connect to the knowledge base +AccessWithoutRegistration : Access without registration +SearchByNam : Search by name.. +MoreCriterias : More criterias +Language : Language +CountryPublication : Country of publication +Photo: Avatar +Field : Field +Refused : Refused +DatePublication : Date of publication +Format: Format +Step: Step +ResourcePostedBy : Resource posted by +WithResourceAbleTo : With this resource, you will be able to +LinkToResource : Link to resource +ReportBrokenLink : Report broken link +ResourceValidatedBy : Resource validated by +ResourceSpecifications : Resource specifications +Author : Author +Access : Access +Comments : Comments +RelatedResources : Related resources +resourcesUploadedHere : resource(s) uploaded here +Activities : Activities +Skills : Skills +PhoneNumber : Phone number +Email: Email +EditYourAccount : Edit your account +Name : Name +Surname : Surname +AboutYou : About you +Organisation: Organisation +EditAbout : Informations will appear on your profile to inform entrepreneurs about your skills and activities. We will also use those information to address specific resources for validation. +Headline : Headline or current position +City : City +Country : Country +ActivitiesMore : Tell us more about your activities +SkillForEntrepreneur : What skills can you share with our entrepreneurs ? +SocialMedias : Social medias +SaveModification : Save modifications +Search : Search +ModificationsProperlySaved: Your modifications have properly been saved. +CompleteMentorAccount : Complete your mentor account +CompleteEntrepreneurAccount : Complete your entrepreneur account +CompleteYourAccount : COMPLETE YOUR ACCOUNT +RequestRessource : Request a ressource +RequestRessourceInfo : You can't find a resource you are looking for ? You need resources to acquire certain skills or progress in your cooperative developement ? It can be a book, a document model, a tutorial, anything you need, make a request to our mentors so they know how to help you. +TitleRequired : Title* +Description : Description +FieldRequired: Field* +SkillToLearn : What do you need to learn with this resource ? +SendRequest : Send request +MandatoryInformation : Mandatory information +ComplementaryInformation : Complementary information +WithThisResourceBeAbleTo : With this resource, you will be able to +WatchThePresentation : Watch the presentation +SearchForResource : Search for a resource +CantFindRessourceYouNeed : Can't find the ressource you need ? +MakeRequest: Make a request +Thanks : Thanks! +ConfirmSendBrokenLink : The submitter of the resource will be advised that this link is broken. +YouRequestHasBeenSubmitted : Your request has been submitted \ No newline at end of file diff --git a/translation/fr.yml b/translation/fr.yml index eb31599a..f0da9672 100644 --- a/translation/fr.yml +++ b/translation/fr.yml @@ -1,4 +1,70 @@ --- -title: Mon superbe site -welcome: Bonjour ! bienvenu sur notre site -contact: cliquez ici pour nous contacter \ No newline at end of file +title: mon super sit +Dashboard : Tableau de board +ResourcesDatabase : Base de donnée de ressource +MyAccount : Mon compte +Logout : Déconnexion +BackToDashboard : Retour au tableau de bord +BackToMyAccount : Retour à mon compte +welcome : Bienvenue dans notre répertoire international de ressources pour les mentors et les entrepreneurs coopératifs. +generalLabel : Index international de ressources pour les mentors et les entrepreneurs coopératifs +PostResource: Poster une nouvelle ressource +BrowseDatabase: Rechercher dans la base de donnée +ResourcesRequestingValidation: Ressources demandant une validation +RequestedResources: Ressources demandées +HistoryResources : Historique de vos ressources +ConnectKnowledgeBase : Connexion à la base de connaissances +AccessWithoutRegistration : Accès sans inscription +SearchByNam : Rechercher par nom +MoreCriterias : PLus de critère +Language : Langue +CountryPublication : Pays de publication +Photo: Avatar +Field : Domaine +Refused : Refusé +DatePublication : Date de publication +Format: Format +Step: Étape +ResourcePostedBy : Ressource posté par +WithResourceAbleTo : Avec cette ressource vous serez capable de +LinkToResource : Lien vers la ressource +ReportBrokenLink : Signaler un lien brisé +ResourceValidatedBy : Ressource validée par +ResourceSpecifications : Spécification de la ressource +Author : Auteur +Access : Accés +Comments : Commentaires +RelatedResources : Ressources connexes +resourcesUploadedHere : ressource(s) téléchargé ici +Activities : Activités +Skills : Compétences +PhoneNumber : Numéro de téléphone +Email: Email +EditYourAccount : Modifier votre compte +Name : Nom +Surname : Nom de famille +AboutYou : A propos de vous +Organisation: Organisation +EditAbout : Des informations apparaîtront sur votre profil pour informer les entrepreneurs de vos compétences et de vos activités. Nous utiliserons également ces informations pour adresser des ressources spécifiques pour la validation. +Headline : Titre ou position actuelle +City : Ville +Country : Pays +ActivitiesMore : Parlez-nous de vos activités +SkillForEntrepreneur : Quelles compétences pouvez-vous partager avec nos entrepreneurs ? +SocialMedias : Médias sociaux +SaveModification : Enregistrer les modifications +Search : Rechercher +ModificationsProperlySaved: Vos modifications ont bien été enregistrées. +CompleteMentorAccount : Completer votre compte mentor +CompleteEntrepreneurAccount : Completer votre compte entrepreneur +CompleteYourAccount : Completer votre compte +RequestRessource : Demander une ressource +RequestRessourceInfo : Vous ne trouvez pas la ressource que vous recherchez ? Vous avez besoin de ressources pour acquérir certaines compétences ou progresser dans votre développement coopératif ? Il peut s'agir d'un livre, d'un modèle de document, d'un tutoriel, de tout ce dont vous avez besoin, faites une demande à nos mentors pour qu'ils sachent comment vous aider. +Title* : Title* +Description : Description +Field*: Domaine* +SkillToLearn : Que devez-vous apprendre avec cette ressource ? +SendRequest : Envoyer la demande +MandatoryInformation : Informations obligatoires +ComplementaryInformation : Informations complémentaires +WithThisResourceBeAbleTo : Grâce à cette ressource, vous serez en mesure de -- GitLab From 70c47106e3ac7a0a74666f9a22f8b030636d3aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= <cpartiot@gmail.com> Date: Thu, 7 Nov 2019 13:58:11 +0100 Subject: [PATCH 08/13] update: auto select language --- .gitignore | 3 ++- www/index.html | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 www/index.html diff --git a/.gitignore b/.gitignore index cce175b3..9409f83e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ /dist/lib/ /dist/oidc-client-config.json *.iml -/www/ +/www/* +!/www/index.html package-lock.json diff --git a/www/index.html b/www/index.html new file mode 100644 index 00000000..7dc3c555 --- /dev/null +++ b/www/index.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta http-equiv="X-UA-Compatible" content="ie=edge" /> + </head> + <body> + <script> + const langs = ['fr', 'en']; + const defLang = 'en'; + const userLangs = (navigator.languages || [navigator.language]).map( + a => a.split('-')[0], + ); + const selectedLang = userLangs.find(lang => langs.indexOf(lang) !== -1); + document.location.replace(selectedLang); + </script> + </body> +</html> -- GitLab From fed6cc960397b0e4fccd32b49aaf3ead9657a758 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= <cpartiot@gmail.com> Date: Thu, 7 Nov 2019 14:29:31 +0100 Subject: [PATCH 09/13] bugfix: use defLang --- www/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/www/index.html b/www/index.html index 7dc3c555..d2e25159 100644 --- a/www/index.html +++ b/www/index.html @@ -10,8 +10,9 @@ const langs = ['fr', 'en']; const defLang = 'en'; const userLangs = (navigator.languages || [navigator.language]).map( - a => a.split('-')[0], + a => a.split('-').shift(), ); + userLangs.push(defLang); const selectedLang = userLangs.find(lang => langs.indexOf(lang) !== -1); document.location.replace(selectedLang); </script> -- GitLab From 9eb8d169a507b49f1df3f22ccdecf9d07c80e91b Mon Sep 17 00:00:00 2001 From: Alice <alice.poggioli@hotmail.fr> Date: Thu, 7 Nov 2019 16:40:40 +0100 Subject: [PATCH 10/13] Finalize translation. --- compile-pug.js | 8 +++ src/includes/account-creation.pug | 6 +- src/includes/entrepreneur/resources/list.pug | 13 +++-- .../resources/confirmation-deletion.pug | 6 +- .../resources/confirmation-status-change.pug | 4 +- .../mentor/resources/confirmation.pug | 10 ++-- src/includes/mentor/resources/create.pug | 54 +++++++++--------- src/includes/mentor/resources/detail.pug | 33 +++++------ src/includes/mentor/resources/edit.pug | 54 +++++++++--------- src/includes/mentor/resources/list.pug | 30 +++++----- .../resource-report-broken-link-mentor.pug | 4 +- src/includes/mentor/resources/validate.pug | 55 ++++++++++--------- src/includes/mentor/validation-process.pug | 12 ++-- src/includes/public/resources/detail.pug | 30 +++++----- src/includes/public/resources/list.pug | 34 ++++++------ .../resource-report-broken-link-public.pug | 4 +- src/includes/splash.pug | 6 +- translation/en.yml | 42 +++++++++++++- translation/fr.yml | 40 ++++++++++++++ www/index.html | 5 ++ 20 files changed, 273 insertions(+), 177 deletions(-) diff --git a/compile-pug.js b/compile-pug.js index 46671768..4589b01d 100644 --- a/compile-pug.js +++ b/compile-pug.js @@ -5,19 +5,25 @@ const yaml = require('js-yaml') const pug = require('pug') const chokidar = require('chokidar') +//Set default language const default_lang = 'en' const pugFile = './src/index.pug' + +//Set the translation directory const dataDir = './translation' const outDir = './www' +//Compile custom function async function compile() { + //Retrieve langues proposed const langs = (await fs.readdir(dataDir)) .filter(f => path.extname(f) === '.yml') .map(f => path.basename(f, '.yml')) const langData = {} + //Retrieve traduction await Promise.all( langs.map(lang => fs @@ -40,6 +46,7 @@ async function compile() { await fs.mkdir(outDir, { recursive: true }) + //Creation of folders by language with their index.html dans wwww await Promise.all( Object.entries(langData).map(async([lang, data]) => { const opt = Object.assign({}, options, { lang, data }); @@ -53,6 +60,7 @@ async function compile() { ) } +// Compile with --watch option compile().then(() => { if (!process.argv.includes('-w') && !process.argv.includes('--watch')) return console.log('watching for changes…') diff --git a/src/includes/account-creation.pug b/src/includes/account-creation.pug index a268f923..583340fe 100644 --- a/src/includes/account-creation.pug +++ b/src/includes/account-creation.pug @@ -7,21 +7,21 @@ sib-router(default-route='account-creation-index') figure(class="logo") img(src="../images/logo.png" alt="Coopstarter logo") - h2.title_lead Welcome to our international index of resources for cooperative mentors and entrepreneurs + h2.title_lead=`${data.welcome}` sib-link.block_log(next='mentor-new-account') div figure.img_log img(src="../images/mentor.png" alt="Create your account as mentor") - h2.button_base I am a mentor + h2.button_base=`${data.IAmMentor}` sib-link.block_log(next='entrepreneur-new-account') div figure.img_log img(src="../images/fusee.png" alt="Create your account as entrepreneur") - h2.button_base I am an entrepreneur + h2.button_base=`${data.IAmEntrepreneur}` #mentor-new-account(hidden).no-sidebar.container include mentor/profile/create.pug diff --git a/src/includes/entrepreneur/resources/list.pug b/src/includes/entrepreneur/resources/list.pug index 3e846b1e..b666e00b 100644 --- a/src/includes/entrepreneur/resources/list.pug +++ b/src/includes/entrepreneur/resources/list.pug @@ -115,7 +115,7 @@ container.block_list fields='name' class="accordion active" - label-name =`${data.MakeRequest} 1 ` + label-name =`${data.Step} 1 ` label-resources='' widget-name='cs-steps-header' @@ -171,7 +171,7 @@ container.block_list fields='name' class="accordion" - label-name =`${data.MakeRequest} 2 ` + label-name =`${data.Step} 2 ` label-resources='' widget-name='cs-steps-header' @@ -225,7 +225,7 @@ container.block_list fields='name' class="accordion" - label-name =`${data.MakeRequest} 3 ` + label-name =`${data.Step} 3 ` label-resources='' widget-name='cs-steps-header' @@ -279,7 +279,7 @@ container.block_list fields='name' class="accordion" - label-name =`${data.MakeRequest} 4 ` + label-name =`${data.Step} 4 ` label-resources='' widget-name='cs-steps-header' @@ -335,7 +335,7 @@ container.block_list fields='name' class="accordion" - label-name =`${data.MakeRequest} 5 ` + label-name =`${data.Step} 5 ` label-resources='' widget-name='cs-steps-header' @@ -390,7 +390,7 @@ container.block_list fields='name' class="accordion" - label-name =`${data.MakeRequest} 6 ` + label-name =`${data.Step} 6 ` label-resources='' widget-name='cs-steps-header' @@ -438,3 +438,4 @@ container.block_list paginate-by="5" ) + diff --git a/src/includes/mentor/resources/confirmation-deletion.pug b/src/includes/mentor/resources/confirmation-deletion.pug index 93cfb47c..17d7e94a 100644 --- a/src/includes/mentor/resources/confirmation-deletion.pug +++ b/src/includes/mentor/resources/confirmation-deletion.pug @@ -4,9 +4,9 @@ p i.fas.fa-times - h2.title_lead_avenir Delete a resource - p Are you sure you want to delete this resource ? + h2.title_lead_avenir=`${data.DeleteResource}` + p=`${data.AreYouSureDelete}` sib-delete( - data-label="Yes I am sure, delete " + data-label=`${data.YesSureDelete}` bind-resources ) diff --git a/src/includes/mentor/resources/confirmation-status-change.pug b/src/includes/mentor/resources/confirmation-status-change.pug index b4c9ebf0..27d35a14 100644 --- a/src/includes/mentor/resources/confirmation-status-change.pug +++ b/src/includes/mentor/resources/confirmation-status-change.pug @@ -6,13 +6,13 @@ include ../../components/widgets p i.fas.fa-times - h2.title_lead_avenir Are you sur you want to archive this request ? + h2.title_lead_avenir=`${data.AreYouSurArchive}` sib-form#change_status_request( bind-resources fields='button(status, name, description, skills, reviewer)' value-status = "validated" widget-button = "hidden-widget" - submit-button = "Archive this request" + submit-button =`${data.ArchivethisRequest}` next="mentor-resource-list" ) diff --git a/src/includes/mentor/resources/confirmation.pug b/src/includes/mentor/resources/confirmation.pug index 5c2c310e..e0b347a3 100644 --- a/src/includes/mentor/resources/confirmation.pug +++ b/src/includes/mentor/resources/confirmation.pug @@ -1,5 +1,5 @@ div.container_min - h2.title_lead.fd_bleu International index of resources for cooperative mentors and entrepreneurs + h2.title_lead.fd_bleu=`${data.generalLabel}` sib-router sib-route(name='resource-validation-process-confirmation') @@ -8,11 +8,11 @@ dialog#resource-validation-process-confirmation.no-sidebar include ../validation-process.pug div.block_list - h2.title_lead_avenir Post a resource + h2.title_lead_avenir=`${data.PostResource}` - p.p_entete Thank you for enriching our database ! + p.p_entete=`${data.ThankYouEnrichingDatabase}` - p.p_entete Once one of your pair, a fellow mentor, validate your resource, it will be published online and we will send you a notification. + p.p_entete=`${data.ThanksMsg}` div p.flex @@ -20,4 +20,4 @@ div.block_list div.flex h3.button_base - sib-link(next='mentor-resource-list') -> Back to dashboard \ No newline at end of file + sib-link(next='mentor-resource-list')=`${data.BackToDashboard}` \ No newline at end of file diff --git a/src/includes/mentor/resources/create.pug b/src/includes/mentor/resources/create.pug index b45c0ea5..ba098a3c 100644 --- a/src/includes/mentor/resources/create.pug +++ b/src/includes/mentor/resources/create.pug @@ -1,8 +1,8 @@ include ../../components/widgets -h2.title_lead_avenir Post a resource +h2.title_lead_avenir=`${data.PostResource}` -p.p_entete Thank you for enriching our database ! +p.p_entete=`${data.ThankYouEnrichingDatabase}` .block_log.block_creat_count sib-form#resource-creation-form( @@ -27,33 +27,33 @@ p.p_entete Thank you for enriching our database ! range-related=`${endpoints.resources}` range-country=`${endpoints.countries}` - label-header_mandatory='Mandatory information' - label-header_complementary='Complementary information' - label-header_classification='Classification' - label-header_access='Access' - label-header_related='Related resources' - - label-name='Title*' - label-country='Country*' - label-language='Language*' - label-uri='Location/weblink*' - label-format='Format*' - label-fields='Field*' - label-author='Resource author*' - label-publication_year='Year of publication*' - label-skills='Learning outcomes, skills*' - label-description='Description' - label-iframe_link='For videos, report iframe link' - label-preview_image='Upload preview image' - label-tags='Add tags' + label-header_mandatory=`${data.MandatoryInformation}` + label-header_complementary=`${data.ComplementaryInformation}` + label-header_classification=`${data.Classification}` + label-header_access=`${data.Access}` + label-header_related=`${data.RelatedResources}` + + label-name=`${data.TitleRequired}` + label-country=`${data.Country}` + label-language=`${data.Language}` + label-uri=`${data.LocationWeblinkReq}` + label-format=`${data.FormatReq}` + label-fields=`${data.FieldRequired}` + label-author=`${data.AuthorReq}` + label-publication_year=`${data.DatePublication}` + label-skills=`${data.SkillReq}` + label-description=`${data.Description}` + label-iframe_link=`${data.IframeLink}` + label-preview_image=`${data.UploadPreviewImage}` + label-tags=`${data.AddTags}` - label-target='Resource target*' - label-type='Type of content*' - label-steps='Categorisation*' + label-target=`${data.ResourceTargetReq}` + label-type=`${data.TypeContentReq}` + label-steps=`${data.CategorisationReq}` - label-sharing='Share with*' + label-sharing=`${data.ShareWithReq}` - label-related='Add a resource' + label-related=`${data.AddResource}` multiple-fields='sib-multiple-select' widget-fields='sib-form-auto-completion' @@ -81,6 +81,6 @@ p.p_entete Thank you for enriching our database ! widget-preview_image='cs-form-file-custom' class-preview_image='input_photo w_25' - submit-button='Send for validation ->' + submit-button=`${data.SendForValidation}` next="resource-creation-confirmation" ) \ No newline at end of file diff --git a/src/includes/mentor/resources/detail.pug b/src/includes/mentor/resources/detail.pug index cf20f6a7..b978db2a 100644 --- a/src/includes/mentor/resources/detail.pug +++ b/src/includes/mentor/resources/detail.pug @@ -7,7 +7,8 @@ include ../../components/widgets i.fas.fa-times div#detail-mentor-loader - hidden Loading the resource, please wait... + hidden + i.fas.fa-spinner.fa-spin sib-display#detail-mentor( loader-id="detail-mentor-loader" @@ -47,30 +48,30 @@ include ../../components/widgets class-review.reviewer.name="validator_ressource" widget-header_specifications='cs-section_header' - label-broken='Report broken link' - label-sharing='Access:' - label-language.name='Language:' - label-publication_year='Year of publication:' - label-header_specifications='Resource specifications' + label-broken=`${data.ReportBrokenLink}` + label-sharing=`${data.Access}` + label-language.name=`${data.Language}` + label-publication_year=`${data.DatePublication}` + label-header_specifications=`${data.ResourceSpecifications}` label-format.name='' widget-steps='cs-display-step-property' label-steps='' - each-label-steps="Step" + each-label-steps=`${data.Step}` multiple-steps widget-fields='cs-display-multiple-property' label-fields='' - each-label-fields='Field:' + each-label-fields=`${data.Field}` multiple-fields - label-skills='With this resource, you will be able to:' - label-uri='Link to resource' + label-skills=`${data.WithThisResourceBeAbleTo}` + label-uri=`${data.LinkToResource}` name-uri='original-link' - label-country='Country:' - label-submitter.mentor_profile.organisation.name='Organisation:' - label-author='Author :' - label-submitter.name='Resource posted by:' + label-country=`${data.Country}` + label-submitter.mentor_profile.organisation.name=`${data.Organisation}` + label-author=`${data.Author}` + label-submitter.name=`${data.ResourcePostedBy}` action-broken='resource-report-broken-link-mentor' ) @@ -98,7 +99,7 @@ include ../../components/widgets bind-resources fields="" nested-field="conversations" - counter-template="<p>Comments (${counter})</p>" + counter-template=`<p>${data.Comments} (${counter})</p>` ) sib-conversation( @@ -106,7 +107,7 @@ include ../../components/widgets id-suffix="conversations" ) - h2.title_lead_avenir Related resources + h2.title_lead_avenir=`${data.RelatedResources}` sib-display( bind-resources, diff --git a/src/includes/mentor/resources/edit.pug b/src/includes/mentor/resources/edit.pug index 70fb42a7..739e6cd3 100644 --- a/src/includes/mentor/resources/edit.pug +++ b/src/includes/mentor/resources/edit.pug @@ -1,8 +1,8 @@ include ../../components/widgets -h2.title_lead_avenir Edit this resource +h2.title_lead_avenir=`${data.EditResource}` -p.p_entete Thank you for enriching our database ! +p.p_entete=`${data.ThankYouEnrichingDatabase}` .block_log.block_creat_count sib-form( @@ -27,33 +27,33 @@ p.p_entete Thank you for enriching our database ! range-related=`${endpoints.resources}` range-country=`${endpoints.countries}` - label-header_mandatory='Mandatory information' - label-header_complementary='Complementary information' - label-header_classification='Classification' - label-header_access='Access' - label-header_related='Related resources' - - label-name='Title*' - label-country='Country*' - label-language='Language*' - label-uri='Location/weblink*' - label-format='Format*' - label-field='Field*' - label-author='Resource author*' - label-publication_year='Year of publication*' - label-skills='Learning outcomes, skills*' - label-description='Description' - label-iframe_link='For videos, report iframe link' - label-preview_image='Upload preview image' - label-tags='Add tags' + label-header_mandatory=`${data.MandatoryInformation}` + label-header_complementary=`${data.ComplementaryInformation}` + label-header_classification=`${data.Classification}` + label-header_access=`${data.Access}` + label-header_related=`${data.RelatedResources}` + + label-name=`${data.TitleRequired}` + label-country=`${data.Country}` + label-language=`${data.Language}` + label-uri=`${data.LocationWeblinkReq}` + label-format=`${data.FormatReq}` + label-fields=`${data.FieldRequired}` + label-author=`${data.AuthorReq}` + label-publication_year=`${data.DatePublication}` + label-skills=`${data.SkillReq}` + label-description=`${data.Description}` + label-iframe_link=`${data.IframeLink}` + label-preview_image=`${data.UploadPreviewImage}` + label-tags=`${data.AddTags}` - label-target='Resource target*' - label-type='Type of content*' - label-steps='Categorisation*' + label-target=`${data.ResourceTargetReq}` + label-type=`${data.TypeContentReq}` + label-steps=`${data.CategorisationReq}` - label-sharing='Share with*' + label-sharing=`${data.ShareWithReq}` - label-related='Add a resource' + label-related=`${data.AddResource}` widget-country='sib-form-auto-completion' @@ -82,6 +82,6 @@ p.p_entete Thank you for enriching our database ! widget-preview_image='cs-form-file-custom' class-preview_image='input_photo w_25' - submit-button='Send for validation ->' + submit-button=`${data.SendForValidation}` next="resource-creation-confirmation" ) \ No newline at end of file diff --git a/src/includes/mentor/resources/list.pug b/src/includes/mentor/resources/list.pug index 72cea6cd..82fa17f3 100644 --- a/src/includes/mentor/resources/list.pug +++ b/src/includes/mentor/resources/list.pug @@ -15,8 +15,8 @@ dialog#confirm_status_change.no-sidebar include ./confirmation-status-change div.container_min - h2.title_lead.fd_bleu International index of resources for cooperative mentors and entrepreneurs - button.button_dark.pull-right Watch the presentation + h2.title_lead.fd_bleu=`${data.generalLabel}` + button.button_dark.pull-right=`${data.WatchThePresentation}` i.far.fa-play-circle div.block_list @@ -24,19 +24,19 @@ div.block_list div.resources__newresource sib-link(next='mentor-resource-create') div - div.button_base.ico_gauche.ico_plus Post a new Resource + div.button_base.ico_gauche.ico_plus=`${data.PostResource}` div.dashboard__database sib-link(next='mentor-database') - div.button_base.ico_gauche.ico_database Browse database + div.button_base.ico_gauche.ico_database=`${data.BrowseDatabase}` div.tabs div(class='tablink', onclick="openTab('reviews', this)") - h2 Resources requesting validation + h2=`${data.ResourcesRequestingValidation}` div(class='tablink', onclick="openTab('requests', this)") - h2 Requested resources + h2=`${data.RequestedResources}` div(class='tablink', onclick="openTab('history', this)", id='defaultOpen') - h2 History of your resources + h2=`${data.HistoryResources}` div.block_log.block_list @@ -109,7 +109,7 @@ div.block_list search-range-fields=`${endpoints.fields}` search-range-country=`${endpoints.countries}` - search-label-search_for_a_resource="Search by name..." + search-label-search_for_a_resource=`${data.SearchByNam}` search-widget-search_for_a_resource="sib-form-placeholder-text" widget-search_for_a_resource="hidden-widget" @@ -127,22 +127,22 @@ div.block_list search-widget-header_criterias="cs-section_header" search-label-header_criterias="More criterias" - search-label-format='Format' - search-label-publication_year='Year of publication' - search-label-country='Country of publication' - search-label-language='Language' - search-label-fields='Field' + search-label-format=`${data.Format}` + search-label-publication_year=`${data.DatePublication}` + search-label-country=`${data.CountryPublication}` + search-label-language=`${data.Language}` + search-label-fields=`${data.Field}` class-name="tit_element_list" widget-format.name='cs-display-resource-property' - label-format.name='Format:' + label-format.name=`${data.Format}` class-format.name="contenu_list" class-publication_year="contenu_list" widget-publication_year='cs-display-resource-property' - label-publication_year='Date of publication:' + label-publication_year=`${data.DatePublication}` class-content='content__left' class-actions='actions__right' diff --git a/src/includes/mentor/resources/resource-report-broken-link-mentor.pug b/src/includes/mentor/resources/resource-report-broken-link-mentor.pug index b2f1207b..b41423b9 100644 --- a/src/includes/mentor/resources/resource-report-broken-link-mentor.pug +++ b/src/includes/mentor/resources/resource-report-broken-link-mentor.pug @@ -4,8 +4,8 @@ p i.fas.fa-times - h2.title_lead_avenir Thanks! - p The submitter of the resource will be advised that this link is broken. + h2.title_lead_avenir=`${data.Thanks}` + p=`${data.ConfirmSendBrokenLink}` sib-form#report-broken-link-mentor( data-src=`${endpoints.brokenlinks}` fields = "resource, submitter" diff --git a/src/includes/mentor/resources/validate.pug b/src/includes/mentor/resources/validate.pug index 3b1fee99..ce160a32 100644 --- a/src/includes/mentor/resources/validate.pug +++ b/src/includes/mentor/resources/validate.pug @@ -12,7 +12,8 @@ sib-router i.fas.fa-times div#detail-validation-loader - hidden Loading the resource, please wait... + hidden + i.fas.fa-spinner.fa-spin sib-display( loader-id="detail-validation-loader" @@ -48,30 +49,30 @@ sib-router widget-preview_image='cs-preview-picture' widget-header_specifications='cs-section_header' - label-broken='Report broken link' - label-sharing='Access:' - label-language.name='Language:' - label-publication_year='Year of publication:' - label-header_specifications='Resource specifications' + label-broken=`${data.ReportBrokenLink}` + label-sharing=`${data.Access}` + label-language.name=`${data.Language}` + label-publication_year=`${data.DatePublication}` + label-header_specifications=`${data.ResourceSpecifications}` label-format.name='' widget-steps='cs-display-step-property' label-steps='' - each-label-steps="Step" + each-label-steps=`${data.Step}` multiple-steps widget-fields='cs-display-multiple-property' label-fields='' - each-label-fields='Field:' + each-label-fields=`${data.Field}` multiple-fields - label-skills='With this resource, you will be able to:' - label-uri='Link to resource' + label-skills=`${data.WithResourceAbleTo}` + label-uri=`${data.LinkToResource}` name-uri='original-link' - label-country.name='Country:' - label-submitter.mentor_profile.organisation.name='Organisation:' - label-author='Author :' - label-submitter.name='Resource posted by:' + label-country.name=`${data.Country}` + label-submitter.mentor_profile.organisation.name=`${data.Organisation}` + label-author=`${data.Author}` + label-submitter.name=`${data.ResourcePostedBy}` action-broken='resource-report-broken-link-mentor' ) @@ -81,7 +82,7 @@ sib-router fields='improve' widget-improve='sib-action' - label-improve='Require improvement' + label-improve=`${data.RequireImprovement}` action-improve='improvement-dialog' class-improve='button_base' ) @@ -92,7 +93,7 @@ sib-router fields='refuse' widget-refuse='sib-action' - label-refuse='Report as inappropriate' + label-refuse=`${data.ReportInappropriate}` action-refuse='refusal-dialog' class-refuse='button_base' ) @@ -104,45 +105,45 @@ sib-router widget-reviewer='sib-form-hidden' widget-status='sib-form-hidden' value-status='validated' - submit-button='Validate' + submit-button=`${data.Validate}` next='review-submission-confirmation' ) dialog#refusal-dialog - h2.title_lead Report as inappropriate + h2.title_lead=`${data.ReportInappropriate}` sib-form#refusal-dialog-form( bind-resources nested-field='review' fields='comment, status, reviewer', - label-comment='Explain reasons of refusal*' + label-comment=`${data.ExplainReasonsRefusal}` widget-comment='sib-form-textarea' widget-reviewer='sib-form-hidden' widget-status='sib-form-hidden' value-status='inappropriate' - submit-button='Send ->' + submit-button=`${data.Send}` next='review-submission-confirmation' ) dialog#improvement-dialog - h2.title_lead Suggest improvement + h2.title_lead=`${data.SuggestImprovement}` sib-form#improvement-dialog-form( bind-resources nested-field='review' fields='comment, status, reviewer', - label-comment='Explain improvement required*' + label-comment=`${data.ExplainImprovementRequired}` widget-reviewer='sib-form-hidden' widget-comment='sib-form-textarea' widget-status='sib-form-hidden' value-status='to_improve' - submit-button='Send ->' + submit-button=`${data.Send}` next='review-submission-confirmation' ) dialog#review-submission-confirmation - h2.title_lead_avenir Thanks for your review - p.flex The submitter of the resource will now receive a notification of your review. - p.flex He will then be able to patch and send back the resource to validation + h2.title_lead_avenir=`${data.ThanksForReview}` + p.flex=`${data.SubmitterWillReceiveReview}` + p.flex=`${data.HeWillPatch}` p.flex - sib-link(next='mentor-resource-list', class='button_base') Back to dashboard \ No newline at end of file + sib-link(next='mentor-resource-list', class='button_base')=`${data.BackToDashboard}` \ No newline at end of file diff --git a/src/includes/mentor/validation-process.pug b/src/includes/mentor/validation-process.pug index 64b2a5f9..008fb788 100644 --- a/src/includes/mentor/validation-process.pug +++ b/src/includes/mentor/validation-process.pug @@ -2,30 +2,30 @@ div.block_log.block_creat_count.no_shadow sib-link(class="backlink", next="mentor-resource-list") i.fas.fa-times div#validation-process - h2 What is a validation process ? + h2=`${data.WhatValidationProcess}` div.flex.w_100 figure.w_50 img( src="../images/valid_1.png" alt="") - figcaption.w_75 Mentor upload a resource to the database + figcaption.w_75=`${data.MentorUploadResourceToDatabase}` figure.w_50 img( src="../images/valid_2.png" alt="") - figcaption.w_75 Resource is sent to qualified peers for validation + figcaption.w_75=`${data.ResourceSentToQualifiedPeersForValidation}` figure.w_33 img( src="../images/valid_3.png" alt="") - figcaption.w_75 Resource is validated and becomes available in the database + figcaption.w_75=`${data.ResourceBecomesAvailableInDatabase}` figure.w_33 img( src="../images/valid_4.png" alt="") - figcaption.w_75 Resource is not validated and improvement is siggested. You get a list of improvement, can edit ans re-load the resource. It goes to validation process again.L0 + figcaption.w_75=`${data.ResourceIsNotValidated}` figure.w_33 img( src="../images/valid_5.png" alt="") - figcaption.w_75 Resource is reported inapropriate. You get a notification with a message from your peer explaning why. + figcaption.w_75=`${data.ResourceReportedInapropriate}` \ No newline at end of file diff --git a/src/includes/public/resources/detail.pug b/src/includes/public/resources/detail.pug index 84d387e0..5d143464 100644 --- a/src/includes/public/resources/detail.pug +++ b/src/includes/public/resources/detail.pug @@ -47,31 +47,31 @@ include ../../components/widgets class-review.reviewer.name="validator_ressource" widget-header_specifications='cs-section_header' - label-broken='Report broken link' - label-sharing='Access:' - label-language.name='Language:' - label-publication_year='Year of publication:' - label-header_specifications='Resource specifications' + label-broken=`${data.ReportBrokenLink}` + label-sharing=`${data.Access}` + label-language.name=`${data.Language}` + label-publication_year=`${data.DatePublication}` + label-header_specifications=`${data.ResourceSpecifications}` label-format.name='' class-format.name='format_type' widget-steps='cs-display-step-property' label-steps='' - each-label-steps="Step" + each-label-steps=`${data.Step}` multiple-steps widget-fields='cs-display-multiple-property' label-fields='' - each-label-fields='Field:' + each-label-fields=`${data.Field}` multiple-fields - label-skills='With this resource, you will be able to:' - label-uri='Link to resource' + label-skills=`${data.WithThisResourceBeAbleTo}` + label-uri=`${data.LinkToResource}` name-uri='original-link' - label-country.name='Country:' - label-submitter.mentor_profile.organisation.name='Organisation:' - label-author='Author :' - label-submitter.name='Resource posted by:' + label-country=`${data.Country}` + label-submitter.mentor_profile.organisation.name=`${data.Organisation}` + label-author=`${data.Author}` + label-submitter.name=`${data.ResourcePostedBy}` action-broken='resource-report-broken-link-public' ) @@ -99,7 +99,7 @@ include ../../components/widgets bind-resources fields="" nested-field="conversations" - counter-template="<p>Comments (${counter})</p>" + counter-template=`<p>${data.Comments} (${counter})</p>` ) sib-conversation( @@ -107,7 +107,7 @@ include ../../components/widgets id-suffix="conversations" ) - h2.title_lead_avenir Related resources + h2.title_lead_avenir=`${data.RelatedResources}` sib-display( bind-resources, diff --git a/src/includes/public/resources/list.pug b/src/includes/public/resources/list.pug index 4bcbb62b..c8251099 100644 --- a/src/includes/public/resources/list.pug +++ b/src/includes/public/resources/list.pug @@ -7,14 +7,14 @@ dialog#resource-report-broken-link-public include ./resource-report-broken-link-public div.container_min - h2.title_lead.fd_bleu International index of resources for cooperative mentors and entrepreneurs - button.button_dark.pull-right Watch the presentation + h2.title_lead.fd_bleu=`${data.generalLabel}` + button.button_dark.pull-right=`${data.WatchThePresentation}` i.far.fa-play-circle container.block_list.flex.flex_espace div.w_75.block-g-entre div - h2.title_form Search for a resource + h2.title_form=`${data.SearchForResource}` div#public-resources-loader hidden i.fas.fa-spinner.fa-spin @@ -22,14 +22,14 @@ container.block_list.flex.flex_espace data-src=`${endpoints.resources}`, loader-id="public-resources-loader" fields='keyword(name_keyword)' - label-name_keyword="Search by name..." + label-name_keyword=`${data.SearchByNam}` widget-name_keyword="sib-form-placeholder-text" naked ) div.keyword_submit.button__actions - div.button_base.ico_gauche Search + div.button_base.ico_gauche=`${data.Search}` sib-form.instance_database_only( data-src=`${endpoints.resources}`, @@ -42,12 +42,12 @@ container.block_list.flex.flex_espace sib-form.more_criterias.flex.flex_espace( data-src=`${endpoints.resources}`, fields='header_criterias, format, publication_year, country, language, fields' - label-header_criterias='More criterias' - label-format='Format:' - label-publication_year='Year of publication' - label-country='Country of publication' - label-language='Language' - label-fields='Field' + label-header_criterias=`${data.Search}` + label-format=`${data.Format}` + label-publication_year=`${data.DatePublication}` + label-country=`${data.CountryPublication}` + label-language=`${data.Language}` + label-fields=`${data.Field}` widget-header_criterias='cs-section_header' range-language=`${endpoints.languages}` @@ -100,7 +100,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion active" - label-name ='Step 1 ' + label-name =`${data.Step} 1 ` label-resources='' widget-name='cs-steps-header' @@ -156,7 +156,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion" - label-name ='Step 2 ' + label-name =`${data.Step} 2 ` label-resources='' widget-name='cs-steps-header' @@ -212,7 +212,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion" - label-name ='Step 3 ' + label-name =`${data.Step} 3 ` label-resources='' widget-name='cs-steps-header' @@ -268,7 +268,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion" - label-name ='Step 4 ' + label-name =`${data.Step} 4 ` label-resources='' widget-name='cs-steps-header' @@ -325,7 +325,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion" - label-name ='Step 5 ' + label-name =`${data.Step} 5 ` label-resources='' widget-name='cs-steps-header' @@ -380,7 +380,7 @@ container.block_list.flex.flex_espace fields='name' class="accordion" - label-name ='Step 6 ' + label-name =`${data.Step} 6 ` label-resources='' widget-name='cs-steps-header' diff --git a/src/includes/public/resources/resource-report-broken-link-public.pug b/src/includes/public/resources/resource-report-broken-link-public.pug index b2ffd753..8b7f94fb 100644 --- a/src/includes/public/resources/resource-report-broken-link-public.pug +++ b/src/includes/public/resources/resource-report-broken-link-public.pug @@ -4,8 +4,8 @@ p i.fas.fa-times - h2.title_lead_avenir Thanks! - p The submitter of the resource will be advised that this link is broken. + h2.title_lead_avenir=`${data.Thanks}` + p=`${data.ConfirmSendBrokenLink}` sib-form#report-broken-link-public( data-src=`${endpoints.brokenlinks}` fields = "resource, submitter" diff --git a/src/includes/splash.pug b/src/includes/splash.pug index bc841a1a..b7546515 100644 --- a/src/includes/splash.pug +++ b/src/includes/splash.pug @@ -4,7 +4,7 @@ sib-router(default-route='splash-index') figure(class="logo") img(src="../images/logo.png" alt="Coopstarter logo") -h2.title_lead Welcome to our international index of resources for cooperative mentors and entrepreneurs +h2.title_lead=`${data.welcome}` #splash-index(hidden).no-sidebar.block_log.flex figure.img_log @@ -12,9 +12,9 @@ h2.title_lead Welcome to our international index of resources for cooperative me alt="Connect as mentor") cs-login(bind-user) - button#mentor_login.button_base Connect to the knowledge base + button#mentor_login.button_base=`${data.ConnectKnowledgeBase}` sib-link(next='public-dashboard') - button#public-acces.button_base Access without registration + button#public-acces.button_base=`${data.AccessWithoutRegistration}` \ No newline at end of file diff --git a/translation/en.yml b/translation/en.yml index 5da96e01..22341ac9 100644 --- a/translation/en.yml +++ b/translation/en.yml @@ -74,4 +74,44 @@ CantFindRessourceYouNeed : Can't find the ressource you need ? MakeRequest: Make a request Thanks : Thanks! ConfirmSendBrokenLink : The submitter of the resource will be advised that this link is broken. -YouRequestHasBeenSubmitted : Your request has been submitted \ No newline at end of file +YouRequestHasBeenSubmitted : Your request has been submitted +WhatValidationProcess : What is a validation process ? +MentorUploadResourceToDatabase: Mentor upload a resource to the database +ResourceSentToQualifiedPeersForValidation : Resource is sent to qualified peers for validation +ResourceBecomesAvailableInDatabase: Resource is validated and becomes available in the database +ResourceIsNotValidated: Resource is not validated and improvement is siggested. You get a list of improvement, can edit ans re-load the resource. It goes to validation process again. +ResourceReportedInapropriate: Resource is reported inapropriate. You get a notification with a message from your peer explaning why. +DeleteResource: Delete a resource +AreYouSureDelete: Are you sure you want to delete this resource ? +YesSureDelete : Yes I am sure, delete +AreYouSurArchive: Are you sur you want to archive this request ? +ArchivethisRequest: Archive this request +ThankYouEnrichingDatabase : Thank you for enriching our database ! +ThanksMsg: Once one of your pair, a fellow mentor, validate your resource, it will be published online and we will send you a notification. +Classification : Classification +FormatReq: Format* +LocationWeblinkReq: Location/weblink* +AuthorReq : Resource author* +SkillReq : Learning outcomes, skills* +IframeLink: For videos, report iframe link +UploadPreviewImage: Upload preview image +AddTags: Add tags +ResourceTargetReq: Resource target* +TypeContentReq: Type of content* +CategorisationReq: Categorisation* +ShareWithReq: Share with* +AddResource: Add a resource +SendForValidation : Send for validation -> +EditResource : Edit this resource +RequireImprovement: Require improvement +ReportInappropriate: Report as inappropriate +Validate: Validate +Send: Send -> +SuggestImprovement: Suggest improvement +ExplainImprovementRequired: Explain improvement required* +ThanksForReview: Thanks for your review +SubmitterWillReceiveReview.: The submitter of the resource will now receive a notification of your review. +HeWillPatch : He will then be able to patch and send back the resource to validation +ExplainReasonsRefusal: Explain reasons of refusal* +IAmMentor: I am a mentor +IAmEntrepreneur: I am an entrepreneur \ No newline at end of file diff --git a/translation/fr.yml b/translation/fr.yml index f0da9672..7ac847be 100644 --- a/translation/fr.yml +++ b/translation/fr.yml @@ -68,3 +68,43 @@ SendRequest : Envoyer la demande MandatoryInformation : Informations obligatoires ComplementaryInformation : Informations complémentaires WithThisResourceBeAbleTo : Grâce à cette ressource, vous serez en mesure de +WhatValidationProcess : Qu'est-ce qu'un processus de validation ? +MentorUploadResourceToDatabase: Le mentor télécharge une ressource dans la base de données +ResourceSentToQualifiedPeersForValidation : La ressource est envoyée à des pairs qualifiés pour validation. +ResourceBecomesAvailableInDatabase: La ressource est validée et devient disponible dans la base de données +ResourceIsNotValidated: La ressource n'est pas validée et l'amélioration est signalée. Vous obtenez une liste des améliorations, vous pouvez modifier et recharger la ressource. Il est de nouveau soumis au processus de validation. +ResourceReportedInapropriate: La ressource est jugée inadéquate. Vous recevez une notification avec un message de votre pair vous expliquant pourquoi. +DeleteResource: Supprimer une ressource +AreYouSureDelete: Êtes-vous sûr de vouloir supprimer cette ressource ? +YesSureDelete : Oui, j'en suis sûr, supprimer +AreYouSurArchive: Êtes-vous sur de vouloir archiver cette demande ? +ArchivethisRequest: Archiver cette demande +ThankYouEnrichingDatabase : Merci d'enrichir notre base de données ! +ThanksMsg: Une fois que l'un de vos pairs, un collègue mentor, aura validé votre ressource, elle sera publiée en ligne et nous vous enverrons un avis. +Classification : Classification +FormatReq: Format* +LocationWeblinkReq: Location/weblink* +AuthorReq : Auteur de la ressource* +SkillReq : Résultats d'apprentissage, compétences* +IframeLink: Pour les vidéos, signalez le lien iframe +UploadPreviewImage: Télécharger l'image de prévisualisation +AddTags: Ajouter des tags +ResourceTargetReq : Cible en matière de ressources* +TypeContentReq: Type de contenu* +CategorisationReq: Categorisation* +ShareWithReq: Partager avec* +AddResource: Ajouter une ressource +SendForValidation : Envoyer pour validation -> +EditResource : Modifier cette ressource +RequireImprovement: Besoin d'amélioration +ReportInappropriate: Signaler comme inapproprié +Validate: Valider +Send: Envoyer -> +SuggestImprovement: Suggérer des améliorations +ExplainImprovementRequired: Expliquez les améliorations nécessaires*. +ThanksForReview: Merci pour votre avis +SubmitterWillReceiveReview.: L'auteur de la ressource recevra maintenant un avis de votre examen. +HeWillPatch : Il pourra alors corriger et renvoyer la ressource à la validation. +ExplainReasonsRefusal: Expliquez les raisons du refus*. +IAmMentor: Je suis un mentor +IAmEntrepreneur: je suis un entrepreneur diff --git a/www/index.html b/www/index.html index d2e25159..df0e7f8e 100644 --- a/www/index.html +++ b/www/index.html @@ -7,13 +7,18 @@ </head> <body> <script> + //Language given in translation const langs = ['fr', 'en']; const defLang = 'en'; + + //Get the favorite language of the user's navigator const userLangs = (navigator.languages || [navigator.language]).map( a => a.split('-').shift(), ); userLangs.push(defLang); const selectedLang = userLangs.find(lang => langs.indexOf(lang) !== -1); + + //Redirection to the appropriate index.html document.location.replace(selectedLang); </script> </body> -- GitLab From 2d617c2626e1a91d5734df7ee2f308ed3ff19158 Mon Sep 17 00:00:00 2001 From: Benoit Alessandroni <benoit@happy-dev.fr> Date: Tue, 12 Nov 2019 16:44:26 +0100 Subject: [PATCH 11/13] Removing useless info the from mento dahsboard header --- src/includes/mentor/components/header.pug | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/includes/mentor/components/header.pug b/src/includes/mentor/components/header.pug index b4afb121..b9f62c26 100644 --- a/src/includes/mentor/components/header.pug +++ b/src/includes/mentor/components/header.pug @@ -16,8 +16,6 @@ label-languages='' naked ) - h1= data.title - h2 hello .dropdownWrapper sib-display#mentor-account-picture.dropdownLabel( bind-user -- GitLab From 909d1cba1df76bcbd588e8347ca8c3d1925c7ed6 Mon Sep 17 00:00:00 2001 From: Alice <alice.poggioli@hotmail.fr> Date: Wed, 13 Nov 2019 12:23:13 +0100 Subject: [PATCH 12/13] language selector works. --- src/includes/mentor/components/header.pug | 4 ++++ src/scripts/coopstarter.js | 19 ++++++++++++++----- translation/en.yml | 1 - translation/fr.yml | 2 +- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/includes/mentor/components/header.pug b/src/includes/mentor/components/header.pug index b9f62c26..363919fb 100644 --- a/src/includes/mentor/components/header.pug +++ b/src/includes/mentor/components/header.pug @@ -16,6 +16,10 @@ label-languages='' naked ) +<<<<<<< HEAD +======= + +>>>>>>> language selector works. .dropdownWrapper sib-display#mentor-account-picture.dropdownLabel( bind-user diff --git a/src/scripts/coopstarter.js b/src/scripts/coopstarter.js index 675b9d71..bed5c99e 100644 --- a/src/scripts/coopstarter.js +++ b/src/scripts/coopstarter.js @@ -333,14 +333,23 @@ function manageSelectLanguage() { const languageSelects = document.getElementsByClassName("languageChoice") for (let item of languageSelects) { item.addEventListener("change", function() { + //We listen the selected option for the language uriLanguge = item.querySelector("option:checked").value - document.cookie = "langData=j%3A%7B%22langIndice%22%3A%22fr%22%7D" + + //We retrieve element of the url + var pathAfterThePrefix = window.location.pathname.split('/')[2]; + var base_url = location.host + + //If the selected language is french if (uriLanguge === '{"@id": "http://localhost:8000/languages/1/"}') { - document.cookie = "langData=j%3A%7B%22langIndice%22%3A%22fr%22%7D" - location.reload() + //Redirection with the appropriate prefixe. + var redirect = "http://"+base_url+'/fr/'+pathAfterThePrefix + + document.location.href = redirect } else { - document.cookie = "langData=j%3A%7B%22langIndice%22%3A%22en%22%7D" - location.reload() + var redirect = "http://"+base_url+'/en/'+pathAfterThePrefix + document.location.href = redirect + } }) diff --git a/translation/en.yml b/translation/en.yml index 22341ac9..474b04d2 100644 --- a/translation/en.yml +++ b/translation/en.yml @@ -1,5 +1,4 @@ --- -title: My amazing website Dashboard : Dashboard ResourcesDatabase : Resources database MyAccount : My account diff --git a/translation/fr.yml b/translation/fr.yml index 7ac847be..2e78a588 100644 --- a/translation/fr.yml +++ b/translation/fr.yml @@ -1,5 +1,4 @@ --- -title: mon super sit Dashboard : Tableau de board ResourcesDatabase : Base de donnée de ressource MyAccount : Mon compte @@ -68,6 +67,7 @@ SendRequest : Envoyer la demande MandatoryInformation : Informations obligatoires ComplementaryInformation : Informations complémentaires WithThisResourceBeAbleTo : Grâce à cette ressource, vous serez en mesure de +WatchThePresentation : Regarder la présentation WhatValidationProcess : Qu'est-ce qu'un processus de validation ? MentorUploadResourceToDatabase: Le mentor télécharge une ressource dans la base de données ResourceSentToQualifiedPeersForValidation : La ressource est envoyée à des pairs qualifiés pour validation. -- GitLab From a1f5b2c3314c4a4fec7c827dcb72da48a2405b2d Mon Sep 17 00:00:00 2001 From: Alice <alice.poggioli@hotmail.fr> Date: Wed, 13 Nov 2019 12:33:38 +0100 Subject: [PATCH 13/13] forgotten file --- src/includes/mentor/components/header.pug | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/includes/mentor/components/header.pug b/src/includes/mentor/components/header.pug index 363919fb..b9f62c26 100644 --- a/src/includes/mentor/components/header.pug +++ b/src/includes/mentor/components/header.pug @@ -16,10 +16,6 @@ label-languages='' naked ) -<<<<<<< HEAD -======= - ->>>>>>> language selector works. .dropdownWrapper sib-display#mentor-account-picture.dropdownLabel( bind-user -- GitLab