mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-07-13 06:24:54 +10:00
Merge pull request #54 from AmruthPillai/develop
New Viewport Feature + New Template: Glalie
This commit is contained in:
Vendored
+4
@@ -22,4 +22,8 @@ title: Templates
|
||||
<h2 id="castform"><a href="#castform" class="header-anchor">#</a> Castform</h2>
|
||||
<img src="./images/Castform.png" />
|
||||
</div>
|
||||
<div>
|
||||
<h2 id="glalie"><a href="#glalie" class="header-anchor">#</a> Glalie</h2>
|
||||
<img src="./images/Glalie.png" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Vendored
BIN
Binary file not shown.
|
After Width: | Height: | Size: 335 KiB |
Generated
+16
@@ -13943,6 +13943,14 @@
|
||||
"scheduler": "^0.19.1"
|
||||
}
|
||||
},
|
||||
"react-easy-panzoom": {
|
||||
"version": "0.4.4",
|
||||
"resolved": "https://registry.npmjs.org/react-easy-panzoom/-/react-easy-panzoom-0.4.4.tgz",
|
||||
"integrity": "sha512-1zgT6boDVPcrR3Egcz8KEVpM3fs50o22iIWPRlAqvev0/4nw5RnUNFsvmOJ/b5M2nd8MDGknLmyfBdhjoLB6+g==",
|
||||
"requires": {
|
||||
"warning": "4.0.3"
|
||||
}
|
||||
},
|
||||
"react-error-overlay": {
|
||||
"version": "6.0.7",
|
||||
"resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz",
|
||||
@@ -17121,6 +17129,14 @@
|
||||
"makeerror": "1.0.x"
|
||||
}
|
||||
},
|
||||
"warning": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
|
||||
"integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
|
||||
"requires": {
|
||||
"loose-envify": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"watchpack": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
"postcss-cli": "^7.1.0",
|
||||
"react": "^16.13.1",
|
||||
"react-dom": "^16.13.1",
|
||||
"react-easy-panzoom": "^0.4.4",
|
||||
"react-i18next": "^11.3.4",
|
||||
"react-markdown": "^4.3.1",
|
||||
"react-scripts": "3.4.1",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import React, { useRef, useEffect, useContext, Suspense } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { PanZoom } from 'react-easy-panzoom';
|
||||
|
||||
import AppContext from '../../context/AppContext';
|
||||
import PageContext from '../../context/PageContext';
|
||||
@@ -8,9 +9,11 @@ import LeftSidebar from '../LeftSidebar/LeftSidebar';
|
||||
import RightSidebar from '../RightSidebar/RightSidebar';
|
||||
|
||||
import templates from '../../templates';
|
||||
import PageController from '../../shared/PageController';
|
||||
|
||||
const App = () => {
|
||||
const pageRef = useRef(null);
|
||||
const panZoomRef = useRef(null);
|
||||
const { i18n } = useTranslation();
|
||||
|
||||
const context = useContext(AppContext);
|
||||
@@ -18,24 +21,38 @@ const App = () => {
|
||||
const { theme, settings } = state;
|
||||
|
||||
const pageContext = useContext(PageContext);
|
||||
const { setPageElement } = pageContext;
|
||||
const { setPageRef, setPanZoomRef } = pageContext;
|
||||
|
||||
useEffect(() => {
|
||||
setPageElement(pageRef);
|
||||
setPageRef(pageRef);
|
||||
setPanZoomRef(panZoomRef);
|
||||
i18n.changeLanguage(settings.language);
|
||||
const storedState = JSON.parse(localStorage.getItem('state'));
|
||||
dispatch({ type: 'import_data', payload: storedState });
|
||||
}, [dispatch, setPageElement, i18n, settings.language]);
|
||||
}, [dispatch, setPageRef, setPanZoomRef, i18n, settings.language]);
|
||||
|
||||
return (
|
||||
<Suspense fallback="Loading...">
|
||||
<div className="h-screen overflow-hidden grid grid-cols-5 items-center">
|
||||
<div className="h-screen grid grid-cols-5 items-center">
|
||||
<LeftSidebar />
|
||||
|
||||
<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 className="relative z-0 h-screen overflow-hidden col-span-3 flex justify-center items-center">
|
||||
<PanZoom
|
||||
ref={panZoomRef}
|
||||
minZoom="0.4"
|
||||
autoCenter
|
||||
autoCenterZoomLevel={0.7}
|
||||
enableBoundingBox
|
||||
boundaryRatioVertical={0.8}
|
||||
boundaryRatioHorizontal={0.8}
|
||||
style={{ outline: 'none' }}
|
||||
>
|
||||
<div id="page" ref={pageRef} className="shadow-2xl break-words">
|
||||
{templates.find(x => theme.layout.toLowerCase() === x.key).component()}
|
||||
</div>
|
||||
</PanZoom>
|
||||
|
||||
<PageController />
|
||||
</div>
|
||||
|
||||
<RightSidebar />
|
||||
|
||||
@@ -13,7 +13,6 @@ import AddItemButton from '../../../shared/AddItemButton';
|
||||
import ItemHeading from '../../../shared/ItemHeading';
|
||||
|
||||
const AwardsTab = ({ data, onChange }) => {
|
||||
const { t } = useTranslation();
|
||||
const context = useContext(AppContext);
|
||||
const { dispatch } = context;
|
||||
|
||||
@@ -28,7 +27,7 @@ const AwardsTab = ({ data, onChange }) => {
|
||||
</div>
|
||||
<div className="col-span-5">
|
||||
<TextField
|
||||
placeholder={t('heading.placeholder')}
|
||||
placeholder="Heading"
|
||||
value={data.awards.heading}
|
||||
onChange={v => onChange('data.awards.heading', v)}
|
||||
/>
|
||||
@@ -62,7 +61,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('awards.title.label')}
|
||||
placeholder={t('awards.title.placeholder')}
|
||||
placeholder="Code For Good Hackathon"
|
||||
value={item.title}
|
||||
onChange={v => onChange(`${identifier}title`, v)}
|
||||
/>
|
||||
@@ -70,7 +69,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('awards.subtitle.label')}
|
||||
placeholder={t('awards.subtitle.placeholder')}
|
||||
placeholder="First Place, National Level"
|
||||
value={item.subtitle}
|
||||
onChange={v => onChange(`${identifier}subtitle`, v)}
|
||||
/>
|
||||
@@ -78,7 +77,6 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextArea
|
||||
className="mb-6"
|
||||
label={t('app:item.description.label')}
|
||||
placeholder={t('awards.description.placeholder')}
|
||||
value={item.description}
|
||||
onChange={v => onChange(`${identifier}description`, v)}
|
||||
/>
|
||||
|
||||
@@ -13,7 +13,6 @@ import ItemHeading from '../../../shared/ItemHeading';
|
||||
import AddItemButton from '../../../shared/AddItemButton';
|
||||
|
||||
const CertificationsTab = ({ data, onChange }) => {
|
||||
const { t } = useTranslation();
|
||||
const context = useContext(AppContext);
|
||||
const { dispatch } = context;
|
||||
|
||||
@@ -28,7 +27,7 @@ const CertificationsTab = ({ data, onChange }) => {
|
||||
</div>
|
||||
<div className="col-span-5">
|
||||
<TextField
|
||||
placeholder={t('heading.placeholder')}
|
||||
placeholder="Heading"
|
||||
value={data.certifications.heading}
|
||||
onChange={v => onChange('data.certifications.heading', v)}
|
||||
/>
|
||||
@@ -62,7 +61,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('certifications.title.label')}
|
||||
placeholder={t('certifications.title.placeholder')}
|
||||
placeholder="CS50: Intro to Computer Science"
|
||||
value={item.title}
|
||||
onChange={v => onChange(`${identifier}title`, v)}
|
||||
/>
|
||||
@@ -70,7 +69,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('certifications.subtitle.label')}
|
||||
placeholder={t('certifications.subtitle.placeholder')}
|
||||
placeholder="Harvard University"
|
||||
value={item.subtitle}
|
||||
onChange={v => onChange(`${identifier}subtitle`, v)}
|
||||
/>
|
||||
@@ -78,7 +77,6 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextArea
|
||||
className="mb-6"
|
||||
label={t('app:item.description.label')}
|
||||
placeholder={t('certifications.description.placeholder')}
|
||||
value={item.description}
|
||||
onChange={v => onChange(`${identifier}description`, v)}
|
||||
/>
|
||||
|
||||
@@ -13,7 +13,6 @@ import AddItemButton from '../../../shared/AddItemButton';
|
||||
import ItemHeading from '../../../shared/ItemHeading';
|
||||
|
||||
const EducationTab = ({ data, onChange }) => {
|
||||
const { t } = useTranslation();
|
||||
const context = useContext(AppContext);
|
||||
const { dispatch } = context;
|
||||
|
||||
@@ -28,7 +27,7 @@ const EducationTab = ({ data, onChange }) => {
|
||||
</div>
|
||||
<div className="col-span-5">
|
||||
<TextField
|
||||
placeholder={t('heading.placeholder')}
|
||||
placeholder="Heading"
|
||||
value={data.education.heading}
|
||||
onChange={v => onChange('data.education.heading', v)}
|
||||
/>
|
||||
@@ -62,7 +61,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('education.name.label')}
|
||||
placeholder={t('education.name.placeholder')}
|
||||
placeholder="Harvard University"
|
||||
value={item.name}
|
||||
onChange={v => onChange(`${identifier}name`, v)}
|
||||
/>
|
||||
@@ -70,7 +69,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('education.major.label')}
|
||||
placeholder={t('education.major.placeholder')}
|
||||
placeholder="Masters in Computer Science"
|
||||
value={item.major}
|
||||
onChange={v => onChange(`${identifier}major`, v)}
|
||||
/>
|
||||
@@ -87,7 +86,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('app:item.startDate.label')}
|
||||
placeholder={t('app:item.startDate.placeholder')}
|
||||
placeholder="March 2018"
|
||||
value={item.start}
|
||||
onChange={v => onChange(`${identifier}start`, v)}
|
||||
/>
|
||||
@@ -95,7 +94,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('app:item.endDate.label')}
|
||||
placeholder={t('app:item.endDate.placeholder')}
|
||||
placeholder="June 2022"
|
||||
value={item.end}
|
||||
onChange={v => onChange(`${identifier}end`, v)}
|
||||
/>
|
||||
@@ -105,7 +104,6 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
rows="5"
|
||||
className="mb-6"
|
||||
label={t('app:item.description.label')}
|
||||
placeholder={t('education.description.placeholder')}
|
||||
value={item.description}
|
||||
onChange={v => onChange(`${identifier}description`, v)}
|
||||
/>
|
||||
|
||||
@@ -12,7 +12,6 @@ import ItemHeading from '../../../shared/ItemHeading';
|
||||
import AddItemButton from '../../../shared/AddItemButton';
|
||||
|
||||
const ExtrasTab = ({ data, onChange }) => {
|
||||
const { t } = useTranslation();
|
||||
const context = useContext(AppContext);
|
||||
const { dispatch } = context;
|
||||
|
||||
@@ -27,7 +26,7 @@ const ExtrasTab = ({ data, onChange }) => {
|
||||
</div>
|
||||
<div className="col-span-5">
|
||||
<TextField
|
||||
placeholder={t('heading.placeholder')}
|
||||
placeholder="Heading"
|
||||
value={data.extras.heading}
|
||||
onChange={v => onChange('data.extras.heading', v)}
|
||||
/>
|
||||
@@ -61,7 +60,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('extras.key.label')}
|
||||
placeholder={t('extras.key.placeholder')}
|
||||
placeholder="Date of Birth"
|
||||
value={item.key}
|
||||
onChange={v => onChange(`${identifier}key`, v)}
|
||||
/>
|
||||
@@ -69,7 +68,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('extras.value.label')}
|
||||
placeholder={t('extras.value.placeholder')}
|
||||
placeholder="6th August 1995"
|
||||
value={item.value}
|
||||
onChange={v => onChange(`${identifier}value`, v)}
|
||||
/>
|
||||
|
||||
@@ -13,7 +13,6 @@ import AddItemButton from '../../../shared/AddItemButton';
|
||||
import ItemHeading from '../../../shared/ItemHeading';
|
||||
|
||||
const LanguagesTab = ({ data, onChange }) => {
|
||||
const { t } = useTranslation('app');
|
||||
const context = useContext(AppContext);
|
||||
const { dispatch } = context;
|
||||
|
||||
@@ -47,7 +46,7 @@ const LanguagesTab = ({ data, onChange }) => {
|
||||
</div>
|
||||
<div className="col-span-5">
|
||||
<TextField
|
||||
placeholder={t('heading.placeholder')}
|
||||
placeholder="Heading"
|
||||
value={data.languages.heading}
|
||||
onChange={v => onChange('data.languages.heading', v)}
|
||||
/>
|
||||
@@ -82,7 +81,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('languages.key.label')}
|
||||
placeholder={t('languages.key.placeholder')}
|
||||
placeholder="English"
|
||||
value={item.key}
|
||||
onChange={v => onChange(`${identifier}key`, v)}
|
||||
/>
|
||||
|
||||
@@ -6,7 +6,7 @@ import TextField from '../../../shared/TextField';
|
||||
import Checkbox from '../../../shared/Checkbox';
|
||||
|
||||
const ObjectiveTab = ({ data, onChange }) => {
|
||||
const { t } = useTranslation(['leftSidebar', 'app']);
|
||||
const { t } = useTranslation('leftSidebar');
|
||||
|
||||
return (
|
||||
<div>
|
||||
@@ -19,7 +19,7 @@ const ObjectiveTab = ({ data, onChange }) => {
|
||||
</div>
|
||||
<div className="col-span-5">
|
||||
<TextField
|
||||
placeholder={t('app:heading.placeholder')}
|
||||
placeholder="Heading"
|
||||
value={data.objective.heading}
|
||||
onChange={v => onChange('data.objective.heading', v)}
|
||||
/>
|
||||
@@ -32,8 +32,8 @@ const ObjectiveTab = ({ data, onChange }) => {
|
||||
rows="15"
|
||||
className="mb-4"
|
||||
label={t('objective.objective.label')}
|
||||
placeholder={t('objective.objective.placeholder')}
|
||||
value={data.objective.body}
|
||||
placeholder="Looking for a challenging role in a reputable organization to utilize my technical, database, and management skills for the growth of the organization as well as to enhance my knowledge about new and emerging trends in the IT sector."
|
||||
onChange={v => onChange('data.objective.body', v)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -20,7 +20,7 @@ const ProfileTab = ({ data, onChange }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('profile.firstName.label')}
|
||||
placeholder={t('profile.firstName.placeholder')}
|
||||
placeholder="Jane"
|
||||
value={data.profile.firstName}
|
||||
onChange={v => onChange('data.profile.firstName', v)}
|
||||
/>
|
||||
@@ -28,7 +28,7 @@ const ProfileTab = ({ data, onChange }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('profile.lastName.label')}
|
||||
placeholder={t('profile.lastName.placeholder')}
|
||||
placeholder="Doe"
|
||||
value={data.profile.lastName}
|
||||
onChange={v => onChange('data.profile.lastName', v)}
|
||||
/>
|
||||
@@ -37,7 +37,7 @@ const ProfileTab = ({ data, onChange }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('profile.subtitle.label')}
|
||||
placeholder={t('profile.subtitle.placeholder')}
|
||||
placeholder="Full-Stack Web Developer"
|
||||
value={data.profile.subtitle}
|
||||
onChange={v => onChange('data.profile.subtitle', v)}
|
||||
/>
|
||||
@@ -47,7 +47,7 @@ const ProfileTab = ({ data, onChange }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('profile.address.line1.label')}
|
||||
placeholder={t('profile.address.line1.placeholder')}
|
||||
placeholder="Palladium Complex"
|
||||
value={data.profile.address.line1}
|
||||
onChange={v => onChange('data.profile.address.line1', v)}
|
||||
/>
|
||||
@@ -55,7 +55,7 @@ const ProfileTab = ({ data, onChange }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('profile.address.line2.label')}
|
||||
placeholder={t('profile.address.line2.placeholder')}
|
||||
placeholder="140 E 14th St"
|
||||
value={data.profile.address.line2}
|
||||
onChange={v => onChange('data.profile.address.line2', v)}
|
||||
/>
|
||||
@@ -63,7 +63,7 @@ const ProfileTab = ({ data, onChange }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('profile.address.line3.label')}
|
||||
placeholder={t('profile.address.line3.placeholder')}
|
||||
placeholder="New York, NY 10003 USA"
|
||||
value={data.profile.address.line3}
|
||||
onChange={v => onChange('data.profile.address.line3', v)}
|
||||
/>
|
||||
@@ -81,7 +81,7 @@ const ProfileTab = ({ data, onChange }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('profile.website.label')}
|
||||
placeholder="google.com"
|
||||
placeholder="janedoe.me"
|
||||
value={data.profile.website}
|
||||
onChange={v => onChange('data.profile.website', v)}
|
||||
/>
|
||||
@@ -89,7 +89,7 @@ const ProfileTab = ({ data, onChange }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('profile.email.label')}
|
||||
placeholder="john.doe@example.com"
|
||||
placeholder="jane.doe@example.com"
|
||||
value={data.profile.email}
|
||||
onChange={v => onChange('data.profile.email', v)}
|
||||
/>
|
||||
|
||||
@@ -13,7 +13,6 @@ import ItemHeading from '../../../shared/ItemHeading';
|
||||
import AddItemButton from '../../../shared/AddItemButton';
|
||||
|
||||
const ReferencesTab = ({ data, onChange }) => {
|
||||
const { t } = useTranslation();
|
||||
const context = useContext(AppContext);
|
||||
const { dispatch } = context;
|
||||
|
||||
@@ -47,7 +46,7 @@ const ReferencesTab = ({ data, onChange }) => {
|
||||
</div>
|
||||
<div className="col-span-5">
|
||||
<TextField
|
||||
placeholder={t('heading.placeholder')}
|
||||
placeholder="Heading"
|
||||
value={data.references.heading}
|
||||
onChange={v => onChange('data.references.heading', v)}
|
||||
/>
|
||||
@@ -82,7 +81,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('references.name.label')}
|
||||
placeholder={t('references.name.placeholder')}
|
||||
placeholder="Richard Hendricks"
|
||||
value={item.name}
|
||||
onChange={v => onChange(`${identifier}name`, v)}
|
||||
/>
|
||||
@@ -90,7 +89,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('references.position.label')}
|
||||
placeholder={t('references.position.placeholder')}
|
||||
placeholder="CEO, Pied Piper"
|
||||
value={item.position}
|
||||
onChange={v => onChange(`${identifier}position`, v)}
|
||||
/>
|
||||
@@ -115,7 +114,6 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
rows="5"
|
||||
className="mb-6"
|
||||
label={t('app:item.description.label')}
|
||||
placeholder={t('references.description.placeholder')}
|
||||
value={item.description}
|
||||
onChange={v => onChange(`${identifier}description`, v)}
|
||||
/>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import React, { useState, useContext } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import AppContext from '../../../context/AppContext';
|
||||
import Checkbox from '../../../shared/Checkbox';
|
||||
@@ -8,7 +7,6 @@ import { addItem, deleteItem } from '../../../utils';
|
||||
import ItemHeading from '../../../shared/ItemHeading';
|
||||
|
||||
const SkillsTab = ({ data, onChange }) => {
|
||||
const { t } = useTranslation();
|
||||
const context = useContext(AppContext);
|
||||
const { dispatch } = context;
|
||||
|
||||
@@ -23,7 +21,7 @@ const SkillsTab = ({ data, onChange }) => {
|
||||
</div>
|
||||
<div className="col-span-5">
|
||||
<TextField
|
||||
placeholder={t('heading.placeholder')}
|
||||
placeholder="Heading"
|
||||
value={data.skills.heading}
|
||||
onChange={v => onChange('data.skills.heading', v)}
|
||||
/>
|
||||
@@ -42,12 +40,10 @@ const SkillsTab = ({ data, onChange }) => {
|
||||
};
|
||||
|
||||
const Form = ({ item, onChange }) => {
|
||||
const { t } = useTranslation('leftSidebar');
|
||||
|
||||
return (
|
||||
<input
|
||||
className="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500"
|
||||
placeholder={t('skills.item.placeholder')}
|
||||
placeholder="Team Building & Training"
|
||||
value={item}
|
||||
onChange={e => onChange(e.target.value)}
|
||||
type="text"
|
||||
|
||||
@@ -13,7 +13,6 @@ import AddItemButton from '../../../shared/AddItemButton';
|
||||
import ItemHeading from '../../../shared/ItemHeading';
|
||||
|
||||
const WorkTab = ({ data, onChange }) => {
|
||||
const { t } = useTranslation();
|
||||
const context = useContext(AppContext);
|
||||
const { dispatch } = context;
|
||||
|
||||
@@ -25,7 +24,7 @@ const WorkTab = ({ data, onChange }) => {
|
||||
</div>
|
||||
<div className="col-span-5">
|
||||
<TextField
|
||||
placeholder={t('heading.placeholder')}
|
||||
placeholder="Heading"
|
||||
value={data.work.heading}
|
||||
onChange={v => onChange('data.work.heading', v)}
|
||||
/>
|
||||
@@ -59,7 +58,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('work.name.label')}
|
||||
placeholder={t('work.name.placeholder')}
|
||||
placeholder="Amazon"
|
||||
value={item.title}
|
||||
onChange={v => onChange(`${identifier}title`, v)}
|
||||
/>
|
||||
@@ -67,7 +66,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('work.role.label')}
|
||||
placeholder={t('work.role.placeholder')}
|
||||
placeholder="Full-Stack Web Developer"
|
||||
value={item.role}
|
||||
onChange={v => onChange(`${identifier}role`, v)}
|
||||
/>
|
||||
@@ -76,7 +75,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('app:item.startDate.label')}
|
||||
placeholder={t('app:item.startDate.placeholder')}
|
||||
placeholder="March 2018"
|
||||
value={item.start}
|
||||
onChange={v => onChange(`${identifier}start`, v)}
|
||||
/>
|
||||
@@ -84,7 +83,7 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
<TextField
|
||||
className="mb-6"
|
||||
label={t('app:item.endDate.label')}
|
||||
placeholder={t('app:item.endDate.placeholder')}
|
||||
placeholder="June 2022"
|
||||
value={item.end}
|
||||
onChange={v => onChange(`${identifier}end`, v)}
|
||||
/>
|
||||
@@ -94,7 +93,6 @@ const Form = ({ item, onChange, identifier = '' }) => {
|
||||
rows="5"
|
||||
className="mb-6"
|
||||
label={t('app:item.description.label')}
|
||||
placeholder={t('work.description.placeholder')}
|
||||
value={item.description}
|
||||
onChange={v => onChange(`${identifier}description`, v)}
|
||||
/>
|
||||
|
||||
@@ -101,7 +101,7 @@ const AboutTab = () => {
|
||||
<div className="mt-5">
|
||||
<p className="text-xs font-gray-600 text-center">
|
||||
<Trans t={t} i18nKey="about.footer.credit">
|
||||
Reactive Resume is a project by
|
||||
Made with Love by
|
||||
<a
|
||||
className="font-bold hover:underline"
|
||||
href="https://www.amruthpillai.com/"
|
||||
@@ -110,7 +110,6 @@ const AboutTab = () => {
|
||||
>
|
||||
Amruth Pillai
|
||||
</a>
|
||||
.
|
||||
</Trans>
|
||||
</p>
|
||||
<p className="text-xs font-gray-600 text-center">{t('about.footer.thanks')}</p>
|
||||
|
||||
@@ -2,60 +2,17 @@
|
||||
/* eslint-disable jsx-a11y/anchor-has-content */
|
||||
/* eslint-disable jsx-a11y/anchor-is-valid */
|
||||
import React, { useRef, useContext } from 'react';
|
||||
import { useTranslation, Trans } from 'react-i18next';
|
||||
import html2canvas from 'html2canvas';
|
||||
import * as jsPDF from 'jspdf';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import PageContext from '../../../context/PageContext';
|
||||
import { importJson, saveAsPdf } from '../../../utils';
|
||||
|
||||
const ActionsTab = ({ data, theme, dispatch }) => {
|
||||
const pageContext = useContext(PageContext);
|
||||
const { pageElement } = pageContext;
|
||||
const { pageRef, panZoomRef } = pageContext;
|
||||
const { t } = useTranslation('rightSidebar');
|
||||
const fileInputRef = useRef(null);
|
||||
|
||||
const importJson = event => {
|
||||
const fr = new FileReader();
|
||||
fr.addEventListener('load', () => {
|
||||
const importedObject = JSON.parse(fr.result);
|
||||
dispatch({ type: 'import_data', payload: importedObject });
|
||||
dispatch({ type: 'save_data' });
|
||||
});
|
||||
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))}`;
|
||||
@@ -86,7 +43,12 @@ const ActionsTab = ({ data, theme, dispatch }) => {
|
||||
|
||||
<p className="text-sm">{t('actions.importExport.body')}</p>
|
||||
|
||||
<input ref={fileInputRef} type="file" className="hidden" onChange={importJson} />
|
||||
<input
|
||||
ref={fileInputRef}
|
||||
type="file"
|
||||
className="hidden"
|
||||
onChange={e => importJson(e, dispatch)}
|
||||
/>
|
||||
<a id="downloadAnchor" className="hidden" />
|
||||
|
||||
<div className="mt-4 grid grid-cols-2 col-gap-6">
|
||||
@@ -117,39 +79,19 @@ const ActionsTab = ({ data, theme, dispatch }) => {
|
||||
<hr className="my-6" />
|
||||
|
||||
<div className="shadow text-center p-5">
|
||||
<h6 className="font-bold text-sm mb-2">{t('actions.printResume.heading')}</h6>
|
||||
<h6 className="font-bold text-sm mb-2">{t('actions.downloadResume.heading')}</h6>
|
||||
<div className="text-sm">{t('actions.downloadResume.body')}</div>
|
||||
|
||||
<div className="text-sm">
|
||||
<Trans t={t} i18nKey="actions.printResume.body">
|
||||
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>
|
||||
|
||||
<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>
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => saveAsPdf(pageRef, panZoomRef)}
|
||||
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">save</i>
|
||||
<span className="text-sm">{t('actions.downloadResume.buttons.saveAsPdf')}</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<hr className="my-6" />
|
||||
|
||||
@@ -4,12 +4,16 @@ const PageContext = React.createContext(null);
|
||||
const { Provider } = PageContext;
|
||||
|
||||
const StateProvider = ({ children }) => {
|
||||
const [pageElement, setPageElement] = useState(null);
|
||||
const [panZoomRef, setPanZoomRef] = useState(null);
|
||||
const [pageRef, setPageRef] = useState(null);
|
||||
|
||||
return (
|
||||
<Provider
|
||||
value={{
|
||||
pageElement,
|
||||
setPageElement,
|
||||
pageRef,
|
||||
setPageRef,
|
||||
panZoomRef,
|
||||
setPanZoomRef,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"heading": {
|
||||
"placeholder": "Überschrift"
|
||||
},
|
||||
"item": {
|
||||
"add": "{{- heading}} hinzufügen",
|
||||
"startDate": {
|
||||
"label": "Startdatum",
|
||||
"placeholder": "März 2018"
|
||||
"label": "Startdatum"
|
||||
},
|
||||
"endDate": {
|
||||
"label": "Enddatum",
|
||||
"placeholder": "März 2022"
|
||||
"label": "Enddatum"
|
||||
},
|
||||
"description": {
|
||||
"label": "Beschreibung"
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Titel",
|
||||
"placeholder": "Mathematik & Wissenschaft Olympiade"
|
||||
"label": "Titel"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Untertitel",
|
||||
"placeholder": "Erster Platz, internationales Niveau"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Du kannst darüber schreiben, welche Eigenschaften dich zum Erreichen dieser Auszeichnung geführt haben."
|
||||
"label": "Untertitel"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"objective": {
|
||||
"label": "Ziel",
|
||||
"placeholder": "Auf der Suche nach einer herausfordernden Stelle in einem angesehenen Betrieb, mit der ich meine technischen-, Datenbank- und Management-Skills für Wissenssteigerung im IT-Sektor beweisen kann."
|
||||
"label": "Ziel"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"heading": {
|
||||
"placeholder": "Heading"
|
||||
},
|
||||
"item": {
|
||||
"add": "Add {{- heading}}",
|
||||
"startDate": {
|
||||
"label": "Start Date",
|
||||
"placeholder": "March 2018"
|
||||
"label": "Start Date"
|
||||
},
|
||||
"endDate": {
|
||||
"label": "End Date",
|
||||
"placeholder": "March 2022"
|
||||
"label": "End Date"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Title",
|
||||
"placeholder": "Math & Science Olympiad"
|
||||
"label": "Title"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Subtitle",
|
||||
"placeholder": "First Place, International Level"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what qualities made you succeed in getting this award."
|
||||
"label": "Subtitle"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Title",
|
||||
"placeholder": "Android Development Nanodegree"
|
||||
"label": "Name"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Subtitle",
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
"label": "Authority"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Harvard University"
|
||||
"label": "Name"
|
||||
},
|
||||
"major": {
|
||||
"label": "Major",
|
||||
"placeholder": "Masters in Computer Science"
|
||||
"label": "Major"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Grade"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about projects or special credit classes that you took while studying at this school."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "Key",
|
||||
"placeholder": "Date of Birth"
|
||||
"label": "Key"
|
||||
},
|
||||
"value": {
|
||||
"label": "Value",
|
||||
"placeholder": "6th August 1995"
|
||||
"label": "Value"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "Key",
|
||||
"placeholder": "Dothraki"
|
||||
"label": "Name"
|
||||
},
|
||||
"rating": {
|
||||
"label": "Rating"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"objective": {
|
||||
"label": "Objective",
|
||||
"placeholder": "Looking for a challenging role in a reputable organization to utilize my technical, database, and management skills for the growth of the organization as well as to enhance my knowledge about new and emerging trends in the IT sector."
|
||||
"label": "Objective"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,29 +3,24 @@
|
||||
"label": "Photo URL"
|
||||
},
|
||||
"firstName": {
|
||||
"label": "First Name",
|
||||
"placeholder": "Jane"
|
||||
"label": "First Name"
|
||||
},
|
||||
"lastName": {
|
||||
"label": "Last Name",
|
||||
"placeholder": "Doe"
|
||||
"label": "Last Name"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Subtitle",
|
||||
"placeholder": "Full Stack Web Developer"
|
||||
"label": "Subtitle"
|
||||
},
|
||||
"address": {
|
||||
"label": "Address",
|
||||
"line1": {
|
||||
"label": "Address Line 1",
|
||||
"placeholder": "Palladium Complex"
|
||||
"label": "Address Line 1"
|
||||
},
|
||||
"line2": {
|
||||
"label": "Address Line 2",
|
||||
"placeholder": "140 E 14th St"
|
||||
"label": "Address Line 2"
|
||||
},
|
||||
"line3": {
|
||||
"label": "Address Line 3",
|
||||
"placeholder": "New York, NY 10003 USA"
|
||||
"label": "Address Line 3"
|
||||
}
|
||||
},
|
||||
"phone": {
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Richard Hendricks"
|
||||
"label": "Name"
|
||||
},
|
||||
"position": {
|
||||
"label": "Position",
|
||||
"placeholder": "CEO, Pied Piper"
|
||||
"label": "Position"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Phone Number"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email Address"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about how you and the reference contact worked together and which projects you were a part of."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon"
|
||||
"label": "Name"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
"placeholder": "Front-end Web Developer"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you specialized in while working at the company and what projects you were a part of."
|
||||
"label": "Role"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"title": "About",
|
||||
"documentation": {
|
||||
"heading": "Documentation",
|
||||
"body": "Want to know more about the app? Wouldn't it be nice if there was a guide to setting it up on your local machine? Need information on how to contribute to the project? Look no further, there's comprehensive documentation made just for you.",
|
||||
"body": "Want to know more about the app? Need information on how to contribute to the project? Look no further, there's a comprehensive guide made just for you.",
|
||||
"buttons": {
|
||||
"documentation": "Documentation"
|
||||
}
|
||||
@@ -30,7 +30,7 @@
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Reactive Resume is a project by <1>Amruth Pillai</1>.",
|
||||
"credit": "Made with Love by <1>Amruth Pillai</1>",
|
||||
"thanks": "Thank you for using Reactive Resume!"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,12 +9,11 @@
|
||||
"export": "Export"
|
||||
}
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"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.",
|
||||
"downloadResume": {
|
||||
"heading": "Download Your Resume",
|
||||
"body": "You can click on the button below to download a PDF version of your resume instantly. For best results, please use the latest version of Google Chrome.",
|
||||
"buttons": {
|
||||
"export": "Export",
|
||||
"print": "Print"
|
||||
"saveAsPdf": "Save as PDF"
|
||||
}
|
||||
},
|
||||
"loadDemoData": {
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
"title": "Colors",
|
||||
"colorOptions": "Color Options",
|
||||
"primaryColor": "Primary Color",
|
||||
"accentColor": "Accent Color",
|
||||
"accentColor": "Secondary Color",
|
||||
"clipboardCopyAction": "{{color}} has been copied to the clipboard."
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"heading": {
|
||||
"placeholder": "Título"
|
||||
},
|
||||
"item": {
|
||||
"add": "Agregar {{- heading}}",
|
||||
"startDate": {
|
||||
"label": "Fecha de inicio",
|
||||
"placeholder": "Marzo 2018"
|
||||
"label": "Fecha de inicio"
|
||||
},
|
||||
"endDate": {
|
||||
"label": "Fecha Final",
|
||||
"placeholder": "Marzo 2022"
|
||||
"label": "Fecha Final"
|
||||
},
|
||||
"description": {
|
||||
"label": "Descripción"
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Título",
|
||||
"placeholder": "Olimpiadas de Matemáticas y Ciencia"
|
||||
"label": "Título"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Subtítulo",
|
||||
"placeholder": "Primer lugar, Nivel internacional"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Puedes escribir sobre las cualidades que te hicieron tener éxito en obtener este premio."
|
||||
"label": "Subtítulo"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Nombre",
|
||||
"placeholder": "Universidad de Harvard"
|
||||
"label": "Nombre"
|
||||
},
|
||||
"major": {
|
||||
"label": "Carrera",
|
||||
"placeholder": "Maestría en Ciencias de la Computación"
|
||||
"label": "Carrera"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Calificación"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Puede escribir sobre los proyectos o créditos especiales que tomó mientras estudió en este lugar."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "Clave",
|
||||
"placeholder": "Fecha de nacimiento"
|
||||
"label": "Clave"
|
||||
},
|
||||
"value": {
|
||||
"label": "Valor",
|
||||
"placeholder": "6 de agosto de 1995"
|
||||
"label": "Valor"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"objective": {
|
||||
"label": "Objetivo",
|
||||
"placeholder": "Buscando un rol desafiante en una organización con buena reputación para utilizar mis habilidades técnicas, en base de datos y habilidades de gestión para el crecimiento de la organización, así como para mejorar mis conocimientos sobre las nuevas y emergentes tendencias en el sector de las TI."
|
||||
"label": "Objetivo"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Nombre",
|
||||
"placeholder": "Richard Hendricks"
|
||||
"label": "Nombre"
|
||||
},
|
||||
"position": {
|
||||
"label": "Puesto de trabajo",
|
||||
"placeholder": "CEO, Pied Piper"
|
||||
"label": "Puesto de trabajo"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Número de teléfono"
|
||||
},
|
||||
"email": {
|
||||
"label": "Dirección de correo electrónico"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Puede escribir sobre cómo usted y el contacto de referencia trabajaron juntos y de qué proyectos formó parte."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Nombre",
|
||||
"placeholder": "Amazon"
|
||||
"label": "Nombre"
|
||||
},
|
||||
"role": {
|
||||
"label": "Puesto",
|
||||
"placeholder": "Desarrollador Web Front-end"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Puedes escribir sobre lo que te especializaste mientras trabajabas en la empresa y de los proyectos de los que formaste parte."
|
||||
"label": "Puesto"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"heading": {
|
||||
"placeholder": "Titre"
|
||||
},
|
||||
"item": {
|
||||
"add": "Ajouter {{- heading}}",
|
||||
"startDate": {
|
||||
"label": "Date de début",
|
||||
"placeholder": "Mars 2018"
|
||||
"label": "Date de début"
|
||||
},
|
||||
"endDate": {
|
||||
"label": "Date de fin",
|
||||
"placeholder": "Mars 2022"
|
||||
"label": "Date de fin"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Titre",
|
||||
"placeholder": "Olympiade de mathématiques et de sciences"
|
||||
"label": "Titre"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Sous-titre",
|
||||
"placeholder": "Première place, niveau international"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Vous pouvez écrire sur les qualités qui vous ont permis de gagner ce prix."
|
||||
"label": "Sous-titre"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Titre",
|
||||
"placeholder": "Développement Android Nanodegree"
|
||||
"label": "Nom"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Sous-titre",
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Vous pouvez écrire sur ce que vous avez appris de votre programme de certification."
|
||||
"label": "Autorité"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Nom",
|
||||
"placeholder": "Université de Harvard"
|
||||
"label": "Nom"
|
||||
},
|
||||
"major": {
|
||||
"label": "Spécialité",
|
||||
"placeholder": "Maîtrise en Informatique"
|
||||
"label": "Spécialité"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Note"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Vous pouvez écrire sur des projets ou des cours de crédit spéciaux que vous avez pris pendant vos études à cette école."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "Clé",
|
||||
"placeholder": "Date de naissance"
|
||||
"label": "Clé"
|
||||
},
|
||||
"value": {
|
||||
"label": "Valeur",
|
||||
"placeholder": "6 août 1995"
|
||||
"label": "Valeur"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "Langue",
|
||||
"placeholder": "Allemande"
|
||||
"label": "Nom"
|
||||
},
|
||||
"rating": {
|
||||
"label": "Évaluation"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"objective": {
|
||||
"label": "Objectif",
|
||||
"placeholder": "Je cherche un poste plein de challenges dans une entreprise réputé afin d'utilisé mes compétences en base de donnée et en management pour participer à la croissance de l'entreprise tout en développant mes connaissances sur les nouvelles tendances du secteur."
|
||||
"label": "Objectif"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,29 +3,24 @@
|
||||
"label": "URL de la photo"
|
||||
},
|
||||
"firstName": {
|
||||
"label": "Prénom",
|
||||
"placeholder": "Jeanne"
|
||||
"label": "Prénom"
|
||||
},
|
||||
"lastName": {
|
||||
"label": "Nom",
|
||||
"placeholder": "Dupont"
|
||||
"label": "Nom"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Sous-titre",
|
||||
"placeholder": "Développeur Web Full Stack"
|
||||
"label": "Sous-titre"
|
||||
},
|
||||
"address": {
|
||||
"label": "Addresse",
|
||||
"line1": {
|
||||
"label": "Adresse ligne 1",
|
||||
"placeholder": "Complexe de Palladium"
|
||||
"label": "Adresse ligne 1"
|
||||
},
|
||||
"line2": {
|
||||
"label": "Adresse ligne 2",
|
||||
"placeholder": "140 rue de la Paix"
|
||||
"label": "Adresse ligne 2"
|
||||
},
|
||||
"line3": {
|
||||
"label": "Adresse ligne 3",
|
||||
"placeholder": "New York, NY 10003 États-Unis"
|
||||
"label": "Adresse ligne 3"
|
||||
}
|
||||
},
|
||||
"phone": {
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Nom",
|
||||
"placeholder": "Jean Martin"
|
||||
"label": "Nom"
|
||||
},
|
||||
"position": {
|
||||
"label": "Poste",
|
||||
"placeholder": "PDG, Pied Piper"
|
||||
"label": "Poste"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Numéro de téléphone"
|
||||
},
|
||||
"email": {
|
||||
"label": "Adresse e-mail"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Vous pouvez écrire sur la façon dont vous et votre référence avez travaillé ensemble et sur les projets que vous avez mené."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Nom",
|
||||
"placeholder": "Amazon"
|
||||
"label": "Nom"
|
||||
},
|
||||
"role": {
|
||||
"label": "Rôle",
|
||||
"placeholder": "Développeur Front-end"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "Vous pouvez écrire sur les compétences que vous avez acquises en travaillant au sein de l'entreprise et sur quels projets vous étiez impliqués."
|
||||
"label": "Rôle"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"title": "À propos",
|
||||
"documentation": {
|
||||
"heading": "Documentation",
|
||||
"body": "Vous voulez en savoir plus sur l'application ? Ca serait pas génial s'il y avait un guide pour l'installer sur votre machine locale ? Besoin d'informations sur la façon de contribuer au projet ? Ne regardez pas plus loin, il y a une documentation faite juste pour vous.",
|
||||
"body": "Vous voulez en savoir plus sur l'application? Besoin d'informations sur la manière de contribuer au projet? Ne cherchez plus, un guide complet est fait pour vous.",
|
||||
"buttons": {
|
||||
"documentation": "Documentation"
|
||||
}
|
||||
@@ -30,7 +30,7 @@
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Reactive Resume est de project de <1>Amruth Pillai</1>.",
|
||||
"credit": "Fabriqué avec amour par <1>Amruth Pillai</1>",
|
||||
"thanks": "Merci d'utiliser Reactive Resume!"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,12 +9,11 @@
|
||||
"export": "Exporter"
|
||||
}
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Imprimer votre CV",
|
||||
"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.",
|
||||
"downloadResume": {
|
||||
"heading": "Téléchargez votre CV",
|
||||
"body": "Vous pouvez cliquer sur le bouton ci-dessous pour télécharger instantanément une version PDF de votre CV. Pour de meilleurs résultats, veuillez utiliser la dernière version de Google Chrome.",
|
||||
"buttons": {
|
||||
"export": "Exporter",
|
||||
"print": "Imprimer"
|
||||
"saveAsPdf": "Enregistrer en PDF"
|
||||
}
|
||||
},
|
||||
"loadDemoData": {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"title": "Couleurs",
|
||||
"colorOptions": "Options de couleurs",
|
||||
"primaryColor": "Couleur principale",
|
||||
"accentColor": "Couleur secondaire",
|
||||
"primaryColor": "Couleur Principale",
|
||||
"accentColor": "Couleur Secondaire",
|
||||
"clipboardCopyAction": "La couleur {{color}} a été copié dans le presse-papiers."
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"heading": {
|
||||
"placeholder": "शीर्षक"
|
||||
},
|
||||
"item": {
|
||||
"add": "{{- heading}} जोड़ें",
|
||||
"startDate": {
|
||||
"label": "प्रारंभ तिथि",
|
||||
"placeholder": "मार्च 2018"
|
||||
"label": "प्रारंभ तिथि"
|
||||
},
|
||||
"endDate": {
|
||||
"label": "अंतिम तिथि",
|
||||
"placeholder": "मार्च 2022"
|
||||
"label": "अंतिम तिथि"
|
||||
},
|
||||
"description": {
|
||||
"label": "विवरण"
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "शीर्षक",
|
||||
"placeholder": "गणित और विज्ञान ओलंपियाड"
|
||||
"label": "शीर्षक"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "उपशीर्षक",
|
||||
"placeholder": "पहला स्थान, अंतर्राष्ट्रीय"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "आप इस बारे में लिख सकते हैं कि आपको यह पुरस्कार किन गुणों से मिला है।"
|
||||
"label": "उपशीर्षक"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "शीर्षक",
|
||||
"placeholder": "Android डेवलपमेंट ननोडिग्री"
|
||||
"label": "नाम"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "उपशीर्षक",
|
||||
"placeholder": "उदासिटी"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "आप अपने प्रमाणन कार्यक्रम से जो कुछ भी सीख सकते हैं, उसके बारे में लिख सकते हैं।"
|
||||
"label": "अधिकार"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "नाम",
|
||||
"placeholder": "दिल्ली विश्वविद्यालय"
|
||||
"label": "नाम"
|
||||
},
|
||||
"major": {
|
||||
"label": "विषय",
|
||||
"placeholder": "कंप्यूटर विज्ञान में परास्नातक"
|
||||
"label": "विषय"
|
||||
},
|
||||
"grade": {
|
||||
"label": "ग्रेड"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "आप उन परियोजनाओं या विशेष क्रेडिट कक्षाओं के बारे में लिख सकते हैं, जिन्हें आपने इस स्कूल में पढ़ते समय लिया था।"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "मौलिक",
|
||||
"placeholder": "जन्म तिथि"
|
||||
"label": "मौलिक"
|
||||
},
|
||||
"value": {
|
||||
"label": "मूल्य",
|
||||
"placeholder": "6 अगस्त 1995"
|
||||
"label": "मूल्य"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "मौलिक",
|
||||
"placeholder": "पंजाबी"
|
||||
"label": "नाम"
|
||||
},
|
||||
"rating": {
|
||||
"label": "रेटिंग"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"objective": {
|
||||
"label": "लक्ष्य",
|
||||
"placeholder": "संगठन के विकास के साथ-साथ आईटी क्षेत्र में नए और उभरते रुझानों के बारे में अपने ज्ञान को बढ़ाने के लिए मेरे तकनीकी, डेटाबेस और प्रबंधन कौशल का उपयोग करने के लिए एक प्रतिष्ठित संगठन में एक चुनौतीपूर्ण भूमिका की तलाश है।"
|
||||
"label": "लक्ष्य"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,29 +3,24 @@
|
||||
"label": "फोटो लिंक"
|
||||
},
|
||||
"firstName": {
|
||||
"label": "पहला नाम",
|
||||
"placeholder": "दिलीप"
|
||||
"label": "पहला नाम"
|
||||
},
|
||||
"lastName": {
|
||||
"label": "उपनाम",
|
||||
"placeholder": "शर्मा"
|
||||
"label": "उपनाम"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "उपशीर्षक",
|
||||
"placeholder": "फुल स्टैक वेब डेवलपर"
|
||||
"label": "उपशीर्षक"
|
||||
},
|
||||
"address": {
|
||||
"label": "पता",
|
||||
"line1": {
|
||||
"label": "पता पंक्ति 1",
|
||||
"placeholder": "A-272"
|
||||
"label": "पता पंक्ति 1"
|
||||
},
|
||||
"line2": {
|
||||
"label": "पता पंक्ति 2",
|
||||
"placeholder": "डिफेंस कॉलोनी"
|
||||
"label": "पता पंक्ति 2"
|
||||
},
|
||||
"line3": {
|
||||
"label": "पता पंक्ति 3",
|
||||
"placeholder": "दिल्ली, 110024 भारत"
|
||||
"label": "पता पंक्ति 3"
|
||||
}
|
||||
},
|
||||
"phone": {
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "नाम",
|
||||
"placeholder": "रिचर्ड हेंड्रिक्स"
|
||||
"label": "नाम"
|
||||
},
|
||||
"position": {
|
||||
"label": "पद/स्थान",
|
||||
"placeholder": "सी ई ओ, Pied Piper"
|
||||
"label": "पद/स्थान"
|
||||
},
|
||||
"phone": {
|
||||
"label": "फोन नंबर"
|
||||
},
|
||||
"email": {
|
||||
"label": "ईमेल पता"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "आप इस बारे में लिख सकते हैं कि आपने और संपर्क ने परियोजना पर एक साथ कैसे काम किया।"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "नाम",
|
||||
"placeholder": "अमेज़ॅन"
|
||||
"label": "नाम"
|
||||
},
|
||||
"role": {
|
||||
"label": "भूमिका",
|
||||
"placeholder": "फुल स्टैक वेब डेवलपर"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "आप कंपनी में काम करने के दौरान आपके द्वारा बताई गई चीजों के बारे में लिख सकते हैं और आप किस परियोजना का हिस्सा थे।"
|
||||
"label": "भूमिका"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"title": "हमारे बारे में",
|
||||
"documentation": {
|
||||
"heading": "प्रलेखन",
|
||||
"body": "एप्लिकेशन के बारे में अधिक जानना चाहते हैं? क्या यह अच्छा नहीं होगा अगर आपके स्थानीय मशीन पर इसे स्थापित करने के लिए एक गाइड था? परियोजना में योगदान करने के बारे में जानकारी चाहिए? आगे नहीं देखो, वहाँ व्यापक प्रलेखन सिर्फ तुम्हारे लिए बनाया गया है।",
|
||||
"body": "एप्लिकेशन के बारे में अधिक जानना चाहते हैं? ऐप में योगदान करने के बारे में जानकारी चाहिए? आगे नहीं, बस आपके लिए एक व्यापक गाइड बनाया गया है।",
|
||||
"buttons": {
|
||||
"documentation": "प्रलेखन"
|
||||
}
|
||||
@@ -30,7 +30,7 @@
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "रिएक्टिव रिज्यूमे <1>Amruth Pillai<1> की एक परियोजना है।",
|
||||
"credit": "<1>अमृत पिल्लई</1> द्वारा प्यार से बनाया गया",
|
||||
"thanks": "रिएक्टिव रिज्यूमे का उपयोग करने के लिए धन्यवाद"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,12 +9,11 @@
|
||||
"export": "निर्यात"
|
||||
}
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "अपना बायोडाटा प्रिंट करें",
|
||||
"body": "आप तुरंत एक पीडीएफ उत्पन्न करने के लिए नीचे दिए गए बटन पर क्लिक कर सकते हैं। इसके अलावा, आप <1>Cmd/Ctrl + P</1> का भी उपयोग कर सकते हैं, लेकिन इसके अलग-अलग प्रभाव होंगे।",
|
||||
"downloadResume": {
|
||||
"heading": "अपना रिज्यूमे डाउनलोड करें",
|
||||
"body": "आप अपने रेज़्यूमे का पीडीएफ तुरंत डाउनलोड करने के लिए नीचे दिए गए बटन पर क्लिक कर सकते हैं। सर्वोत्तम परिणामों के लिए, कृपया नवीनतम Google Chrome का उपयोग करें।",
|
||||
"buttons": {
|
||||
"export": "निर्यात",
|
||||
"print": "प्रिंट"
|
||||
"saveAsPdf": "डाउनलोड पीडीऍफ़"
|
||||
}
|
||||
},
|
||||
"loadDemoData": {
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"heading": {
|
||||
"placeholder": "ತಲೆಬರಹ"
|
||||
},
|
||||
"item": {
|
||||
"add": "{{- heading}} ಸೇರಿಸಿ",
|
||||
"startDate": {
|
||||
"label": "ಪ್ರಾರಂಭ ದಿನಾಂಕ",
|
||||
"placeholder": "ಮಾರ್ಚ್ 2018"
|
||||
"label": "ಪ್ರಾರಂಭ ದಿನಾಂಕ"
|
||||
},
|
||||
"endDate": {
|
||||
"label": "ಅಂತಿಮ ದಿನಾಂಕ",
|
||||
"placeholder": "ಮಾರ್ಚ್ 2022"
|
||||
"label": "ಅಂತಿಮ ದಿನಾಂಕ"
|
||||
},
|
||||
"description": {
|
||||
"label": "ವಿವರಣೆ"
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "ಶೀರ್ಷಿಕೆ",
|
||||
"placeholder": "ಗಣಿತ ಮತ್ತು ವಿಜ್ಞಾನ ಒಲಿಂಪಿಯಾಡ್"
|
||||
"label": "ಶೀರ್ಷಿಕೆ"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "ಉಪಶೀರ್ಷಿಕೆ",
|
||||
"placeholder": "ಪ್ರಥಮ ಸ್ಥಾನ, ಅಂತರರಾಷ್ಟ್ರೀಯ ಮಟ್ಟ"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "ನಿಮಗೆ ಯಾವ ಗುಣಗಳು ಪ್ರಶಸ್ತಿ ನೀಡಿವೆ ಎಂಬುದರ ಕುರಿತು ನೀವು ಬರೆಯಬಹುದು."
|
||||
"label": "ಉಪಶೀರ್ಷಿಕೆ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "ಶೀರ್ಷಿಕೆ",
|
||||
"placeholder": "ಆಂಡ್ರಾಯ್ಡ್ ಡೆವಲಪ್ಮೆಂಟ್ ನ್ಯಾನೊಡೆಗ್ರೀ"
|
||||
"label": "ಹೆಸರು"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "ಉಪಶೀರ್ಷಿಕೆ",
|
||||
"placeholder": "ಉದಾಸಿಟಿ"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "ನಿಮ್ಮ ಪ್ರಮಾಣೀಕರಣ ಕಾರ್ಯಕ್ರಮದಿಂದ ನೀವು ಕಲಿತದ್ದನ್ನು ನೀವು ಬರೆಯಬಹುದು."
|
||||
"label": "ಪ್ರಾಧಿಕಾರ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "ಹೆಸರು",
|
||||
"placeholder": "ಹಾರ್ವರ್ಡ್ ವಿಶ್ವವಿದ್ಯಾಲಯ"
|
||||
"label": "ಹೆಸರು"
|
||||
},
|
||||
"major": {
|
||||
"label": "ಅಧ್ಯಯನ",
|
||||
"placeholder": "ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದಲ್ಲಿ ಸ್ನಾತಕೋತ್ತರ"
|
||||
"label": "ಅಧ್ಯಯನ"
|
||||
},
|
||||
"grade": {
|
||||
"label": "ಗ್ರೇಡ್"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "ಈ ಶಾಲೆಯಲ್ಲಿ ಅಧ್ಯಯನ ಮಾಡುವಾಗ ನೀವು ಮಾಡಿದ ಯೋಜನೆಗಳು ಅಥವಾ ವಿಶೇಷ ತರಗತಿಗಳ ಬಗ್ಗೆ ನೀವು ಬರೆಯಬಹುದು."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "ಕೀ",
|
||||
"placeholder": "ಹುಟ್ತಿದ ದಿನ"
|
||||
"label": "ಕೀ"
|
||||
},
|
||||
"value": {
|
||||
"label": "ಮೌಲ್ಯ",
|
||||
"placeholder": "6 ಆಗಸ್ಟ್ 1995"
|
||||
"label": "ಮೌಲ್ಯ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "ಕೀ",
|
||||
"placeholder": "ಕನ್ನಡ"
|
||||
"label": "ಹೆಸರು"
|
||||
},
|
||||
"rating": {
|
||||
"label": "ರೇಟಿಂಗ್"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"objective": {
|
||||
"label": "ಉದ್ದೇಶ",
|
||||
"placeholder": "ಸಂಸ್ಥೆಯ ಬೆಳವಣಿಗೆಗೆ ನನ್ನ ತಾಂತ್ರಿಕ, ಡೇಟಾಬೇಸ್ ಮತ್ತು ನಿರ್ವಹಣಾ ಕೌಶಲ್ಯಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ಮತ್ತು ಐಟಿ ಕ್ಷೇತ್ರದಲ್ಲಿ ಹೊಸ ಮತ್ತು ಉದಯೋನ್ಮುಖ ಪ್ರವೃತ್ತಿಗಳ ಬಗ್ಗೆ ನನ್ನ ಜ್ಞಾನವನ್ನು ಹೆಚ್ಚಿಸಲು ಪ್ರತಿಷ್ಠಿತ ಸಂಸ್ಥೆಯಲ್ಲಿ ಸವಾಲಿನ ಪಾತ್ರವನ್ನು ಹುಡುಕುತ್ತಿದ್ದೇನೆ."
|
||||
"label": "ಉದ್ದೇಶ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,29 +3,24 @@
|
||||
"label": "ಫೋಟೋ URL"
|
||||
},
|
||||
"firstName": {
|
||||
"label": "ಮೊದಲ ಹೆಸರು",
|
||||
"placeholder": "ಶ್ರೀರಾಮ್"
|
||||
"label": "ಮೊದಲ ಹೆಸರು"
|
||||
},
|
||||
"lastName": {
|
||||
"label": "ಕೊನೆಯ ಹೆಸರು",
|
||||
"placeholder": "ಶೆಟ್ಟಿ"
|
||||
"label": "ಕೊನೆಯ ಹೆಸರು"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "ಉಪಶೀರ್ಷಿಕೆ",
|
||||
"placeholder": "ಫುಲ್ ಸ್ಟಾಕ್ ವೆಬ್ ಡೆವಲಪರ್"
|
||||
"label": "ಉಪಶೀರ್ಷಿಕೆ"
|
||||
},
|
||||
"address": {
|
||||
"label": "ವಿಳಾಸ",
|
||||
"line1": {
|
||||
"label": "ವಿಳಾಸ ಸಾಲು 1",
|
||||
"placeholder": "ಪಲ್ಲಾಡಿಯಮ್ ಕಾಂಪ್ಲೆಕ್ಸ್"
|
||||
"label": "ವಿಳಾಸ ಸಾಲು 1"
|
||||
},
|
||||
"line2": {
|
||||
"label": "ವಿಳಾಸ ಸಾಲು 2",
|
||||
"placeholder": "14 ನೇ ಕ್ರಾಸ್, ಎಂಜಿ ರಸ್ತೆ"
|
||||
"label": "ವಿಳಾಸ ಸಾಲು 2"
|
||||
},
|
||||
"line3": {
|
||||
"label": "ವಿಳಾಸ ಸಾಲು 3",
|
||||
"placeholder": "ಬೆಂಗಳೂರು, 560061 ಭಾರತ"
|
||||
"label": "ವಿಳಾಸ ಸಾಲು 3"
|
||||
}
|
||||
},
|
||||
"phone": {
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "ಹೆಸರು",
|
||||
"placeholder": "ಸಂತೋಷ್ ಸುಬ್ರಮಣ್ಯಂ"
|
||||
"label": "ಹೆಸರು"
|
||||
},
|
||||
"position": {
|
||||
"label": "ಸ್ಥಾನ",
|
||||
"placeholder": "ಸಿಇಒ, ಪೈಡ್ ಪೈಪರ್"
|
||||
"label": "ಸ್ಥಾನ"
|
||||
},
|
||||
"phone": {
|
||||
"label": "ದೂರವಾಣಿ ಸಂಖ್ಯೆ"
|
||||
},
|
||||
"email": {
|
||||
"label": "ಇಮೇಲ್ ವಿಳಾಸ"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "ನೀವು ಮತ್ತು ಉಲ್ಲೇಖ ಸಂಪರ್ಕವು ಹೇಗೆ ಒಟ್ಟಿಗೆ ಕೆಲಸ ಮಾಡಿದೆ ಮತ್ತು ನೀವು ಯಾವ ಯೋಜನೆಯ ಭಾಗವಾಗಿದ್ದೀರಿ ಎಂಬುದರ ಕುರಿತು ನೀವು ಬರೆಯಬಹುದು."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "ಹೆಸರು",
|
||||
"placeholder": "ಅಮೆಜಾನ್"
|
||||
"label": "ಹೆಸರು"
|
||||
},
|
||||
"role": {
|
||||
"label": "ಸ್ಥಾನ",
|
||||
"placeholder": "ಫುಲ್ ಸ್ಟಾಕ್ ವೆಬ್ ಡೆವಲಪರ್"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "ಕಂಪನಿಯಲ್ಲಿ ಕೆಲಸ ಮಾಡುವಾಗ ನೀವು ಏನು ಪರಿಣತಿ ಹೊಂದಿದ್ದೀರಿ ಮತ್ತು ನೀವು ಯಾವ ಯೋಜನೆಯ ಭಾಗವಾಗಿದ್ದೀರಿ ಎಂಬುದರ ಕುರಿತು ನೀವು ಬರೆಯಬಹುದು."
|
||||
"label": "ಸ್ಥಾನ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"title": "ಅಪ್ಲಿಕೇಶನ್ ಬಗ್ಗೆ",
|
||||
"documentation": {
|
||||
"heading": "ದಸ್ತಾವೇಜನ್ನು",
|
||||
"body": "ಅಪ್ಲಿಕೇಶನ್ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸುವಿರಾ? ನಿಮ್ಮ ಸ್ಥಳೀಯ ಯಂತ್ರದಲ್ಲಿ ಅದನ್ನು ಹೊಂದಿಸಲು ಮಾರ್ಗದರ್ಶಿ ಇದ್ದರೆ ಅದು ಚೆನ್ನಾಗಿರುವುದಿಲ್ಲವೇ? ಯೋಜನೆಗೆ ಹೇಗೆ ಕೊಡುಗೆ ನೀಡಬೇಕು ಎಂಬ ಬಗ್ಗೆ ಮಾಹಿತಿ ಬೇಕೇ? ಮುಂದೆ ನೋಡಬೇಡಿ, ನಿಮಗಾಗಿ ಮಾಡಿದ ಸಮಗ್ರ ದಾಖಲಾತಿ ಇದೆ.",
|
||||
"body": "ಅಪ್ಲಿಕೇಶನ್ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸುವಿರಾ? ಅಪ್ಲಿಕೇಶನ್ಗೆ ಹೇಗೆ ಕೊಡುಗೆ ನೀಡಬೇಕು ಎಂಬುದರ ಕುರಿತು ಮಾಹಿತಿ ಬೇಕೇ? ಮುಂದೆ ನೋಡಬೇಡಿ, ನಿಮಗಾಗಿ ಮಾಡಿದ ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿ ಇದೆ.",
|
||||
"buttons": {
|
||||
"documentation": "ದಸ್ತಾವೇಜನ್ನು"
|
||||
}
|
||||
@@ -30,7 +30,7 @@
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "ರಿಯಾಕ್ಟಿವ್ ರೆಸುಮೇ <1>ಅಮೃತ್ ಪಿಳ್ಳೈ</ 1> ಅವರ ಯೋಜನೆಯಾಗಿದೆ.",
|
||||
"credit": "<1>ಅಮೃತ್ ಪಿಳ್ಳೈ</1> ಅವರಿಂದ ಪ್ರೀತಿಯಿಂದ ಮಾಡಲ್ಪಟ್ಟಿದೆ",
|
||||
"thanks": "ರಿಯಾಕ್ಟಿವ್ ರೆಸುಮೇ ಬಳಸಿದ್ದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು!"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,12 +9,11 @@
|
||||
"export": "ರಫ್ತು"
|
||||
}
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "ನಿಮ್ಮ ರೇಸುಮೆಯನ್ನು ಮುದ್ರಿಸಿ",
|
||||
"body": "ಪಿಡಿಎಫ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ರಚಿಸಲು ನೀವು ಕೆಳಗಿನ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಬಹುದು. ಅಲ್ಲದೆ, ನೀವು <1>Cmd/Ctrl + P</1> ಅನ್ನು ಸಹ ಬಳಸಬಹುದು ಆದರೆ ಅದು ವಿಭಿನ್ನ ಪರಿಣಾಮಗಳನ್ನು ಬೀರುತ್ತದೆ.",
|
||||
"downloadResume": {
|
||||
"heading": "ನಿಮ್ಮ ರೇಸುಮೇ ಡೌನ್ಲೋಡ್ ಮಾಡಿ",
|
||||
"body": "ನಿಮ್ಮ ರೇಸುಮೇಯ ಪಿಡಿಎಫ್ ಅನ್ನು ತಕ್ಷಣ ಡೌನ್ಲೋಡ್ ಮಾಡಲು ನೀವು ಕೆಳಗಿನ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಬಹುದು. ಉತ್ತಮ ಫಲಿತಾಂಶಗಳಿಗಾಗಿ, ದಯವಿಟ್ಟು ಇತ್ತೀಚಿನ Google Chrome ಅನ್ನು ಬಳಸಿ.",
|
||||
"buttons": {
|
||||
"export": "ರಫ್ತು",
|
||||
"print": "ಮುದ್ರಿಸಿ"
|
||||
"saveAsPdf": "ಪಿಡಿಎಫ್ ಡೌನ್ಲೋಡ್ ಮಾಡಿ"
|
||||
}
|
||||
},
|
||||
"loadDemoData": {
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"heading": {
|
||||
"placeholder": "标题"
|
||||
},
|
||||
"item": {
|
||||
"add": "添加 {{- heading}}",
|
||||
"startDate": {
|
||||
"label": "开始日期",
|
||||
"placeholder": "2018 年 3 月"
|
||||
"label": "开始日期"
|
||||
},
|
||||
"endDate": {
|
||||
"label": "结束日期",
|
||||
"placeholder": "2022 年 3 月"
|
||||
"label": "结束日期"
|
||||
},
|
||||
"description": {
|
||||
"label": "说明"
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "名称",
|
||||
"placeholder": "数学与科学奥林匹克"
|
||||
"label": "名称"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "奖项",
|
||||
"placeholder": "第一名,国际赛"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "你可以说明一下成功获得这个荣誉的原因。"
|
||||
"label": "奖项"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "名称",
|
||||
"placeholder": "安卓开发纳米证书"
|
||||
"label": "学校"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "签发单位",
|
||||
"placeholder": "优达学城"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "你可以写关于你在成功获得证书过程中所学到的技能。"
|
||||
"label": "颁发机构"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "学校",
|
||||
"placeholder": "哈弗大学"
|
||||
"label": "学校"
|
||||
},
|
||||
"major": {
|
||||
"label": "主修课程",
|
||||
"placeholder": "计算机科学硕士"
|
||||
"label": "主修课程"
|
||||
},
|
||||
"grade": {
|
||||
"label": "等级"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "你可以写关于你在这所学校学习的项目和进阶的课程。"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "名称",
|
||||
"placeholder": "出生日期"
|
||||
"label": "名称"
|
||||
},
|
||||
"value": {
|
||||
"label": "内容",
|
||||
"placeholder": "1995年8月6日"
|
||||
"label": "内容"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "语言",
|
||||
"placeholder": "多斯拉克语"
|
||||
"label": "学校"
|
||||
},
|
||||
"rating": {
|
||||
"label": "等级"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"objective": {
|
||||
"label": "求职意向",
|
||||
"placeholder": "希望在一个有卓著成就的公司寻找一个富有挑战性的职位,利用我的数据库和管理技术,能够促进公司的的发展并且提高自己的技能和对新兴趋势的了解。"
|
||||
"label": "求职意向"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,29 +3,24 @@
|
||||
"label": "照片链接"
|
||||
},
|
||||
"firstName": {
|
||||
"label": "名",
|
||||
"placeholder": "简"
|
||||
"label": "名"
|
||||
},
|
||||
"lastName": {
|
||||
"label": "姓",
|
||||
"placeholder": "道一"
|
||||
"label": "姓"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "职位",
|
||||
"placeholder": "全伐工程师"
|
||||
"label": "职位"
|
||||
},
|
||||
"address": {
|
||||
"label": "地址",
|
||||
"line1": {
|
||||
"label": "地址栏 1",
|
||||
"placeholder": "帕拉迪亩大楼"
|
||||
"label": "地址栏 1"
|
||||
},
|
||||
"line2": {
|
||||
"label": "地址栏 2",
|
||||
"placeholder": "140 东 14号 街"
|
||||
"label": "地址栏 2"
|
||||
},
|
||||
"line3": {
|
||||
"label": "地址栏 3",
|
||||
"placeholder": "纽约, 纽约州, 10003 美国"
|
||||
"label": "地址栏 3"
|
||||
}
|
||||
},
|
||||
"phone": {
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "名字",
|
||||
"placeholder": "理查德·亨德里克"
|
||||
"label": "名字"
|
||||
},
|
||||
"position": {
|
||||
"label": "职位",
|
||||
"placeholder": "首席执行官,魔笛"
|
||||
"label": "职位"
|
||||
},
|
||||
"phone": {
|
||||
"label": "电话号码"
|
||||
},
|
||||
"email": {
|
||||
"label": "邮箱地址"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "您可以写下您和推荐人如何一起工作,以及您参与的项目。"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "公司",
|
||||
"placeholder": "亚马逊"
|
||||
"label": "公司"
|
||||
},
|
||||
"role": {
|
||||
"label": "职位",
|
||||
"placeholder": "前端工程师"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "你可以写关于你在公司参与项目中所使用的技术和专业化内容。"
|
||||
"label": "职位"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"title": "关于我们",
|
||||
"documentation": {
|
||||
"heading": "文档",
|
||||
"body": "想要了解更多关于这个应用的信息吗?如果有一个指南可以指导你如何在本地机器上开发, 会不会更好? 需要了解如何为项目做贡献? 不需要烦恼,这里有一份详细的文档供你参考。",
|
||||
"body": "想进一步了解该应用程序? 需要有关如何为该项目做出贡献的信息? 别无所求,这里有专门为您准备的综合指南。",
|
||||
"buttons": {
|
||||
"documentation": "文档"
|
||||
}
|
||||
@@ -30,7 +30,7 @@
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Reactive Resume 是由 <1>Amruth Pillai</1> 创建的项目。",
|
||||
"credit": "<1>Amruth Pillai</1> 用爱制造",
|
||||
"thanks": "感谢您使用 Reactive Resume!"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,12 +9,11 @@
|
||||
"export": "导出"
|
||||
}
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "打印您的简历",
|
||||
"body": "您可以点击下面的按钮立即生成 PDF 文件。 或者,您也可以使用 <1>Cmd/Ctrl + P</1>,但会产生不同的效果。",
|
||||
"downloadResume": {
|
||||
"heading": "下载简历",
|
||||
"body": "您可以单击下面的按钮立即下载简历的PDF版本。 为了获得最佳效果,请使用最新版本的Google Chrome。",
|
||||
"buttons": {
|
||||
"export": "导出",
|
||||
"print": "打印"
|
||||
"saveAsPdf": "保存为 PDF"
|
||||
}
|
||||
},
|
||||
"loadDemoData": {
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
"title": "颜色",
|
||||
"colorOptions": "颜色选项",
|
||||
"primaryColor": "主色调",
|
||||
"accentColor": "强调色",
|
||||
"accentColor": "辅助颜色",
|
||||
"clipboardCopyAction": "{{color}} 已被复制到剪贴板。"
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"heading": {
|
||||
"placeholder": "Heading"
|
||||
},
|
||||
"item": {
|
||||
"add": "Add {{- heading}}",
|
||||
"startDate": {
|
||||
"label": "Start Date",
|
||||
"placeholder": "March 2018"
|
||||
"label": "Start Date"
|
||||
},
|
||||
"endDate": {
|
||||
"label": "End Date",
|
||||
"placeholder": "March 2022"
|
||||
"label": "End Date"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
|
||||
@@ -3,7 +3,9 @@ import leftSidebar from './leftSidebar';
|
||||
import rightSidebar from './rightSidebar';
|
||||
|
||||
export default {
|
||||
app,
|
||||
leftSidebar,
|
||||
rightSidebar,
|
||||
en: {
|
||||
app,
|
||||
leftSidebar,
|
||||
rightSidebar,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Title",
|
||||
"placeholder": "Math & Science Olympiad"
|
||||
"label": "Title"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Subtitle",
|
||||
"placeholder": "First Place, International Level"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what qualities made you succeed in getting this award."
|
||||
"label": "Subtitle"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Title",
|
||||
"placeholder": "Android Development Nanodegree"
|
||||
"label": "Name"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Subtitle",
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learned from your certification program."
|
||||
"label": "Authority"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Harvard University"
|
||||
"label": "Name"
|
||||
},
|
||||
"major": {
|
||||
"label": "Major",
|
||||
"placeholder": "Masters in Computer Science"
|
||||
"label": "Major"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Grade"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about projects or special credit classes that you took while studying at this school."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "Key",
|
||||
"placeholder": "Date of Birth"
|
||||
"label": "Key"
|
||||
},
|
||||
"value": {
|
||||
"label": "Value",
|
||||
"placeholder": "6th August 1995"
|
||||
"label": "Value"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import work from './work.json';
|
||||
import education from './education.json';
|
||||
import awards from './awards.json';
|
||||
import certifications from './certifications.json';
|
||||
import skills from './skills.json';
|
||||
import languages from './languages.json';
|
||||
import references from './references.json';
|
||||
import extras from './extras.json';
|
||||
@@ -16,7 +15,6 @@ export default {
|
||||
education,
|
||||
awards,
|
||||
certifications,
|
||||
skills,
|
||||
languages,
|
||||
references,
|
||||
extras,
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "Key",
|
||||
"placeholder": "Dothraki"
|
||||
"label": "Name"
|
||||
},
|
||||
"rating": {
|
||||
"label": "Rating"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"objective": {
|
||||
"label": "Objective",
|
||||
"placeholder": "Looking for a challenging role in a reputable organization to utilize my technical, database, and management skills for the growth of the organization as well as to enhance my knowledge about new and emerging trends in the IT sector."
|
||||
"label": "Objective"
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user