mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-14 16:51:33 +10:00
Merge pull request #45 from AmruthPillai/develop
Feature: PDF Generation
This commit is contained in:
@ -8,6 +8,18 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
## March 2020
|
||||
|
||||
### March 31, 2020
|
||||
|
||||
- Migrated to PDF Generation using `html2canvas` & `jsPDF`
|
||||
- Added Language: French
|
||||
- Added Language: Kannada
|
||||
|
||||
### March 30, 2020
|
||||
|
||||
- Dockerize App for Faster Development/Deployments
|
||||
- Added Translation Systems
|
||||
- Added Language: Hindi
|
||||
|
||||
### March 29, 2020
|
||||
|
||||
- Add Issue Templates in GitHub for Bug Reports and Feature Requests
|
||||
|
||||
@ -26,6 +26,18 @@ A modern JavaScript utility library delivering modularity, performance & extras.
|
||||
|
||||
[Learn more → ](https://lodash.com/)
|
||||
|
||||
## html2canvas
|
||||
|
||||
The script allows you to take "screenshots" of webpages or parts of it, directly on the users browser. The screenshot is based on the DOM and as such may not be 100% accurate to the real representation as it does not make an actual screenshot, but builds the screenshot based on the information available on the page.
|
||||
|
||||
[Learn more → ](https://github.com/niklasvh/html2canvas)
|
||||
|
||||
## jsPDF
|
||||
|
||||
A library to generate PDFs in JavaScript.
|
||||
|
||||
[Learn more → ](https://github.com/MrRio/jsPDF)
|
||||
|
||||
## Google Fonts
|
||||
|
||||
Google Fonts is a great repository of open type fonts that are allowed to be used on the web. Reactive Resume uses Google Fonts to load different font families and allow the user to choose which font he/she would like on their resume.
|
||||
|
||||
188
package-lock.json
generated
188
package-lock.json
generated
@ -4223,6 +4223,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"base64-arraybuffer": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz",
|
||||
"integrity": "sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ=="
|
||||
},
|
||||
"base64-js": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
|
||||
@ -4752,6 +4757,103 @@
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001036.tgz",
|
||||
"integrity": "sha512-jU8CIFIj2oR7r4W+5AKcsvWNVIb6Q6OZE3UsrXrZBHFtreT4YgTeOJtTucp+zSedEpTi3L5wASSP0LYIE3if6w=="
|
||||
},
|
||||
"canvg": {
|
||||
"version": "1.5.3",
|
||||
"resolved": "https://registry.npmjs.org/canvg/-/canvg-1.5.3.tgz",
|
||||
"integrity": "sha512-7Gn2IuQzvUQWPIuZuFHrzsTM0gkPz2RRT9OcbdmA03jeKk8kltrD8gqUzNX15ghY/4PV5bbe5lmD6yDLDY6Ybg==",
|
||||
"requires": {
|
||||
"jsdom": "^8.1.0",
|
||||
"rgbcolor": "^1.0.1",
|
||||
"stackblur-canvas": "^1.4.1",
|
||||
"xmldom": "^0.1.22"
|
||||
},
|
||||
"dependencies": {
|
||||
"abab": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz",
|
||||
"integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4="
|
||||
},
|
||||
"acorn": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz",
|
||||
"integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc="
|
||||
},
|
||||
"acorn-globals": {
|
||||
"version": "1.0.9",
|
||||
"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz",
|
||||
"integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=",
|
||||
"requires": {
|
||||
"acorn": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"cssstyle": {
|
||||
"version": "0.2.37",
|
||||
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz",
|
||||
"integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=",
|
||||
"requires": {
|
||||
"cssom": "0.3.x"
|
||||
}
|
||||
},
|
||||
"jsdom": {
|
||||
"version": "8.5.0",
|
||||
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-8.5.0.tgz",
|
||||
"integrity": "sha1-1Nj12/J2hjW2KmKCO5R89wcevJg=",
|
||||
"requires": {
|
||||
"abab": "^1.0.0",
|
||||
"acorn": "^2.4.0",
|
||||
"acorn-globals": "^1.0.4",
|
||||
"array-equal": "^1.0.0",
|
||||
"cssom": ">= 0.3.0 < 0.4.0",
|
||||
"cssstyle": ">= 0.2.34 < 0.3.0",
|
||||
"escodegen": "^1.6.1",
|
||||
"iconv-lite": "^0.4.13",
|
||||
"nwmatcher": ">= 1.3.7 < 2.0.0",
|
||||
"parse5": "^1.5.1",
|
||||
"request": "^2.55.0",
|
||||
"sax": "^1.1.4",
|
||||
"symbol-tree": ">= 3.1.0 < 4.0.0",
|
||||
"tough-cookie": "^2.2.0",
|
||||
"webidl-conversions": "^3.0.1",
|
||||
"whatwg-url": "^2.0.1",
|
||||
"xml-name-validator": ">= 2.0.1 < 3.0.0"
|
||||
}
|
||||
},
|
||||
"parse5": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz",
|
||||
"integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ="
|
||||
},
|
||||
"stackblur-canvas": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-1.4.1.tgz",
|
||||
"integrity": "sha1-hJqm+UsnL/JvZHH6QTDtH35HlVs="
|
||||
},
|
||||
"tr46": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
|
||||
},
|
||||
"webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
|
||||
},
|
||||
"whatwg-url": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-2.0.1.tgz",
|
||||
"integrity": "sha1-U5ayBD8CDub3BNnEXqhRnnJN5lk=",
|
||||
"requires": {
|
||||
"tr46": "~0.0.3",
|
||||
"webidl-conversions": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"xml-name-validator": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz",
|
||||
"integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU="
|
||||
}
|
||||
}
|
||||
},
|
||||
"capture-exit": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
|
||||
@ -5605,6 +5707,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"css-line-break": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-1.1.1.tgz",
|
||||
"integrity": "sha512-1feNVaM4Fyzdj4mKPIQNL2n70MmuYzAXZ1aytlROFX1JsOo070OsugwGjj7nl6jnDJWHDM8zRZswkmeYVWZJQA==",
|
||||
"requires": {
|
||||
"base64-arraybuffer": "^0.2.0"
|
||||
}
|
||||
},
|
||||
"css-loader": {
|
||||
"version": "3.4.2",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.2.tgz",
|
||||
@ -7485,6 +7595,10 @@
|
||||
"schema-utils": "^2.5.0"
|
||||
}
|
||||
},
|
||||
"file-saver": {
|
||||
"version": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
|
||||
"from": "github:eligrey/FileSaver.js#1.3.8"
|
||||
},
|
||||
"file-uri-to-path": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
|
||||
@ -8406,6 +8520,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"html2canvas": {
|
||||
"version": "1.0.0-rc.5",
|
||||
"resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-rc.5.tgz",
|
||||
"integrity": "sha512-DtNqPxJNXPoTajs+lVQzGS1SULRI4GQaROeU5R41xH8acffHukxRh/NBVcTBsfCkJSkLq91rih5TpbEwUP9yWA==",
|
||||
"requires": {
|
||||
"css-line-break": "1.1.1"
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "3.10.1",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
|
||||
@ -10282,6 +10404,42 @@
|
||||
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
|
||||
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
|
||||
},
|
||||
"jspdf": {
|
||||
"version": "1.5.3",
|
||||
"resolved": "https://registry.npmjs.org/jspdf/-/jspdf-1.5.3.tgz",
|
||||
"integrity": "sha512-J9X76xnncMw+wIqb15HeWfPMqPwYxSpPY8yWPJ7rAZN/ZDzFkjCSZObryCyUe8zbrVRNiuCnIeQteCzMn7GnWw==",
|
||||
"requires": {
|
||||
"canvg": "1.5.3",
|
||||
"file-saver": "github:eligrey/FileSaver.js#1.3.8",
|
||||
"html2canvas": "1.0.0-alpha.12",
|
||||
"omggif": "1.0.7",
|
||||
"promise-polyfill": "8.1.0",
|
||||
"stackblur-canvas": "2.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"base64-arraybuffer": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
|
||||
"integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg="
|
||||
},
|
||||
"css-line-break": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-1.0.1.tgz",
|
||||
"integrity": "sha1-GfIGOjPpX7KDG4ZEbAuAwYivRQo=",
|
||||
"requires": {
|
||||
"base64-arraybuffer": "^0.1.5"
|
||||
}
|
||||
},
|
||||
"html2canvas": {
|
||||
"version": "1.0.0-alpha.12",
|
||||
"resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-alpha.12.tgz",
|
||||
"integrity": "sha1-OxmS48mz9WBjw1/WIElPN+uohRM=",
|
||||
"requires": {
|
||||
"css-line-break": "1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"jsprim": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
||||
@ -11383,6 +11541,11 @@
|
||||
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
|
||||
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
|
||||
},
|
||||
"nwmatcher": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz",
|
||||
"integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ=="
|
||||
},
|
||||
"nwsapi": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
|
||||
@ -11517,6 +11680,11 @@
|
||||
"resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
|
||||
"integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="
|
||||
},
|
||||
"omggif": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.7.tgz",
|
||||
"integrity": "sha1-WdLuywJj3oRjWz/riHwMmXPx5J0="
|
||||
},
|
||||
"on-finished": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
||||
@ -13326,6 +13494,11 @@
|
||||
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
|
||||
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
|
||||
},
|
||||
"promise-polyfill": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.0.tgz",
|
||||
"integrity": "sha512-OzSf6gcCUQ01byV4BgwyUCswlaQQ6gzXc23aLQWhicvfX9kfsUiUhgt3CCQej8jDnl8/PhGF31JdHX2/MzF3WA=="
|
||||
},
|
||||
"prompts": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
|
||||
@ -14548,6 +14721,11 @@
|
||||
"resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
|
||||
"integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM="
|
||||
},
|
||||
"rgbcolor": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz",
|
||||
"integrity": "sha1-1lBezbMEplldom+ktDMHMGd1lF0="
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
|
||||
@ -15334,6 +15512,11 @@
|
||||
"resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
|
||||
"integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA=="
|
||||
},
|
||||
"stackblur-canvas": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.2.0.tgz",
|
||||
"integrity": "sha512-5Gf8dtlf8k6NbLzuly2NkGrkS/Ahh+I5VUjO7TnFizdJtgpfpLLEdQlLe9umbcnZlitU84kfYjXE67xlSXfhfQ=="
|
||||
},
|
||||
"state-toggle": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
|
||||
@ -18861,6 +19044,11 @@
|
||||
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
|
||||
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
|
||||
},
|
||||
"xmldom": {
|
||||
"version": "0.1.31",
|
||||
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
|
||||
"integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ=="
|
||||
},
|
||||
"xregexp": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz",
|
||||
|
||||
@ -14,15 +14,17 @@
|
||||
"@vuepress/plugin-google-analytics": "^1.4.0",
|
||||
"autoprefixer": "^9.7.5",
|
||||
"axios": "^0.19.2",
|
||||
"html2canvas": "^1.0.0-rc.5",
|
||||
"i18next": "^19.3.4",
|
||||
"jspdf": "^1.5.3",
|
||||
"lodash": "^4.17.15",
|
||||
"postcss-cli": "^7.1.0",
|
||||
"react": "^16.13.1",
|
||||
"react-dom": "^16.13.1",
|
||||
"react-i18next": "^11.3.4",
|
||||
"react-markdown": "^4.3.1",
|
||||
"react-scripts": "3.4.1",
|
||||
"react-toastify": "^5.5.0",
|
||||
"react": "^16.13.1",
|
||||
"tailwindcss": "^1.2.0",
|
||||
"uuid": "^7.0.2",
|
||||
"vuepress": "^1.4.0"
|
||||
|
||||
@ -1,35 +1,39 @@
|
||||
import React, { useEffect, useContext, Suspense } from 'react';
|
||||
import React, { useRef, useEffect, useContext, Suspense } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import AppContext from '../../context/AppContext';
|
||||
import PageContext from '../../context/PageContext';
|
||||
|
||||
import LeftSidebar from '../LeftSidebar/LeftSidebar';
|
||||
import RightSidebar from '../RightSidebar/RightSidebar';
|
||||
|
||||
import templates from '../../templates';
|
||||
|
||||
const App = () => {
|
||||
const pageRef = useRef(null);
|
||||
const { i18n } = useTranslation();
|
||||
|
||||
const context = useContext(AppContext);
|
||||
const { state, dispatch } = context;
|
||||
const { theme, settings } = state;
|
||||
|
||||
const pageContext = useContext(PageContext);
|
||||
const { setPageElement } = pageContext;
|
||||
|
||||
useEffect(() => {
|
||||
setPageElement(pageRef);
|
||||
i18n.changeLanguage(settings.language);
|
||||
const storedState = JSON.parse(localStorage.getItem('state'));
|
||||
dispatch({ type: 'import_data', payload: storedState });
|
||||
}, [dispatch, i18n, settings.language]);
|
||||
}, [dispatch, setPageElement, i18n, settings.language]);
|
||||
|
||||
return (
|
||||
<Suspense fallback="Loading...">
|
||||
<div className="h-screen overflow-hidden grid grid-cols-5 items-center">
|
||||
<LeftSidebar />
|
||||
|
||||
<div className="z-0 h-screen col-span-3 flex justify-center items-center overflow-scroll">
|
||||
<div
|
||||
id="page"
|
||||
className="animated fadeIn my-auto shadow-2xl"
|
||||
style={{ animationDelay: '500ms' }}
|
||||
>
|
||||
<div className="z-0 h-screen col-span-3 flex overflow-scroll justify-center items-center">
|
||||
<div id="page" ref={pageRef} className="shadow-2xl">
|
||||
{templates.find(x => theme.layout.toLowerCase() === x.key).component()}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -43,7 +43,7 @@ const RightSidebar = () => {
|
||||
name: t('about.title'),
|
||||
},
|
||||
];
|
||||
const [currentTab, setCurrentTab] = useState(tabs[0].key);
|
||||
const [currentTab, setCurrentTab] = useState(tabs[3].key);
|
||||
|
||||
const onChange = (key, value) => {
|
||||
dispatch({
|
||||
|
||||
@ -1,9 +1,16 @@
|
||||
/* eslint-disable new-cap */
|
||||
/* eslint-disable jsx-a11y/anchor-has-content */
|
||||
/* eslint-disable jsx-a11y/anchor-is-valid */
|
||||
import React, { useRef } from 'react';
|
||||
import React, { useRef, useContext } from 'react';
|
||||
import { useTranslation, Trans } from 'react-i18next';
|
||||
import html2canvas from 'html2canvas';
|
||||
import * as jsPDF from 'jspdf';
|
||||
|
||||
import PageContext from '../../../context/PageContext';
|
||||
|
||||
const ActionsTab = ({ data, theme, dispatch }) => {
|
||||
const pageContext = useContext(PageContext);
|
||||
const { pageElement } = pageContext;
|
||||
const { t } = useTranslation('rightSidebar');
|
||||
const fileInputRef = useRef(null);
|
||||
|
||||
@ -17,6 +24,38 @@ const ActionsTab = ({ data, theme, dispatch }) => {
|
||||
fr.readAsText(event.target.files[0]);
|
||||
};
|
||||
|
||||
const printAsPdf = () => {
|
||||
pageElement.current.style.display = 'table';
|
||||
pageElement.current.style.overflow = 'visible';
|
||||
|
||||
html2canvas(pageElement.current, {
|
||||
scale: 5,
|
||||
useCORS: true,
|
||||
allowTaint: true,
|
||||
}).then(canvas => {
|
||||
const image = canvas.toDataURL('image/jpeg', 1.0);
|
||||
const doc = new jsPDF('p', 'mm', 'a4');
|
||||
const pageWidth = doc.internal.pageSize.getWidth();
|
||||
const pageHeight = doc.internal.pageSize.getHeight();
|
||||
|
||||
const widthRatio = pageWidth / canvas.width;
|
||||
const heightRatio = pageHeight / canvas.height;
|
||||
const ratio = widthRatio > heightRatio ? heightRatio : widthRatio;
|
||||
|
||||
const canvasWidth = canvas.width * ratio;
|
||||
const canvasHeight = canvas.height * ratio;
|
||||
|
||||
const marginX = (pageWidth - canvasWidth) / 2;
|
||||
const marginY = (pageHeight - canvasHeight) / 2;
|
||||
|
||||
pageElement.current.style.display = 'block';
|
||||
pageElement.current.style.overflow = 'scroll';
|
||||
|
||||
doc.addImage(image, 'JPEG', marginX, marginY, canvasWidth, canvasHeight, null, 'SLOW');
|
||||
doc.save(`RxResume_${Date.now()}.pdf`);
|
||||
});
|
||||
};
|
||||
|
||||
const exportToJson = () => {
|
||||
const backupObj = { data, theme };
|
||||
const dataStr = `data:text/json;charset=utf-8,${encodeURIComponent(JSON.stringify(backupObj))}`;
|
||||
@ -26,8 +65,8 @@ const ActionsTab = ({ data, theme, dispatch }) => {
|
||||
dlAnchor.click();
|
||||
};
|
||||
|
||||
const loadDummyData = () => {
|
||||
dispatch({ type: 'load_dummy_data' });
|
||||
const loadDemoData = () => {
|
||||
dispatch({ type: 'load_demo_data' });
|
||||
dispatch({ type: 'save_data' });
|
||||
};
|
||||
|
||||
@ -82,39 +121,52 @@ const ActionsTab = ({ data, theme, dispatch }) => {
|
||||
|
||||
<div className="text-sm">
|
||||
<Trans t={t} i18nKey="actions.printResume.body">
|
||||
You can simply press <pre className="inline font-bold">Cmd/Ctrl + P</pre> at any time
|
||||
while you're in the app to print your resume, but here's a fancy button to do
|
||||
the same thing, just 'cause.
|
||||
You can click on the button below to generate a PDF instantly. Alternatively, you can
|
||||
also use <pre className="inline font-bold">Cmd/Ctrl + P</pre> but it would have
|
||||
different effects.
|
||||
</Trans>
|
||||
</div>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => window.print()}
|
||||
className="mt-4 bg-blue-600 hover:bg-blue-700 text-white text-sm font-medium py-2 px-5 rounded"
|
||||
>
|
||||
<div className="flex justify-center items-center">
|
||||
<i className="material-icons mr-2 font-bold text-base">print</i>
|
||||
<span className="text-sm">{t('actions.printResume.buttons.print')}</span>
|
||||
</div>
|
||||
</button>
|
||||
<div className="mt-1 grid grid-cols-2 col-gap-6">
|
||||
<button
|
||||
type="button"
|
||||
onClick={printAsPdf}
|
||||
className="mt-4 bg-blue-600 hover:bg-blue-700 text-white text-sm font-medium py-2 px-5 rounded"
|
||||
>
|
||||
<div className="flex justify-center items-center">
|
||||
<i className="material-icons mr-2 font-bold text-base">import_export</i>
|
||||
<span className="text-sm">{t('actions.printResume.buttons.export')}</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
onClick={printAsPdf}
|
||||
className="mt-4 bg-blue-600 hover:bg-blue-700 text-white text-sm font-medium py-2 px-5 rounded"
|
||||
>
|
||||
<div className="flex justify-center items-center">
|
||||
<i className="material-icons mr-2 font-bold text-base">print</i>
|
||||
<span className="text-sm">{t('actions.printResume.buttons.print')}</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr className="my-6" />
|
||||
|
||||
<div className="shadow text-center p-5">
|
||||
<h6 className="font-bold text-sm mb-2">{t('actions.loadDummyData.heading')}</h6>
|
||||
<h6 className="font-bold text-sm mb-2">{t('actions.loadDemoData.heading')}</h6>
|
||||
|
||||
<div className="text-sm">{t('actions.loadDummyData.body')}</div>
|
||||
<div className="text-sm">{t('actions.loadDemoData.body')}</div>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
onClick={loadDummyData}
|
||||
onClick={loadDemoData}
|
||||
className="mt-4 bg-green-600 hover:bg-green-700 text-white text-sm font-medium py-2 px-5 rounded"
|
||||
>
|
||||
<div className="flex justify-center items-center">
|
||||
<i className="material-icons mr-2 font-bold text-base">flight_takeoff</i>
|
||||
<span className="text-sm">{t('actions.loadDummyData.buttons.loadData')}</span>
|
||||
<span className="text-sm">{t('actions.loadDemoData.buttons.loadData')}</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@ -3,7 +3,7 @@ import get from 'lodash/get';
|
||||
import set from 'lodash/set';
|
||||
import remove from 'lodash/remove';
|
||||
|
||||
import dummyData from '../assets/dummy/data.json';
|
||||
import demoData from '../assets/demo/data.json';
|
||||
import { move } from '../utils';
|
||||
|
||||
const initialState = {
|
||||
@ -125,15 +125,15 @@ const reducer = (state, { type, payload }) => {
|
||||
...state,
|
||||
...payload,
|
||||
};
|
||||
case 'load_dummy_data':
|
||||
case 'load_demo_data':
|
||||
return {
|
||||
...state,
|
||||
...dummyData,
|
||||
...demoData,
|
||||
};
|
||||
case 'reset':
|
||||
return initialState;
|
||||
default:
|
||||
throw state;
|
||||
return state;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
23
src/context/PageContext.js
Normal file
23
src/context/PageContext.js
Normal file
@ -0,0 +1,23 @@
|
||||
import React, { useState } from 'react';
|
||||
|
||||
const PageContext = React.createContext(null);
|
||||
const { Provider } = PageContext;
|
||||
|
||||
const StateProvider = ({ children }) => {
|
||||
const [pageElement, setPageElement] = useState(null);
|
||||
return (
|
||||
<Provider
|
||||
value={{
|
||||
pageElement,
|
||||
setPageElement,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</Provider>
|
||||
);
|
||||
};
|
||||
|
||||
export const PageProvider = StateProvider;
|
||||
export const PageConsumer = PageContext.Consumer;
|
||||
|
||||
export default PageContext;
|
||||
@ -23,10 +23,9 @@ const languages = [
|
||||
];
|
||||
|
||||
i18n.use(initReactI18next).init({
|
||||
resources,
|
||||
lng: 'en',
|
||||
fallbackLng: 'en',
|
||||
resources,
|
||||
debug: true,
|
||||
ns: ['app', 'leftSidebar', 'rightSidebar'],
|
||||
defaultNS: 'app',
|
||||
});
|
||||
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Du kannst darüber schreiben, was du von in beim Erreichen des Zertifikats gelernt hast."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (USA)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Stellentitel",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Einstellungen",
|
||||
"language": {
|
||||
"label": "Sprache",
|
||||
"helpText": "Wenn Sie helfen möchten, die App in Ihre eigene Sprache zu übersetzen, lesen Sie bitte die <1>Übersetzungsdokumentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Titre",
|
||||
"placeholder": "Nanodegree de développement Android"
|
||||
"placeholder": "Développement Android Nanodegree"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Sous-titre",
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "Langue",
|
||||
"placeholder": "Dothraki"
|
||||
"placeholder": "Allemande"
|
||||
},
|
||||
"rating": {
|
||||
"label": "Évaluation"
|
||||
|
||||
@ -4,11 +4,11 @@
|
||||
},
|
||||
"firstName": {
|
||||
"label": "Prénom",
|
||||
"placeholder": "Jane"
|
||||
"placeholder": "Jeanne"
|
||||
},
|
||||
"lastName": {
|
||||
"label": "Nom",
|
||||
"placeholder": "Doe"
|
||||
"placeholder": "Dupont"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Sous-titre",
|
||||
@ -21,7 +21,7 @@
|
||||
},
|
||||
"line2": {
|
||||
"label": "Adresse ligne 2",
|
||||
"placeholder": "140 E 14th St"
|
||||
"placeholder": "140 rue de la Paix"
|
||||
},
|
||||
"line3": {
|
||||
"label": "Adresse ligne 3",
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Nom",
|
||||
"placeholder": "Richard Hendricks"
|
||||
"placeholder": "Jean Martin"
|
||||
},
|
||||
"position": {
|
||||
"label": "Poste",
|
||||
"placeholder": "CEO, Pied Piper"
|
||||
"placeholder": "PDG, Pied Piper"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Numéro de téléphone"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Nom",
|
||||
"placeholder": "Amazon (É.-U.)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Rôle",
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
},
|
||||
"bugOrFeatureRequest": {
|
||||
"heading": "Un bug? Une nouvelle fonctionnalité?",
|
||||
"body": "Quelque chose empêche votre progression de faire un CV ? Vous avez trouvé un bug persistant ? Parlez-en dans la section GitHub Issues, ou envoyez-moi un e-mail en utilisant les actions ci-dessous.",
|
||||
"body": "Quelque chose empêche votre progression de faire un CV? Vous avez trouvé un bug persistant? Parlez-en dans la section GitHub Issues, ou envoyez-moi un email en utilisant les actions ci-dessous.",
|
||||
"buttons": {
|
||||
"raiseIssue": "Soulever une anomalie",
|
||||
"sendEmail": "Envoyer un e-mail"
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Imprimer votre CV",
|
||||
"body": "Vous pouvez simplement utiliser le raccourci <1>Cmd/Ctrl + P</1> à tout moment pendant que vous êtes dans l'application pour imprimer votre CV, mais voici un joli bouton pour faire la même chose.",
|
||||
"body": "Vous pouvez cliquer sur le bouton ci-dessous pour générer un PDF instantanément. Vous pouvez également utiliser <1>Cmd/Ctrl + P</1> mais cela aura des effets différents.",
|
||||
"buttons": {
|
||||
"export": "Exporter",
|
||||
"print": "Imprimer"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Charger des données factices",
|
||||
"body": "Vous ne savez pas que faire avec une nouvelle page blanche? Charger des données factices avec des valeurs préremplies pour voir à quoi devrait ressembler un CV et vous pourrez commencer à éditer à partir de là.",
|
||||
"loadDemoData": {
|
||||
"heading": "Charger des Démo données",
|
||||
"body": "Vous ne savez pas quoi faire avec une nouvelle page vierge? Chargez des données de démonstration avec des valeurs préremplies pour voir à quoi devrait ressembler un CV et vous pouvez commencer à éditer à partir de là.",
|
||||
"buttons": {
|
||||
"loadData": "Remplir les données"
|
||||
"loadData": "Charger des données"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -5,9 +5,9 @@
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "उपशीर्षक",
|
||||
"placeholder": "Udacity"
|
||||
"placeholder": "उदासिटी"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "आप अपने प्रमाणन कार्यक्रम से जो कुछ सीख चुके थे, उसके बारे में लिख सकते हैं।"
|
||||
"placeholder": "आप अपने प्रमाणन कार्यक्रम से जो कुछ भी सीख सकते हैं, उसके बारे में लिख सकते हैं।"
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
},
|
||||
"major": {
|
||||
"label": "विषय",
|
||||
"placeholder": "Computer Science में Masters"
|
||||
"placeholder": "कंप्यूटर विज्ञान में परास्नातक"
|
||||
},
|
||||
"grade": {
|
||||
"label": "ग्रेड"
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "मौलिक",
|
||||
"placeholder": "Punjabi"
|
||||
"placeholder": "पंजाबी"
|
||||
},
|
||||
"rating": {
|
||||
"label": "रेटिंग"
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "अपना बायोडाटा प्रिंट करें",
|
||||
"body": "आप किसी भी समय अपने बायोडाटा को प्रिंट करने के लिए ऐप में किसी भी समय <1>Cmd/Ctrl + P</1> दबा सकते हैं, लेकिन यहां एक ही काम करने के लिए एक फैंसी बटन है।",
|
||||
"body": "आप तुरंत एक पीडीएफ उत्पन्न करने के लिए नीचे दिए गए बटन पर क्लिक कर सकते हैं। इसके अलावा, आप <1>Cmd/Ctrl + P</1> का भी उपयोग कर सकते हैं, लेकिन इसके अलग-अलग प्रभाव होंगे।",
|
||||
"buttons": {
|
||||
"export": "निर्यात",
|
||||
"print": "प्रिंट"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"loadDemoData": {
|
||||
"heading": "डेमो डेटा लोड करें",
|
||||
"body": "एक ताजा रिक्त पृष्ठ के साथ क्या करना है, इस पर अस्पष्ट? बायोडाटा कैसे दिखना चाहिए यह देखने के लिए पूर्व निर्धारित मूल्यों के साथ कुछ डेटा लोड करें और आप वहां से संपादन शुरू कर सकते हैं।",
|
||||
"buttons": {
|
||||
"loadData": "डेटा लोड करें"
|
||||
"loadData": "लोड डेटा"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "सेटिंग्स",
|
||||
"language": {
|
||||
"label": "भाषा ",
|
||||
"helpText": "यदि आप एप्लिकेशन को अपनी भाषा में अनुवाद करने में मदद करना चाहते हैं, तो कृपया <1>अनुवाद दस्तावेज़</ 1> देखें।"
|
||||
"helpText": "यदि आप एप्लिकेशन को अपनी भाषा में अनुवाद करने में मदद करना चाहते हैं, तो कृपया <1>अनुवाद दस्तावेज़</1> देखें।"
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -5,22 +5,23 @@
|
||||
"heading": "ಆಮದು / ರಫ್ತು",
|
||||
"body": "ನಿಮ್ಮ ಡೇಟಾವನ್ನು ನೀವು JSON ಸ್ವರೂಪದಲ್ಲಿ ಆಮದು ಮಾಡಿಕೊಳ್ಳಬಹುದು ಅಥವಾ ರಫ್ತು ಮಾಡಬಹುದು. ಇದರೊಂದಿಗೆ, ನೀವು ಯಾವುದೇ ಸಾಧನದಿಂದ ನಿಮ್ಮ ಪುನರಾರಂಭವನ್ನು ಸಂಪಾದಿಸಬಹುದು ಮತ್ತು ಮುದ್ರಿಸಬಹುದು. ನಂತರದ ಬಳಕೆಗಾಗಿ ಈ ಫೈಲ್ ಅನ್ನು ಉಳಿಸಿ.",
|
||||
"buttons": {
|
||||
"import": "ಆಮದು ಮಾಡಿ",
|
||||
"export": "ರಫ್ತು ಮಾಡಿ"
|
||||
"import": "ಆಮದು",
|
||||
"export": "ರಫ್ತು"
|
||||
}
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "ನಿಮ್ಮ ರೇಸುಮೆಯನ್ನು ಮುದ್ರಿಸಿ",
|
||||
"body": "ನಿಮ್ಮ ರೇಸುಮೆಯನ್ನು ಮುದ್ರಿಸಲು ನೀವು ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿರುವಾಗ ನೀವು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ <1>Cmd / Ctrl + P</1> ಅನ್ನು ಒತ್ತಿರಿ, ಆದರೆ ಅದೇ ಕೆಲಸವನ್ನು ಮಾಡಲು ಇಲ್ಲಿ ಒಂದು ಬಟನ್ ಇದೆ.",
|
||||
"body": "ಪಿಡಿಎಫ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ರಚಿಸಲು ನೀವು ಕೆಳಗಿನ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಬಹುದು. ಅಲ್ಲದೆ, ನೀವು <1>Cmd/Ctrl + P</1> ಅನ್ನು ಸಹ ಬಳಸಬಹುದು ಆದರೆ ಅದು ವಿಭಿನ್ನ ಪರಿಣಾಮಗಳನ್ನು ಬೀರುತ್ತದೆ.",
|
||||
"buttons": {
|
||||
"export": "ರಫ್ತು",
|
||||
"print": "ಮುದ್ರಿಸಿ"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"loadDemoData": {
|
||||
"heading": "ಡೆಮೊ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿ",
|
||||
"body": "ಹೊಸ ಖಾಲಿ ಪುಟದೊಂದಿಗೆ ಏನು ಮಾಡಬೇಕೆಂದು ಸ್ಪಷ್ಟವಾಗಿಲ್ಲವೇ? ರೇಸ್ಸುಮೇ ಹೇಗೆ ಕಾಣಬೇಕು ಎಂಬುದನ್ನು ನೋಡಲು ಪೂರ್ವಭಾವಿ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಕೆಲವು ಡೆಮೊ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ನೀವು ಅಲ್ಲಿಂದ ಸಂಪಾದನೆಯನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು.",
|
||||
"buttons": {
|
||||
"loadData": "ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿ"
|
||||
"loadData": "ಲೋಡ್ ಡೇಟಾ"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "ಸೆಟ್ಟಿಂಗ್ಸ್",
|
||||
"language": {
|
||||
"label": "ಭಾಷೆ",
|
||||
"helpText": "ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಮ್ಮ ಸ್ವಂತ ಭಾಷೆಗೆ ಭಾಷಾಂತರಿಸಲು ನೀವು ಸಹಾಯ ಮಾಡಲು ಬಯಸಿದರೆ, ದಯವಿಟ್ಟು <1>ಅನುವಾದ ದಾಖಲೆ</ 1> ಅನ್ನು ನೋಡಿ."
|
||||
"helpText": "ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಮ್ಮ ಸ್ವಂತ ಭಾಷೆಗೆ ಭಾಷಾಂತರಿಸಲು ನೀವು ಸಹಾಯ ಮಾಡಲು ಬಯಸಿದರೆ, ದಯವಿಟ್ಟು <1>ಅನುವಾದ ದಾಖಲೆ</1> ಅನ್ನು ನೋಡಿ."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"placeholder": "Amazon"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
|
||||
@ -11,16 +11,17 @@
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"body": "You can click on the button below to generate a PDF instantly. Alternatively, you can also use <1>Cmd/Ctrl + P</1> but it would have different effects.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"loadDemoData": {
|
||||
"heading": "Load Demo Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some demo data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "Load Data"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
|
||||
@ -2,6 +2,6 @@
|
||||
"title": "Settings",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation</1>."
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,6 @@
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user