Merge pull request #45 from AmruthPillai/develop

Feature: PDF Generation
This commit is contained in:
Amruth Pillai
2020-04-01 00:54:42 +05:30
committed by GitHub
159 changed files with 706 additions and 324 deletions

View File

@ -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

View File

@ -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
View File

@ -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",

View File

@ -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"

View File

@ -268,4 +268,4 @@
"accent": "#f44336"
}
}
}
}

View File

@ -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>

View File

@ -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({

View File

@ -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&apos;re in the app to print your resume, but here&apos;s a fancy button to do
the same thing, just &apos;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>

View File

@ -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;
}
};

View 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;

View File

@ -23,10 +23,9 @@ const languages = [
];
i18n.use(initReactI18next).init({
resources,
lng: 'en',
fallbackLng: 'en',
resources,
debug: true,
ns: ['app', 'leftSidebar', 'rightSidebar'],
defaultNS: 'app',
});

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (USA)"
"placeholder": "Amazon"
},
"role": {
"label": "Stellentitel",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -1,7 +1,7 @@
{
"title": {
"label": "Titre",
"placeholder": "Nanodegree de développement Android"
"placeholder": "Développement Android Nanodegree"
},
"subtitle": {
"label": "Sous-titre",

View File

@ -1,7 +1,7 @@
{
"key": {
"label": "Langue",
"placeholder": "Dothraki"
"placeholder": "Allemande"
},
"rating": {
"label": "Évaluation"

View File

@ -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",

View File

@ -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"

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Nom",
"placeholder": "Amazon (É.-U.)"
"placeholder": "Amazon"
},
"role": {
"label": "Rôle",

View File

@ -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"

View File

@ -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": {

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -5,9 +5,9 @@
},
"subtitle": {
"label": "उपशीर्षक",
"placeholder": "Udacity"
"placeholder": "उदासिटी"
},
"description": {
"placeholder": "आप अपने प्रमाणन कार्यक्रम से जो कुछ सीख चुके थे, उसके बारे में लिख सकते हैं।"
"placeholder": "आप अपने प्रमाणन कार्यक्रम से जो कुछ भी सीख सकते हैं, उसके बारे में लिख सकते हैं।"
}
}

View File

@ -5,7 +5,7 @@
},
"major": {
"label": "विषय",
"placeholder": "Computer Science में Masters"
"placeholder": "कंप्यूटर विज्ञान में परास्नातक"
},
"grade": {
"label": "ग्रेड"

View File

@ -1,7 +1,7 @@
{
"key": {
"label": "मौलिक",
"placeholder": "Punjabi"
"placeholder": "पंजाबी"
},
"rating": {
"label": "रेटिंग"

View File

@ -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": {

View File

@ -2,6 +2,6 @@
"title": "सेटिंग्स",
"language": {
"label": "भाषा ",
"helpText": "यदि आप एप्लिकेशन को अपनी भाषा में अनुवाद करने में मदद करना चाहते हैं, तो कृपया <1>अनुवाद दस्तावेज़</ 1> देखें।"
"helpText": "यदि आप एप्लिकेशन को अपनी भाषा में अनुवाद करने में मदद करना चाहते हैं, तो कृपया <1>अनुवाद दस्तावेज़</1> देखें।"
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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": {

View File

@ -2,6 +2,6 @@
"title": "ಸೆಟ್ಟಿಂಗ್ಸ್",
"language": {
"label": "ಭಾಷೆ",
"helpText": "ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಮ್ಮ ಸ್ವಂತ ಭಾಷೆಗೆ ಭಾಷಾಂತರಿಸಲು ನೀವು ಸಹಾಯ ಮಾಡಲು ಬಯಸಿದರೆ, ದಯವಿಟ್ಟು <1>ಅನುವಾದ ದಾಖಲೆ</ 1> ಅನ್ನು ನೋಡಿ."
"helpText": "ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಮ್ಮ ಸ್ವಂತ ಭಾಷೆಗೆ ಭಾಷಾಂತರಿಸಲು ನೀವು ಸಹಾಯ ಮಾಡಲು ಬಯಸಿದರೆ, ದಯವಿಟ್ಟು <1>ಅನುವಾದ ದಾಖಲೆ</1> ಅನ್ನು ನೋಡಿ."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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."
}
}

View File

@ -1,7 +1,7 @@
{
"name": {
"label": "Name",
"placeholder": "Amazon (US)"
"placeholder": "Amazon"
},
"role": {
"label": "Role",

View File

@ -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": {

View File

@ -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>."
}
}

View File

@ -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