+ {colorOptions.map((color) => (
+
handleKeyUp(e, () => handleClick(color))}
+ onClick={() => handleClick(color)}
+ />
+ ))}
+
+
+
+
+
+
+
+
+ );
+};
+
+export default memo(Colors);
diff --git a/src/components/builder/right/sections/Colors.module.css b/src/components/builder/right/sections/Colors.module.css
new file mode 100644
index 000000000..c199db1ed
--- /dev/null
+++ b/src/components/builder/right/sections/Colors.module.css
@@ -0,0 +1,11 @@
+.circle {
+ @apply cursor-pointer rounded-full h-6 w-6;
+}
+
+.circle:focus {
+ @apply outline-none;
+}
+
+.circle:hover {
+ @apply opacity-75;
+}
\ No newline at end of file
diff --git a/src/components/builder/right/sections/Fonts.js b/src/components/builder/right/sections/Fonts.js
new file mode 100644
index 000000000..3bb1b0abe
--- /dev/null
+++ b/src/components/builder/right/sections/Fonts.js
@@ -0,0 +1,46 @@
+import cx from 'classnames';
+import React, { memo } from 'react';
+import { useDispatch, useSelector } from '../../../../contexts/ResumeContext';
+import fontOptions from '../../../../data/fontOptions';
+import { handleKeyUp } from '../../../../utils';
+import Heading from '../../../shared/Heading';
+import styles from './Fonts.module.css';
+
+const Fonts = ({ id }) => {
+ const dispatch = useDispatch();
+ const font = useSelector('metadata.font');
+
+ const handleClick = (value) => {
+ dispatch({
+ type: 'on_input',
+ payload: {
+ path: 'metadata.font',
+ value,
+ },
+ });
+ };
+
+ return (
+
+
+
+
+ {fontOptions.map((x) => (
+
handleKeyUp(e, () => handleClick(x))}
+ onClick={() => handleClick(x)}
+ >
+ {x}
+
+ ))}
+
+
+ );
+};
+
+export default memo(Fonts);
diff --git a/src/components/builder/right/sections/Fonts.module.css b/src/components/builder/right/sections/Fonts.module.css
new file mode 100644
index 000000000..4c7facddd
--- /dev/null
+++ b/src/components/builder/right/sections/Fonts.module.css
@@ -0,0 +1,15 @@
+.font {
+ @apply px-6 py-6 text-xl font-medium truncate text-center border border-transparent bg-primary-100 rounded;
+}
+
+.font:focus {
+ @apply outline-none border border-primary-400;
+}
+
+.font:hover {
+ @apply border border-primary-400;
+}
+
+.font.selected {
+ @apply outline-none border border-primary-600;
+}
\ No newline at end of file
diff --git a/src/components/builder/right/sections/Layout.js b/src/components/builder/right/sections/Layout.js
new file mode 100644
index 000000000..e2ff2a15b
--- /dev/null
+++ b/src/components/builder/right/sections/Layout.js
@@ -0,0 +1,117 @@
+import React, { memo, useState } from 'react';
+import { DragDropContext, Draggable, Droppable } from 'react-beautiful-dnd';
+import { useTranslation } from 'react-i18next';
+import { useDispatch, useSelector } from '../../../../contexts/ResumeContext';
+import { move, reorder } from '../../../../utils';
+import Button from '../../../shared/Button';
+import Heading from '../../../shared/Heading';
+import styles from './Layout.module.css';
+
+const Layout = ({ id }) => {
+ const { t } = useTranslation();
+ const [resetLayoutText, setResetLayoutText] = useState(
+ t('builder.layout.reset'),
+ );
+
+ const template = useSelector('metadata.template');
+ const blocks = useSelector(`metadata.layout.${template}`, [[]]);
+ const dispatch = useDispatch();
+
+ const onDragEnd = (result) => {
+ const { source, destination } = result;
+
+ if (!destination) {
+ return;
+ }
+ const sInd = +source.droppableId;
+ const dInd = +destination.droppableId;
+
+ if (sInd === dInd) {
+ const items = reorder(blocks[sInd], source.index, destination.index);
+ const newState = [...blocks];
+ newState[sInd] = items;
+ dispatch({
+ type: 'on_input',
+ payload: {
+ path: `metadata.layout.${template}`,
+ value: newState,
+ },
+ });
+ } else {
+ const newResult = move(blocks[sInd], blocks[dInd], source, destination);
+ const newState = [...blocks];
+ newState[sInd] = newResult[sInd];
+ newState[dInd] = newResult[dInd];
+ dispatch({
+ type: 'on_input',
+ payload: {
+ path: `metadata.layout.${template}`,
+ value: newState,
+ },
+ });
+ }
+ };
+
+ const handleResetLayout = () => {
+ if (resetLayoutText === t('builder.layout.reset')) {
+ setResetLayoutText(t('shared.buttons.confirmation'));
+ return;
+ }
+
+ dispatch({ type: 'reset_layout' });
+ setResetLayoutText(t('builder.layout.reset'));
+ };
+
+ return (
+
+
+
+
+ {t('builder.layout.text', { count: blocks.length })}
+
+
+
+
+ {blocks.map((el, ind) => (
+
+ {(dropProvided) => (
+
+
+
+ {t('builder.layout.block')} {ind + 1}
+
+ {el.map((item, index) => (
+
+ {(dragProvided) => (
+
+ {t(`builder.sections.${item}`)}
+
+ )}
+
+ ))}
+
+ {dropProvided.placeholder}
+
+ )}
+
+ ))}
+
+
+
+
+ {resetLayoutText}
+
+
+ );
+};
+
+export default memo(Layout);
diff --git a/src/components/builder/right/sections/Layout.module.css b/src/components/builder/right/sections/Layout.module.css
new file mode 100644
index 000000000..f1160f14b
--- /dev/null
+++ b/src/components/builder/right/sections/Layout.module.css
@@ -0,0 +1,7 @@
+.droppable {
+ @apply p-6 bg-primary-100 col-span-1 rounded;
+}
+
+.draggable {
+ @apply px-4 py-2 font-medium rounded bg-primary-200;
+}
diff --git a/src/components/builder/right/sections/Settings.js b/src/components/builder/right/sections/Settings.js
new file mode 100644
index 000000000..1bfe4d5eb
--- /dev/null
+++ b/src/components/builder/right/sections/Settings.js
@@ -0,0 +1,108 @@
+import React, { memo, useContext, useState } from 'react';
+import { FaAngleDown } from 'react-icons/fa';
+import { useTranslation, Trans } from 'react-i18next';
+import UserContext from '../../../../contexts/UserContext';
+import Button from '../../../shared/Button';
+import Heading from '../../../shared/Heading';
+import styles from './Settings.module.css';
+import Input from '../../../shared/Input';
+import SettingsContext from '../../../../contexts/SettingsContext';
+import themeConfig from '../../../../data/themeConfig';
+import { languages } from '../../../../i18n';
+import { useDispatch } from '../../../../contexts/ResumeContext';
+
+const Settings = ({ id }) => {
+ const { t } = useTranslation();
+
+ const [deleteText, setDeleteText] = useState(
+ t('builder.settings.dangerZone.button'),
+ );
+
+ const dispatch = useDispatch();
+ const { deleteAccount } = useContext(UserContext);
+ const { theme, setTheme, language, setLanguage } = useContext(
+ SettingsContext,
+ );
+
+ const handleChangeTheme = (e) => {
+ setTheme(e.target.value);
+ };
+
+ const handleChangeLanguage = (e) => {
+ const lang = e.target.value;
+ setLanguage(lang);
+ dispatch({ type: 'change_language', payload: lang });
+ };
+
+ const handleDeleteAccount = () => {
+ if (deleteText === t('builder.settings.dangerZone.button')) {
+ setDeleteText(t('shared.buttons.confirmation'));
+ return;
+ }
+
+ setDeleteText('Buh bye! :(');
+ setTimeout(() => {
+ deleteAccount();
+ }, 500);
+ };
+
+ return (
+
+
+
+
+
+
+ {t('builder.settings.language')}
+
+
+ {languages.map((x) => (
+
+ {x.name}
+
+ ))}
+
+
+
+
+
+
+
+
+ A
+
+ B
+
+ C
+
+
+
+
+
{t('builder.settings.dangerZone.heading')}
+
+
{t('builder.settings.dangerZone.text')}
+
+
+
+ {deleteText}
+
+
+
+
+ );
+};
+
+export default memo(Settings);
diff --git a/src/components/builder/right/sections/Settings.module.css b/src/components/builder/right/sections/Settings.module.css
new file mode 100644
index 000000000..7943f4295
--- /dev/null
+++ b/src/components/builder/right/sections/Settings.module.css
@@ -0,0 +1,11 @@
+.container {
+ @apply bg-primary-100 rounded grid gap-5 p-8;
+}
+
+.container h5 {
+ @apply text-lg font-semibold;
+}
+
+.container p {
+ @apply text-sm font-medium;
+}
\ No newline at end of file
diff --git a/src/components/builder/right/sections/Templates.js b/src/components/builder/right/sections/Templates.js
new file mode 100644
index 000000000..2ed6f5d65
--- /dev/null
+++ b/src/components/builder/right/sections/Templates.js
@@ -0,0 +1,103 @@
+import cx from 'classnames';
+import { graphql, useStaticQuery } from 'gatsby';
+import GatsbyImage from 'gatsby-image';
+import React, { memo } from 'react';
+import { useDispatch, useSelector } from '../../../../contexts/ResumeContext';
+import templateOptions from '../../../../data/templateOptions';
+import { handleKeyUp } from '../../../../utils';
+import Heading from '../../../shared/Heading';
+import styles from './Templates.module.css';
+
+const Templates = ({ id }) => {
+ const dispatch = useDispatch();
+ const template = useSelector('metadata.template');
+
+ const previews = useStaticQuery(graphql`
+ query {
+ onyx: file(relativePath: { eq: "templates/onyx.png" }) {
+ childImageSharp {
+ fluid(maxHeight: 400) {
+ ...GatsbyImageSharpFluid
+ }
+ }
+ }
+ pikachu: file(relativePath: { eq: "templates/pikachu.png" }) {
+ childImageSharp {
+ fluid(maxHeight: 400) {
+ ...GatsbyImageSharpFluid
+ }
+ }
+ }
+ gengar: file(relativePath: { eq: "templates/gengar.png" }) {
+ childImageSharp {
+ fluid(maxHeight: 400) {
+ ...GatsbyImageSharpFluid
+ }
+ }
+ }
+ castform: file(relativePath: { eq: "templates/castform.png" }) {
+ childImageSharp {
+ fluid(maxHeight: 400) {
+ ...GatsbyImageSharpFluid
+ }
+ }
+ }
+ glalie: file(relativePath: { eq: "templates/glalie.png" }) {
+ childImageSharp {
+ fluid(maxHeight: 400) {
+ ...GatsbyImageSharpFluid
+ }
+ }
+ }
+ celebi: file(relativePath: { eq: "templates/celebi.png" }) {
+ childImageSharp {
+ fluid(maxHeight: 400) {
+ ...GatsbyImageSharpFluid
+ }
+ }
+ }
+ }
+ `);
+
+ const handleClick = (value) => {
+ dispatch({
+ type: 'on_input',
+ payload: {
+ path: 'metadata.template',
+ value,
+ },
+ });
+ };
+
+ return (
+
+
+
+
+ {templateOptions.map((x) => (
+
handleKeyUp(e, () => handleClick(x.id))}
+ onClick={() => handleClick(x.id)}
+ className={cx(styles.template, {
+ [styles.selected]: template === x.id,
+ })}
+ >
+
+ {x.name}
+
+ ))}
+
+
+ );
+};
+
+export default memo(Templates);
diff --git a/src/components/builder/right/sections/Templates.module.css b/src/components/builder/right/sections/Templates.module.css
new file mode 100644
index 000000000..2e0782853
--- /dev/null
+++ b/src/components/builder/right/sections/Templates.module.css
@@ -0,0 +1,26 @@
+.template {
+ @apply w-full rounded flex flex-col items-center;
+}
+
+.template:focus {
+ @apply outline-none;
+}
+
+.template img {
+ height: 240px;
+ @apply w-full object-cover border border-transparent rounded;
+ @apply transition-opacity duration-200 ease-in-out;
+}
+
+.template.selected img {
+ @apply border-primary-600;
+}
+
+.template:hover img {
+ @apply cursor-pointer opacity-75;
+ @apply transition-opacity duration-200 ease-in-out;
+}
+
+.template span {
+ @apply mt-1 text-center text-sm font-semibold;
+}
\ No newline at end of file
diff --git a/src/components/dashboard/CreateResume.js b/src/components/dashboard/CreateResume.js
new file mode 100644
index 000000000..0f15b601b
--- /dev/null
+++ b/src/components/dashboard/CreateResume.js
@@ -0,0 +1,35 @@
+import React, { memo, useContext } from 'react';
+import { MdAdd } from 'react-icons/md';
+import { useTranslation } from 'react-i18next';
+import ModalContext from '../../contexts/ModalContext';
+import { handleKeyUp } from '../../utils';
+import styles from './CreateResume.module.css';
+
+const CreateResume = () => {
+ const { t } = useTranslation();
+ const { emitter, events } = useContext(ModalContext);
+
+ const handleClick = () => emitter.emit(events.CREATE_RESUME_MODAL);
+
+ return (
+
+
+
+
+
handleKeyUp(e, handleClick)}
+ >
+
+
+
+
{t('dashboard.createResume')}
+
+
+ );
+};
+
+export default memo(CreateResume);
diff --git a/src/components/dashboard/CreateResume.module.css b/src/components/dashboard/CreateResume.module.css
new file mode 100644
index 000000000..29a2b9e07
--- /dev/null
+++ b/src/components/dashboard/CreateResume.module.css
@@ -0,0 +1,31 @@
+.resume {
+ @apply relative flex flex-col items-center;
+}
+
+.resume > .backdrop {
+ max-width: 184px;
+ height: 260px;
+ @apply rounded absolute w-full bg-black text-white shadow;
+ @apply absolute flex justify-center items-center;
+}
+
+.resume > .page {
+ max-width: 184px;
+ height: 260px;
+ @apply rounded absolute w-full bg-primary-100 text-primary-400;
+ @apply transition-opacity duration-200 ease-in-out;
+ @apply cursor-pointer absolute flex justify-center items-center;
+}
+
+.resume > .page:hover {
+ @apply transition-opacity duration-200 ease-in-out opacity-25;
+}
+
+.resume > .meta {
+ margin-top: 260px;
+ @apply text-center;
+}
+
+.resume > .meta p {
+ @apply mt-3 font-medium leading-normal;
+}
diff --git a/src/components/dashboard/ResumePreview.js b/src/components/dashboard/ResumePreview.js
new file mode 100644
index 000000000..e651e1402
--- /dev/null
+++ b/src/components/dashboard/ResumePreview.js
@@ -0,0 +1,96 @@
+import { Menu, MenuItem } from '@material-ui/core';
+import { navigate } from 'gatsby';
+import moment from 'moment';
+import React, { useContext, useState } from 'react';
+import { MdMoreHoriz, MdOpenInNew } from 'react-icons/md';
+import { toast } from 'react-toastify';
+import { useTranslation } from 'react-i18next';
+import DatabaseContext from '../../contexts/DatabaseContext';
+import ModalContext from '../../contexts/ModalContext';
+import styles from './ResumePreview.module.css';
+
+const ResumePreview = ({ resume }) => {
+ const { t } = useTranslation();
+ const [anchorEl, setAnchorEl] = useState(null);
+ const { emitter, events } = useContext(ModalContext);
+ const { duplicateResume, deleteResume } = useContext(DatabaseContext);
+
+ const handleOpen = () => navigate(`/app/builder/${resume.id}`);
+
+ const handleMenuClick = (event) => {
+ setAnchorEl(event.currentTarget);
+ };
+
+ const handleDuplicate = () => {
+ duplicateResume(resume);
+ setAnchorEl(null);
+ };
+
+ const handleRename = () => {
+ emitter.emit(events.CREATE_RESUME_MODAL, resume);
+ setAnchorEl(null);
+ };
+
+ const handleDelete = () => {
+ deleteResume(resume.id);
+ toast(t('dashboard.toasts.deleted', { name: resume.name }));
+ setAnchorEl(null);
+ };
+
+ const handleMenuClose = () => {
+ setAnchorEl(null);
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+ {t('dashboard.buttons.duplicate')}
+
+
+ {t('dashboard.buttons.rename')}
+
+
+
+ {t('shared.buttons.delete')}
+
+
+
+
+
+ {resume.name}
+ {resume.updatedAt && (
+
+ {t('dashboard.lastUpdated', {
+ timestamp: moment(resume.updatedAt).fromNow(),
+ })}
+
+ )}
+
+
+ );
+};
+
+export default ResumePreview;
diff --git a/src/components/dashboard/ResumePreview.module.css b/src/components/dashboard/ResumePreview.module.css
new file mode 100644
index 000000000..cfed814a4
--- /dev/null
+++ b/src/components/dashboard/ResumePreview.module.css
@@ -0,0 +1,40 @@
+.resume {
+ @apply relative flex flex-col items-center;
+}
+
+.resume > .backdrop {
+ max-width: 184px;
+ height: 260px;
+ @apply rounded absolute w-full bg-black shadow;
+}
+
+.resume > .backdrop img {
+ max-width: 184px;
+ height: 260px;
+ @apply w-full object-cover rounded;
+}
+
+.resume > .page {
+ max-width: 184px;
+ height: 260px;
+ @apply rounded absolute w-full bg-black;
+ @apply opacity-0 transition-opacity duration-200 ease-in-out;
+ @apply absolute text-primary-500 flex flex-col justify-evenly items-center;
+}
+
+.resume > .page:hover {
+ @apply opacity-75 transition-opacity duration-200 ease-in-out;
+}
+
+.resume > .meta {
+ margin-top: 260px;
+ @apply flex flex-col text-center items-center;
+}
+
+.resume > .meta span:first-child {
+ @apply mt-3 font-medium leading-normal;
+}
+
+.resume > .meta span:last-child {
+ font-size: 10px;
+}
diff --git a/src/components/dashboard/TopNavbar.js b/src/components/dashboard/TopNavbar.js
new file mode 100644
index 000000000..bb7f33028
--- /dev/null
+++ b/src/components/dashboard/TopNavbar.js
@@ -0,0 +1,21 @@
+import { Link } from 'gatsby';
+import React, { memo } from 'react';
+import Avatar from '../shared/Avatar';
+import Logo from '../shared/Logo';
+import styles from './TopNavbar.module.css';
+
+const TopNavbar = () => {
+ return (
+
+ );
+};
+
+export default memo(TopNavbar);
diff --git a/src/components/dashboard/TopNavbar.module.css b/src/components/dashboard/TopNavbar.module.css
new file mode 100644
index 000000000..e145f8271
--- /dev/null
+++ b/src/components/dashboard/TopNavbar.module.css
@@ -0,0 +1,9 @@
+.navbar {
+ height: 65px;
+ box-shadow: var(--bottom-shadow);
+ @apply w-full;
+}
+
+.navbar > div {
+ @apply h-full flex items-center justify-between;
+}
diff --git a/src/components/landing/Hero.js b/src/components/landing/Hero.js
new file mode 100644
index 000000000..ed33d071d
--- /dev/null
+++ b/src/components/landing/Hero.js
@@ -0,0 +1,70 @@
+import { navigate } from 'gatsby';
+import React, { memo, useContext } from 'react';
+import TypeIt from 'typeit-react';
+import { Link } from '@reach/router';
+import { useTranslation } from 'react-i18next';
+import ModalContext from '../../contexts/ModalContext';
+import UserContext from '../../contexts/UserContext';
+import Button from '../shared/Button';
+import Logo from '../shared/Logo';
+
+const Hero = () => {
+ const { t } = useTranslation();
+ const { emitter, events } = useContext(ModalContext);
+ const { user, loading } = useContext(UserContext);
+
+ const handleLogin = () => emitter.emit(events.AUTH_MODAL);
+
+ const handleGotoApp = () => navigate('/app/dashboard');
+
+ return (
+
+
+
Reactive Resume
+
+
+
+
+
+ {
+ return instance
+ .type('Creative Resume')
+ .pause(500)
+ .move(-11)
+ .delete(4)
+ .pause(250)
+ .type('Reac')
+ .move('END');
+ }}
+ />
+
+
+ {t('shared.shortDescription')}
+
+
+
+ {user ? (
+
+ {t('landing.hero.goToApp')}
+
+ ) : (
+
+ {t('shared.buttons.login')}
+
+ )}
+
+
+
+ );
+};
+
+export default memo(Hero);
diff --git a/src/components/landing/Screenshots.js b/src/components/landing/Screenshots.js
new file mode 100644
index 000000000..8866b430e
--- /dev/null
+++ b/src/components/landing/Screenshots.js
@@ -0,0 +1,97 @@
+import React from 'react';
+import { useStaticQuery, graphql } from 'gatsby';
+import GatsbyImage from 'gatsby-image';
+import styles from './Screenshots.module.css';
+
+const Screenshots = () => {
+ const screenshots = useStaticQuery(graphql`
+ query {
+ screen1: file(relativePath: { eq: "screenshots/screen-1.png" }) {
+ childImageSharp {
+ fluid(maxWidth: 800) {
+ ...GatsbyImageSharpFluid
+ }
+ fixed(width: 300) {
+ ...GatsbyImageSharpFixed
+ }
+ }
+ }
+ screen2: file(relativePath: { eq: "screenshots/screen-2.png" }) {
+ childImageSharp {
+ fluid(maxWidth: 800) {
+ ...GatsbyImageSharpFluid
+ }
+ fixed(width: 300) {
+ ...GatsbyImageSharpFixed
+ }
+ }
+ }
+ screen3: file(relativePath: { eq: "screenshots/screen-3.png" }) {
+ childImageSharp {
+ fluid(maxWidth: 800) {
+ ...GatsbyImageSharpFluid
+ }
+ fixed(width: 300) {
+ ...GatsbyImageSharpFixed
+ }
+ }
+ }
+ screen4: file(relativePath: { eq: "screenshots/screen-4.png" }) {
+ childImageSharp {
+ fluid(maxWidth: 800) {
+ ...GatsbyImageSharpFluid
+ }
+ fixed(width: 300) {
+ ...GatsbyImageSharpFixed
+ }
+ }
+ }
+ screen5: file(relativePath: { eq: "screenshots/screen-5.png" }) {
+ childImageSharp {
+ fluid(maxWidth: 800) {
+ ...GatsbyImageSharpFluid
+ }
+ fixed(width: 300) {
+ ...GatsbyImageSharpFixed
+ }
+ }
+ }
+ screen6: file(relativePath: { eq: "screenshots/screen-6.png" }) {
+ childImageSharp {
+ fluid(maxWidth: 800) {
+ ...GatsbyImageSharpFluid
+ }
+ fixed(width: 300) {
+ ...GatsbyImageSharpFixed
+ }
+ }
+ }
+ }
+ `);
+
+ return (
+
+ );
+};
+
+export default Screenshots;
diff --git a/src/components/landing/Screenshots.module.css b/src/components/landing/Screenshots.module.css
new file mode 100644
index 000000000..b4a41880c
--- /dev/null
+++ b/src/components/landing/Screenshots.module.css
@@ -0,0 +1,14 @@
+.screenshot {
+ filter: grayscale(100%);
+ @apply shadow-xl rounded border-2 border-primary-100 ml-10;
+ @apply transition-all duration-200 ease-in-out;
+}
+
+.screenshot:hover {
+ filter: grayscale(0%);
+ @apply transition-all duration-200 ease-in-out;
+}
+
+.screenshot:first-child {
+ @apply ml-0;
+}
\ No newline at end of file
diff --git a/src/components/router/LoadingScreen.js b/src/components/router/LoadingScreen.js
new file mode 100644
index 000000000..1b11c4b88
--- /dev/null
+++ b/src/components/router/LoadingScreen.js
@@ -0,0 +1,21 @@
+import { Fade, Modal } from '@material-ui/core';
+import React, { memo } from 'react';
+import { getRandomTip } from '../../data/tips';
+import Logo from '../shared/Logo';
+
+const LoadingScreen = () => {
+ return (
+
+
+
+
+
+ {getRandomTip()}
+
+
+
+
+ );
+};
+
+export default memo(LoadingScreen);
diff --git a/src/components/router/PrivateRoute.js b/src/components/router/PrivateRoute.js
new file mode 100644
index 000000000..d78c66e3b
--- /dev/null
+++ b/src/components/router/PrivateRoute.js
@@ -0,0 +1,21 @@
+import { navigate } from 'gatsby';
+import React, { memo, useContext } from 'react';
+import UserContext from '../../contexts/UserContext';
+import LoadingScreen from './LoadingScreen';
+
+const PrivateRoute = ({ component: Component, ...props }) => {
+ const { user, loading } = useContext(UserContext);
+
+ if (loading) {
+ return
;
+ }
+
+ if (!user) {
+ navigate('/');
+ return null;
+ }
+
+ return
;
+};
+
+export default memo(PrivateRoute);
diff --git a/src/components/shared/Avatar.js b/src/components/shared/Avatar.js
new file mode 100644
index 000000000..e04cb202a
--- /dev/null
+++ b/src/components/shared/Avatar.js
@@ -0,0 +1,54 @@
+import cx from 'classnames';
+import { toUrl } from 'gatsby-source-gravatar';
+import React, { memo, useContext, useMemo, useState } from 'react';
+import { Menu, MenuItem } from '@material-ui/core';
+import { useTranslation } from 'react-i18next';
+import UserContext from '../../contexts/UserContext';
+import styles from './Avatar.module.css';
+import { handleKeyUp } from '../../utils';
+
+const Avatar = ({ className }) => {
+ const { t } = useTranslation();
+ const { user, logout } = useContext(UserContext);
+ const [anchorEl, setAnchorEl] = useState(null);
+
+ const handleClick = (event) => setAnchorEl(event.currentTarget);
+ const handleClose = () => setAnchorEl(null);
+
+ const handleLogout = () => {
+ logout();
+ handleClose();
+ };
+
+ const photoURL = useMemo(() => toUrl(user.email || '', 'size=128&d=retro'), [
+ user.email,
+ ]);
+
+ return (
+
+
handleKeyUp(e, handleClick)}
+ >
+
+
+
+ {t('shared.buttons.logout')}
+
+
+ );
+};
+
+export default memo(Avatar);
diff --git a/src/components/shared/Avatar.module.css b/src/components/shared/Avatar.module.css
new file mode 100644
index 000000000..6675eb1f1
--- /dev/null
+++ b/src/components/shared/Avatar.module.css
@@ -0,0 +1,3 @@
+.container {
+ @apply w-12 h-12 rounded-full;
+}
diff --git a/src/components/shared/Button.js b/src/components/shared/Button.js
new file mode 100644
index 000000000..000879b79
--- /dev/null
+++ b/src/components/shared/Button.js
@@ -0,0 +1,34 @@
+import cx from 'classnames';
+import React, { memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import { handleKeyUp } from '../../utils';
+import styles from './Button.module.css';
+
+const Button = ({
+ icon,
+ onClick,
+ outline,
+ children,
+ className,
+ isLoading,
+ isDelete,
+}) => {
+ const { t } = useTranslation();
+ const Icon = icon;
+
+ return (
+
handleKeyUp(e, onClick)}
+ onClick={isLoading ? undefined : onClick}
+ className={cx(styles.container, className, {
+ [styles.outline]: outline,
+ [styles.delete]: isDelete,
+ })}
+ >
+ {icon && }
+ {isLoading ? t('shared.buttons.loading') : children}
+
+ );
+};
+
+export default memo(Button);
diff --git a/src/components/shared/Button.module.css b/src/components/shared/Button.module.css
new file mode 100644
index 000000000..3fdf744f1
--- /dev/null
+++ b/src/components/shared/Button.module.css
@@ -0,0 +1,43 @@
+.container {
+ font-size: 11px;
+ padding: 6px 18px;
+ @apply relative flex items-center cursor-pointer rounded font-semibold bg-primary-900 border border-primary-900 text-primary-50;
+ @apply transition-colors duration-200 ease-in-out;
+}
+
+.container:hover {
+ @apply bg-primary-700 border-primary-700;
+ @apply transition-colors duration-200 ease-in-out;
+}
+
+.container:active {
+ top: 1px;
+}
+
+.container:focus {
+ @apply outline-none;
+}
+
+.container.outline {
+ @apply border border-primary-900 bg-transparent text-primary-900;
+}
+
+.container.outline:hover {
+ @apply bg-primary-200;
+}
+
+.container.outline:focus {
+ @apply outline-none;
+}
+
+.container.delete {
+ @apply bg-red-600 border-red-600 text-white;
+}
+
+.container.delete:hover {
+ @apply bg-red-700 border-red-700;
+}
+
+.container.delete:focus {
+ @apply outline-none;
+}
\ No newline at end of file
diff --git a/src/components/shared/Heading.js b/src/components/shared/Heading.js
new file mode 100644
index 000000000..e57f0eb02
--- /dev/null
+++ b/src/components/shared/Heading.js
@@ -0,0 +1,12 @@
+import React, { memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import { useSelector } from '../../contexts/ResumeContext';
+
+const Heading = ({ id }) => {
+ const { t } = useTranslation();
+ const heading = useSelector(`${id}.heading`, t(`builder.sections.${id}`));
+
+ return
{heading} ;
+};
+
+export default memo(Heading);
diff --git a/src/components/shared/Input.js b/src/components/shared/Input.js
new file mode 100644
index 000000000..f1b1cc7b3
--- /dev/null
+++ b/src/components/shared/Input.js
@@ -0,0 +1,164 @@
+import cx from 'classnames';
+import { isFunction } from 'lodash';
+import React, { memo, useEffect, useState } from 'react';
+import { Trans, useTranslation } from 'react-i18next';
+import { FaAngleDown } from 'react-icons/fa';
+import { MdOpenInNew } from 'react-icons/md';
+import { v4 as uuidv4 } from 'uuid';
+import { useDispatch, useSelector } from '../../contexts/ResumeContext';
+import { handleKeyUp } from '../../utils';
+import styles from './Input.module.css';
+
+const Input = ({
+ name,
+ path,
+ label,
+ error,
+ value,
+ onBlur,
+ options,
+ touched,
+ onClick,
+ onChange,
+ className,
+ isRequired,
+ placeholder,
+ type = 'text',
+}) => {
+ const { t } = useTranslation();
+ const [uuid, setUuid] = useState(null);
+ const stateValue = useSelector(path, '');
+ const dispatch = useDispatch();
+
+ useEffect(() => {
+ setUuid(uuidv4());
+ }, []);
+
+ value = path ? stateValue : value;
+ onChange = isFunction(onChange)
+ ? onChange
+ : (e) => {
+ dispatch({
+ type: 'on_input',
+ payload: {
+ path,
+ value: e.target.value,
+ },
+ });
+ };
+
+ return (
+
+
+
+ {label}{' '}
+ {isRequired && (
+
+ ({t('shared.forms.required')})
+
+ )}
+
+
+ {(type === 'text' || type === 'date') && (
+
+
+
+ )}
+
+ {type === 'textarea' && (
+
+
+
+
+
+ A
+
+ B
+
+ C
+
+
+
+ )}
+
+ {type === 'dropdown' && (
+
+
+ {options.map((x) => (
+
+ {x}
+
+ ))}
+
+
+
+
+ )}
+
+ {type === 'color' && (
+
+ )}
+
+ {type === 'action' && (
+
+
+
+
handleKeyUp(e, onClick)}
+ >
+
+
+
+ )}
+
+ {error && touched && {error}
}
+
+
+ );
+};
+
+export default memo(Input);
diff --git a/src/components/shared/Input.module.css b/src/components/shared/Input.module.css
new file mode 100644
index 000000000..ad4f98d8f
--- /dev/null
+++ b/src/components/shared/Input.module.css
@@ -0,0 +1,29 @@
+.circle {
+ left: 14px;
+ @apply absolute bg-primary-900 rounded-full w-6 h-6;
+}
+
+div.circle + input {
+ padding-left: 44px;
+}
+
+.read-only input:hover {
+ cursor: default;
+ border-color: transparent !important;
+}
+
+.read-only input:focus {
+ border-color: transparent !important;
+}
+
+.read-only div {
+ @apply absolute rounded-r top-0 right-0 bottom-0 w-20 flex justify-center items-center bg-primary-50;
+}
+
+.read-only div:hover {
+ @apply bg-primary-100;
+}
+
+.read-only div:focus {
+ @apply outline-none;
+}
diff --git a/src/components/shared/Logo.js b/src/components/shared/Logo.js
new file mode 100644
index 000000000..71350940b
--- /dev/null
+++ b/src/components/shared/Logo.js
@@ -0,0 +1,30 @@
+import cx from 'classnames';
+import { graphql, useStaticQuery } from 'gatsby';
+import GatsbyImage from 'gatsby-image';
+import React, { memo } from 'react';
+import styles from './Logo.module.css';
+
+const Logo = ({ size = '256px', className }) => {
+ const { file } = useStaticQuery(graphql`
+ query {
+ file(relativePath: { eq: "logo.png" }) {
+ childImageSharp {
+ fluid(maxWidth: 512) {
+ ...GatsbyImageSharpFluid
+ }
+ }
+ }
+ }
+ `);
+
+ return (
+
+ );
+};
+
+export default memo(Logo);
diff --git a/src/components/shared/Logo.module.css b/src/components/shared/Logo.module.css
new file mode 100644
index 000000000..cbd02e7d2
--- /dev/null
+++ b/src/components/shared/Logo.module.css
@@ -0,0 +1,8 @@
+.logo {
+ box-shadow: var(--shadow);
+ @apply rounded;
+}
+
+.logo:hover {
+ box-shadow: var(--shadow-strong);
+}
diff --git a/src/components/shared/PhotoUpload.js b/src/components/shared/PhotoUpload.js
new file mode 100644
index 000000000..dadad31cd
--- /dev/null
+++ b/src/components/shared/PhotoUpload.js
@@ -0,0 +1,58 @@
+import { Tooltip } from '@material-ui/core';
+import React, { memo, useContext, useRef } from 'react';
+import { MdFileUpload } from 'react-icons/md';
+import { useTranslation } from 'react-i18next';
+import StorageContext from '../../contexts/StorageContext';
+import { handleKeyUp } from '../../utils';
+import Input from './Input';
+import styles from './PhotoUpload.module.css';
+
+const PhotoUpload = () => {
+ const fileInputRef = useRef(null);
+ const { t } = useTranslation();
+ const { uploadPhotograph } = useContext(StorageContext);
+
+ const handleIconClick = () => {
+ fileInputRef.current.click();
+ };
+
+ const handleImageUpload = (e) => {
+ const file = e.target.files[0];
+ uploadPhotograph(file);
+ };
+
+ return (
+
+ );
+};
+
+export default memo(PhotoUpload);
diff --git a/src/components/shared/PhotoUpload.module.css b/src/components/shared/PhotoUpload.module.css
new file mode 100644
index 000000000..66ca9129e
--- /dev/null
+++ b/src/components/shared/PhotoUpload.module.css
@@ -0,0 +1,16 @@
+.circle {
+ width: 60px;
+ height: 60px;
+ flex: 0 0 60px;
+ @apply flex items-center justify-center cursor-pointer bg-primary-200 text-primary-500 rounded-full;
+ @apply transition-opacity duration-200 ease-in-out;
+}
+
+.circle:focus {
+ @apply outline-none;
+}
+
+.circle:hover {
+ @apply opacity-75;
+ @apply transition-opacity duration-200 ease-in-out;
+}
diff --git a/src/components/shared/SectionIcon.js b/src/components/shared/SectionIcon.js
new file mode 100644
index 000000000..a6f9dbf22
--- /dev/null
+++ b/src/components/shared/SectionIcon.js
@@ -0,0 +1,33 @@
+import { Tooltip } from '@material-ui/core';
+import React, { memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import { Link } from 'react-scroll';
+import styles from './SectionIcon.module.css';
+
+const SectionIcon = ({ section, containerId, tooltipPlacement }) => {
+ const { t } = useTranslation();
+ const { id, icon: Icon } = section;
+
+ return (
+
+
+
+
+
+ );
+};
+
+export default memo(SectionIcon);
diff --git a/src/components/shared/SectionIcon.module.css b/src/components/shared/SectionIcon.module.css
new file mode 100644
index 000000000..12ed63e2e
--- /dev/null
+++ b/src/components/shared/SectionIcon.module.css
@@ -0,0 +1,11 @@
+.icon {
+ @apply py-2 cursor-pointer;
+}
+
+.icon:focus {
+ @apply outline-none text-primary-900;
+}
+
+.icon:hover {
+ @apply text-primary-900;
+}
diff --git a/src/components/shared/Wrapper.js b/src/components/shared/Wrapper.js
new file mode 100644
index 000000000..522a5fd7b
--- /dev/null
+++ b/src/components/shared/Wrapper.js
@@ -0,0 +1,44 @@
+import React, { memo, useEffect } from 'react';
+import { Slide, toast } from 'react-toastify';
+import { Helmet } from 'react-helmet';
+import ModalRegistrar from '../../modals/ModalRegistrar';
+
+const Wrapper = ({ children }) => {
+ useEffect(() => {
+ toast.configure({
+ role: 'alert',
+ hideProgressBar: true,
+ transition: Slide,
+ closeButton: false,
+ position: 'bottom-right',
+ pauseOnFocusLoss: false,
+ });
+ }, []);
+
+ return (
+ <>
+
+
+
Reactive Resume
+
+
+
+
+
+
+
+
+ {children}
+
+
+ >
+ );
+};
+
+export default memo(Wrapper);
diff --git a/src/constants/ModalEvents.js b/src/constants/ModalEvents.js
new file mode 100644
index 000000000..ce62309d8
--- /dev/null
+++ b/src/constants/ModalEvents.js
@@ -0,0 +1,18 @@
+const ModalEvents = {
+ AUTH_MODAL: 'auth_modal',
+ CREATE_RESUME_MODAL: 'create_resume_modal',
+ SOCIAL_MODAL: 'social_modal',
+ WORK_MODAL: 'work_modal',
+ EDUCATION_MODAL: 'education_modal',
+ PROJECT_MODAL: 'project_modal',
+ AWARD_MODAL: 'award_modal',
+ CERTIFICATION_MODAL: 'certification_modal',
+ SKILL_MODAL: 'skill_modal',
+ HOBBY_MODAL: 'hobby_modal',
+ LANGUAGE_MODAL: 'language_modal',
+ REFERENCE_MODAL: 'reference_modal',
+ IMPORT_MODAL: 'import_modal',
+ EXPORT_MODAL: 'export_modal',
+};
+
+export default ModalEvents;
diff --git a/src/context/AppContext.js b/src/context/AppContext.js
deleted file mode 100644
index dee4d4f47..000000000
--- a/src/context/AppContext.js
+++ /dev/null
@@ -1,157 +0,0 @@
-import React, { createContext, useReducer } from 'react';
-import get from 'lodash/get';
-import set from 'lodash/set';
-import remove from 'lodash/remove';
-
-import demoData from '../assets/demo/data.json';
-import { move } from '../utils';
-
-const initialState = {
- data: {
- profile: {
- heading: 'Profile',
- photo: '',
- firstName: '',
- lastName: '',
- subtitle: '',
- address: {
- line1: '',
- line2: '',
- line3: '',
- },
- phone: '',
- website: '',
- email: '',
- },
- objective: {
- enable: true,
- heading: 'Objective',
- body: '',
- },
- work: {
- enable: true,
- heading: 'Work Experience',
- items: [],
- },
- education: {
- enable: true,
- heading: 'Education',
- items: [],
- },
- awards: {
- enable: true,
- heading: 'Honors & Awards',
- items: [],
- },
- certifications: {
- enable: true,
- heading: 'Certifications',
- items: [],
- },
- skills: {
- enable: true,
- heading: 'Skills',
- items: [],
- },
- hobbies: {
- enable: true,
- heading: 'Hobbies',
- items: [],
- },
- languages: {
- enable: true,
- heading: 'Languages',
- items: [],
- },
- references: {
- enable: true,
- heading: 'References',
- items: [],
- },
- extras: {
- enable: true,
- heading: 'Personal Information',
- items: [],
- },
- },
- theme: {
- layout: 'Onyx',
- font: {
- family: '',
- },
- colors: {
- background: '#ffffff',
- primary: '#212121',
- accent: '#f44336',
- },
- },
- settings: {
- language: 'en',
- },
-};
-
-const reducer = (state, { type, payload }) => {
- let items;
- const newState = JSON.parse(JSON.stringify(state));
-
- switch (type) {
- case 'migrate_section':
- return set({ ...newState }, `data.${payload.key}`, payload.value);
- case 'add_item':
- items = get({ ...newState }, `data.${payload.key}.items`, []);
- items.push(payload.value);
- return set({ ...newState }, `data.${payload.key}.items`, items);
- case 'delete_item':
- items = get({ ...newState }, `data.${payload.key}.items`, []);
- remove(items, x => x.id === payload.value.id);
- return set({ ...newState }, `data.${payload.key}.items`, items);
- case 'move_item_up':
- items = get({ ...newState }, `data.${payload.key}.items`, []);
- move(items, payload.value, -1);
- return set({ ...newState }, `data.${payload.key}.items`, items);
- case 'move_item_down':
- items = get({ ...newState }, `data.${payload.key}.items`, []);
- move(items, payload.value, 1);
- return set({ ...newState }, `data.${payload.key}.items`, items);
- case 'on_input':
- return set({ ...newState }, payload.key, payload.value);
- case 'save_data':
- localStorage.setItem('state', JSON.stringify(newState));
- return newState;
- case 'import_data':
- if (payload === null) return initialState;
-
- for (const section of Object.keys(initialState.data)) {
- if (!(section in payload.data)) {
- payload.data[section] = initialState.data[section];
- }
- }
-
- return {
- ...newState,
- ...payload,
- };
- case 'load_demo_data':
- return {
- ...newState,
- ...demoData,
- };
- case 'reset':
- return initialState;
- default:
- return newState;
- }
-};
-
-const AppContext = createContext(initialState);
-const { Provider } = AppContext;
-
-const StateProvider = ({ children }) => {
- const [state, dispatch] = useReducer(reducer, initialState);
- return
{children} ;
-};
-
-export const AppProvider = StateProvider;
-export const AppConsumer = AppContext.Consumer;
-
-export default AppContext;
diff --git a/src/context/PageContext.js b/src/context/PageContext.js
deleted file mode 100644
index ea47733a5..000000000
--- a/src/context/PageContext.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import React, { useState } from 'react';
-
-const PageContext = React.createContext(null);
-const { Provider } = PageContext;
-
-const StateProvider = ({ children }) => {
- const [pageRef, setPageRef] = useState(null);
- const [panZoomRef, setPanZoomRef] = useState(null);
- const [isPrintDialogOpen, setPrintDialogOpen] = useState(false);
-
- return (
-
- {children}
-
- );
-};
-
-export const PageProvider = StateProvider;
-export const PageConsumer = PageContext.Consumer;
-
-export default PageContext;
diff --git a/src/contexts/DatabaseContext.js b/src/contexts/DatabaseContext.js
new file mode 100644
index 000000000..236622900
--- /dev/null
+++ b/src/contexts/DatabaseContext.js
@@ -0,0 +1,131 @@
+import firebase from 'gatsby-plugin-firebase';
+import { debounce } from 'lodash';
+import ShortUniqueId from 'short-unique-id';
+import React, { createContext, memo, useContext, useState } from 'react';
+import UserContext from './UserContext';
+import initialState from '../data/initialState.json';
+import { getUnsplashPhoto } from '../utils';
+
+const DEBOUNCE_WAIT_TIME = 4000;
+
+const defaultState = {
+ isUpdating: false,
+ createResume: async () => {},
+ duplicateResume: async () => {},
+ deleteResume: () => {},
+ getResume: async () => {},
+ getResumes: async () => {},
+ updateResume: async () => {},
+ debouncedUpdateResume: async () => {},
+};
+
+const DatabaseContext = createContext(defaultState);
+
+const DatabaseProvider = ({ children }) => {
+ const dictionary = 'abcdefghijklmnopqrstuvwxyz1234567890'.split('');
+ const uuid = new ShortUniqueId({ dictionary });
+
+ const [isUpdating, setUpdating] = useState(false);
+ const { user } = useContext(UserContext);
+
+ const getResume = async (id) => {
+ try {
+ const snapshot = await firebase
+ .database()
+ .ref(`resumes/${id}`)
+ .once('value');
+ return snapshot.val();
+ } catch (error) {
+ return null;
+ }
+ };
+
+ const createResume = async ({ name }) => {
+ const id = uuid();
+ const preview = await getUnsplashPhoto();
+ const createdAt = firebase.database.ServerValue.TIMESTAMP;
+
+ let firstName;
+ let lastName;
+
+ if (!user.isAnonymous) {
+ [firstName, lastName] = user.displayName.split(' ');
+ }
+
+ const resume = {
+ ...initialState,
+ id,
+ name,
+ user: user.uid,
+ preview,
+ profile: {
+ ...initialState.profile,
+ firstName: firstName || '',
+ lastName: lastName || '',
+ },
+ createdAt,
+ updatedAt: createdAt,
+ };
+
+ firebase.database().ref(`resumes/${id}`).set(resume);
+ };
+
+ const duplicateResume = async (originalResume) => {
+ const id = uuid();
+ const preview = await getUnsplashPhoto();
+ const createdAt = firebase.database.ServerValue.TIMESTAMP;
+
+ const resume = {
+ ...originalResume,
+ id,
+ name: `${originalResume.name} Copy`,
+ preview,
+ createdAt,
+ updatedAt: createdAt,
+ };
+
+ firebase.database().ref(`resumes/${id}`).set(resume);
+ };
+
+ const updateResume = async (resume) => {
+ setUpdating(true);
+
+ await firebase
+ .database()
+ .ref(`resumes/${resume.id}`)
+ .update({
+ ...resume,
+ updatedAt: firebase.database.ServerValue.TIMESTAMP,
+ });
+
+ setUpdating(false);
+ };
+
+ const debouncedUpdateResume = debounce(updateResume, DEBOUNCE_WAIT_TIME);
+
+ const deleteResume = async (id) => {
+ await firebase.database().ref(`/resumes/${id}`).remove();
+ };
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default DatabaseContext;
+
+const memoizedProvider = memo(DatabaseProvider);
+
+export { memoizedProvider as DatabaseProvider };
diff --git a/src/contexts/ModalContext.js b/src/contexts/ModalContext.js
new file mode 100644
index 000000000..db86c4bf9
--- /dev/null
+++ b/src/contexts/ModalContext.js
@@ -0,0 +1,23 @@
+import { createNanoEvents } from 'nanoevents';
+import React, { createContext, memo } from 'react';
+import ModalEvents from '../constants/ModalEvents';
+
+const emitter = createNanoEvents();
+
+const defaultState = { events: ModalEvents, emitter };
+
+const ModalContext = createContext(defaultState);
+
+const ModalProvider = ({ children }) => {
+ return (
+
+ {children}
+
+ );
+};
+
+export default ModalContext;
+
+const memoizedProvider = memo(ModalProvider);
+
+export { memoizedProvider as ModalProvider };
diff --git a/src/contexts/PageContext.js b/src/contexts/PageContext.js
new file mode 100644
index 000000000..da70323ad
--- /dev/null
+++ b/src/contexts/PageContext.js
@@ -0,0 +1,7 @@
+import { createContext } from 'react';
+
+const defaultState = {};
+
+const PageContext = createContext(defaultState);
+
+export default PageContext;
diff --git a/src/contexts/ResumeContext.js b/src/contexts/ResumeContext.js
new file mode 100644
index 000000000..92f083c10
--- /dev/null
+++ b/src/contexts/ResumeContext.js
@@ -0,0 +1,268 @@
+import arrayMove from 'array-move';
+import { v4 as uuidv4 } from 'uuid';
+import {
+ clone,
+ findIndex,
+ get,
+ isUndefined,
+ merge,
+ setWith,
+ set,
+ has,
+} from 'lodash';
+import React, {
+ createContext,
+ memo,
+ useCallback,
+ useContext,
+ useReducer,
+} from 'react';
+import i18next from 'i18next';
+import demoState from '../data/demoState.json';
+import initialState from '../data/initialState.json';
+import DatabaseContext from './DatabaseContext';
+
+const ResumeContext = createContext({});
+
+const ResumeProvider = ({ children }) => {
+ const { debouncedUpdateResume } = useContext(DatabaseContext);
+
+ const memoizedReducer = useCallback(
+ (state, { type, payload }) => {
+ let newState;
+ let index;
+ let items;
+ let temp;
+
+ switch (type) {
+ case 'on_add_item':
+ delete payload.value.temp;
+ items = get(state, payload.path, []);
+ newState = setWith(
+ clone(state),
+ payload.path,
+ [...items, payload.value],
+ clone,
+ );
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'on_edit_item':
+ delete payload.value.temp;
+ items = get(state, payload.path);
+ index = findIndex(items, ['id', payload.value.id]);
+ newState = setWith(
+ clone(state),
+ `${payload.path}[${index}]`,
+ payload.value,
+ clone,
+ );
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'on_delete_item':
+ items = get(state, payload.path);
+ index = findIndex(items, ['id', payload.value.id]);
+ items.splice(index, 1);
+ newState = setWith(clone(state), payload.path, items, clone);
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'on_move_item_up':
+ items = get(state, payload.path);
+ index = findIndex(items, ['id', payload.value.id]);
+ items = arrayMove(items, index, index - 1);
+ newState = setWith(clone(state), payload.path, items, clone);
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'on_move_item_down':
+ items = get(state, payload.path);
+ index = findIndex(items, ['id', payload.value.id]);
+ items = arrayMove(items, index, index + 1);
+ newState = setWith(clone(state), payload.path, items, clone);
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'change_language':
+ newState = clone(state);
+ items = get(
+ i18next.getDataByLanguage(payload),
+ 'translation.builder.sections',
+ );
+ Object.keys(items).forEach((key) => {
+ has(newState, `${key}.heading`) &&
+ set(newState, `${key}.heading`, items[key]);
+ });
+ return newState;
+
+ case 'reset_layout':
+ temp = get(state, 'metadata.template');
+ items = get(initialState, `metadata.layout.${temp}`);
+ newState = setWith(
+ clone(state),
+ `metadata.layout.${temp}`,
+ items,
+ clone,
+ );
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'on_input':
+ newState = setWith(clone(state), payload.path, payload.value, clone);
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'on_import':
+ temp = clone(state);
+ newState = payload;
+ newState.id = temp.id;
+ newState.user = temp.user;
+ newState.name = temp.name;
+ newState.createdAt = temp.createdAt;
+ newState.updatedAt = temp.updatedAt;
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'on_import_jsonresume':
+ temp = clone(state);
+ newState = initialState;
+ newState.id = temp.id;
+ newState.user = temp.user;
+ newState.name = temp.name;
+ newState.preview = temp.preview;
+ newState.createdAt = temp.createdAt;
+ newState.updatedAt = temp.updatedAt;
+ newState.profile = {
+ address: {
+ city: payload.basics.location.city,
+ line1: payload.basics.location.address,
+ line2: payload.basics.location.region,
+ pincode: payload.basics.location.postalCode,
+ },
+ email: payload.basics.email,
+ firstName: payload.basics.name,
+ phone: payload.basics.phone,
+ photograph: payload.basics.picture,
+ subtitle: payload.basics.label,
+ website: payload.basics.website,
+ };
+ newState.social.items = payload.basics.profiles.map((x) => ({
+ id: uuidv4(),
+ network: x.network,
+ username: x.username,
+ url: x.url,
+ }));
+ newState.objective.body = payload.basics.summary;
+ newState.work.items = payload.work.map((x) => ({
+ id: uuidv4(),
+ company: x.company,
+ endDate: x.endDate,
+ position: x.position,
+ startDate: x.startDate,
+ summary: x.summary,
+ website: x.website,
+ }));
+ newState.education.items =
+ payload.education &&
+ payload.education.map((x) => ({
+ id: uuidv4(),
+ degree: x.studyType,
+ endDate: x.endDate,
+ field: x.area,
+ gpa: x.gpa,
+ institution: x.institution,
+ startDate: x.startDate,
+ summary: x.courses.join('\n'),
+ }));
+ newState.awards.items = payload.awards.map((x) => ({
+ id: uuidv4(),
+ awarder: x.awarder,
+ date: x.date,
+ summary: x.summary,
+ title: x.title,
+ }));
+ newState.skills.items = payload.skills.map((x) => ({
+ id: uuidv4(),
+ level: 'Fundamental Awareness',
+ name: x.name,
+ }));
+ newState.hobbies.items = payload.interests.map((x) => ({
+ id: uuidv4(),
+ name: x.name,
+ }));
+ newState.languages.items = payload.languages.map((x) => ({
+ id: uuidv4(),
+ name: x.language,
+ fluency: x.fluency,
+ }));
+ newState.references.items = payload.references.map((x) => ({
+ id: uuidv4(),
+ name: x.name,
+ summary: x.reference,
+ }));
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'set_data':
+ newState = payload;
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'reset_data':
+ temp = clone(state);
+ newState = initialState;
+ newState.id = temp.id;
+ newState.user = temp.user;
+ newState.name = temp.name;
+ newState.createdAt = temp.createdAt;
+ newState.updatedAt = temp.updatedAt;
+ debouncedUpdateResume(newState);
+ return newState;
+
+ case 'load_demo_data':
+ newState = merge(clone(state), demoState);
+ newState.metadata.layout = demoState.metadata.layout;
+ debouncedUpdateResume(newState);
+ return newState;
+
+ default:
+ throw new Error();
+ }
+ },
+ [debouncedUpdateResume],
+ );
+
+ const [state, dispatch] = useReducer(memoizedReducer, initialState);
+
+ return (
+
+ {children}
+
+ );
+};
+
+const useSelector = (path, fallback) => {
+ const { state } = useContext(ResumeContext);
+ let value = get(state, path);
+
+ if (isUndefined(value)) {
+ value = isUndefined(fallback) ? state : fallback;
+ }
+
+ return value;
+};
+
+const useDispatch = () => {
+ const { dispatch } = useContext(ResumeContext);
+ return dispatch;
+};
+
+const memoizedProvider = memo(ResumeProvider);
+
+export {
+ ResumeContext,
+ memoizedProvider as ResumeProvider,
+ useSelector,
+ useDispatch,
+};
diff --git a/src/contexts/SettingsContext.js b/src/contexts/SettingsContext.js
new file mode 100644
index 000000000..98aa529ad
--- /dev/null
+++ b/src/contexts/SettingsContext.js
@@ -0,0 +1,59 @@
+import i18next from 'i18next';
+import moment from 'moment';
+import React, { createContext, memo, useEffect, useState } from 'react';
+import themeConfig from '../data/themeConfig';
+
+const defaultState = {
+ theme: 'Dark',
+ setTheme: () => {},
+ language: 'en',
+ setLanguage: () => {},
+};
+
+const SettingsContext = createContext(defaultState);
+
+const SettingsProvider = ({ children }) => {
+ const [theme, setTheme] = useState(defaultState.theme);
+ const [language, setLanguage] = useState(defaultState.theme);
+
+ useEffect(() => {
+ const prefTheme = localStorage.getItem('theme') || defaultState.theme;
+ const prefLanguage =
+ localStorage.getItem('language') || defaultState.language;
+ setTheme(prefTheme);
+ setLanguage(prefLanguage);
+ }, []);
+
+ useEffect(() => {
+ localStorage.setItem('theme', theme);
+ const colorConfig = themeConfig[theme];
+ for (const [key, value] of Object.entries(colorConfig)) {
+ document.documentElement.style.setProperty(key, value);
+ }
+ }, [theme]);
+
+ useEffect(() => {
+ localStorage.setItem('language', language);
+ i18next.changeLanguage(language);
+ moment.locale(language);
+ }, [language]);
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default SettingsContext;
+
+const memoizedProvider = memo(SettingsProvider);
+
+export { memoizedProvider as SettingsProvider };
diff --git a/src/contexts/StorageContext.js b/src/contexts/StorageContext.js
new file mode 100644
index 000000000..8263206ee
--- /dev/null
+++ b/src/contexts/StorageContext.js
@@ -0,0 +1,98 @@
+import firebase from 'gatsby-plugin-firebase';
+import React, { createContext, memo, useContext, useRef } from 'react';
+import { toast } from 'react-toastify';
+import { isFileImage } from '../utils';
+import { useDispatch, useSelector } from './ResumeContext';
+import UserContext from './UserContext';
+
+const defaultState = {
+ uploadPhotograph: async () => {},
+};
+
+const StorageContext = createContext(defaultState);
+
+const StorageProvider = ({ children }) => {
+ const toastId = useRef(null);
+
+ const { user } = useContext(UserContext);
+
+ const id = useSelector('id');
+ const dispatch = useDispatch();
+
+ const uploadPhotograph = async (file) => {
+ if (!file) {
+ return null;
+ }
+
+ if (!isFileImage(file)) {
+ toast.error(
+ "You tried to upload a file that was not an image. That won't look good on your resume. Please try again.",
+ );
+ return null;
+ }
+
+ if (file.size > 2097152) {
+ toast.error(
+ "Your image seems to be bigger than 2 MB. That's way too much. Maybe consider reducing it's size?",
+ );
+ return null;
+ }
+
+ const uploadTask = firebase
+ .storage()
+ .ref(`/users/${user.uid}/photographs/${id}`)
+ .put(file);
+
+ let progress = 0;
+ toastId.current = toast('Firing up engines...', {
+ progress,
+ });
+
+ uploadTask.on(
+ 'state_changed',
+ (snapshot) => {
+ progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
+ toast.update(toastId.current, {
+ render: 'Uploading...',
+ progress,
+ hideProgressBar: false,
+ });
+ },
+ (error) => toast.error(error),
+ async () => {
+ const downloadURL = await uploadTask.snapshot.ref.getDownloadURL();
+ dispatch({
+ type: 'on_input',
+ payload: {
+ path: 'profile.photograph',
+ value: downloadURL,
+ },
+ });
+
+ toast.update(toastId.current, {
+ render:
+ 'Your photograph was uploaded successfully... and you look great!',
+ progress,
+ autoClose: 2000,
+ hideProgressBar: true,
+ });
+ },
+ );
+ };
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default StorageContext;
+
+const memoizedProvider = memo(StorageProvider);
+
+export { memoizedProvider as StorageProvider };
diff --git a/src/contexts/UserContext.js b/src/contexts/UserContext.js
new file mode 100644
index 000000000..5266391ed
--- /dev/null
+++ b/src/contexts/UserContext.js
@@ -0,0 +1,112 @@
+import { navigate } from '@reach/router';
+import firebase from 'gatsby-plugin-firebase';
+import { pick } from 'lodash';
+import React, { createContext, memo, useEffect, useState } from 'react';
+import { toast } from 'react-toastify';
+import useAuthState from '../hooks/useAuthState';
+
+const defaultUser = {
+ uid: null,
+ email: null,
+ displayName: null,
+ isAnonymous: false,
+};
+
+const defaultState = {
+ loading: false,
+ user: defaultUser,
+ logout: async () => {},
+ loginWithGoogle: async () => {},
+ loginAnonymously: async () => {},
+ deleteAccount: async () => {},
+};
+
+const UserContext = createContext(defaultState);
+
+const UserProvider = ({ children }) => {
+ const [firebaseUser, loading] = useAuthState(firebase);
+ const [user, setUser] = useState(null);
+
+ useEffect(() => {
+ const localUser = JSON.parse(localStorage.getItem('user'));
+ setUser(localUser);
+ }, []);
+
+ useEffect(() => {
+ if (firebaseUser) {
+ const remoteUser = pick(firebaseUser, Object.keys(defaultUser));
+ localStorage.setItem('user', JSON.stringify(remoteUser));
+ setUser(remoteUser);
+
+ const addUserToDatabase = async () => {
+ const userRef = firebase.database().ref(`users/${remoteUser.uid}`);
+ const snapshot = await userRef.once('value');
+ !snapshot.val() && userRef.set(remoteUser);
+ };
+
+ addUserToDatabase();
+ }
+ }, [firebaseUser]);
+
+ const loginWithGoogle = async () => {
+ const provider = new firebase.auth.GoogleAuthProvider();
+
+ try {
+ return await firebase.auth().signInWithPopup(provider);
+ } catch (error) {
+ toast.error(error.message);
+ }
+ };
+
+ const loginAnonymously = async () => {
+ try {
+ return await firebase.auth().signInAnonymously();
+ } catch (error) {
+ toast.error(error.message);
+ }
+ };
+
+ const logout = () => {
+ firebase.auth().signOut();
+ localStorage.removeItem('user');
+ setUser(null);
+ navigate('/');
+ };
+
+ const deleteAccount = async () => {
+ const { currentUser } = firebase.auth();
+ try {
+ await currentUser.delete();
+ } catch (e) {
+ toast.error(e.message);
+ await loginWithGoogle();
+ await currentUser.delete();
+ } finally {
+ logout();
+ toast(
+ "It's sad to see you go, but we respect your privacy. All your data has been deleted successfully. Hope to see you again soon!",
+ );
+ }
+ };
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default UserContext;
+
+const memoizedProvider = memo(UserProvider);
+
+export { memoizedProvider as UserProvider };
diff --git a/src/data/colorOptions.js b/src/data/colorOptions.js
new file mode 100644
index 000000000..bd231af77
--- /dev/null
+++ b/src/data/colorOptions.js
@@ -0,0 +1,20 @@
+const colorOptions = [
+ '#f44336',
+ '#E91E63',
+ '#9C27B0',
+ '#673AB7',
+ '#3F51B5',
+ '#2196F3',
+ '#03A9F4',
+ '#00BCD4',
+ '#009688',
+ '#4CAF50',
+ '#8BC34A',
+ '#CDDC39',
+ '#FFEB3B',
+ '#FFC107',
+ '#FF9800',
+ '#FF5722',
+];
+
+export default colorOptions;
diff --git a/src/data/demoState.json b/src/data/demoState.json
new file mode 100644
index 000000000..f1f08a8d7
--- /dev/null
+++ b/src/data/demoState.json
@@ -0,0 +1,335 @@
+{
+ "awards": {
+ "heading": "Awards",
+ "items": [
+ {
+ "awarder": "Google",
+ "date": "2019-04-01",
+ "id": "6f857f2b-6312-4a0d-907d-2e17991954eb",
+ "summary": "",
+ "title": "International Flutter Hackathon"
+ },
+ {
+ "awarder": "Venturesity",
+ "date": "2016-06-01",
+ "id": "f6efa3f9-9741-4e36-a538-ba0d9779bc61",
+ "summary": "",
+ "title": "Venturesity Banyan Hack"
+ },
+ {
+ "awarder": "Govt. of India",
+ "date": "2017-04-01",
+ "id": "89c0171a-eae9-403e-9f4c-a757fb535c2b",
+ "summary": "",
+ "title": "Smart India Hackathon"
+ }
+ ],
+ "visible": true
+ },
+ "certifications": {
+ "heading": "Certifications",
+ "items": [
+ {
+ "date": "2018-02-01",
+ "id": "d2ec12bc-7876-46bc-afd4-11ae06faf3bd",
+ "issuer": "Cisco Systems",
+ "summary": "",
+ "title": "CCNP"
+ },
+ {
+ "date": "2019-06-01",
+ "id": "f8312288-53ae-4504-a768-4b67aea95926",
+ "issuer": "VMWare",
+ "summary": "",
+ "title": "VCP6-DCV"
+ },
+ {
+ "date": "2014-04-01",
+ "id": "11107df6-5f3c-49ae-bcd4-62b8baa181a1",
+ "issuer": "Cisco Systems",
+ "summary": "",
+ "title": "DCUCI 642-999"
+ }
+ ],
+ "visible": true
+ },
+ "education": {
+ "heading": "Education",
+ "items": [
+ {
+ "degree": "Masters",
+ "endDate": "2002-08-01",
+ "field": "Computer Science",
+ "gpa": "7.2 CGPA",
+ "id": "c42e2a5a-3f0d-497e-838b-ac2019dcf045",
+ "institution": "The City College of New York, NYC, NY",
+ "startDate": "2001-09-01",
+ "summary": ""
+ },
+ {
+ "degree": "Bachelors",
+ "endDate": "2001-08-01",
+ "field": "Computer Science",
+ "gpa": "8.4 CGPA",
+ "id": "278490a2-c327-4e83-8be8-adf913a9b36c",
+ "institution": "University of California, Berkeley, CA",
+ "startDate": "1997-09-01",
+ "summary": ""
+ }
+ ],
+ "visible": true
+ },
+ "hobbies": {
+ "heading": "Hobbies",
+ "items": [
+ { "id": "788dcf5a-78ca-4866-8397-c7a29073d9a1", "name": "Poetry" },
+ { "id": "e3523371-f50c-4348-8c5e-35fe84c0006d", "name": "Travelling" },
+ { "id": "92c35e3b-6cd7-4cea-b505-61347ec61b68", "name": "Photography" },
+ {
+ "id": "d36f2089-93a9-4f30-a425-3dd81c6b89df",
+ "name": "Playing Badminton"
+ },
+ {
+ "id": "d1da41a9-ae83-48fb-8047-d45ebd869a69",
+ "name": "Developing Reactive Resume"
+ }
+ ],
+ "visible": true
+ },
+ "languages": {
+ "heading": "Languages",
+ "items": [
+ {
+ "fluency": "Very Fluent",
+ "id": "78d8cf32-84c7-431d-969b-fdf277968026",
+ "name": "English"
+ },
+ {
+ "fluency": "Native Tongue",
+ "id": "9e0bd5ed-b88d-4046-8fb9-ecba54d29924",
+ "name": "Tamil"
+ },
+ {
+ "fluency": "Native Tongue",
+ "id": "cb895aa9-c485-4bf3-a9e3-08e8f219451a",
+ "name": "Kannada"
+ },
+ {
+ "fluency": "Learning on Duolingo",
+ "id": "8fff60fc-0cd6-47e2-b64f-fb249d1af0d1",
+ "name": "German"
+ }
+ ],
+ "visible": true
+ },
+ "metadata": {
+ "colors": {
+ "background": "#FFFFFF",
+ "primary": "#009688",
+ "text": "#212121"
+ },
+ "font": "Open Sans",
+ "layout": {
+ "castform": [
+ ["awards", "certifications", "languages", "hobbies"],
+ ["objective", "work", "education", "skills", "projects", "references"]
+ ],
+ "celebi": [
+ ["awards", "certifications", "languages", "hobbies"],
+ ["objective", "work", "education", "skills", "projects", "references"]
+ ],
+ "gengar": [
+ ["objective", "skills"],
+ ["awards", "certifications", "languages", "references", "hobbies"],
+ ["work", "education", "projects"]
+ ],
+ "glalie": [
+ ["awards", "certifications", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "languages",
+ "references"
+ ]
+ ],
+ "onyx": [
+ ["objective", "work", "education", "projects"],
+ ["hobbies", "languages", "awards", "certifications"],
+ ["skills", "references"]
+ ],
+ "pikachu": [
+ ["skills", "languages", "hobbies", "awards", "certifications"],
+ ["work", "education", "projects", "references"]
+ ]
+ },
+ "template": "castform"
+ },
+ "objective": {
+ "body": "To obtain a job within my chosen field that will challenge me and allow me to use my education, skills and past experiences in a way that is mutually beneficial to both myself and my employer and allow for future growth and advancement.",
+ "heading": "Objective",
+ "visible": true
+ },
+ "profile": {
+ "address": {
+ "city": "Bangalore, India -",
+ "line1": "#5/A, Banashankari Nivas,",
+ "line2": "Brindavan Layout, Subramanyapura,",
+ "pincode": "560061"
+ },
+ "email": "hello@amruthpillai.com",
+ "firstName": "Amruth",
+ "heading": "Profile",
+ "lastName": "Pillai",
+ "phone": "+91 98453 36113",
+ "photograph": "https://i.imgur.com/2dmLSCT.jpg",
+ "subtitle": "Full Stack Web Developer",
+ "website": "amruthpillai.com"
+ },
+ "projects": {
+ "heading": "Projects",
+ "items": [
+ {
+ "date": "2020-07-01",
+ "id": "c768dcca-90f5-4242-a608-6759b4f667fb",
+ "link": "https://github.com/AmruthPillai/Reactive-Resume",
+ "summary": "Reactive Resume, a free and open-source resume builder that works for you. A few of the important features that make it awesome are minimalistic UI/UX, extensive customizability, portability, regularly updated templates, etc.\n\nFor more information, check out [rxresu.me](https://github.com/AmruthPillai/Reactive-Resume)",
+ "title": "Reactive Resume"
+ },
+ {
+ "date": "2020-04-01",
+ "id": "6ca600b1-c21f-4d7b-8431-f7144d537dd3",
+ "link": "https://amruthpillai.com",
+ "summary": "Resume on the Web has been a project that I've been focused on since the early 2014s. I didn't want my information to be displayed on just a sheet of paper that only HRs or Talent Scouts had the privilege of reading, I wanted it to be accessible to everyone. And that's how this project was conceptualized.",
+ "title": "Resume on the Web"
+ }
+ ],
+ "visible": true
+ },
+ "public": true,
+ "references": {
+ "heading": "References",
+ "items": [
+ {
+ "email": "willywonka@goldenticket.com",
+ "id": "168339fd-3c4b-4f2f-bd3a-ef184be81700",
+ "name": "Willy Wonka",
+ "phone": "+1 (802) 234-2398",
+ "position": "CEO at Chocolate Factory",
+ "summary": ""
+ },
+ {
+ "email": "elanmusk@nottesla.com",
+ "id": "350465b9-9989-43cc-b97e-4115b8980304",
+ "name": "Elangovan Musk",
+ "phone": "+91 93893 34353",
+ "position": "CEO at Newton Motors",
+ "summary": ""
+ },
+ {
+ "email": "l.beasley@carsonlogistics.com",
+ "id": "94e3447b-0a78-4fb7-b14d-591982d35320",
+ "name": "Lorraine Beasley",
+ "phone": "+1 661-808-4188",
+ "position": "Head of HR, Carson Logistics",
+ "summary": ""
+ }
+ ],
+ "visible": true
+ },
+ "skills": {
+ "heading": "Skills",
+ "items": [
+ {
+ "id": "54e5bceb-d0e9-4f04-98d1-48a34f7cf920",
+ "level": "Advanced",
+ "name": "Customer Service Expertise"
+ },
+ {
+ "id": "f0274f62-2252-4cc0-bf12-9e1070942c50",
+ "level": "Intermediate",
+ "name": "High-Volume Call Center"
+ },
+ {
+ "id": "689e2852-df1b-4d41-bda8-c41c88196264",
+ "level": "Intermediate",
+ "name": "Team Leader/Problem Solver"
+ },
+ {
+ "id": "3a4f73b1-50c1-4a85-a4b0-2a55dfe5053a",
+ "level": "Novice",
+ "name": "Call Center Management"
+ },
+ {
+ "id": "08d6c739-1465-41f7-8825-b8d94faa38d6",
+ "level": "Novice",
+ "name": "Teambuilding & Training"
+ },
+ {
+ "id": "261b8fc3-aeec-4347-88a8-bcacb1a17aa3",
+ "level": "Fundamental Awareness",
+ "name": "Continuous Improvement"
+ }
+ ],
+ "visible": true
+ },
+ "social": {
+ "heading": "Social Network",
+ "items": [
+ {
+ "id": "a832b37d-f11d-4a80-8b4d-24796e571b17",
+ "network": "Instagram",
+ "url": "https://pillai.xyz/instagram",
+ "username": "AmruthPillai"
+ },
+ {
+ "id": "a72107fa-a4a5-407d-9e85-39bdb9c0b11a",
+ "network": "Twitter",
+ "url": "https://pillai.xyz/twitter",
+ "username": "KingOKings"
+ },
+ {
+ "id": "1dd46fdd-b3a3-4786-89ce-2e77c0823aba",
+ "network": "LinkedIn",
+ "url": "https://pillai.xyz/linkedin",
+ "username": "AmruthPillai"
+ }
+ ],
+ "visible": true
+ },
+ "work": {
+ "heading": "Work Experience",
+ "items": [
+ {
+ "company": "On Point Electronics, NYC, NY",
+ "endDate": "2018-07-01",
+ "id": "d7c64937-0cb9-41b1-a3a6-0679c882fe63",
+ "position": "Customer Service Representative",
+ "startDate": "2013-01-01",
+ "summary": "- Organized customer information and account data for business planning and customer service purposes.\n- Created excel spreadsheets to track customer data and perform intense reconciliation process.\n- Received 97% positive customer survey results.\n- Speed on calls was 10% above team average. \n**Key Achievement:** Designed and executed an automatized system for following up with customers, increasing customer retention by 22%.",
+ "website": "https://onpoint.com"
+ },
+ {
+ "company": "Excelsior Communications, NYC, NY",
+ "endDate": "2012-12-01",
+ "id": "f5c5dcfe-2a60-4169-a2f1-b305355518ea",
+ "position": "Customer Service Representative",
+ "startDate": "2009-10-01",
+ "summary": "- Worked as a full time customer service rep in a high volume call center.\n- Received \"Associate of the Month\" award six times.\n- Chosen as an example for other associates in trainings. \n**Key Achievement:** Received Customer Appreciation bonus in three of four years.",
+ "website": "https://excelsior.com"
+ },
+ {
+ "company": "Pizza Hut, Newark, NJ",
+ "endDate": "2009-09-01",
+ "id": "dd935088-6fe7-4a4b-8ff5-7417c32d2add",
+ "position": "Waiter",
+ "startDate": "2005-08-01",
+ "summary": "- Worked passionately in customer service in a high volume restaurant.\n- Completed the FAST customer service training class.\n- Maintained a high tip average thanks to consistent customer satisfaction.",
+ "website": "https://pizzahut.com"
+ }
+ ],
+ "visible": true
+ }
+}
diff --git a/src/data/fontOptions.js b/src/data/fontOptions.js
new file mode 100644
index 000000000..509920551
--- /dev/null
+++ b/src/data/fontOptions.js
@@ -0,0 +1,12 @@
+const fontOptions = [
+ 'Lato',
+ 'Montserrat',
+ 'Nunito',
+ 'Open Sans',
+ 'Raleway',
+ 'Rubik',
+ 'Source Sans Pro',
+ 'Titillium Web',
+];
+
+export default fontOptions;
diff --git a/src/data/initialState.json b/src/data/initialState.json
new file mode 100644
index 000000000..1c6af5f01
--- /dev/null
+++ b/src/data/initialState.json
@@ -0,0 +1,110 @@
+{
+ "profile": {
+ "heading": "Profile",
+ "photograph": "",
+ "firstName": "",
+ "lastName": "",
+ "subtitle": "",
+ "address": {
+ "line1": "",
+ "line2": "",
+ "city": "",
+ "pincode": ""
+ },
+ "website": "",
+ "email": ""
+ },
+ "social": {
+ "heading": "Social Network",
+ "visible": true,
+ "items": []
+ },
+ "objective": {
+ "heading": "Objective",
+ "visible": true,
+ "body": ""
+ },
+ "work": {
+ "heading": "Work Experience",
+ "visible": true,
+ "items": []
+ },
+ "education": {
+ "heading": "Education",
+ "visible": true,
+ "items": []
+ },
+ "projects": {
+ "heading": "Projects",
+ "visible": true,
+ "items": []
+ },
+ "awards": {
+ "heading": "Awards",
+ "visible": true,
+ "items": []
+ },
+ "certifications": {
+ "heading": "Certifications",
+ "visible": true,
+ "items": []
+ },
+ "skills": {
+ "heading": "Skills",
+ "visible": true,
+ "items": []
+ },
+ "hobbies": {
+ "heading": "Hobbies",
+ "visible": true,
+ "items": []
+ },
+ "languages": {
+ "heading": "Languages",
+ "visible": true,
+ "items": []
+ },
+ "references": {
+ "heading": "References",
+ "visible": true,
+ "items": []
+ },
+ "metadata": {
+ "template": "onyx",
+ "font": "Montserrat",
+ "layout": {
+ "onyx": [
+ ["objective", "work", "education", "projects"],
+ ["hobbies", "languages", "awards", "certifications"],
+ ["skills", "references"]
+ ],
+ "pikachu": [
+ ["skills", "languages", "hobbies", "awards", "certifications"],
+ ["work", "education", "projects", "references"]
+ ],
+ "gengar": [
+ ["objective", "skills"],
+ ["awards", "certifications", "languages", "references", "hobbies"],
+ ["work", "education", "projects"]
+ ],
+ "castform": [
+ ["awards", "certifications", "languages", "hobbies"],
+ ["objective", "work", "education", "skills", "projects", "references"]
+ ],
+ "glalie": [
+ ["awards", "certifications", "hobbies"],
+ ["objective", "work", "education", "skills", "projects", "languages", "references"]
+ ],
+ "celebi": [
+ ["awards", "certifications", "languages", "hobbies"],
+ ["objective", "work", "education", "skills", "projects", "references"]
+ ]
+ },
+ "colors": {
+ "text": "#444444",
+ "primary": "#5875DB",
+ "background": "#FFFFFF"
+ }
+ },
+ "public": true
+}
diff --git a/src/data/leftSections.js b/src/data/leftSections.js
new file mode 100644
index 000000000..453c24505
--- /dev/null
+++ b/src/data/leftSections.js
@@ -0,0 +1,73 @@
+import { AiFillSafetyCertificate, AiOutlineTwitter } from 'react-icons/ai';
+import { BsTools } from 'react-icons/bs';
+import { FaAward, FaProjectDiagram, FaUserFriends } from 'react-icons/fa';
+import {
+ IoLogoGameControllerB,
+ IoMdBriefcase,
+ IoMdDocument,
+} from 'react-icons/io';
+import { MdPerson, MdSchool, MdTranslate } from 'react-icons/md';
+import ModalEvents from '../constants/ModalEvents';
+
+export default [
+ {
+ id: 'profile',
+ icon: MdPerson,
+ fixed: true,
+ },
+ {
+ id: 'social',
+ icon: AiOutlineTwitter,
+ event: ModalEvents.SOCIAL_MODAL,
+ fixed: true,
+ },
+ {
+ id: 'objective',
+ icon: IoMdDocument,
+ },
+ {
+ id: 'work',
+ icon: IoMdBriefcase,
+ event: ModalEvents.WORK_MODAL,
+ },
+ {
+ id: 'education',
+ icon: MdSchool,
+ event: ModalEvents.EDUCATION_MODAL,
+ },
+ {
+ id: 'projects',
+ icon: FaProjectDiagram,
+ event: ModalEvents.PROJECT_MODAL,
+ },
+ {
+ id: 'awards',
+ icon: FaAward,
+ event: ModalEvents.AWARD_MODAL,
+ },
+ {
+ id: 'certifications',
+ icon: AiFillSafetyCertificate,
+ event: ModalEvents.CERTIFICATION_MODAL,
+ },
+ {
+ id: 'skills',
+ icon: BsTools,
+ event: ModalEvents.SKILL_MODAL,
+ },
+ {
+ id: 'hobbies',
+ icon: IoLogoGameControllerB,
+ event: ModalEvents.HOBBY_MODAL,
+ },
+ {
+ id: 'languages',
+ icon: MdTranslate,
+ event: ModalEvents.LANGUAGE_MODAL,
+ },
+ {
+ id: 'references',
+ icon: FaUserFriends,
+ event: ModalEvents.REFERENCE_MODAL,
+ },
+];
diff --git a/src/data/rightSections.js b/src/data/rightSections.js
new file mode 100644
index 000000000..2b0088657
--- /dev/null
+++ b/src/data/rightSections.js
@@ -0,0 +1,40 @@
+import {
+ MdColorLens,
+ MdDashboard,
+ MdFontDownload,
+ MdImportExport,
+ MdInfo,
+ MdSettings,
+ MdStyle,
+} from 'react-icons/md';
+
+export default [
+ {
+ id: 'templates',
+ icon: MdStyle,
+ },
+ {
+ id: 'layout',
+ icon: MdDashboard,
+ },
+ {
+ id: 'colors',
+ icon: MdColorLens,
+ },
+ {
+ id: 'fonts',
+ icon: MdFontDownload,
+ },
+ {
+ id: 'actions',
+ icon: MdImportExport,
+ },
+ {
+ id: 'settings',
+ icon: MdSettings,
+ },
+ {
+ id: 'about',
+ icon: MdInfo,
+ },
+];
diff --git a/src/data/schema/jsonResume.json b/src/data/schema/jsonResume.json
new file mode 100644
index 000000000..56a824a46
--- /dev/null
+++ b/src/data/schema/jsonResume.json
@@ -0,0 +1,466 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "$id": "http://json-schema.org/draft-04/schema#",
+ "definitions": {
+ "iso8601": {
+ "type": "string",
+ "description": "e.g. 2014-06-29",
+ "pattern": "^([1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]|[1-2][0-9]{3}-[0-1][0-9]|[1-2][0-9]{3})$"
+ }
+ },
+ "properties": {
+ "basics": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string",
+ "description": "e.g. Web Developer"
+ },
+ "image": {
+ "type": "string",
+ "description": "URL (as per RFC 3986) to a image in JPEG or PNG format"
+ },
+ "email": {
+ "type": "string",
+ "description": "e.g. thomas@gmail.com",
+ "format": "email"
+ },
+ "phone": {
+ "type": "string",
+ "description": "Phone numbers are stored as strings so use any format you like, e.g. 712-117-2923"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL (as per RFC 3986) to your website, e.g. personal homepage",
+ "format": "uri"
+ },
+ "summary": {
+ "type": "string",
+ "description": "Write a short 2-3 sentence biography about yourself"
+ },
+ "location": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "To add multiple address lines, use \n. For example, 1234 Glücklichkeit Straße\nHinterhaus 5. Etage li."
+ },
+ "postalCode": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "countryCode": {
+ "type": "string",
+ "description": "code as per ISO-3166-1 ALPHA-2, e.g. US, AU, IN"
+ },
+ "region": {
+ "type": "string",
+ "description": "The general region where you live. Can be a US state, or a province, for instance."
+ }
+ }
+ },
+ "profiles": {
+ "type": "array",
+ "description": "Specify any number of social networks that you participate in",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "network": {
+ "type": "string",
+ "description": "e.g. Facebook or Twitter"
+ },
+ "username": {
+ "type": "string",
+ "description": "e.g. neutralthoughts"
+ },
+ "url": {
+ "type": "string",
+ "description": "e.g. http://twitter.example.com/neutralthoughts",
+ "format": "uri"
+ }
+ }
+ }
+ }
+ }
+ },
+ "work": {
+ "type": "array",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "e.g. Facebook"
+ },
+ "location": {
+ "type": "string",
+ "description": "e.g. Menlo Park, CA"
+ },
+ "description": {
+ "type": "string",
+ "description": "e.g. Social Media Company"
+ },
+ "position": {
+ "type": "string",
+ "description": "e.g. Software Engineer"
+ },
+ "url": {
+ "type": "string",
+ "description": "e.g. http://facebook.example.com",
+ "format": "uri"
+ },
+ "startDate": {
+ "$ref": "#/definitions/iso8601"
+ },
+ "endDate": {
+ "$ref": "#/definitions/iso8601"
+ },
+ "summary": {
+ "type": "string",
+ "description": "Give an overview of your responsibilities at the company"
+ },
+ "highlights": {
+ "type": "array",
+ "description": "Specify multiple accomplishments",
+ "additionalItems": false,
+ "items": {
+ "type": "string",
+ "description": "e.g. Increased profits by 20% from 2011-2012 through viral advertising"
+ }
+ }
+ }
+ }
+ },
+ "volunteer": {
+ "type": "array",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "organization": {
+ "type": "string",
+ "description": "e.g. Facebook"
+ },
+ "position": {
+ "type": "string",
+ "description": "e.g. Software Engineer"
+ },
+ "url": {
+ "type": "string",
+ "description": "e.g. http://facebook.example.com",
+ "format": "uri"
+ },
+ "startDate": {
+ "$ref": "#/definitions/iso8601"
+ },
+ "endDate": {
+ "$ref": "#/definitions/iso8601"
+ },
+ "summary": {
+ "type": "string",
+ "description": "Give an overview of your responsibilities at the company"
+ },
+ "highlights": {
+ "type": "array",
+ "description": "Specify accomplishments and achievements",
+ "additionalItems": false,
+ "items": {
+ "type": "string",
+ "description": "e.g. Increased profits by 20% from 2011-2012 through viral advertising"
+ }
+ }
+ }
+ }
+ },
+ "education": {
+ "type": "array",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "institution": {
+ "type": "string",
+ "description": "e.g. Massachusetts Institute of Technology"
+ },
+ "url": {
+ "type": "string",
+ "description": "e.g. http://facebook.example.com",
+ "format": "uri"
+ },
+ "area": {
+ "type": "string",
+ "description": "e.g. Arts"
+ },
+ "studyType": {
+ "type": "string",
+ "description": "e.g. Bachelor"
+ },
+ "startDate": {
+ "$ref": "#/definitions/iso8601"
+ },
+ "endDate": {
+ "$ref": "#/definitions/iso8601"
+ },
+ "gpa": {
+ "type": "string",
+ "description": "grade point average, e.g. 3.67/4.0"
+ },
+ "courses": {
+ "type": "array",
+ "description": "List notable courses/subjects",
+ "additionalItems": false,
+ "items": {
+ "type": "string",
+ "description": "e.g. H1302 - Introduction to American history"
+ }
+ }
+ }
+ }
+ },
+ "awards": {
+ "type": "array",
+ "description": "Specify any awards you have received throughout your professional career",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "e.g. One of the 100 greatest minds of the century"
+ },
+ "date": {
+ "$ref": "#/definitions/iso8601"
+ },
+ "awarder": {
+ "type": "string",
+ "description": "e.g. Time Magazine"
+ },
+ "summary": {
+ "type": "string",
+ "description": "e.g. Received for my work with Quantum Physics"
+ }
+ }
+ }
+ },
+ "publications": {
+ "type": "array",
+ "description": "Specify your publications through your career",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "e.g. The World Wide Web"
+ },
+ "publisher": {
+ "type": "string",
+ "description": "e.g. IEEE, Computer Magazine"
+ },
+ "releaseDate": {
+ "$ref": "#/definitions/iso8601"
+ },
+ "url": {
+ "type": "string",
+ "description": "e.g. http://www.computer.org.example.com/csdl/mags/co/1996/10/rx069-abs.html",
+ "format": "uri"
+ },
+ "summary": {
+ "type": "string",
+ "description": "Short summary of publication. e.g. Discussion of the World Wide Web, HTTP, HTML."
+ }
+ }
+ }
+ },
+ "skills": {
+ "type": "array",
+ "description": "List out your professional skill-set",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "e.g. Web Development"
+ },
+ "level": {
+ "type": "string",
+ "description": "e.g. Master"
+ },
+ "keywords": {
+ "type": "array",
+ "description": "List some keywords pertaining to this skill",
+ "additionalItems": false,
+ "items": {
+ "type": "string",
+ "description": "e.g. HTML"
+ }
+ }
+ }
+ }
+ },
+ "languages": {
+ "type": "array",
+ "description": "List any other languages you speak",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "language": {
+ "type": "string",
+ "description": "e.g. English, Spanish"
+ },
+ "fluency": {
+ "type": "string",
+ "description": "e.g. Fluent, Beginner"
+ }
+ }
+ }
+ },
+ "interests": {
+ "type": "array",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "e.g. Philosophy"
+ },
+ "keywords": {
+ "type": "array",
+ "additionalItems": false,
+ "items": {
+ "type": "string",
+ "description": "e.g. Friedrich Nietzsche"
+ }
+ }
+ }
+ }
+ },
+ "references": {
+ "type": "array",
+ "description": "List references you have received",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "e.g. Timothy Cook"
+ },
+ "reference": {
+ "type": "string",
+ "description": "e.g. Joe blogs was a great employee, who turned up to work at least once a week. He exceeded my expectations when it came to doing nothing."
+ }
+ }
+ }
+ },
+ "projects": {
+ "type": "array",
+ "description": "Specify career projects",
+ "additionalItems": false,
+ "items": {
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "e.g. The World Wide Web"
+ },
+ "description": {
+ "type": "string",
+ "description": "Short summary of project. e.g. Collated works of 2017."
+ },
+ "highlights": {
+ "type": "array",
+ "description": "Specify multiple features",
+ "additionalItems": false,
+ "items": {
+ "type": "string",
+ "description": "e.g. Directs you close but not quite there"
+ }
+ },
+ "keywords": {
+ "type": "array",
+ "description": "Specify special elements involved",
+ "additionalItems": false,
+ "items": {
+ "type": "string",
+ "description": "e.g. AngularJS"
+ }
+ },
+ "startDate": {
+ "$ref": "#/definitions/iso8601"
+ },
+ "endDate": {
+ "$ref": "#/definitions/iso8601"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "e.g. http://www.computer.org/csdl/mags/co/1996/10/rx069-abs.html"
+ },
+ "roles": {
+ "type": "array",
+ "description": "Specify your role on this project or in company",
+ "additionalItems": false,
+ "items": {
+ "type": "string",
+ "description": "e.g. Team Lead, Speaker, Writer"
+ }
+ },
+ "entity": {
+ "type": "string",
+ "description": "Specify the relevant company/entity affiliations e.g. 'greenpeace', 'corporationXYZ'"
+ },
+ "type": {
+ "type": "string",
+ "description": " e.g. 'volunteering', 'presentation', 'talk', 'application', 'conference'"
+ }
+ }
+ }
+ },
+ "meta": {
+ "type": "object",
+ "description": "The schema version and any other tooling configuration lives here",
+ "additionalProperties": true,
+ "properties": {
+ "canonical": {
+ "type": "string",
+ "description": "URL (as per RFC 3986) to latest version of this document",
+ "format": "uri"
+ },
+ "version": {
+ "type": "string",
+ "description": "A version field which follows semver - e.g. v1.0.0"
+ },
+ "lastModified": {
+ "type": "string",
+ "description": "Using ISO 8601 with YYYY-MM-DDThh:mm:ss"
+ }
+ }
+ }
+ },
+ "title": "Resume Schema",
+ "type": "object"
+}
diff --git a/src/data/schema/reactiveResume.json b/src/data/schema/reactiveResume.json
new file mode 100644
index 000000000..1ca3766d3
--- /dev/null
+++ b/src/data/schema/reactiveResume.json
@@ -0,0 +1,2755 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema",
+ "$id": "http://json-schema.org/draft-07/schema",
+ "type": "object",
+ "title": "The root schema",
+ "description": "The root schema comprises the entire JSON document.",
+ "default": {},
+ "examples": [
+ {
+ "awards": {
+ "heading": "Awards",
+ "items": [
+ {
+ "awarder": "Google",
+ "date": "2019-04-01",
+ "id": "6f857f2b-6312-4a0d-907d-2e17991954eb",
+ "summary": "",
+ "title": "International Flutter Hackathon"
+ },
+ {
+ "awarder": "Venturesity",
+ "date": "2016-06-01",
+ "id": "f6efa3f9-9741-4e36-a538-ba0d9779bc61",
+ "summary": "",
+ "title": "Venturesity Banyan Hack"
+ },
+ {
+ "title": "Smart India Hackathon",
+ "awarder": "Govt. of India",
+ "date": "2017-04-01",
+ "summary": "",
+ "id": "89c0171a-eae9-403e-9f4c-a757fb535c2b"
+ }
+ ],
+ "visible": true
+ },
+ "certifications": {
+ "heading": "Certifications",
+ "items": [
+ {
+ "date": "2018-02-01",
+ "id": "d2ec12bc-7876-46bc-afd4-11ae06faf3bd",
+ "issuer": "Cisco Systems",
+ "summary": "",
+ "title": "CCNP"
+ },
+ {
+ "date": "2019-06-01",
+ "id": "f8312288-53ae-4504-a768-4b67aea95926",
+ "issuer": "VMWare",
+ "summary": "",
+ "title": "VCP6-DCV"
+ },
+ {
+ "title": "DCUCI 642-999",
+ "issuer": "Cisco Systems",
+ "date": "2014-04-01",
+ "summary": "",
+ "id": "11107df6-5f3c-49ae-bcd4-62b8baa181a1"
+ }
+ ],
+ "visible": true
+ },
+ "education": {
+ "heading": "Education",
+ "items": [
+ {
+ "degree": "Masters",
+ "endDate": "2002-08-01",
+ "field": "Computer Science",
+ "gpa": "7.2 CGPA",
+ "id": "c42e2a5a-3f0d-497e-838b-ac2019dcf045",
+ "institution": "The City College of New York, NYC, NY",
+ "startDate": "2001-09-01",
+ "summary": ""
+ },
+ {
+ "degree": "Bachelors",
+ "endDate": "2001-08-01",
+ "field": "Computer Science",
+ "gpa": "8.4 CGPA",
+ "id": "278490a2-c327-4e83-8be8-adf913a9b36c",
+ "institution": "University of California, Berkeley, CA",
+ "startDate": "1997-09-01",
+ "summary": ""
+ }
+ ],
+ "visible": true
+ },
+ "hobbies": {
+ "heading": "Hobbies",
+ "items": [
+ {
+ "name": "Poetry",
+ "id": "788dcf5a-78ca-4866-8397-c7a29073d9a1"
+ },
+ {
+ "name": "Travelling",
+ "id": "e3523371-f50c-4348-8c5e-35fe84c0006d"
+ },
+ {
+ "id": "92c35e3b-6cd7-4cea-b505-61347ec61b68",
+ "name": "Photography"
+ },
+ {
+ "id": "d36f2089-93a9-4f30-a425-3dd81c6b89df",
+ "name": "Playing Badminton"
+ },
+ {
+ "id": "d1da41a9-ae83-48fb-8047-d45ebd869a69",
+ "name": "Developing Reactive Resume"
+ }
+ ],
+ "visible": true
+ },
+ "languages": {
+ "heading": "Languages",
+ "items": [
+ {
+ "fluency": "Very Fluent",
+ "id": "78d8cf32-84c7-431d-969b-fdf277968026",
+ "name": "English"
+ },
+ {
+ "fluency": "Native Tongue",
+ "id": "9e0bd5ed-b88d-4046-8fb9-ecba54d29924",
+ "name": "Tamil"
+ },
+ {
+ "fluency": "Native Tongue",
+ "id": "cb895aa9-c485-4bf3-a9e3-08e8f219451a",
+ "name": "Kannada"
+ },
+ {
+ "fluency": "Learning on Duolingo",
+ "id": "8fff60fc-0cd6-47e2-b64f-fb249d1af0d1",
+ "name": "German"
+ }
+ ],
+ "visible": true
+ },
+ "metadata": {
+ "colors": {
+ "background": "#FFFFFF",
+ "primary": "#009688",
+ "text": "#212121"
+ },
+ "font": "Open Sans",
+ "layout": {
+ "onyx": [
+ ["objective", "work", "education", "projects"],
+ ["hobbies", "languages", "awards", "certifications"],
+ ["skills", "references"]
+ ],
+ "pikachu": [
+ ["skills", "languages", "hobbies", "awards", "certifications"],
+ ["work", "education", "projects", "references"]
+ ],
+ "gengar": [
+ ["objective", "skills"],
+ ["awards", "certifications", "languages", "references", "hobbies"],
+ ["work", "education", "projects"]
+ ],
+ "castform": [
+ ["awards", "certifications", "languages", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "references"
+ ]
+ ],
+ "glalie": [
+ ["awards", "certifications", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "languages",
+ "references"
+ ]
+ ],
+ "celebi": [
+ ["awards", "certifications", "languages", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "references"
+ ]
+ ]
+ },
+ "template": "pikachu"
+ },
+ "objective": {
+ "body": "To obtain a job within my chosen field that will challenge me and allow me to use my education, skills and past experiences in a way that is mutually beneficial to both myself and my employer and allow for future growth and advancement.",
+ "heading": "Objective",
+ "visible": true
+ },
+ "profile": {
+ "address": {
+ "city": "Bangalore, India -",
+ "line1": "#5/A, Banashankari Nivas,",
+ "line2": "Brindavan Layout, Subramanyapura,",
+ "pincode": "560061"
+ },
+ "email": "hello@amruthpillai.com",
+ "firstName": "Amruth",
+ "heading": "Profile",
+ "lastName": "Pillai",
+ "phone": "+91 98453 36113",
+ "photograph": "https://i.imgur.com/2dmLSCT.jpg",
+ "profile": "",
+ "subtitle": "Full Stack Web Developer",
+ "website": "amruthpillai.com"
+ },
+ "projects": {
+ "heading": "Projects",
+ "items": [
+ {
+ "date": "2020-07-01",
+ "id": "c768dcca-90f5-4242-a608-6759b4f667fb",
+ "link": "https://github.com/AmruthPillai/Reactive-Resume",
+ "summary": "Reactive Resume, a free and open-source resume builder that works for you. A few of the important features that make it awesome are minimalistic UI/UX, extensive customizability, portability, regularly updated templates, etc.\n\nFor more information, check out [rxresu.me](https://github.com/AmruthPillai/Reactive-Resume)",
+ "title": "Reactive Resume"
+ },
+ {
+ "date": "2020-04-01",
+ "id": "6ca600b1-c21f-4d7b-8431-f7144d537dd3",
+ "link": "https://amruthpillai.com",
+ "summary": "Resume on the Web has been a project that I've been focused on since the early 2014s. I didn't want my information to be displayed on just a sheet of paper that only HRs or Talent Scouts had the privilege of reading, I wanted it to be accessible to everyone. And that's how this project was conceptualized.",
+ "title": "Resume on the Web"
+ }
+ ],
+ "visible": true
+ },
+ "public": true,
+ "references": {
+ "heading": "References",
+ "items": [
+ {
+ "email": "willywonka@goldenticket.com",
+ "id": "168339fd-3c4b-4f2f-bd3a-ef184be81700",
+ "name": "Willy Wonka",
+ "phone": "+1 (802) 234-2398",
+ "position": "CEO at Chocolate Factory",
+ "summary": ""
+ },
+ {
+ "email": "elanmusk@nottesla.com",
+ "id": "350465b9-9989-43cc-b97e-4115b8980304",
+ "name": "Elangovan Musk",
+ "phone": "+91 93893 34353",
+ "position": "CEO at Newton Motors",
+ "summary": ""
+ },
+ {
+ "name": "Lorraine Beasley",
+ "position": "Head of HR, Carson Logistics",
+ "phone": "+1 661-808-4188",
+ "email": "l.beasley@carsonlogistics.com",
+ "summary": "",
+ "id": "94e3447b-0a78-4fb7-b14d-591982d35320"
+ }
+ ],
+ "visible": true
+ },
+ "skills": {
+ "heading": "Skills",
+ "items": [
+ {
+ "id": "54e5bceb-d0e9-4f04-98d1-48a34f7cf920",
+ "level": "Advanced",
+ "name": "Customer Service Expertise"
+ },
+ {
+ "id": "f0274f62-2252-4cc0-bf12-9e1070942c50",
+ "level": "Intermediate",
+ "name": "High-Volume Call Center"
+ },
+ {
+ "id": "689e2852-df1b-4d41-bda8-c41c88196264",
+ "level": "Intermediate",
+ "name": "Team Leader/Problem Solver"
+ },
+ {
+ "id": "3a4f73b1-50c1-4a85-a4b0-2a55dfe5053a",
+ "level": "Novice",
+ "name": "Call Center Management"
+ },
+ {
+ "name": "Teambuilding & Training",
+ "level": "Novice",
+ "id": "08d6c739-1465-41f7-8825-b8d94faa38d6"
+ },
+ {
+ "name": "Continuous Improvement",
+ "level": "Fundamental Awareness",
+ "id": "261b8fc3-aeec-4347-88a8-bcacb1a17aa3"
+ }
+ ],
+ "visible": true
+ },
+ "social": {
+ "heading": "Social",
+ "items": [
+ {
+ "url": "https://pillai.xyz/instagram",
+ "network": "Instagram",
+ "username": "AmruthPillai",
+ "id": "a832b37d-f11d-4a80-8b4d-24796e571b17"
+ },
+ {
+ "id": "a72107fa-a4a5-407d-9e85-39bdb9c0b11a",
+ "network": "Twitter",
+ "url": "https://pillai.xyz/twitter",
+ "username": "KingOKings"
+ },
+ {
+ "id": "1dd46fdd-b3a3-4786-89ce-2e77c0823aba",
+ "network": "LinkedIn",
+ "url": "https://pillai.xyz/linkedin",
+ "username": "AmruthPillai"
+ }
+ ],
+ "visible": true
+ },
+ "work": {
+ "heading": "Work Experience",
+ "items": [
+ {
+ "company": "On Point Electronics, NYC, NY",
+ "endDate": "2018-07-01",
+ "id": "d7c64937-0cb9-41b1-a3a6-0679c882fe63",
+ "position": "Customer Service Representative",
+ "startDate": "2013-01-01",
+ "summary": "- Organized customer information and account data for business planning and customer service purposes.\n- Created excel spreadsheets to track customer data and perform intense reconciliation process.\n- Received 97% positive customer survey results.\n- Speed on calls was 10% above team average. \n**Key Achievement:** Designed and executed an automatized system for following up with customers, increasing customer retention by 22%.",
+ "website": "https://onpoint.com"
+ },
+ {
+ "company": "Excelsior Communications, NYC, NY",
+ "endDate": "2012-12-01",
+ "id": "f5c5dcfe-2a60-4169-a2f1-b305355518ea",
+ "position": "Customer Service Representative",
+ "startDate": "2009-10-01",
+ "summary": "- Worked as a full time customer service rep in a high volume call center.\n- Received \"Associate of the Month\" award six times.\n- Chosen as an example for other associates in trainings. \n**Key Achievement:** Received Customer Appreciation bonus in three of four years.",
+ "website": "https://excelsior.com"
+ },
+ {
+ "company": "Pizza Hut, Newark, NJ",
+ "position": "Waiter",
+ "website": "https://pizzahut.com",
+ "startDate": "2005-08-01",
+ "endDate": "2009-09-01",
+ "summary": "- Worked passionately in customer service in a high volume restaurant.\n- Completed the FAST customer service training class.\n- Maintained a high tip average thanks to consistent customer satisfaction.",
+ "id": "dd935088-6fe7-4a4b-8ff5-7417c32d2add"
+ }
+ ],
+ "visible": true
+ }
+ }
+ ],
+ "required": [
+ "awards",
+ "certifications",
+ "education",
+ "hobbies",
+ "languages",
+ "metadata",
+ "objective",
+ "profile",
+ "projects",
+ "public",
+ "references",
+ "skills",
+ "social",
+ "work"
+ ],
+ "additionalProperties": true,
+ "properties": {
+ "awards": {
+ "$id": "#/properties/awards",
+ "type": "object",
+ "title": "The awards schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "heading": "Awards",
+ "items": [
+ {
+ "awarder": "Google",
+ "date": "2019-04-01",
+ "id": "6f857f2b-6312-4a0d-907d-2e17991954eb",
+ "summary": "",
+ "title": "International Flutter Hackathon"
+ },
+ {
+ "awarder": "Venturesity",
+ "date": "2016-06-01",
+ "id": "f6efa3f9-9741-4e36-a538-ba0d9779bc61",
+ "summary": "",
+ "title": "Venturesity Banyan Hack"
+ },
+ {
+ "title": "Smart India Hackathon",
+ "awarder": "Govt. of India",
+ "date": "2017-04-01",
+ "summary": "",
+ "id": "89c0171a-eae9-403e-9f4c-a757fb535c2b"
+ }
+ ],
+ "visible": true
+ }
+ ],
+ "required": ["heading", "items", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "heading": {
+ "$id": "#/properties/awards/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Awards"]
+ },
+ "items": {
+ "$id": "#/properties/awards/properties/items",
+ "type": "array",
+ "title": "The items schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ {
+ "awarder": "Google",
+ "date": "2019-04-01",
+ "id": "6f857f2b-6312-4a0d-907d-2e17991954eb",
+ "summary": "",
+ "title": "International Flutter Hackathon"
+ },
+ {
+ "awarder": "Venturesity",
+ "date": "2016-06-01",
+ "id": "f6efa3f9-9741-4e36-a538-ba0d9779bc61",
+ "summary": "",
+ "title": "Venturesity Banyan Hack"
+ }
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/awards/properties/items/items/anyOf/0",
+ "type": "object",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "awarder": "Google",
+ "date": "2019-04-01",
+ "id": "6f857f2b-6312-4a0d-907d-2e17991954eb",
+ "summary": "",
+ "title": "International Flutter Hackathon"
+ }
+ ],
+ "required": ["awarder", "date", "id", "summary", "title"],
+ "additionalProperties": true,
+ "properties": {
+ "awarder": {
+ "$id": "#/properties/awards/properties/items/items/anyOf/0/properties/awarder",
+ "type": "string",
+ "title": "The awarder schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Google"]
+ },
+ "date": {
+ "$id": "#/properties/awards/properties/items/items/anyOf/0/properties/date",
+ "type": "string",
+ "title": "The date schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["2019-04-01"]
+ },
+ "id": {
+ "$id": "#/properties/awards/properties/items/items/anyOf/0/properties/id",
+ "type": "string",
+ "title": "The id schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["6f857f2b-6312-4a0d-907d-2e17991954eb"]
+ },
+ "summary": {
+ "$id": "#/properties/awards/properties/items/items/anyOf/0/properties/summary",
+ "type": "string",
+ "title": "The summary schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": [""]
+ },
+ "title": {
+ "$id": "#/properties/awards/properties/items/items/anyOf/0/properties/title",
+ "type": "string",
+ "title": "The title schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["International Flutter Hackathon"]
+ }
+ }
+ }
+ ],
+ "$id": "#/properties/awards/properties/items/items"
+ }
+ },
+ "visible": {
+ "$id": "#/properties/awards/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ },
+ "certifications": {
+ "$id": "#/properties/certifications",
+ "type": "object",
+ "title": "The certifications schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "heading": "Certifications",
+ "items": [
+ {
+ "date": "2018-02-01",
+ "id": "d2ec12bc-7876-46bc-afd4-11ae06faf3bd",
+ "issuer": "Cisco Systems",
+ "summary": "",
+ "title": "CCNP"
+ },
+ {
+ "date": "2019-06-01",
+ "id": "f8312288-53ae-4504-a768-4b67aea95926",
+ "issuer": "VMWare",
+ "summary": "",
+ "title": "VCP6-DCV"
+ },
+ {
+ "title": "DCUCI 642-999",
+ "issuer": "Cisco Systems",
+ "date": "2014-04-01",
+ "summary": "",
+ "id": "11107df6-5f3c-49ae-bcd4-62b8baa181a1"
+ }
+ ],
+ "visible": true
+ }
+ ],
+ "required": ["heading", "items", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "heading": {
+ "$id": "#/properties/certifications/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Certifications"]
+ },
+ "items": {
+ "$id": "#/properties/certifications/properties/items",
+ "type": "array",
+ "title": "The items schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ {
+ "date": "2018-02-01",
+ "id": "d2ec12bc-7876-46bc-afd4-11ae06faf3bd",
+ "issuer": "Cisco Systems",
+ "summary": "",
+ "title": "CCNP"
+ },
+ {
+ "date": "2019-06-01",
+ "id": "f8312288-53ae-4504-a768-4b67aea95926",
+ "issuer": "VMWare",
+ "summary": "",
+ "title": "VCP6-DCV"
+ }
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/certifications/properties/items/items/anyOf/0",
+ "type": "object",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "date": "2018-02-01",
+ "id": "d2ec12bc-7876-46bc-afd4-11ae06faf3bd",
+ "issuer": "Cisco Systems",
+ "summary": "",
+ "title": "CCNP"
+ }
+ ],
+ "required": ["date", "id", "issuer", "summary", "title"],
+ "additionalProperties": true,
+ "properties": {
+ "date": {
+ "$id": "#/properties/certifications/properties/items/items/anyOf/0/properties/date",
+ "type": "string",
+ "title": "The date schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["2018-02-01"]
+ },
+ "id": {
+ "$id": "#/properties/certifications/properties/items/items/anyOf/0/properties/id",
+ "type": "string",
+ "title": "The id schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["d2ec12bc-7876-46bc-afd4-11ae06faf3bd"]
+ },
+ "issuer": {
+ "$id": "#/properties/certifications/properties/items/items/anyOf/0/properties/issuer",
+ "type": "string",
+ "title": "The issuer schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Cisco Systems"]
+ },
+ "summary": {
+ "$id": "#/properties/certifications/properties/items/items/anyOf/0/properties/summary",
+ "type": "string",
+ "title": "The summary schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": [""]
+ },
+ "title": {
+ "$id": "#/properties/certifications/properties/items/items/anyOf/0/properties/title",
+ "type": "string",
+ "title": "The title schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["CCNP"]
+ }
+ }
+ }
+ ],
+ "$id": "#/properties/certifications/properties/items/items"
+ }
+ },
+ "visible": {
+ "$id": "#/properties/certifications/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ },
+ "education": {
+ "$id": "#/properties/education",
+ "type": "object",
+ "title": "The education schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "heading": "Education",
+ "items": [
+ {
+ "degree": "Masters",
+ "endDate": "2002-08-01",
+ "field": "Computer Science",
+ "gpa": "7.2 CGPA",
+ "id": "c42e2a5a-3f0d-497e-838b-ac2019dcf045",
+ "institution": "The City College of New York, NYC, NY",
+ "startDate": "2001-09-01",
+ "summary": ""
+ },
+ {
+ "degree": "Bachelors",
+ "endDate": "2001-08-01",
+ "field": "Computer Science",
+ "gpa": "8.4 CGPA",
+ "id": "278490a2-c327-4e83-8be8-adf913a9b36c",
+ "institution": "University of California, Berkeley, CA",
+ "startDate": "1997-09-01",
+ "summary": ""
+ }
+ ],
+ "visible": true
+ }
+ ],
+ "required": ["heading", "items", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "heading": {
+ "$id": "#/properties/education/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Education"]
+ },
+ "items": {
+ "$id": "#/properties/education/properties/items",
+ "type": "array",
+ "title": "The items schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ {
+ "degree": "Masters",
+ "endDate": "2002-08-01",
+ "field": "Computer Science",
+ "gpa": "7.2 CGPA",
+ "id": "c42e2a5a-3f0d-497e-838b-ac2019dcf045",
+ "institution": "The City College of New York, NYC, NY",
+ "startDate": "2001-09-01",
+ "summary": ""
+ },
+ {
+ "degree": "Bachelors",
+ "endDate": "2001-08-01",
+ "field": "Computer Science",
+ "gpa": "8.4 CGPA",
+ "id": "278490a2-c327-4e83-8be8-adf913a9b36c",
+ "institution": "University of California, Berkeley, CA",
+ "startDate": "1997-09-01",
+ "summary": ""
+ }
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/education/properties/items/items/anyOf/0",
+ "type": "object",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "degree": "Masters",
+ "endDate": "2002-08-01",
+ "field": "Computer Science",
+ "gpa": "7.2 CGPA",
+ "id": "c42e2a5a-3f0d-497e-838b-ac2019dcf045",
+ "institution": "The City College of New York, NYC, NY",
+ "startDate": "2001-09-01",
+ "summary": ""
+ }
+ ],
+ "required": [
+ "degree",
+ "endDate",
+ "field",
+ "gpa",
+ "id",
+ "institution",
+ "startDate",
+ "summary"
+ ],
+ "additionalProperties": true,
+ "properties": {
+ "degree": {
+ "$id": "#/properties/education/properties/items/items/anyOf/0/properties/degree",
+ "type": "string",
+ "title": "The degree schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Masters"]
+ },
+ "endDate": {
+ "$id": "#/properties/education/properties/items/items/anyOf/0/properties/endDate",
+ "type": "string",
+ "title": "The endDate schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["2002-08-01"]
+ },
+ "field": {
+ "$id": "#/properties/education/properties/items/items/anyOf/0/properties/field",
+ "type": "string",
+ "title": "The field schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Computer Science"]
+ },
+ "gpa": {
+ "$id": "#/properties/education/properties/items/items/anyOf/0/properties/gpa",
+ "type": "string",
+ "title": "The gpa schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["7.2 CGPA"]
+ },
+ "id": {
+ "$id": "#/properties/education/properties/items/items/anyOf/0/properties/id",
+ "type": "string",
+ "title": "The id schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["c42e2a5a-3f0d-497e-838b-ac2019dcf045"]
+ },
+ "institution": {
+ "$id": "#/properties/education/properties/items/items/anyOf/0/properties/institution",
+ "type": "string",
+ "title": "The institution schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["The City College of New York, NYC, NY"]
+ },
+ "startDate": {
+ "$id": "#/properties/education/properties/items/items/anyOf/0/properties/startDate",
+ "type": "string",
+ "title": "The startDate schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["2001-09-01"]
+ },
+ "summary": {
+ "$id": "#/properties/education/properties/items/items/anyOf/0/properties/summary",
+ "type": "string",
+ "title": "The summary schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": [""]
+ }
+ }
+ }
+ ],
+ "$id": "#/properties/education/properties/items/items"
+ }
+ },
+ "visible": {
+ "$id": "#/properties/education/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ },
+ "hobbies": {
+ "$id": "#/properties/hobbies",
+ "type": "object",
+ "title": "The hobbies schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "heading": "Hobbies",
+ "items": [
+ {
+ "name": "Poetry",
+ "id": "788dcf5a-78ca-4866-8397-c7a29073d9a1"
+ },
+ {
+ "name": "Travelling",
+ "id": "e3523371-f50c-4348-8c5e-35fe84c0006d"
+ },
+ {
+ "id": "92c35e3b-6cd7-4cea-b505-61347ec61b68",
+ "name": "Photography"
+ },
+ {
+ "id": "d36f2089-93a9-4f30-a425-3dd81c6b89df",
+ "name": "Playing Badminton"
+ },
+ {
+ "id": "d1da41a9-ae83-48fb-8047-d45ebd869a69",
+ "name": "Developing Reactive Resume"
+ }
+ ],
+ "visible": true
+ }
+ ],
+ "required": ["heading", "items", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "heading": {
+ "$id": "#/properties/hobbies/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Hobbies"]
+ },
+ "items": {
+ "$id": "#/properties/hobbies/properties/items",
+ "type": "array",
+ "title": "The items schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ {
+ "name": "Poetry",
+ "id": "788dcf5a-78ca-4866-8397-c7a29073d9a1"
+ },
+ {
+ "name": "Travelling",
+ "id": "e3523371-f50c-4348-8c5e-35fe84c0006d"
+ }
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/hobbies/properties/items/items/anyOf/0",
+ "type": "object",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "name": "Poetry",
+ "id": "788dcf5a-78ca-4866-8397-c7a29073d9a1"
+ }
+ ],
+ "required": ["name", "id"],
+ "additionalProperties": true,
+ "properties": {
+ "name": {
+ "$id": "#/properties/hobbies/properties/items/items/anyOf/0/properties/name",
+ "type": "string",
+ "title": "The name schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Poetry"]
+ },
+ "id": {
+ "$id": "#/properties/hobbies/properties/items/items/anyOf/0/properties/id",
+ "type": "string",
+ "title": "The id schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["788dcf5a-78ca-4866-8397-c7a29073d9a1"]
+ }
+ }
+ }
+ ],
+ "$id": "#/properties/hobbies/properties/items/items"
+ }
+ },
+ "visible": {
+ "$id": "#/properties/hobbies/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ },
+ "languages": {
+ "$id": "#/properties/languages",
+ "type": "object",
+ "title": "The languages schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "heading": "Languages",
+ "items": [
+ {
+ "fluency": "Very Fluent",
+ "id": "78d8cf32-84c7-431d-969b-fdf277968026",
+ "name": "English"
+ },
+ {
+ "fluency": "Native Tongue",
+ "id": "9e0bd5ed-b88d-4046-8fb9-ecba54d29924",
+ "name": "Tamil"
+ },
+ {
+ "fluency": "Native Tongue",
+ "id": "cb895aa9-c485-4bf3-a9e3-08e8f219451a",
+ "name": "Kannada"
+ },
+ {
+ "fluency": "Learning on Duolingo",
+ "id": "8fff60fc-0cd6-47e2-b64f-fb249d1af0d1",
+ "name": "German"
+ }
+ ],
+ "visible": true
+ }
+ ],
+ "required": ["heading", "items", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "heading": {
+ "$id": "#/properties/languages/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Languages"]
+ },
+ "items": {
+ "$id": "#/properties/languages/properties/items",
+ "type": "array",
+ "title": "The items schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ {
+ "fluency": "Very Fluent",
+ "id": "78d8cf32-84c7-431d-969b-fdf277968026",
+ "name": "English"
+ },
+ {
+ "fluency": "Native Tongue",
+ "id": "9e0bd5ed-b88d-4046-8fb9-ecba54d29924",
+ "name": "Tamil"
+ }
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/languages/properties/items/items/anyOf/0",
+ "type": "object",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "fluency": "Very Fluent",
+ "id": "78d8cf32-84c7-431d-969b-fdf277968026",
+ "name": "English"
+ }
+ ],
+ "required": ["fluency", "id", "name"],
+ "additionalProperties": true,
+ "properties": {
+ "fluency": {
+ "$id": "#/properties/languages/properties/items/items/anyOf/0/properties/fluency",
+ "type": "string",
+ "title": "The fluency schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Very Fluent"]
+ },
+ "id": {
+ "$id": "#/properties/languages/properties/items/items/anyOf/0/properties/id",
+ "type": "string",
+ "title": "The id schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["78d8cf32-84c7-431d-969b-fdf277968026"]
+ },
+ "name": {
+ "$id": "#/properties/languages/properties/items/items/anyOf/0/properties/name",
+ "type": "string",
+ "title": "The name schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["English"]
+ }
+ }
+ }
+ ],
+ "$id": "#/properties/languages/properties/items/items"
+ }
+ },
+ "visible": {
+ "$id": "#/properties/languages/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ },
+ "metadata": {
+ "$id": "#/properties/metadata",
+ "type": "object",
+ "title": "The metadata schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "colors": {
+ "background": "#FFFFFF",
+ "primary": "#009688",
+ "text": "#212121"
+ },
+ "font": "Open Sans",
+ "layout": {
+ "onyx": [
+ ["objective", "work", "education", "projects"],
+ ["hobbies", "languages", "awards", "certifications"],
+ ["skills", "references"]
+ ],
+ "pikachu": [
+ ["skills", "languages", "hobbies", "awards", "certifications"],
+ ["work", "education", "projects", "references"]
+ ],
+ "gengar": [
+ ["objective", "skills"],
+ [
+ "awards",
+ "certifications",
+ "languages",
+ "references",
+ "hobbies"
+ ],
+ ["work", "education", "projects"]
+ ],
+ "castform": [
+ ["awards", "certifications", "languages", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "references"
+ ]
+ ],
+ "glalie": [
+ ["awards", "certifications", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "languages",
+ "references"
+ ]
+ ],
+ "celebi": [
+ ["awards", "certifications", "languages", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "references"
+ ]
+ ]
+ },
+ "template": "pikachu"
+ }
+ ],
+ "required": ["colors", "font", "layout", "template"],
+ "additionalProperties": true,
+ "properties": {
+ "colors": {
+ "$id": "#/properties/metadata/properties/colors",
+ "type": "object",
+ "title": "The colors schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "background": "#FFFFFF",
+ "primary": "#009688",
+ "text": "#212121"
+ }
+ ],
+ "required": ["background", "primary", "text"],
+ "additionalProperties": true,
+ "properties": {
+ "background": {
+ "$id": "#/properties/metadata/properties/colors/properties/background",
+ "type": "string",
+ "title": "The background schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["#FFFFFF"]
+ },
+ "primary": {
+ "$id": "#/properties/metadata/properties/colors/properties/primary",
+ "type": "string",
+ "title": "The primary schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["#009688"]
+ },
+ "text": {
+ "$id": "#/properties/metadata/properties/colors/properties/text",
+ "type": "string",
+ "title": "The text schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["#212121"]
+ }
+ }
+ },
+ "font": {
+ "$id": "#/properties/metadata/properties/font",
+ "type": "string",
+ "title": "The font schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Open Sans"]
+ },
+ "layout": {
+ "$id": "#/properties/metadata/properties/layout",
+ "type": "object",
+ "title": "The layout schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "onyx": [
+ ["objective", "work", "education", "projects"],
+ ["hobbies", "languages", "awards", "certifications"],
+ ["skills", "references"]
+ ],
+ "pikachu": [
+ ["skills", "languages", "hobbies", "awards", "certifications"],
+ ["work", "education", "projects", "references"]
+ ],
+ "gengar": [
+ ["objective", "skills"],
+ [
+ "awards",
+ "certifications",
+ "languages",
+ "references",
+ "hobbies"
+ ],
+ ["work", "education", "projects"]
+ ],
+ "castform": [
+ ["awards", "certifications", "languages", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "references"
+ ]
+ ],
+ "glalie": [
+ ["awards", "certifications", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "languages",
+ "references"
+ ]
+ ],
+ "celebi": [
+ ["awards", "certifications", "languages", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "references"
+ ]
+ ]
+ }
+ ],
+ "required": [
+ "onyx",
+ "pikachu",
+ "gengar",
+ "castform",
+ "glalie",
+ "celebi"
+ ],
+ "additionalProperties": true,
+ "properties": {
+ "onyx": {
+ "$id": "#/properties/metadata/properties/layout/properties/onyx",
+ "type": "array",
+ "title": "The onyx schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ ["objective", "work", "education", "projects"],
+ ["hobbies", "languages", "awards", "certifications"]
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/onyx/items/anyOf/0",
+ "type": "array",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["objective", "work"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/onyx/items/anyOf/0/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["objective", "work"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/onyx/items/anyOf/0/items"
+ }
+ },
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/onyx/items/anyOf/1",
+ "type": "array",
+ "title": "The second anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["hobbies", "languages"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/onyx/items/anyOf/1/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["hobbies", "languages"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/onyx/items/anyOf/1/items"
+ }
+ },
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/onyx/items/anyOf/2",
+ "type": "array",
+ "title": "The third anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["skills", "references"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/onyx/items/anyOf/2/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["skills", "references"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/onyx/items/anyOf/2/items"
+ }
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/onyx/items"
+ }
+ },
+ "pikachu": {
+ "$id": "#/properties/metadata/properties/layout/properties/pikachu",
+ "type": "array",
+ "title": "The pikachu schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ [
+ "skills",
+ "languages",
+ "hobbies",
+ "awards",
+ "certifications"
+ ],
+ ["work", "education", "projects", "references"]
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/pikachu/items/anyOf/0",
+ "type": "array",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["skills", "languages"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/pikachu/items/anyOf/0/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["skills", "languages"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/pikachu/items/anyOf/0/items"
+ }
+ },
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/pikachu/items/anyOf/1",
+ "type": "array",
+ "title": "The second anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["work", "education"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/pikachu/items/anyOf/1/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["work", "education"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/pikachu/items/anyOf/1/items"
+ }
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/pikachu/items"
+ }
+ },
+ "gengar": {
+ "$id": "#/properties/metadata/properties/layout/properties/gengar",
+ "type": "array",
+ "title": "The gengar schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ ["objective", "skills"],
+ [
+ "awards",
+ "certifications",
+ "languages",
+ "references",
+ "hobbies"
+ ]
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/gengar/items/anyOf/0",
+ "type": "array",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["objective", "skills"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/gengar/items/anyOf/0/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["objective", "skills"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/gengar/items/anyOf/0/items"
+ }
+ },
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/gengar/items/anyOf/1",
+ "type": "array",
+ "title": "The second anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["awards", "certifications"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/gengar/items/anyOf/1/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["awards", "certifications"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/gengar/items/anyOf/1/items"
+ }
+ },
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/gengar/items/anyOf/2",
+ "type": "array",
+ "title": "The third anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["work", "education"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/gengar/items/anyOf/2/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["work", "education"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/gengar/items/anyOf/2/items"
+ }
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/gengar/items"
+ }
+ },
+ "castform": {
+ "$id": "#/properties/metadata/properties/layout/properties/castform",
+ "type": "array",
+ "title": "The castform schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ ["awards", "certifications", "languages", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "references"
+ ]
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/castform/items/anyOf/0",
+ "type": "array",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["awards", "certifications"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/castform/items/anyOf/0/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["awards", "certifications"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/castform/items/anyOf/0/items"
+ }
+ },
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/castform/items/anyOf/1",
+ "type": "array",
+ "title": "The second anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["objective", "work"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/castform/items/anyOf/1/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["objective", "work"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/castform/items/anyOf/1/items"
+ }
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/castform/items"
+ }
+ },
+ "glalie": {
+ "$id": "#/properties/metadata/properties/layout/properties/glalie",
+ "type": "array",
+ "title": "The glalie schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ ["awards", "certifications", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "languages",
+ "references"
+ ]
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/glalie/items/anyOf/0",
+ "type": "array",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["awards", "certifications"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/glalie/items/anyOf/0/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["awards", "certifications"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/glalie/items/anyOf/0/items"
+ }
+ },
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/glalie/items/anyOf/1",
+ "type": "array",
+ "title": "The second anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["objective", "work"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/glalie/items/anyOf/1/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["objective", "work"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/glalie/items/anyOf/1/items"
+ }
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/glalie/items"
+ }
+ },
+ "celebi": {
+ "$id": "#/properties/metadata/properties/layout/properties/celebi",
+ "type": "array",
+ "title": "The celebi schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ ["awards", "certifications", "languages", "hobbies"],
+ [
+ "objective",
+ "work",
+ "education",
+ "skills",
+ "projects",
+ "references"
+ ]
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/celebi/items/anyOf/0",
+ "type": "array",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["awards", "certifications"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/celebi/items/anyOf/0/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["awards", "certifications"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/celebi/items/anyOf/0/items"
+ }
+ },
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/celebi/items/anyOf/1",
+ "type": "array",
+ "title": "The second anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [["objective", "work"]],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/metadata/properties/layout/properties/celebi/items/anyOf/1/items/anyOf/0",
+ "type": "string",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["objective", "work"]
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/celebi/items/anyOf/1/items"
+ }
+ }
+ ],
+ "$id": "#/properties/metadata/properties/layout/properties/celebi/items"
+ }
+ }
+ }
+ },
+ "template": {
+ "$id": "#/properties/metadata/properties/template",
+ "type": "string",
+ "title": "The template schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["pikachu"]
+ }
+ }
+ },
+ "objective": {
+ "$id": "#/properties/objective",
+ "type": "object",
+ "title": "The objective schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "body": "To obtain a job within my chosen field that will challenge me and allow me to use my education, skills and past experiences in a way that is mutually beneficial to both myself and my employer and allow for future growth and advancement.",
+ "heading": "Objective",
+ "visible": true
+ }
+ ],
+ "required": ["body", "heading", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "body": {
+ "$id": "#/properties/objective/properties/body",
+ "type": "string",
+ "title": "The body schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": [
+ "To obtain a job within my chosen field that will challenge me and allow me to use my education, skills and past experiences in a way that is mutually beneficial to both myself and my employer and allow for future growth and advancement."
+ ]
+ },
+ "heading": {
+ "$id": "#/properties/objective/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Objective"]
+ },
+ "visible": {
+ "$id": "#/properties/objective/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ },
+ "profile": {
+ "$id": "#/properties/profile",
+ "type": "object",
+ "title": "The profile schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "address": {
+ "city": "Bangalore, India -",
+ "line1": "#5/A, Banashankari Nivas,",
+ "line2": "Brindavan Layout, Subramanyapura,",
+ "pincode": "560061"
+ },
+ "email": "hello@amruthpillai.com",
+ "firstName": "Amruth",
+ "heading": "Profile",
+ "lastName": "Pillai",
+ "phone": "+91 98453 36113",
+ "photograph": "https://i.imgur.com/2dmLSCT.jpg",
+ "profile": "",
+ "subtitle": "Full Stack Web Developer",
+ "website": "amruthpillai.com"
+ }
+ ],
+ "required": [
+ "address",
+ "email",
+ "firstName",
+ "heading",
+ "lastName",
+ "phone",
+ "photograph",
+ "profile",
+ "subtitle",
+ "website"
+ ],
+ "additionalProperties": true,
+ "properties": {
+ "address": {
+ "$id": "#/properties/profile/properties/address",
+ "type": "object",
+ "title": "The address schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "city": "Bangalore, India -",
+ "line1": "#5/A, Banashankari Nivas,",
+ "line2": "Brindavan Layout, Subramanyapura,",
+ "pincode": "560061"
+ }
+ ],
+ "required": ["city", "line1", "line2", "pincode"],
+ "additionalProperties": true,
+ "properties": {
+ "city": {
+ "$id": "#/properties/profile/properties/address/properties/city",
+ "type": "string",
+ "title": "The city schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Bangalore, India -"]
+ },
+ "line1": {
+ "$id": "#/properties/profile/properties/address/properties/line1",
+ "type": "string",
+ "title": "The line1 schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["#5/A, Banashankari Nivas,"]
+ },
+ "line2": {
+ "$id": "#/properties/profile/properties/address/properties/line2",
+ "type": "string",
+ "title": "The line2 schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Brindavan Layout, Subramanyapura,"]
+ },
+ "pincode": {
+ "$id": "#/properties/profile/properties/address/properties/pincode",
+ "type": "string",
+ "title": "The pincode schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["560061"]
+ }
+ }
+ },
+ "email": {
+ "$id": "#/properties/profile/properties/email",
+ "type": "string",
+ "title": "The email schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["hello@amruthpillai.com"]
+ },
+ "firstName": {
+ "$id": "#/properties/profile/properties/firstName",
+ "type": "string",
+ "title": "The firstName schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Amruth"]
+ },
+ "heading": {
+ "$id": "#/properties/profile/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Profile"]
+ },
+ "lastName": {
+ "$id": "#/properties/profile/properties/lastName",
+ "type": "string",
+ "title": "The lastName schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Pillai"]
+ },
+ "phone": {
+ "$id": "#/properties/profile/properties/phone",
+ "type": "string",
+ "title": "The phone schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["+91 98453 36113"]
+ },
+ "photograph": {
+ "$id": "#/properties/profile/properties/photograph",
+ "type": "string",
+ "title": "The photograph schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["https://i.imgur.com/2dmLSCT.jpg"]
+ },
+ "profile": {
+ "$id": "#/properties/profile/properties/profile",
+ "type": "string",
+ "title": "The profile schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": [""]
+ },
+ "subtitle": {
+ "$id": "#/properties/profile/properties/subtitle",
+ "type": "string",
+ "title": "The subtitle schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Full Stack Web Developer"]
+ },
+ "website": {
+ "$id": "#/properties/profile/properties/website",
+ "type": "string",
+ "title": "The website schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["amruthpillai.com"]
+ }
+ }
+ },
+ "projects": {
+ "$id": "#/properties/projects",
+ "type": "object",
+ "title": "The projects schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "heading": "Projects",
+ "items": [
+ {
+ "date": "2020-07-01",
+ "id": "c768dcca-90f5-4242-a608-6759b4f667fb",
+ "link": "https://github.com/AmruthPillai/Reactive-Resume",
+ "summary": "Reactive Resume, a free and open-source resume builder that works for you. A few of the important features that make it awesome are minimalistic UI/UX, extensive customizability, portability, regularly updated templates, etc.\n\nFor more information, check out [rxresu.me](https://github.com/AmruthPillai/Reactive-Resume)",
+ "title": "Reactive Resume"
+ },
+ {
+ "date": "2020-04-01",
+ "id": "6ca600b1-c21f-4d7b-8431-f7144d537dd3",
+ "link": "https://amruthpillai.com",
+ "summary": "Resume on the Web has been a project that I've been focused on since the early 2014s. I didn't want my information to be displayed on just a sheet of paper that only HRs or Talent Scouts had the privilege of reading, I wanted it to be accessible to everyone. And that's how this project was conceptualized.",
+ "title": "Resume on the Web"
+ }
+ ],
+ "visible": true
+ }
+ ],
+ "required": ["heading", "items", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "heading": {
+ "$id": "#/properties/projects/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Projects"]
+ },
+ "items": {
+ "$id": "#/properties/projects/properties/items",
+ "type": "array",
+ "title": "The items schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ {
+ "date": "2020-07-01",
+ "id": "c768dcca-90f5-4242-a608-6759b4f667fb",
+ "link": "https://github.com/AmruthPillai/Reactive-Resume",
+ "summary": "Reactive Resume, a free and open-source resume builder that works for you. A few of the important features that make it awesome are minimalistic UI/UX, extensive customizability, portability, regularly updated templates, etc.\n\nFor more information, check out [rxresu.me](https://github.com/AmruthPillai/Reactive-Resume)",
+ "title": "Reactive Resume"
+ },
+ {
+ "date": "2020-04-01",
+ "id": "6ca600b1-c21f-4d7b-8431-f7144d537dd3",
+ "link": "https://amruthpillai.com",
+ "summary": "Resume on the Web has been a project that I've been focused on since the early 2014s. I didn't want my information to be displayed on just a sheet of paper that only HRs or Talent Scouts had the privilege of reading, I wanted it to be accessible to everyone. And that's how this project was conceptualized.",
+ "title": "Resume on the Web"
+ }
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/projects/properties/items/items/anyOf/0",
+ "type": "object",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "date": "2020-07-01",
+ "id": "c768dcca-90f5-4242-a608-6759b4f667fb",
+ "link": "https://github.com/AmruthPillai/Reactive-Resume",
+ "summary": "Reactive Resume, a free and open-source resume builder that works for you. A few of the important features that make it awesome are minimalistic UI/UX, extensive customizability, portability, regularly updated templates, etc.\n\nFor more information, check out [rxresu.me](https://github.com/AmruthPillai/Reactive-Resume)",
+ "title": "Reactive Resume"
+ }
+ ],
+ "required": ["date", "id", "link", "summary", "title"],
+ "additionalProperties": true,
+ "properties": {
+ "date": {
+ "$id": "#/properties/projects/properties/items/items/anyOf/0/properties/date",
+ "type": "string",
+ "title": "The date schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["2020-07-01"]
+ },
+ "id": {
+ "$id": "#/properties/projects/properties/items/items/anyOf/0/properties/id",
+ "type": "string",
+ "title": "The id schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["c768dcca-90f5-4242-a608-6759b4f667fb"]
+ },
+ "link": {
+ "$id": "#/properties/projects/properties/items/items/anyOf/0/properties/link",
+ "type": "string",
+ "title": "The link schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": [
+ "https://github.com/AmruthPillai/Reactive-Resume"
+ ]
+ },
+ "summary": {
+ "$id": "#/properties/projects/properties/items/items/anyOf/0/properties/summary",
+ "type": "string",
+ "title": "The summary schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": [
+ "Reactive Resume, a free and open-source resume builder that works for you. A few of the important features that make it awesome are minimalistic UI/UX, extensive customizability, portability, regularly updated templates, etc.\n\nFor more information, check out [rxresu.me](https://github.com/AmruthPillai/Reactive-Resume)"
+ ]
+ },
+ "title": {
+ "$id": "#/properties/projects/properties/items/items/anyOf/0/properties/title",
+ "type": "string",
+ "title": "The title schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Reactive Resume"]
+ }
+ }
+ }
+ ],
+ "$id": "#/properties/projects/properties/items/items"
+ }
+ },
+ "visible": {
+ "$id": "#/properties/projects/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ },
+ "public": {
+ "$id": "#/properties/public",
+ "type": "boolean",
+ "title": "The public schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ },
+ "references": {
+ "$id": "#/properties/references",
+ "type": "object",
+ "title": "The references schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "heading": "References",
+ "items": [
+ {
+ "email": "willywonka@goldenticket.com",
+ "id": "168339fd-3c4b-4f2f-bd3a-ef184be81700",
+ "name": "Willy Wonka",
+ "phone": "+1 (802) 234-2398",
+ "position": "CEO at Chocolate Factory",
+ "summary": ""
+ },
+ {
+ "email": "elanmusk@nottesla.com",
+ "id": "350465b9-9989-43cc-b97e-4115b8980304",
+ "name": "Elangovan Musk",
+ "phone": "+91 93893 34353",
+ "position": "CEO at Newton Motors",
+ "summary": ""
+ },
+ {
+ "name": "Lorraine Beasley",
+ "position": "Head of HR, Carson Logistics",
+ "phone": "+1 661-808-4188",
+ "email": "l.beasley@carsonlogistics.com",
+ "summary": "",
+ "id": "94e3447b-0a78-4fb7-b14d-591982d35320"
+ }
+ ],
+ "visible": true
+ }
+ ],
+ "required": ["heading", "items", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "heading": {
+ "$id": "#/properties/references/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["References"]
+ },
+ "items": {
+ "$id": "#/properties/references/properties/items",
+ "type": "array",
+ "title": "The items schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ {
+ "email": "willywonka@goldenticket.com",
+ "id": "168339fd-3c4b-4f2f-bd3a-ef184be81700",
+ "name": "Willy Wonka",
+ "phone": "+1 (802) 234-2398",
+ "position": "CEO at Chocolate Factory",
+ "summary": ""
+ },
+ {
+ "email": "elanmusk@nottesla.com",
+ "id": "350465b9-9989-43cc-b97e-4115b8980304",
+ "name": "Elangovan Musk",
+ "phone": "+91 93893 34353",
+ "position": "CEO at Newton Motors",
+ "summary": ""
+ }
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/references/properties/items/items/anyOf/0",
+ "type": "object",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "email": "willywonka@goldenticket.com",
+ "id": "168339fd-3c4b-4f2f-bd3a-ef184be81700",
+ "name": "Willy Wonka",
+ "phone": "+1 (802) 234-2398",
+ "position": "CEO at Chocolate Factory",
+ "summary": ""
+ }
+ ],
+ "required": [
+ "email",
+ "id",
+ "name",
+ "phone",
+ "position",
+ "summary"
+ ],
+ "additionalProperties": true,
+ "properties": {
+ "email": {
+ "$id": "#/properties/references/properties/items/items/anyOf/0/properties/email",
+ "type": "string",
+ "title": "The email schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["willywonka@goldenticket.com"]
+ },
+ "id": {
+ "$id": "#/properties/references/properties/items/items/anyOf/0/properties/id",
+ "type": "string",
+ "title": "The id schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["168339fd-3c4b-4f2f-bd3a-ef184be81700"]
+ },
+ "name": {
+ "$id": "#/properties/references/properties/items/items/anyOf/0/properties/name",
+ "type": "string",
+ "title": "The name schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Willy Wonka"]
+ },
+ "phone": {
+ "$id": "#/properties/references/properties/items/items/anyOf/0/properties/phone",
+ "type": "string",
+ "title": "The phone schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["+1 (802) 234-2398"]
+ },
+ "position": {
+ "$id": "#/properties/references/properties/items/items/anyOf/0/properties/position",
+ "type": "string",
+ "title": "The position schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["CEO at Chocolate Factory"]
+ },
+ "summary": {
+ "$id": "#/properties/references/properties/items/items/anyOf/0/properties/summary",
+ "type": "string",
+ "title": "The summary schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": [""]
+ }
+ }
+ }
+ ],
+ "$id": "#/properties/references/properties/items/items"
+ }
+ },
+ "visible": {
+ "$id": "#/properties/references/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ },
+ "skills": {
+ "$id": "#/properties/skills",
+ "type": "object",
+ "title": "The skills schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "heading": "Skills",
+ "items": [
+ {
+ "id": "54e5bceb-d0e9-4f04-98d1-48a34f7cf920",
+ "level": "Advanced",
+ "name": "Customer Service Expertise"
+ },
+ {
+ "id": "f0274f62-2252-4cc0-bf12-9e1070942c50",
+ "level": "Intermediate",
+ "name": "High-Volume Call Center"
+ },
+ {
+ "id": "689e2852-df1b-4d41-bda8-c41c88196264",
+ "level": "Intermediate",
+ "name": "Team Leader/Problem Solver"
+ },
+ {
+ "id": "3a4f73b1-50c1-4a85-a4b0-2a55dfe5053a",
+ "level": "Novice",
+ "name": "Call Center Management"
+ },
+ {
+ "name": "Teambuilding & Training",
+ "level": "Novice",
+ "id": "08d6c739-1465-41f7-8825-b8d94faa38d6"
+ },
+ {
+ "name": "Continuous Improvement",
+ "level": "Fundamental Awareness",
+ "id": "261b8fc3-aeec-4347-88a8-bcacb1a17aa3"
+ }
+ ],
+ "visible": true
+ }
+ ],
+ "required": ["heading", "items", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "heading": {
+ "$id": "#/properties/skills/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Skills"]
+ },
+ "items": {
+ "$id": "#/properties/skills/properties/items",
+ "type": "array",
+ "title": "The items schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ {
+ "id": "54e5bceb-d0e9-4f04-98d1-48a34f7cf920",
+ "level": "Advanced",
+ "name": "Customer Service Expertise"
+ },
+ {
+ "id": "f0274f62-2252-4cc0-bf12-9e1070942c50",
+ "level": "Intermediate",
+ "name": "High-Volume Call Center"
+ }
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/skills/properties/items/items/anyOf/0",
+ "type": "object",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "id": "54e5bceb-d0e9-4f04-98d1-48a34f7cf920",
+ "level": "Advanced",
+ "name": "Customer Service Expertise"
+ }
+ ],
+ "required": ["id", "level", "name"],
+ "additionalProperties": true,
+ "properties": {
+ "id": {
+ "$id": "#/properties/skills/properties/items/items/anyOf/0/properties/id",
+ "type": "string",
+ "title": "The id schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["54e5bceb-d0e9-4f04-98d1-48a34f7cf920"]
+ },
+ "level": {
+ "$id": "#/properties/skills/properties/items/items/anyOf/0/properties/level",
+ "type": "string",
+ "title": "The level schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Advanced"]
+ },
+ "name": {
+ "$id": "#/properties/skills/properties/items/items/anyOf/0/properties/name",
+ "type": "string",
+ "title": "The name schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Customer Service Expertise"]
+ }
+ }
+ }
+ ],
+ "$id": "#/properties/skills/properties/items/items"
+ }
+ },
+ "visible": {
+ "$id": "#/properties/skills/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ },
+ "social": {
+ "$id": "#/properties/social",
+ "type": "object",
+ "title": "The social schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "heading": "Social",
+ "items": [
+ {
+ "url": "https://pillai.xyz/instagram",
+ "network": "Instagram",
+ "username": "AmruthPillai",
+ "id": "a832b37d-f11d-4a80-8b4d-24796e571b17"
+ },
+ {
+ "id": "a72107fa-a4a5-407d-9e85-39bdb9c0b11a",
+ "network": "Twitter",
+ "url": "https://pillai.xyz/twitter",
+ "username": "KingOKings"
+ },
+ {
+ "id": "1dd46fdd-b3a3-4786-89ce-2e77c0823aba",
+ "network": "LinkedIn",
+ "url": "https://pillai.xyz/linkedin",
+ "username": "AmruthPillai"
+ }
+ ],
+ "visible": true
+ }
+ ],
+ "required": ["heading", "items", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "heading": {
+ "$id": "#/properties/social/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Social"]
+ },
+ "items": {
+ "$id": "#/properties/social/properties/items",
+ "type": "array",
+ "title": "The items schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ {
+ "url": "https://pillai.xyz/instagram",
+ "network": "Instagram",
+ "username": "AmruthPillai",
+ "id": "a832b37d-f11d-4a80-8b4d-24796e571b17"
+ },
+ {
+ "id": "a72107fa-a4a5-407d-9e85-39bdb9c0b11a",
+ "network": "Twitter",
+ "url": "https://pillai.xyz/twitter",
+ "username": "KingOKings"
+ }
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/social/properties/items/items/anyOf/0",
+ "type": "object",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "url": "https://pillai.xyz/instagram",
+ "network": "Instagram",
+ "username": "AmruthPillai",
+ "id": "a832b37d-f11d-4a80-8b4d-24796e571b17"
+ }
+ ],
+ "required": ["url", "network", "username", "id"],
+ "additionalProperties": true,
+ "properties": {
+ "url": {
+ "$id": "#/properties/social/properties/items/items/anyOf/0/properties/url",
+ "type": "string",
+ "title": "The url schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["https://pillai.xyz/instagram"]
+ },
+ "network": {
+ "$id": "#/properties/social/properties/items/items/anyOf/0/properties/network",
+ "type": "string",
+ "title": "The network schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Instagram"]
+ },
+ "username": {
+ "$id": "#/properties/social/properties/items/items/anyOf/0/properties/username",
+ "type": "string",
+ "title": "The username schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["AmruthPillai"]
+ },
+ "id": {
+ "$id": "#/properties/social/properties/items/items/anyOf/0/properties/id",
+ "type": "string",
+ "title": "The id schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["a832b37d-f11d-4a80-8b4d-24796e571b17"]
+ }
+ }
+ }
+ ],
+ "$id": "#/properties/social/properties/items/items"
+ }
+ },
+ "visible": {
+ "$id": "#/properties/social/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ },
+ "work": {
+ "$id": "#/properties/work",
+ "type": "object",
+ "title": "The work schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "heading": "Work Experience",
+ "items": [
+ {
+ "company": "On Point Electronics, NYC, NY",
+ "endDate": "2018-07-01",
+ "id": "d7c64937-0cb9-41b1-a3a6-0679c882fe63",
+ "position": "Customer Service Representative",
+ "startDate": "2013-01-01",
+ "summary": "- Organized customer information and account data for business planning and customer service purposes.\n- Created excel spreadsheets to track customer data and perform intense reconciliation process.\n- Received 97% positive customer survey results.\n- Speed on calls was 10% above team average. \n**Key Achievement:** Designed and executed an automatized system for following up with customers, increasing customer retention by 22%.",
+ "website": "https://onpoint.com"
+ },
+ {
+ "company": "Excelsior Communications, NYC, NY",
+ "endDate": "2012-12-01",
+ "id": "f5c5dcfe-2a60-4169-a2f1-b305355518ea",
+ "position": "Customer Service Representative",
+ "startDate": "2009-10-01",
+ "summary": "- Worked as a full time customer service rep in a high volume call center.\n- Received \"Associate of the Month\" award six times.\n- Chosen as an example for other associates in trainings. \n**Key Achievement:** Received Customer Appreciation bonus in three of four years.",
+ "website": "https://excelsior.com"
+ },
+ {
+ "company": "Pizza Hut, Newark, NJ",
+ "position": "Waiter",
+ "website": "https://pizzahut.com",
+ "startDate": "2005-08-01",
+ "endDate": "2009-09-01",
+ "summary": "- Worked passionately in customer service in a high volume restaurant.\n- Completed the FAST customer service training class.\n- Maintained a high tip average thanks to consistent customer satisfaction.",
+ "id": "dd935088-6fe7-4a4b-8ff5-7417c32d2add"
+ }
+ ],
+ "visible": true
+ }
+ ],
+ "required": ["heading", "items", "visible"],
+ "additionalProperties": true,
+ "properties": {
+ "heading": {
+ "$id": "#/properties/work/properties/heading",
+ "type": "string",
+ "title": "The heading schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Work Experience"]
+ },
+ "items": {
+ "$id": "#/properties/work/properties/items",
+ "type": "array",
+ "title": "The items schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": [],
+ "examples": [
+ [
+ {
+ "company": "On Point Electronics, NYC, NY",
+ "endDate": "2018-07-01",
+ "id": "d7c64937-0cb9-41b1-a3a6-0679c882fe63",
+ "position": "Customer Service Representative",
+ "startDate": "2013-01-01",
+ "summary": "- Organized customer information and account data for business planning and customer service purposes.\n- Created excel spreadsheets to track customer data and perform intense reconciliation process.\n- Received 97% positive customer survey results.\n- Speed on calls was 10% above team average. \n**Key Achievement:** Designed and executed an automatized system for following up with customers, increasing customer retention by 22%.",
+ "website": "https://onpoint.com"
+ },
+ {
+ "company": "Excelsior Communications, NYC, NY",
+ "endDate": "2012-12-01",
+ "id": "f5c5dcfe-2a60-4169-a2f1-b305355518ea",
+ "position": "Customer Service Representative",
+ "startDate": "2009-10-01",
+ "summary": "- Worked as a full time customer service rep in a high volume call center.\n- Received \"Associate of the Month\" award six times.\n- Chosen as an example for other associates in trainings. \n**Key Achievement:** Received Customer Appreciation bonus in three of four years.",
+ "website": "https://excelsior.com"
+ }
+ ]
+ ],
+ "additionalItems": true,
+ "items": {
+ "anyOf": [
+ {
+ "$id": "#/properties/work/properties/items/items/anyOf/0",
+ "type": "object",
+ "title": "The first anyOf schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": {},
+ "examples": [
+ {
+ "company": "On Point Electronics, NYC, NY",
+ "endDate": "2018-07-01",
+ "id": "d7c64937-0cb9-41b1-a3a6-0679c882fe63",
+ "position": "Customer Service Representative",
+ "startDate": "2013-01-01",
+ "summary": "- Organized customer information and account data for business planning and customer service purposes.\n- Created excel spreadsheets to track customer data and perform intense reconciliation process.\n- Received 97% positive customer survey results.\n- Speed on calls was 10% above team average. \n**Key Achievement:** Designed and executed an automatized system for following up with customers, increasing customer retention by 22%.",
+ "website": "https://onpoint.com"
+ }
+ ],
+ "required": [
+ "company",
+ "endDate",
+ "id",
+ "position",
+ "startDate",
+ "summary",
+ "website"
+ ],
+ "additionalProperties": true,
+ "properties": {
+ "company": {
+ "$id": "#/properties/work/properties/items/items/anyOf/0/properties/company",
+ "type": "string",
+ "title": "The company schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["On Point Electronics, NYC, NY"]
+ },
+ "endDate": {
+ "$id": "#/properties/work/properties/items/items/anyOf/0/properties/endDate",
+ "type": "string",
+ "title": "The endDate schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["2018-07-01"]
+ },
+ "id": {
+ "$id": "#/properties/work/properties/items/items/anyOf/0/properties/id",
+ "type": "string",
+ "title": "The id schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["d7c64937-0cb9-41b1-a3a6-0679c882fe63"]
+ },
+ "position": {
+ "$id": "#/properties/work/properties/items/items/anyOf/0/properties/position",
+ "type": "string",
+ "title": "The position schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["Customer Service Representative"]
+ },
+ "startDate": {
+ "$id": "#/properties/work/properties/items/items/anyOf/0/properties/startDate",
+ "type": "string",
+ "title": "The startDate schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["2013-01-01"]
+ },
+ "summary": {
+ "$id": "#/properties/work/properties/items/items/anyOf/0/properties/summary",
+ "type": "string",
+ "title": "The summary schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": [
+ "- Organized customer information and account data for business planning and customer service purposes.\n- Created excel spreadsheets to track customer data and perform intense reconciliation process.\n- Received 97% positive customer survey results.\n- Speed on calls was 10% above team average. \n**Key Achievement:** Designed and executed an automatized system for following up with customers, increasing customer retention by 22%."
+ ]
+ },
+ "website": {
+ "$id": "#/properties/work/properties/items/items/anyOf/0/properties/website",
+ "type": "string",
+ "title": "The website schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": "",
+ "examples": ["https://onpoint.com"]
+ }
+ }
+ }
+ ],
+ "$id": "#/properties/work/properties/items/items"
+ }
+ },
+ "visible": {
+ "$id": "#/properties/work/properties/visible",
+ "type": "boolean",
+ "title": "The visible schema",
+ "description": "An explanation about the purpose of this instance.",
+ "default": false,
+ "examples": [true]
+ }
+ }
+ }
+ }
+}
diff --git a/src/data/templateOptions.js b/src/data/templateOptions.js
new file mode 100644
index 000000000..cf6370dbf
--- /dev/null
+++ b/src/data/templateOptions.js
@@ -0,0 +1,28 @@
+const templateOptions = [
+ {
+ id: 'onyx',
+ name: 'Onyx',
+ },
+ {
+ id: 'pikachu',
+ name: 'Pikachu',
+ },
+ {
+ id: 'gengar',
+ name: 'Gengar',
+ },
+ {
+ id: 'castform',
+ name: 'Castform',
+ },
+ {
+ id: 'glalie',
+ name: 'Glalie',
+ },
+ {
+ id: 'celebi',
+ name: 'Celebi',
+ },
+];
+
+export default templateOptions;
diff --git a/src/data/themeConfig.js b/src/data/themeConfig.js
new file mode 100644
index 000000000..5f7084611
--- /dev/null
+++ b/src/data/themeConfig.js
@@ -0,0 +1,40 @@
+const themeConfig = {
+ Light: {
+ '--color-primary-50': '#FFFFFF',
+ '--color-primary-100': '#FAFAFA',
+ '--color-primary-200': '#F1F0F0',
+ '--color-primary-300': '#D8D2CD',
+ '--color-primary-400': '#CDC4BA',
+ '--color-primary-500': '#ABA59D',
+ '--color-primary-600': '#8A8680',
+ '--color-primary-700': '#686663',
+ '--color-primary-800': '#484745',
+ '--color-primary-900': '#282727',
+ },
+ Dark: {
+ '--color-primary-50': '#212121',
+ '--color-primary-100': '#2c2c2c',
+ '--color-primary-200': '#424242',
+ '--color-primary-300': '#616161',
+ '--color-primary-400': '#757575',
+ '--color-primary-500': '#9e9e9e',
+ '--color-primary-600': '#bdbdbd',
+ '--color-primary-700': '#e0e0e0',
+ '--color-primary-800': '#eeeeee',
+ '--color-primary-900': '#f5f5f5',
+ },
+ AMOLED: {
+ '--color-primary-50': '#010101',
+ '--color-primary-100': '#121212',
+ '--color-primary-200': '#222222',
+ '--color-primary-300': '#333333',
+ '--color-primary-400': '#444',
+ '--color-primary-500': '#696969',
+ '--color-primary-600': '#8F8F8F',
+ '--color-primary-700': '#B4B4B4',
+ '--color-primary-800': '#DADADA',
+ '--color-primary-900': '#FFFFFF',
+ },
+};
+
+export default themeConfig;
diff --git a/src/data/tips.js b/src/data/tips.js
new file mode 100644
index 000000000..8bf5fda94
--- /dev/null
+++ b/src/data/tips.js
@@ -0,0 +1,18 @@
+export const tips = [
+ 'Create a professional email address.',
+ 'Update your contact information.',
+ 'Set your font size to 10-12 points.',
+ 'Use reverse-chronological order.',
+ 'Align your content to the left to make it skimmable.',
+ 'Make strategic use of bold, caps, and italics.',
+ 'Choose an attractive and readable font.',
+ 'Only add jobs you’ve had in the past 10-15 years.',
+ 'Give your sections simple subheadings.',
+ 'Include URLs to social media profiles, personal websites, and your blog.',
+];
+
+export const getRandomTip = () => {
+ const tip = tips[Math.floor(Math.random() * tips.length)];
+ const index = tips.indexOf(tip) + 1;
+ return `Tip #${index}: ${tip}`;
+};
diff --git a/src/hooks/useAuthState.js b/src/hooks/useAuthState.js
new file mode 100644
index 000000000..84dda0148
--- /dev/null
+++ b/src/hooks/useAuthState.js
@@ -0,0 +1,54 @@
+import { useEffect, useReducer, useState } from 'react';
+
+export default function useAuthState(firebase) {
+ const [auth, setAuth] = useState(undefined);
+
+ const [state, dispatch] = useReducer(
+ (innerState, action) => {
+ switch (action.type) {
+ case 'auth_state_changed':
+ return {
+ ...innerState,
+ user: action.user,
+ loading: false,
+ };
+ case 'error':
+ return {
+ ...innerState,
+ error: action.error,
+ loading: false,
+ };
+ default:
+ return innerState;
+ }
+ },
+ {
+ user: undefined,
+ loading: true,
+ error: undefined,
+ },
+ );
+
+ useEffect(() => {
+ setAuth(firebase.auth());
+ }, [firebase]);
+
+ useEffect(() => {
+ if (auth === undefined) return;
+
+ const unsubscribe = auth.onAuthStateChanged(
+ (user) => {
+ dispatch({ type: 'auth_state_changed', user });
+ },
+ (error) => {
+ dispatch({ type: 'error', error });
+ },
+ );
+
+ return () => {
+ unsubscribe();
+ };
+ }, [auth]);
+
+ return [state.user, state.loading, state.error];
+}
diff --git a/src/i18n/index.js b/src/i18n/index.js
index 19bdcb59b..b44c11065 100644
--- a/src/i18n/index.js
+++ b/src/i18n/index.js
@@ -1,92 +1,23 @@
import i18n from 'i18next';
-import backend from 'i18next-http-backend';
import { initReactI18next } from 'react-i18next';
-import detector from 'i18next-browser-languagedetector';
-
import resources from './locales';
const languages = [
- {
- code: 'ar',
- name: 'Arabic (عربى)',
- },
- {
- code: 'zh',
- name: 'Chinese (中文)',
- },
- {
- code: 'da',
- name: 'Danish (Dansk)',
- },
- {
- code: 'nl',
- name: 'Dutch (Nederlands)',
- },
{
code: 'en',
name: 'English (US)',
},
- {
- code: 'fr',
- name: 'French (Français)',
- },
- {
- code: 'de',
- name: 'German (Deutsche)',
- },
- {
- code: 'he',
- name: 'Hebrew (עברית)',
- },
- {
- code: 'hi',
- name: 'Hindi (हिन्दी)',
- },
- {
- code: 'it',
- name: 'Italian (Italiano)',
- },
{
code: 'kn',
name: 'Kannada (ಕನ್ನಡ)',
},
- {
- code: 'pl',
- name: 'Polish (Polskie)',
- },
- {
- code: 'pt',
- name: 'Portuguese (Português)',
- },
- {
- code: 'ru',
- name: 'Russian (русский)',
- },
- {
- code: 'es',
- name: 'Spanish (Español)',
- },
- {
- code: 'ta',
- name: 'Tamil (தமிழ்)',
- },
- {
- code: 'vi',
- name: 'Vietnamese (Tiếng Việt)',
- },
];
-i18n
- .use(detector)
- .use(backend)
- .use(initReactI18next)
- .init({
- resources,
- lng: 'en',
- fallbackLng: 'en',
- ns: ['app', 'leftSidebar', 'rightSidebar'],
- defaultNS: 'app',
- });
+i18n.use(initReactI18next).init({
+ resources,
+ lng: 'en',
+ fallbackLng: 'en',
+});
export { languages };
diff --git a/src/i18n/locales/af/app/app.json b/src/i18n/locales/af/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/af/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/af/app/index.js b/src/i18n/locales/af/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/af/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/af/index.js b/src/i18n/locales/af/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/af/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/af/leftSidebar/awards.json b/src/i18n/locales/af/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/af/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/af/leftSidebar/certifications.json b/src/i18n/locales/af/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/af/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/af/leftSidebar/education.json b/src/i18n/locales/af/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/af/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/af/leftSidebar/extras.json b/src/i18n/locales/af/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/af/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/af/leftSidebar/index.js b/src/i18n/locales/af/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/af/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/af/leftSidebar/languages.json b/src/i18n/locales/af/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/af/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/af/leftSidebar/objective.json b/src/i18n/locales/af/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/af/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/af/leftSidebar/profile.json b/src/i18n/locales/af/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/af/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/af/leftSidebar/references.json b/src/i18n/locales/af/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/af/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/af/leftSidebar/work.json b/src/i18n/locales/af/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/af/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/af/rightSidebar/about.json b/src/i18n/locales/af/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/af/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/af/rightSidebar/actions.json b/src/i18n/locales/af/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/af/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/af/rightSidebar/colors.json b/src/i18n/locales/af/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/af/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/af/rightSidebar/fonts.json b/src/i18n/locales/af/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/af/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/af/rightSidebar/index.js b/src/i18n/locales/af/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/af/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/af/rightSidebar/settings.json b/src/i18n/locales/af/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/af/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/af/rightSidebar/templates.json b/src/i18n/locales/af/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/af/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/ar/app/app.json b/src/i18n/locales/ar/app/app.json
deleted file mode 100644
index 966fce72a..000000000
--- a/src/i18n/locales/ar/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "إضافة {{- heading}}",
- "startDate": {
- "label": "تاريخ البدء"
- },
- "endDate": {
- "label": "تاريخ الانتهاء"
- },
- "description": {
- "label": "الوصف"
- }
- },
- "buttons": {
- "add": {
- "label": "إضافة"
- },
- "delete": {
- "label": "حذف"
- }
- },
- "printDialog": {
- "heading": "تحميل السيرة الذاتية الخاصة بك",
- "quality": {
- "label": "الجودة"
- },
- "printType": {
- "label": "النوع",
- "types": {
- "unconstrained": "غير مقيّد",
- "fitInA4": "ملائم في A4",
- "multiPageA4": "صفحات متعددة A4"
- }
- },
- "helpText": [
- "يستخدم فى صيغة التصدير هنا HTML canvas لتحويل السيرة الذاتية إلى صورة ثم طباعتها فى ملف PDF ، مما يعنى أنك ستفقد كل قدرات تحديد\\تحليل النص المكتوب.",
- "إذا كان هذا مهماً بالنسبة لك، يرجى محاولة طباعة السيرة الذاتية بدلاً من ذلك باستخدام Cmd/Ctrl + P أو زر الطباعة أدناه. قد تختلف النتيجة لأن طبيعة الطباعة تعتمد على نوع المتصفح، ولكن من المعروف أنه يعمل بشكل أفضل على أحدث إصدار من Google Chrome."
- ],
- "buttons": {
- "cancel": "إلغاء",
- "saveAsPdf": "حفظ كـ PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "يمكنك تحريك وتكبير لوحة الرسم فى أى وقت لتحصل على نظرة أوضح لسيرتك الذاتية."
- },
- "markdownHelpText": "يمكنك استخدام <1>GitHub Flavored Markdown1> لتصميم هذا القسم من النص."
-}
diff --git a/src/i18n/locales/ar/app/index.js b/src/i18n/locales/ar/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/ar/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/ar/index.js b/src/i18n/locales/ar/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/ar/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/ar/leftSidebar/awards.json b/src/i18n/locales/ar/leftSidebar/awards.json
deleted file mode 100644
index 19da154e6..000000000
--- a/src/i18n/locales/ar/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "العنوان"
- },
- "subtitle": {
- "label": "العنوان الفرعي"
- }
-}
diff --git a/src/i18n/locales/ar/leftSidebar/certifications.json b/src/i18n/locales/ar/leftSidebar/certifications.json
deleted file mode 100644
index 28a6f6046..000000000
--- a/src/i18n/locales/ar/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "الاسم"
- },
- "subtitle": {
- "label": "الهيئة"
- }
-}
diff --git a/src/i18n/locales/ar/leftSidebar/education.json b/src/i18n/locales/ar/leftSidebar/education.json
deleted file mode 100644
index 111e1624d..000000000
--- a/src/i18n/locales/ar/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "الاسم"
- },
- "major": {
- "label": "التخصص"
- },
- "grade": {
- "label": "الدرجة"
- }
-}
diff --git a/src/i18n/locales/ar/leftSidebar/extras.json b/src/i18n/locales/ar/leftSidebar/extras.json
deleted file mode 100644
index 3df9fa24a..000000000
--- a/src/i18n/locales/ar/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "المفتاح - النوع"
- },
- "value": {
- "label": "القيمة"
- }
-}
diff --git a/src/i18n/locales/ar/leftSidebar/index.js b/src/i18n/locales/ar/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/ar/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/ar/leftSidebar/languages.json b/src/i18n/locales/ar/leftSidebar/languages.json
deleted file mode 100644
index 640f967b7..000000000
--- a/src/i18n/locales/ar/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "الاسم"
- },
- "level": {
- "label": "مستوى"
- },
- "rating": {
- "label": "التقييم"
- }
-}
diff --git a/src/i18n/locales/ar/leftSidebar/objective.json b/src/i18n/locales/ar/leftSidebar/objective.json
deleted file mode 100644
index df72d3da3..000000000
--- a/src/i18n/locales/ar/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "الأهداف"
- }
-}
diff --git a/src/i18n/locales/ar/leftSidebar/profile.json b/src/i18n/locales/ar/leftSidebar/profile.json
deleted file mode 100644
index 32a1d87b8..000000000
--- a/src/i18n/locales/ar/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "رابط الصورة على الإنترنت"
- },
- "firstName": {
- "label": "الإسم الأول"
- },
- "lastName": {
- "label": "الاسم الأخير"
- },
- "subtitle": {
- "label": "العنوان الفرعي"
- },
- "address": {
- "label": "العنوان",
- "line1": {
- "label": "السطر 1 للعنوان"
- },
- "line2": {
- "label": "السطر 2 للعنوان"
- },
- "line3": {
- "label": "السطر 3 للعنوان"
- }
- },
- "phone": {
- "label": "رقم الهاتف"
- },
- "website": {
- "label": "الموقع الالكتروني"
- },
- "email": {
- "label": "عنوان البريد الإلكتروني"
- }
-}
diff --git a/src/i18n/locales/ar/leftSidebar/references.json b/src/i18n/locales/ar/leftSidebar/references.json
deleted file mode 100644
index 402e17cea..000000000
--- a/src/i18n/locales/ar/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "الاسم"
- },
- "position": {
- "label": "المنصب"
- },
- "phone": {
- "label": "رقم الهاتف"
- },
- "email": {
- "label": "عنوان البريد الإلكتروني"
- }
-}
diff --git a/src/i18n/locales/ar/leftSidebar/work.json b/src/i18n/locales/ar/leftSidebar/work.json
deleted file mode 100644
index 7a116fdb2..000000000
--- a/src/i18n/locales/ar/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "الاسم"
- },
- "role": {
- "label": "الوظيفة"
- }
-}
diff --git a/src/i18n/locales/ar/rightSidebar/about.json b/src/i18n/locales/ar/rightSidebar/about.json
deleted file mode 100644
index e288081fc..000000000
--- a/src/i18n/locales/ar/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "حول",
- "documentation": {
- "heading": "توضيحات",
- "body": "هل ترغب في معرفة المزيد عن التطبيق؟ تحتاج إلى معلومات عن كيفية المساهمة في المشروع؟ لا مزيد من البحث، هناك دليل شامل تم إعداده من أجلك.",
- "buttons": {
- "documentation": "التوضيحات"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "خطأ؟ طلب ميزة جديدة؟",
- "body": "شيء ما يوقف تقدمك فى بناء السيرة الذاتية؟ وجدت خلل مزعج لن يتوقف من العمل؟ تحدث عن ذلك في قسم مشاكل GitHub ، أو أرسل إلى بريدي الإلكتروني باستخدام الإجراءات أدناه.",
- "buttons": {
- "raiseIssue": "رفع مشكلة",
- "sendEmail": "إرسال بريد إلكتروني"
- }
- },
- "sourceCode": {
- "heading": "مصدر الكود البرمجيى",
- "body": "هل تريد تشغيل المشروع من مصدره؟ هل أنت مطور على استعداد للمساهمة في تطوير هذا المشروع؟ انقر على الزر أدناه.",
- "buttons": {
- "githubRepo": "مستودع GitHub"
- }
- },
- "license": {
- "heading": "معلومات الترخيص",
- "body": "المشروع خاضع لرخصة MIT ، التي يمكنك القراة عنها أكثر أدناه. في الأساس، يسمح لك باستخدام المشروع في أي مكان بشرط أن تقدم اعتمادات للمؤلف الأصلي.",
- "buttons": {
- "mitLicense": "رخصة MIT"
- }
- },
- "footer": {
- "credit": "صنع مع الحب بواسطة <1>أمروث بيلاي1>",
- "thanks": "شكرا لك على استخدام Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/ar/rightSidebar/actions.json b/src/i18n/locales/ar/rightSidebar/actions.json
deleted file mode 100644
index 1f1fa3206..000000000
--- a/src/i18n/locales/ar/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "الاجراءت",
- "disclaimer": "التغييرات التي تجريها على السيرة الذاتية الخاصة بك يتم حفظها تلقائيًا إلى وحدة التخزين المحلية للمتصفح. لا توجد بيانات، وبالتالي فإن المعلومات الخاصة بك آمنة تمامًا.",
- "importExport": {
- "heading": "إستيراد/تصدير",
- "body": "يمكنك استيراد أو تصدير البيانات الخاصة بك بتنسيق JSON. لذلك ، يمكنك تعديل أو طباعة سيرتك الذاتية من أي جهاز. حفظ هذا الملف لاستخدامه لاحقاً.",
- "buttons": {
- "import": "إستيراد",
- "export": "تصدير"
- }
- },
- "downloadResume": {
- "heading": "تحميل السيرة الذاتية الخاصة بك",
- "body": "يمكنك النقر على الزر أدناه لتنزيل نسخة PDF من سيرتك الذاتية على الفور. للحصول على أفضل النتائج، يرجى استخدام أحدث إصدار من Google Chrome.",
- "buttons": {
- "saveAsPdf": "حفظ كـ PDF"
- }
- },
- "loadDemoData": {
- "heading": "إضافة البيانات التجريبية",
- "body": "غير واضح ما يجب فعله بصفحة جديدة فارغة؟ قم بإضافة بعض البيانات التجريبية مع قيم مسبقة لترى كيف يجب أن تبدو سيرتك الذاتية ويمكنك البدء في التعديل من هناك.",
- "buttons": {
- "loadData": "تحميل-إضافة البيانات"
- }
- },
- "reset": {
- "heading": "إعادة تعيين كل شيء!",
- "body": "سيؤدي هذا الإجراء إلى إعادة تعيين جميع بياناتك وإزالة النسخ الاحتياطية التي تم إنشاؤها على وحدة التخزين المحلية لمتصفحك أيضًا. لذا يرجى التأكد من أنك قمت بتصدير بياناتك أولاً قبل إعادة تعيين كل شيء.",
- "buttons": {
- "reset": "إعادة تعيين"
- }
- }
-}
diff --git a/src/i18n/locales/ar/rightSidebar/colors.json b/src/i18n/locales/ar/rightSidebar/colors.json
deleted file mode 100644
index 598723314..000000000
--- a/src/i18n/locales/ar/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "الألوان",
- "colorOptions": "خيارات اللون",
- "primaryColor": "اللون الأساسي",
- "accentColor": "اللون الثانوي",
- "clipboardCopyAction": "تم نسخ {{color}}."
-}
diff --git a/src/i18n/locales/ar/rightSidebar/fonts.json b/src/i18n/locales/ar/rightSidebar/fonts.json
deleted file mode 100644
index efa4a2190..000000000
--- a/src/i18n/locales/ar/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "الخطوط",
- "fontFamily": {
- "label": "نوع الخط",
- "helpText": "يمكنك استخدام أي خط مثبت على جهازك أيضًا. فقط قم بإدخال اسم عائلة الخط هنا وسوف يقوم المتصفح بتحميله لك."
- }
-}
diff --git a/src/i18n/locales/ar/rightSidebar/index.js b/src/i18n/locales/ar/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/ar/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/ar/rightSidebar/settings.json b/src/i18n/locales/ar/rightSidebar/settings.json
deleted file mode 100644
index 42ed0865b..000000000
--- a/src/i18n/locales/ar/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "الإعدادات",
- "language": {
- "label": "اللّغة",
- "helpText": "إذا كنت ترغب في المساعدة في ترجمة التطبيق إلى لغتك الخاصة، يرجى الرجوع إلى <1>وثيقة الترجمة 1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/ar/rightSidebar/templates.json b/src/i18n/locales/ar/rightSidebar/templates.json
deleted file mode 100644
index 37d4b6733..000000000
--- a/src/i18n/locales/ar/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "القوالب"
-}
diff --git a/src/i18n/locales/as/app/app.json b/src/i18n/locales/as/app/app.json
deleted file mode 100644
index 861e3ad5f..000000000
--- a/src/i18n/locales/as/app/app.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "heading": {
- "placeholder": "Heading"
- },
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date",
- "placeholder": "March 2018"
- },
- "endDate": {
- "label": "End Date",
- "placeholder": "March 2022"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- }
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/as/app/index.js b/src/i18n/locales/as/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/as/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/as/index.js b/src/i18n/locales/as/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/as/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/as/leftSidebar/awards.json b/src/i18n/locales/as/leftSidebar/awards.json
deleted file mode 100644
index 4222ec124..000000000
--- a/src/i18n/locales/as/leftSidebar/awards.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "title": {
- "label": "Title",
- "placeholder": "Math & Science Olympiad"
- },
- "subtitle": {
- "label": "Subtitle",
- "placeholder": "First Place, International Level"
- },
- "description": {
- "placeholder": "You can write about what qualities made you succeed in getting this award."
- }
-}
diff --git a/src/i18n/locales/as/leftSidebar/certifications.json b/src/i18n/locales/as/leftSidebar/certifications.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/as/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/as/leftSidebar/education.json b/src/i18n/locales/as/leftSidebar/education.json
deleted file mode 100644
index 231004b26..000000000
--- a/src/i18n/locales/as/leftSidebar/education.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Harvard University"
- },
- "major": {
- "label": "Major",
- "placeholder": "Masters in Computer Science"
- },
- "grade": {
- "label": "Grade"
- },
- "description": {
- "placeholder": "You can write about projects or special credit classes that you took while studying at this school."
- }
-}
diff --git a/src/i18n/locales/as/leftSidebar/extras.json b/src/i18n/locales/as/leftSidebar/extras.json
deleted file mode 100644
index 7afc7c067..000000000
--- a/src/i18n/locales/as/leftSidebar/extras.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "key": {
- "label": "Key",
- "placeholder": "Date of Birth"
- },
- "value": {
- "label": "Value",
- "placeholder": "6th August 1995"
- }
-}
diff --git a/src/i18n/locales/as/leftSidebar/index.js b/src/i18n/locales/as/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/as/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/as/leftSidebar/languages.json b/src/i18n/locales/as/leftSidebar/languages.json
deleted file mode 100644
index fc5de101a..000000000
--- a/src/i18n/locales/as/leftSidebar/languages.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "key": {
- "label": "Key",
- "placeholder": "Dothraki"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/as/leftSidebar/objective.json b/src/i18n/locales/as/leftSidebar/objective.json
deleted file mode 100644
index 8cb4f70da..000000000
--- a/src/i18n/locales/as/leftSidebar/objective.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "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."
- }
-}
diff --git a/src/i18n/locales/as/leftSidebar/profile.json b/src/i18n/locales/as/leftSidebar/profile.json
deleted file mode 100644
index b7f889c26..000000000
--- a/src/i18n/locales/as/leftSidebar/profile.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name",
- "placeholder": "Jane"
- },
- "lastName": {
- "label": "Last Name",
- "placeholder": "Doe"
- },
- "subtitle": {
- "label": "Subtitle",
- "placeholder": "Full Stack Web Developer"
- },
- "address": {
- "line1": {
- "label": "Address Line 1",
- "placeholder": "Palladium Complex"
- },
- "line2": {
- "label": "Address Line 2",
- "placeholder": "140 E 14th St"
- },
- "line3": {
- "label": "Address Line 3",
- "placeholder": "New York, NY 10003 USA"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/as/leftSidebar/references.json b/src/i18n/locales/as/leftSidebar/references.json
deleted file mode 100644
index 88241575d..000000000
--- a/src/i18n/locales/as/leftSidebar/references.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Richard Hendricks"
- },
- "position": {
- "label": "Position",
- "placeholder": "CEO, Pied Piper"
- },
- "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."
- }
-}
diff --git a/src/i18n/locales/as/leftSidebar/work.json b/src/i18n/locales/as/leftSidebar/work.json
deleted file mode 100644
index 6d115c6e3..000000000
--- a/src/i18n/locales/as/leftSidebar/work.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Amazon"
- },
- "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."
- }
-}
diff --git a/src/i18n/locales/as/rightSidebar/about.json b/src/i18n/locales/as/rightSidebar/about.json
deleted file mode 100644
index cac678ad8..000000000
--- a/src/i18n/locales/as/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "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.",
- "buttons": {
- "documentation": "Documentation"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Reactive Resume is a project by <1>Amruth Pillai1>.",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/as/rightSidebar/actions.json b/src/i18n/locales/as/rightSidebar/actions.json
deleted file mode 100644
index b68187149..000000000
--- a/src/i18n/locales/as/rightSidebar/actions.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "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 + P1> but it would have different effects.",
- "buttons": {
- "export": "Export",
- "print": "Print"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/as/rightSidebar/colors.json b/src/i18n/locales/as/rightSidebar/colors.json
deleted file mode 100644
index bf4accbf2..000000000
--- a/src/i18n/locales/as/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Accent Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/as/rightSidebar/fonts.json b/src/i18n/locales/as/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/as/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/as/rightSidebar/index.js b/src/i18n/locales/as/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/as/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/as/rightSidebar/settings.json b/src/i18n/locales/as/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/as/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/as/rightSidebar/templates.json b/src/i18n/locales/as/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/as/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/bg/app/app.json b/src/i18n/locales/bg/app/app.json
deleted file mode 100644
index 2a0b37746..000000000
--- a/src/i18n/locales/bg/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Добавяне на {{- heading}}",
- "startDate": {
- "label": "Начална дата"
- },
- "endDate": {
- "label": "Крайна дата"
- },
- "description": {
- "label": "Описание"
- }
- },
- "buttons": {
- "add": {
- "label": "Добавяне"
- },
- "delete": {
- "label": "Изтриване"
- }
- },
- "printDialog": {
- "heading": "Изтегляне на автобиографията",
- "quality": {
- "label": "Качество"
- },
- "printType": {
- "label": "Тип",
- "types": {
- "unconstrained": "Без ограничения",
- "fitInA4": "Побиране във формат A4",
- "multiPageA4": "На няколко страници A4"
- }
- },
- "helpText": [
- "Този метод на експортиране използва HTML пространството за конвертиране на автобиографията в изображение и отпечатването ѝ като PDF. Това означава, че няма да може да използвате възможността за селектиране/търсене във файла.",
- "Ако е важно за вас, пробвайте да отпечатате автобиографията с помощта на клавишната комбинация Cmd/Ctrl + P или бутона за печат по-долу. Резултатът може да е различен, тъй като всичко зависи от браузъра, но най-добре се получава с най-актуалната версия на Google Chrome."
- ],
- "buttons": {
- "cancel": "Отказ",
- "saveAsPdf": "Запазване като PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Можете да местите и променяте мащаба на работната площ така, че да преглеждате по-отблизо автобиографията ви."
- },
- "markdownHelpText": "Може да използвате <1>маркиране в стила на GitHub1>, за да оформите текста в този раздел."
-}
diff --git a/src/i18n/locales/bg/leftSidebar/awards.json b/src/i18n/locales/bg/leftSidebar/awards.json
deleted file mode 100644
index e5bfc494a..000000000
--- a/src/i18n/locales/bg/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Заглавие"
- },
- "subtitle": {
- "label": "Подзаглавие"
- }
-}
diff --git a/src/i18n/locales/bg/leftSidebar/certifications.json b/src/i18n/locales/bg/leftSidebar/certifications.json
deleted file mode 100644
index 44473889d..000000000
--- a/src/i18n/locales/bg/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Наименование"
- },
- "subtitle": {
- "label": "Институция"
- }
-}
diff --git a/src/i18n/locales/bg/leftSidebar/education.json b/src/i18n/locales/bg/leftSidebar/education.json
deleted file mode 100644
index b95303ae1..000000000
--- a/src/i18n/locales/bg/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Наименование"
- },
- "major": {
- "label": "Специалност"
- },
- "grade": {
- "label": "Оценка"
- }
-}
diff --git a/src/i18n/locales/bg/leftSidebar/extras.json b/src/i18n/locales/bg/leftSidebar/extras.json
deleted file mode 100644
index 9db4e3d4d..000000000
--- a/src/i18n/locales/bg/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Наименование"
- },
- "value": {
- "label": "Стойност"
- }
-}
diff --git a/src/i18n/locales/bg/leftSidebar/languages.json b/src/i18n/locales/bg/leftSidebar/languages.json
deleted file mode 100644
index cc2be8cd4..000000000
--- a/src/i18n/locales/bg/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Наименование"
- },
- "level": {
- "label": "Ниво"
- },
- "rating": {
- "label": "Оценка"
- }
-}
diff --git a/src/i18n/locales/bg/leftSidebar/objective.json b/src/i18n/locales/bg/leftSidebar/objective.json
deleted file mode 100644
index 4f0f33a44..000000000
--- a/src/i18n/locales/bg/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Цели"
- }
-}
diff --git a/src/i18n/locales/bg/leftSidebar/profile.json b/src/i18n/locales/bg/leftSidebar/profile.json
deleted file mode 100644
index 7512c83af..000000000
--- a/src/i18n/locales/bg/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "URL на снимката"
- },
- "firstName": {
- "label": "Лично име"
- },
- "lastName": {
- "label": "Фамилно име"
- },
- "subtitle": {
- "label": "Подзаглавие"
- },
- "address": {
- "label": "Адрес",
- "line1": {
- "label": "Адрес – ред 1"
- },
- "line2": {
- "label": "Адрес – ред 2"
- },
- "line3": {
- "label": "Адрес – ред 3"
- }
- },
- "phone": {
- "label": "Телефонен номер"
- },
- "website": {
- "label": "Уеб сайт"
- },
- "email": {
- "label": "Имейл адрес"
- }
-}
diff --git a/src/i18n/locales/bg/leftSidebar/references.json b/src/i18n/locales/bg/leftSidebar/references.json
deleted file mode 100644
index 659e3ad6f..000000000
--- a/src/i18n/locales/bg/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Име"
- },
- "position": {
- "label": "Позиция"
- },
- "phone": {
- "label": "Телефонен номер"
- },
- "email": {
- "label": "Имейл адрес"
- }
-}
diff --git a/src/i18n/locales/bg/leftSidebar/skills.json b/src/i18n/locales/bg/leftSidebar/skills.json
deleted file mode 100644
index 7c23cd1e2..000000000
--- a/src/i18n/locales/bg/leftSidebar/skills.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "item": {
- "placeholder": "Готварство"
- }
-}
diff --git a/src/i18n/locales/bg/leftSidebar/work.json b/src/i18n/locales/bg/leftSidebar/work.json
deleted file mode 100644
index e87a7f883..000000000
--- a/src/i18n/locales/bg/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Наименование"
- },
- "role": {
- "label": "Роля"
- }
-}
diff --git a/src/i18n/locales/bg/rightSidebar/about.json b/src/i18n/locales/bg/rightSidebar/about.json
deleted file mode 100644
index 3d1d668cd..000000000
--- a/src/i18n/locales/bg/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "За програмата",
- "documentation": {
- "heading": "Документация",
- "body": "Искате ли да научите повече за приложението? Трябва ли ви повече информация как да помогнете на проекта? Може да намерите всичко това в създаденото за целта ръководство.",
- "buttons": {
- "documentation": "Документация"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Попаднахте на грешка? Искате да се добави някаква функция?",
- "body": "Нещо ви пречи да създадете желаната автобиография? Натъкнахте се на някаква досадна грешка и не може да продължите? Напишете в раздела „Issues“ на GitHub или ми изпратете имейл.",
- "buttons": {
- "raiseIssue": "Съобщете за проблем",
- "sendEmail": "Изпратете имейл"
- }
- },
- "sourceCode": {
- "heading": "Изходен код",
- "body": "Искате да компилирате проекта от изходния му код? Или може би сте разработччик, който желае да допринесе с нещо към изходния код на проекта? Няма проблем, просто натиснете бутона по-долу.",
- "buttons": {
- "githubRepo": "Хранилище в GitHub"
- }
- },
- "license": {
- "heading": "Информация за лиценза",
- "body": "Този проект е с лиценз от MIT. Повече информация за лиценза може да намерите по-долу. Общо взето може да използвате проекта където желаете, но при условие че посочвате автора му.",
- "buttons": {
- "mitLicense": "Лиценз от MIT"
- }
- },
- "footer": {
- "credit": "Създадено с любов от <1>Amruth Pillai1>",
- "thanks": "Благодаря ви, че използвате Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/bg/rightSidebar/actions.json b/src/i18n/locales/bg/rightSidebar/actions.json
deleted file mode 100644
index b5f5060b8..000000000
--- a/src/i18n/locales/bg/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Действия",
- "disclaimer": "Промените, които правите по автобиографията си, се записват автоматично в локалното хранилище на браузъра. Нищо не напуска системата ви и така данните ви са напълно защитени.",
- "importExport": {
- "heading": "Импортиране/експортиране",
- "body": "Можете да импортирате или експортирате данните си във формат JSON. По този начин ще можете да редактирате и отпечатите автобиографията си от някое друго устройство. Или пък да запазите файла за друг път.",
- "buttons": {
- "import": "Импортиране",
- "export": "Експортиране"
- }
- },
- "downloadResume": {
- "heading": "Изтегляне на автобиографията",
- "body": "Може да щракнете върху бутона по-долу, за да изтеглите PDF версия на автобиографията си. За най-добър резултат използвайте най-актуалната версия на Google Chrome.",
- "buttons": {
- "saveAsPdf": "Запазване като PDF"
- }
- },
- "loadDemoData": {
- "heading": "Зареждане на демо данни",
- "body": "Не знаете как да започнете? Тогава заредете демо данните, за да видите как би изглеждала автобиографията. След това започнете да ги променяте според личния ви опит.",
- "buttons": {
- "loadData": "Зареждане на данните"
- }
- },
- "reset": {
- "heading": "Нулиране на всичко!",
- "body": "Това действие ще нулира всичките ви данни и ще премахне резервните копия от локалното хранилище на браузъра ви. Затова не забравяйте да експортирате данните си преди нулирането.",
- "buttons": {
- "reset": "Нулиране"
- }
- }
-}
diff --git a/src/i18n/locales/bg/rightSidebar/colors.json b/src/i18n/locales/bg/rightSidebar/colors.json
deleted file mode 100644
index 5e0ad96eb..000000000
--- a/src/i18n/locales/bg/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Цветове",
- "colorOptions": "Опции за цветовете",
- "primaryColor": "Основен цвят",
- "accentColor": "Вторичен цвят",
- "clipboardCopyAction": "Цветът „{{color}}“ е копиран в клипборда."
-}
diff --git a/src/i18n/locales/bg/rightSidebar/fonts.json b/src/i18n/locales/bg/rightSidebar/fonts.json
deleted file mode 100644
index 186e0cbdd..000000000
--- a/src/i18n/locales/bg/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Шрифтове",
- "fontFamily": {
- "label": "Семейство шрифтове",
- "helpText": "Можете да ползвате и всеки един шрифт, който е инсталиран на системата ви. Просто въведете тук името на семеството шрифрове и браузърът ще ги зареди."
- }
-}
diff --git a/src/i18n/locales/bg/rightSidebar/settings.json b/src/i18n/locales/bg/rightSidebar/settings.json
deleted file mode 100644
index 99c76d307..000000000
--- a/src/i18n/locales/bg/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Настройки",
- "language": {
- "label": "Език",
- "helpText": "Ако искате да помогнете с превода на приложението на собствения ви език, вижте <1>документацията относно превода1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/bg/rightSidebar/templates.json b/src/i18n/locales/bg/rightSidebar/templates.json
deleted file mode 100644
index 1fa4be172..000000000
--- a/src/i18n/locales/bg/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Шаблони"
-}
diff --git a/src/i18n/locales/ca/app/app.json b/src/i18n/locales/ca/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/ca/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/ca/app/index.js b/src/i18n/locales/ca/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/ca/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/ca/index.js b/src/i18n/locales/ca/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/ca/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/ca/leftSidebar/awards.json b/src/i18n/locales/ca/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/ca/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/ca/leftSidebar/certifications.json b/src/i18n/locales/ca/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/ca/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/ca/leftSidebar/education.json b/src/i18n/locales/ca/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/ca/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/ca/leftSidebar/extras.json b/src/i18n/locales/ca/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/ca/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/ca/leftSidebar/index.js b/src/i18n/locales/ca/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/ca/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/ca/leftSidebar/languages.json b/src/i18n/locales/ca/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/ca/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/ca/leftSidebar/objective.json b/src/i18n/locales/ca/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/ca/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/ca/leftSidebar/profile.json b/src/i18n/locales/ca/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/ca/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/ca/leftSidebar/references.json b/src/i18n/locales/ca/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/ca/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/ca/leftSidebar/work.json b/src/i18n/locales/ca/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/ca/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/ca/rightSidebar/about.json b/src/i18n/locales/ca/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/ca/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/ca/rightSidebar/actions.json b/src/i18n/locales/ca/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/ca/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/ca/rightSidebar/colors.json b/src/i18n/locales/ca/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/ca/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/ca/rightSidebar/fonts.json b/src/i18n/locales/ca/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/ca/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/ca/rightSidebar/index.js b/src/i18n/locales/ca/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/ca/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/ca/rightSidebar/settings.json b/src/i18n/locales/ca/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/ca/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/ca/rightSidebar/templates.json b/src/i18n/locales/ca/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/ca/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/cs/app/app.json b/src/i18n/locales/cs/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/cs/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/cs/app/index.js b/src/i18n/locales/cs/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/cs/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/cs/index.js b/src/i18n/locales/cs/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/cs/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/cs/leftSidebar/awards.json b/src/i18n/locales/cs/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/cs/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/cs/leftSidebar/certifications.json b/src/i18n/locales/cs/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/cs/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/cs/leftSidebar/education.json b/src/i18n/locales/cs/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/cs/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/cs/leftSidebar/extras.json b/src/i18n/locales/cs/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/cs/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/cs/leftSidebar/index.js b/src/i18n/locales/cs/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/cs/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/cs/leftSidebar/languages.json b/src/i18n/locales/cs/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/cs/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/cs/leftSidebar/objective.json b/src/i18n/locales/cs/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/cs/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/cs/leftSidebar/profile.json b/src/i18n/locales/cs/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/cs/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/cs/leftSidebar/references.json b/src/i18n/locales/cs/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/cs/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/cs/leftSidebar/work.json b/src/i18n/locales/cs/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/cs/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/cs/rightSidebar/about.json b/src/i18n/locales/cs/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/cs/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/cs/rightSidebar/actions.json b/src/i18n/locales/cs/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/cs/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/cs/rightSidebar/colors.json b/src/i18n/locales/cs/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/cs/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/cs/rightSidebar/fonts.json b/src/i18n/locales/cs/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/cs/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/cs/rightSidebar/index.js b/src/i18n/locales/cs/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/cs/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/cs/rightSidebar/settings.json b/src/i18n/locales/cs/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/cs/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/cs/rightSidebar/templates.json b/src/i18n/locales/cs/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/cs/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/da/app/app.json b/src/i18n/locales/da/app/app.json
deleted file mode 100644
index bb8c75702..000000000
--- a/src/i18n/locales/da/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Tilføj {{- heading}}",
- "startDate": {
- "label": "Startdato"
- },
- "endDate": {
- "label": "Slutdato"
- },
- "description": {
- "label": "Beskrivelse"
- }
- },
- "buttons": {
- "add": {
- "label": "Tilføj"
- },
- "delete": {
- "label": "Slet"
- }
- },
- "printDialog": {
- "heading": "Download dit CV",
- "quality": {
- "label": "Kvalitet"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Ingen begrænsninger",
- "fitInA4": "Tilpas til A4",
- "multiPageA4": "Flersidet A4"
- }
- },
- "helpText": [
- "Denne eksportmetode bruger HTML-lærred til at konvertere CV til et billede og udskrive det på en PDF, hvilket betyder, at det mister alle muligheder for valg / analyse.",
- "Hvis det er vigtigt for dig, kan du prøve at udskrive CV i stedet for at bruge Cmd / Ctrl + P eller udskrivningsknappen nedenfor. Resultatet kan variere, da output er browserafhængig, men det vides at fungere bedst på den nyeste version af Google Chrome."
- ],
- "buttons": {
- "cancel": "Annullér",
- "saveAsPdf": "Gem som PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Du kan panorere rundt, og zoome ind på læredet når som helst og kigge nærmere på dit CV."
- },
- "markdownHelpText": "Du kan benytte <1>GitHub Flavored Markdown1> for at tilpasse den del af teksten."
-}
diff --git a/src/i18n/locales/da/app/index.js b/src/i18n/locales/da/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/da/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/da/index.js b/src/i18n/locales/da/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/da/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/da/leftSidebar/awards.json b/src/i18n/locales/da/leftSidebar/awards.json
deleted file mode 100644
index 181656298..000000000
--- a/src/i18n/locales/da/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Titel"
- },
- "subtitle": {
- "label": "Undertitel"
- }
-}
diff --git a/src/i18n/locales/da/leftSidebar/certifications.json b/src/i18n/locales/da/leftSidebar/certifications.json
deleted file mode 100644
index 126cb6307..000000000
--- a/src/i18n/locales/da/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Navn"
- },
- "subtitle": {
- "label": "Udsteder"
- }
-}
diff --git a/src/i18n/locales/da/leftSidebar/education.json b/src/i18n/locales/da/leftSidebar/education.json
deleted file mode 100644
index 252d9d74e..000000000
--- a/src/i18n/locales/da/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Navn"
- },
- "major": {
- "label": "Centralfag"
- },
- "grade": {
- "label": "Karakter"
- }
-}
diff --git a/src/i18n/locales/da/leftSidebar/extras.json b/src/i18n/locales/da/leftSidebar/extras.json
deleted file mode 100644
index 76050e602..000000000
--- a/src/i18n/locales/da/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Nøgle"
- },
- "value": {
- "label": "Værdi"
- }
-}
diff --git a/src/i18n/locales/da/leftSidebar/index.js b/src/i18n/locales/da/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/da/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/da/leftSidebar/languages.json b/src/i18n/locales/da/leftSidebar/languages.json
deleted file mode 100644
index 0e6d0e0c3..000000000
--- a/src/i18n/locales/da/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Navn"
- },
- "level": {
- "label": "Niveau"
- },
- "rating": {
- "label": "Bedømmelse"
- }
-}
diff --git a/src/i18n/locales/da/leftSidebar/objective.json b/src/i18n/locales/da/leftSidebar/objective.json
deleted file mode 100644
index 17953dcfd..000000000
--- a/src/i18n/locales/da/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Mål"
- }
-}
diff --git a/src/i18n/locales/da/leftSidebar/profile.json b/src/i18n/locales/da/leftSidebar/profile.json
deleted file mode 100644
index 416564f96..000000000
--- a/src/i18n/locales/da/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Link til billede"
- },
- "firstName": {
- "label": "Fornavn"
- },
- "lastName": {
- "label": "Efternavn"
- },
- "subtitle": {
- "label": "Undertitel"
- },
- "address": {
- "label": "Adresse",
- "line1": {
- "label": "Adresse linie 1"
- },
- "line2": {
- "label": "Adresse linie 2"
- },
- "line3": {
- "label": "Adresse linie 3"
- }
- },
- "phone": {
- "label": "Telefonnummer"
- },
- "website": {
- "label": "Hjemmeside"
- },
- "email": {
- "label": "E-mailadresse"
- }
-}
diff --git a/src/i18n/locales/da/leftSidebar/references.json b/src/i18n/locales/da/leftSidebar/references.json
deleted file mode 100644
index 6767b088b..000000000
--- a/src/i18n/locales/da/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Navn"
- },
- "position": {
- "label": "Jobtitel"
- },
- "phone": {
- "label": "Telefonnummer"
- },
- "email": {
- "label": "E-mailadresse"
- }
-}
diff --git a/src/i18n/locales/da/leftSidebar/work.json b/src/i18n/locales/da/leftSidebar/work.json
deleted file mode 100644
index 68552ed60..000000000
--- a/src/i18n/locales/da/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Navn"
- },
- "role": {
- "label": "Rolle"
- }
-}
diff --git a/src/i18n/locales/da/rightSidebar/about.json b/src/i18n/locales/da/rightSidebar/about.json
deleted file mode 100644
index b3c8ef1e3..000000000
--- a/src/i18n/locales/da/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "Om",
- "documentation": {
- "heading": "Dokumentation",
- "body": "Vil du vide mere om programmet? Mangler du information om, hvordan du kan bidrage til projektet? Du behøves ikke lede mere, der er en fyldestgørende guide som er lavet kun til dig.",
- "buttons": {
- "documentation": "Dokumentation"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Fejl? Ønsker til ny funktionalitet?",
- "body": "Er der noget som forhindrer dig i at lave et Cv? Fundet en forbistret fejl som ikke vil forsvinde? Fortæl om det på GitHub under Issues, eller send mig en e-mail via knapperne herunder.",
- "buttons": {
- "raiseIssue": "Opret en sag",
- "sendEmail": "Send en e-mail"
- }
- },
- "sourceCode": {
- "heading": "Kildekode",
- "body": "Vil du køre projektet fra kildekoden? Er du udvikler som vil hjælpe til med open-source udviilingen af dette projekt? Klik på knappen herunder.",
- "buttons": {
- "githubRepo": "GitHub repo"
- }
- },
- "license": {
- "heading": "Licensoplysninger",
- "body": "Projektet er underlagt MIT licensen, hvilket du kan læse mere om herunder. Grundlæggende set må projektet benyttes alle steder, hvis du refererer til den oprindelige skaber.",
- "buttons": {
- "mitLicense": "MIT licens"
- }
- },
- "footer": {
- "credit": "Lavet med kærlig af <1>Amruth Pillai1>",
- "thanks": "Tak fordi du benytter Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/da/rightSidebar/actions.json b/src/i18n/locales/da/rightSidebar/actions.json
deleted file mode 100644
index 2b956e15c..000000000
--- a/src/i18n/locales/da/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Handlinger",
- "disclaimer": "Ændringer du laver i dit CV bliver automatisk gemt i din browsers lokale lager. Ingen data slipper ud, og din information derfor helt sikker.",
- "importExport": {
- "heading": "Importér/eksportér",
- "body": "Du kan importere eller eksportere dine data i JSON format. Med dette kan du ændre og printe dit CV fra hvilken som helst enhed. Gem denne fil til senere brug.",
- "buttons": {
- "import": "Importér",
- "export": "Eksportér"
- }
- },
- "downloadResume": {
- "heading": "Download dit CV.",
- "body": "Du kan klikke på knappen herunder for at gemme en PDF version af dit CV øjeblikkeligt. For at få det bedste resultat, benyt venligst den seneste version af Google Chrome.",
- "buttons": {
- "saveAsPdf": "Gem som PDF"
- }
- },
- "loadDemoData": {
- "heading": "Indlæs demo data",
- "body": "Er du usikker på, hvad du skal gøre med en frisk blank side? Indlæs nogle demo data med forudfyldte værdier, se hvordan et CV ser ud og begynd dine ændringer herfra.",
- "buttons": {
- "loadData": "Hent data"
- }
- },
- "reset": {
- "heading": "Nulstil alting!",
- "body": "Denne handling vil nulstille alle dine data og vil også fjerne sikkerhedskopierne fra din browsers lokale lager, så verificer en ekstra gang, at du har eksporteret dine informationer før du nulstiller alting.",
- "buttons": {
- "reset": "Nulstil"
- }
- }
-}
diff --git a/src/i18n/locales/da/rightSidebar/colors.json b/src/i18n/locales/da/rightSidebar/colors.json
deleted file mode 100644
index 91485e4eb..000000000
--- a/src/i18n/locales/da/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Farver",
- "colorOptions": "Farve muligheder",
- "primaryColor": "Primær farve",
- "accentColor": "Sekundær farve",
- "clipboardCopyAction": "{{color}} er blevet kopieret til udklipsholderen."
-}
diff --git a/src/i18n/locales/da/rightSidebar/fonts.json b/src/i18n/locales/da/rightSidebar/fonts.json
deleted file mode 100644
index 1d1a1a951..000000000
--- a/src/i18n/locales/da/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Skrifttype",
- "fontFamily": {
- "label": "Skrifttypefamilie",
- "helpText": "Du kan også benytte de skrifttyper der er installeret på din maskine. Indtast blot navnet på skrifttypen, og browseren vil indlæse den for dig."
- }
-}
diff --git a/src/i18n/locales/da/rightSidebar/index.js b/src/i18n/locales/da/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/da/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/da/rightSidebar/settings.json b/src/i18n/locales/da/rightSidebar/settings.json
deleted file mode 100644
index f18b8b916..000000000
--- a/src/i18n/locales/da/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Indstillinger",
- "language": {
- "label": "Sprog",
- "helpText": "Hvis du vil hjælpe med at oversætte applikationen til dit eget sprog, kig da nærmere på <1>oversættelsesdokumentationen1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/da/rightSidebar/templates.json b/src/i18n/locales/da/rightSidebar/templates.json
deleted file mode 100644
index 7fb4b2dcd..000000000
--- a/src/i18n/locales/da/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Skabeloner"
-}
diff --git a/src/i18n/locales/de/app/app.json b/src/i18n/locales/de/app/app.json
deleted file mode 100644
index 54915b1b2..000000000
--- a/src/i18n/locales/de/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "{{- heading}} hinzufügen",
- "startDate": {
- "label": "Startdatum"
- },
- "endDate": {
- "label": "Enddatum"
- },
- "description": {
- "label": "Beschreibung"
- }
- },
- "buttons": {
- "add": {
- "label": "Hinzufügen"
- },
- "delete": {
- "label": "Löschen"
- }
- },
- "printDialog": {
- "heading": "Lade Dein Resume herunter",
- "quality": {
- "label": "Qualität"
- },
- "printType": {
- "label": "Typ",
- "types": {
- "unconstrained": "Uneingeschränkt",
- "fitInA4": "A4 einbauen",
- "multiPageA4": "Mehrseitig A4"
- }
- },
- "helpText": [
- "Diese Exportmethode verwendet HTML-Leinwand um den Lebenslauf in ein Bild zu konvertieren und es auf einer PDF auszudrucken. was bedeutet, dass es alle Auswahl-/Analysefunktionen verliert.",
- "Wenn Ihnen das wichtig ist, versuchen Sie bitte den Lebenslauf mit Strg/Strg+P oder dem Druckknopf unten auszudrucken. Das Ergebnis kann variieren, da die Ausgabe vom Browser abhängig ist, aber es ist bekannt, dass es am besten mit der neuesten Version von Google Chrome funktioniert."
- ],
- "buttons": {
- "cancel": "Abbrechen",
- "saveAsPdf": "Als PDF Speichern"
- }
- },
- "panZoomAnimation": {
- "helpText": "Sie können die Zeichenfläche jederzeit schwenken und zoomen, um Ihren Lebenslauf genauer zu betrachten."
- },
- "markdownHelpText": "Du kannst <1>GitHub Flavored Markdown1> verwenden, um diesen Abschnitt des Textes zu gestalten."
-}
diff --git a/src/i18n/locales/de/app/index.js b/src/i18n/locales/de/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/de/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/de/index.js b/src/i18n/locales/de/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/de/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/de/leftSidebar/awards.json b/src/i18n/locales/de/leftSidebar/awards.json
deleted file mode 100644
index 250b473f6..000000000
--- a/src/i18n/locales/de/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Titel"
- },
- "subtitle": {
- "label": "Untertitel"
- }
-}
diff --git a/src/i18n/locales/de/leftSidebar/certifications.json b/src/i18n/locales/de/leftSidebar/certifications.json
deleted file mode 100644
index 08f3d94bb..000000000
--- a/src/i18n/locales/de/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Zertifizierungsstelle"
- }
-}
diff --git a/src/i18n/locales/de/leftSidebar/education.json b/src/i18n/locales/de/leftSidebar/education.json
deleted file mode 100644
index 89def06cb..000000000
--- a/src/i18n/locales/de/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Abschluss"
- },
- "grade": {
- "label": "Note"
- }
-}
diff --git a/src/i18n/locales/de/leftSidebar/extras.json b/src/i18n/locales/de/leftSidebar/extras.json
deleted file mode 100644
index ff306ff03..000000000
--- a/src/i18n/locales/de/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Schlüssel"
- },
- "value": {
- "label": "Wert"
- }
-}
diff --git a/src/i18n/locales/de/leftSidebar/index.js b/src/i18n/locales/de/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/de/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/de/leftSidebar/languages.json b/src/i18n/locales/de/leftSidebar/languages.json
deleted file mode 100644
index deb801019..000000000
--- a/src/i18n/locales/de/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Status"
- },
- "rating": {
- "label": "Bewertung"
- }
-}
diff --git a/src/i18n/locales/de/leftSidebar/objective.json b/src/i18n/locales/de/leftSidebar/objective.json
deleted file mode 100644
index ffa33a1b6..000000000
--- a/src/i18n/locales/de/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Ziel"
- }
-}
diff --git a/src/i18n/locales/de/leftSidebar/profile.json b/src/i18n/locales/de/leftSidebar/profile.json
deleted file mode 100644
index 55e26e1a9..000000000
--- a/src/i18n/locales/de/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Foto-URL"
- },
- "firstName": {
- "label": "Vorname"
- },
- "lastName": {
- "label": "Nachname"
- },
- "subtitle": {
- "label": "Titel"
- },
- "address": {
- "label": "Adresse",
- "line1": {
- "label": "Adresszeile 1"
- },
- "line2": {
- "label": "Addresszeile 2"
- },
- "line3": {
- "label": "Adresszeile 3"
- }
- },
- "phone": {
- "label": "Telefonnnummer"
- },
- "website": {
- "label": "Webseite"
- },
- "email": {
- "label": "E-Mail Adresse"
- }
-}
diff --git a/src/i18n/locales/de/leftSidebar/references.json b/src/i18n/locales/de/leftSidebar/references.json
deleted file mode 100644
index b1c7f2055..000000000
--- a/src/i18n/locales/de/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Anstellung"
- },
- "phone": {
- "label": "Rufnummer"
- },
- "email": {
- "label": "E-Mail Adresse"
- }
-}
diff --git a/src/i18n/locales/de/leftSidebar/work.json b/src/i18n/locales/de/leftSidebar/work.json
deleted file mode 100644
index 5619ffc05..000000000
--- a/src/i18n/locales/de/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Stellentitel"
- }
-}
diff --git a/src/i18n/locales/de/rightSidebar/about.json b/src/i18n/locales/de/rightSidebar/about.json
deleted file mode 100644
index 1f93ca8c5..000000000
--- a/src/i18n/locales/de/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "Über mich",
- "documentation": {
- "heading": "Dokumentation",
- "body": "Willst Du mehr über die App erfahren? Benötigst Du Informationen, wie Du zum Projekt beitragen kannst? Such nicht weiter, es gibt einen umfassenden Leitfaden genau für Dich.",
- "buttons": {
- "documentation": "Dokumentation"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Fehler? Neue Funktion vorschlagen?",
- "body": "Etwas hindert Dich an der Erstellung eines Lebenslaufs? Einen lästigen Fehler gefunden? Melde den Fehler auf GitHub oder schick mir eine E-Mail.",
- "buttons": {
- "raiseIssue": "Issue eröffnen",
- "sendEmail": "E-Mail senden"
- }
- },
- "sourceCode": {
- "heading": "Quellcode",
- "body": "Möchtest Du das Projekt von seiner Quelle aus ausführen? Bist Du als Entwickler bereit, zur Open-Source-Entwicklung dieses Projekts beizutragen? Klick auf den Button unten.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "Lizenzinformationen",
- "body": "Das Projekt unterliegt der MIT-Lizenz, die Du weiter unten lesen kannst. Grundsätzlich darfst Du das Projekt überall nutzen, sofern Du den Originalautor nennst.",
- "buttons": {
- "mitLicense": "MIT-Lizenz"
- }
- },
- "footer": {
- "credit": "Mit Liebe erstellt von <1>Amruth Pillai1>",
- "thanks": "Vielen Dank, dass Du Reactive Resume verwendest!"
- }
-}
diff --git a/src/i18n/locales/de/rightSidebar/actions.json b/src/i18n/locales/de/rightSidebar/actions.json
deleted file mode 100644
index 45987a04d..000000000
--- a/src/i18n/locales/de/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Aktionen",
- "disclaimer": "Änderungen, die Du an Deinem Lebenslauf vornimmst, werden automatisch im lokalen Speicher Deines Browsers gespeichert. Keine Daten werden an einen Server gesendet, daher sind Deine Informationen völlig sicher.",
- "importExport": {
- "heading": "Importieren/Exportieren",
- "body": "Du kannst Deine Daten im JSON format importieren oder exportieren. Damit kannst Du Deinen Lebenslauf von jedem Gerät bearbeiten und ausdrucken. Speicher diese Datei für eine spätere Nutzung.",
- "buttons": {
- "import": "Importieren",
- "export": "Export"
- }
- },
- "downloadResume": {
- "heading": "Lade Dein Resume herunter",
- "body": "Du kannst auf die Schaltfläche unten klicken, um eine PDF-Version Ihres Lebenslaufs sofort herunterzuladen. Für die besten Ergebnisse, verwende bitte die neueste Version von Google Chrome.",
- "buttons": {
- "saveAsPdf": "Als PDF Speichern"
- }
- },
- "loadDemoData": {
- "heading": "Demo-Daten laden",
- "body": "Unklar auf, was mit einer frischen leeren Seite zu tun ist? Lade einige Demo-Daten mit vorausgefüllten Werten, um zu sehen, wie ein Lebenslauf aussehen soll und von dort aus mit der Bearbeitung beginnen.",
- "buttons": {
- "loadData": "Daten laden"
- }
- },
- "reset": {
- "heading": "Alles zurücksetzen!",
- "body": "Diese Aktion wird alle Daten zurücksetzen und Backups aus dem lokalen Speicher des Browsers entfernen. Bitte sicherstellen, dass alle Daten exportiert sind, bevor Du alles zurücksetzt.",
- "buttons": {
- "reset": "Zurücksetzen"
- }
- }
-}
diff --git a/src/i18n/locales/de/rightSidebar/colors.json b/src/i18n/locales/de/rightSidebar/colors.json
deleted file mode 100644
index 1fadeec25..000000000
--- a/src/i18n/locales/de/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Farben",
- "colorOptions": "Farboptionen",
- "primaryColor": "Primärfarbe",
- "accentColor": "Sekundärfarbe",
- "clipboardCopyAction": "{{color}} wurde in die Zwischenablage kopiert."
-}
diff --git a/src/i18n/locales/de/rightSidebar/fonts.json b/src/i18n/locales/de/rightSidebar/fonts.json
deleted file mode 100644
index 3de2a00d1..000000000
--- a/src/i18n/locales/de/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Schriftarten",
- "fontFamily": {
- "label": "Schriftfamilie",
- "helpText": "Du kannst auch jede Schriftart verwenden, die auf Deinem System installiert ist. Hier einfach den Namen der Schriftfamilie eingeben und der Browser wird sie laden."
- }
-}
diff --git a/src/i18n/locales/de/rightSidebar/index.js b/src/i18n/locales/de/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/de/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/de/rightSidebar/settings.json b/src/i18n/locales/de/rightSidebar/settings.json
deleted file mode 100644
index 4b783f072..000000000
--- a/src/i18n/locales/de/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Einstellungen",
- "language": {
- "label": "Sprache",
- "helpText": "Wenn Du helfen möchtest, die App in Deine eigene Sprache zu übersetzen, lies bitte die <1>Übersetzungsdokumentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/de/rightSidebar/templates.json b/src/i18n/locales/de/rightSidebar/templates.json
deleted file mode 100644
index 09c4cbb62..000000000
--- a/src/i18n/locales/de/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Vorlagen"
-}
diff --git a/src/i18n/locales/el/app/app.json b/src/i18n/locales/el/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/el/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/el/app/index.js b/src/i18n/locales/el/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/el/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/el/index.js b/src/i18n/locales/el/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/el/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/el/leftSidebar/awards.json b/src/i18n/locales/el/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/el/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/el/leftSidebar/certifications.json b/src/i18n/locales/el/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/el/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/el/leftSidebar/education.json b/src/i18n/locales/el/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/el/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/el/leftSidebar/extras.json b/src/i18n/locales/el/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/el/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/el/leftSidebar/index.js b/src/i18n/locales/el/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/el/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/el/leftSidebar/languages.json b/src/i18n/locales/el/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/el/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/el/leftSidebar/objective.json b/src/i18n/locales/el/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/el/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/el/leftSidebar/profile.json b/src/i18n/locales/el/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/el/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/el/leftSidebar/references.json b/src/i18n/locales/el/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/el/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/el/leftSidebar/work.json b/src/i18n/locales/el/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/el/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/el/rightSidebar/about.json b/src/i18n/locales/el/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/el/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/el/rightSidebar/actions.json b/src/i18n/locales/el/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/el/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/el/rightSidebar/colors.json b/src/i18n/locales/el/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/el/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/el/rightSidebar/fonts.json b/src/i18n/locales/el/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/el/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/el/rightSidebar/index.js b/src/i18n/locales/el/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/el/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/el/rightSidebar/settings.json b/src/i18n/locales/el/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/el/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/el/rightSidebar/templates.json b/src/i18n/locales/el/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/el/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json
new file mode 100644
index 000000000..f828a1d27
--- /dev/null
+++ b/src/i18n/locales/en.json
@@ -0,0 +1,248 @@
+{
+ "shared": {
+ "appName": "Reactive Resume",
+ "shortDescription": "A free and open source resume builder.",
+ "forms": {
+ "name": "Name",
+ "title": "Title",
+ "subtitle": "Subtitle",
+ "required": "required",
+ "website": "Website",
+ "date": "Date",
+ "position": "Position",
+ "startDate": "Start Date",
+ "endDate": "End Date",
+ "address": "Address",
+ "phone": "Phone Number",
+ "email": "Email Address",
+ "summary": "Summary",
+ "markdown": "This text block supports <1>markdown1>.",
+ "validation": {
+ "min": "Please enter at least {{number}} characters.",
+ "dateRange": "End Date must be later than Start Date.",
+ "email": "Must be a valid email address.",
+ "required": "This is a required field.",
+ "url": "Must be a valid URL."
+ }
+ },
+ "buttons": {
+ "add": "Add",
+ "edit": "Edit",
+ "cancel": "Cancel",
+ "delete": "Delete",
+ "loading": "Loading...",
+ "confirmation": "Are you sure?",
+ "login": "Login",
+ "logout": "Logout"
+ }
+ },
+ "landing": {
+ "hero": {
+ "goToApp": "Go To App"
+ }
+ },
+ "dashboard": {
+ "title": "Dashboard",
+ "createResume": "Create Resume",
+ "editResume": "Edit Resume",
+ "lastUpdated": "Last Updated {{timestamp}}",
+ "toasts": {
+ "deleted": "{{name}} was deleted successfully"
+ },
+ "buttons": {
+ "duplicate": "Duplicate",
+ "rename": "Rename"
+ },
+ "helpText": "You are going to be creating a new resume from scratch, but first, let's give it a name. This can be the name of the role you want to apply for, or if you're making a resume for a friend, you could call it Alex's Resume."
+ },
+ "builder": {
+ "toasts": {
+ "doesNotExist": "The resume you were looking for does not exist anymore... or maybe it never did?",
+ "loadDemoData": "Not sure where to begin? Try loading demo data to see what Reactive Resume has to offer."
+ },
+ "sections": {
+ "heading": "Heading",
+ "profile": "Profile",
+ "social": "Social Network",
+ "objective": "Objective",
+ "work": "Work Experience",
+ "education": "Education",
+ "project": "Project",
+ "projects": "Projects",
+ "award": "Award",
+ "awards": "Awards",
+ "certification": "Certification",
+ "certifications": "Certifications",
+ "skill": "Skill",
+ "skills": "Skills",
+ "hobby": "Hobby",
+ "hobbies": "Hobbies",
+ "language": "Language",
+ "languages": "Languages",
+ "reference": "Reference",
+ "references": "References",
+ "templates": "Templates",
+ "layout": "Layout",
+ "colors": "Colors",
+ "fonts": "Fonts",
+ "actions": "Actions",
+ "settings": "Settings",
+ "about": "About"
+ },
+ "profile": {
+ "photograph": "Photograph",
+ "firstName": "First Name",
+ "lastName": "Last Name",
+ "address": {
+ "line1": "Address Line 1",
+ "line2": "Address Line 2",
+ "city": "City",
+ "pincode": "Pincode"
+ }
+ },
+ "social": {
+ "network": "Network",
+ "username": "Username",
+ "url": "URL"
+ },
+ "work": {
+ "company": "Company"
+ },
+ "education": {
+ "institution": "Institution",
+ "field": "Field of Study",
+ "degree": "Type of Degree",
+ "gpa": "GPA"
+ },
+ "awards": {
+ "awarder": "Awarder"
+ },
+ "certifications": {
+ "issuer": "Issuer"
+ },
+ "skills": {
+ "level": "Level"
+ },
+ "languages": {
+ "fluency": "Fluency"
+ },
+ "layout": {
+ "block": "Block",
+ "reset": "Reset Layout",
+ "text": "This template supports {{count}} blocks."
+ },
+ "colors": {
+ "primary": "Primary Color",
+ "text": "Text Color",
+ "background": "Background Color"
+ },
+ "actions": {
+ "import": {
+ "heading": "Import Your Resume",
+ "text": "You can import your information from various sources like JSON Resume or your LinkedIn to autofill most of the data for your resume.",
+ "button": "Import"
+ },
+ "export": {
+ "heading": "Export Your Resume",
+ "text": "Export your resume as a PDF to share with recruiters or a JSON that you will be able to import back onto this app on another computer.",
+ "button": "Export"
+ },
+ "share": {
+ "heading": "Share Your Resume",
+ "text": "The link below will be accessible publicly if you choose to share it, and viewers would see the latest version of your resume at any time."
+ },
+ "loadDemoData": {
+ "text": "Unclear on what to do with a fresh blank page? Load some demo data to see how a resume should look and you can start editing from there.",
+ "button": "Load Demo Data"
+ },
+ "resetEverything": {
+ "text": "Feels like you made too many mistakes? No worries, clear everything with just one click, but be careful if there are no backups.",
+ "button": "Reset Everything"
+ }
+ },
+ "settings": {
+ "theme": "Theme",
+ "language": "Language",
+ "translate": "If you would like to contribute by providing translations in your language, <1>please visit this link1>.",
+ "dangerZone": {
+ "heading": "Danger Zone",
+ "text": " If you would like to delete your account and erase all your resumes, it’s just one button away. Please be wary as this is an irreversible process.",
+ "button": "Delete Account"
+ }
+ },
+ "about": {
+ "donate": {
+ "heading": "Donate to Reactive Resume",
+ "text": "I try to do what I can, but if you found the app helpful, or you're in a better position than the others who depend on this project for their first job, <1>please consider donating as little as $5 to help keep the project alive1> :)",
+ "button": "Buy me a Coffee!"
+ },
+ "bugFeature": {
+ "heading": "Bug? Feature Request?",
+ "text": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section using the actions below.",
+ "button": "Raise an Issue"
+ },
+ "appreciate": {
+ "heading": "Loved Reactive Resume?",
+ "text": "I never get tired of hearing stories of how this app helped people, and if it helped you, or you just found Reactive Resume to be an awesome tool, do let me know. You can reach out to me on my website."
+ },
+ "sourceCode": {
+ "heading": "Source Code",
+ "text": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
+ "button": "GitHub Repo"
+ },
+ "footer": "Made with Love by <1>Amruth Pillai1>"
+ },
+ "tooltips": {
+ "uploadPhotograph": "Upload Photograph",
+ "backToDashboard": "Go Back to Dashboard"
+ },
+ "emptyList": "This list is empty."
+ },
+ "modals": {
+ "auth": {
+ "whoAreYou": "Who are you?",
+ "welcome": "Welcome, {{name}}!",
+ "loggedOutText": "Reactive Resume needs to know who you are so it can securely authenticate you into the app and show you only your information. Once you are in, you can start building your resume, editing it to add new skills or sharing it with the world!",
+ "loggedInText": "Awesome. Now that you've authenticated yourself, we can get on with the real reason you're here. Click on the Go to App button to start building your resume!",
+ "buttons": {
+ "google": "Sign in with Google",
+ "anonymous": "Sign in Anonymously"
+ }
+ },
+ "import": {
+ "button": "Select File",
+ "reactiveResume": {
+ "heading": "Import from Reactive Resume",
+ "text": "Reactive Resume has it's own schema format to make the most of all the customizable capabilities it has to offer. If you'd like to import a backup of your resume made with this app, just upload the file using the button below."
+ },
+ "jsonResume": {
+ "heading": "Import from JSON Resume",
+ "text": "JSON Resume is an open standard for resume schema structure. If you are one of the many enthusiasts who have their resume ready in this format, all it takes it just one click to get started with Reactive Resume."
+ },
+ "linkedIn": {
+ "heading": "Import from LinkedIn",
+ "text": "You can import a JSON that was exported from Reactive Resume by clicking on the button below and selecting the appropriate file."
+ }
+ },
+ "export": {
+ "printDialog": {
+ "heading": "Use Browser's Print Dialog",
+ "text": "For those of you who want a quick solution, you need not look any further than your browser. All you have to do is press Ctrl/Cmd + P and open up the print dialog on your browser and get your resume printed immediately.",
+ "button": "Print Resume"
+ },
+ "downloadPDF": {
+ "heading": "Download PDF",
+ "text": "These options allow you to print a single page, unconstrained version of your resume, perfect for those who have a lot of content. Alternatively, you could download a multi-page version of your resume as well with just one click.",
+ "buttons": {
+ "single": "Single Page Resume",
+ "multi": "Multi Page Resume"
+ }
+ },
+ "jsonFormat": {
+ "heading": "Export to JSON Format",
+ "text": "You can also export your data into JSON format for safe keeping so that you can easily import it back into Reactive Resume whenever you want to edit or generate a resume.",
+ "button": "Export JSON"
+ }
+ }
+ }
+}
diff --git a/src/i18n/locales/en/app/app.json b/src/i18n/locales/en/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/en/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/en/app/index.js b/src/i18n/locales/en/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/en/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/en/index.js b/src/i18n/locales/en/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/en/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/en/leftSidebar/awards.json b/src/i18n/locales/en/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/en/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/en/leftSidebar/certifications.json b/src/i18n/locales/en/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/en/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/en/leftSidebar/education.json b/src/i18n/locales/en/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/en/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/en/leftSidebar/extras.json b/src/i18n/locales/en/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/en/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/en/leftSidebar/index.js b/src/i18n/locales/en/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/en/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/en/leftSidebar/languages.json b/src/i18n/locales/en/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/en/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/en/leftSidebar/objective.json b/src/i18n/locales/en/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/en/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/en/leftSidebar/profile.json b/src/i18n/locales/en/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/en/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/en/leftSidebar/references.json b/src/i18n/locales/en/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/en/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/en/leftSidebar/work.json b/src/i18n/locales/en/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/en/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/en/rightSidebar/about.json b/src/i18n/locales/en/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/en/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/en/rightSidebar/actions.json b/src/i18n/locales/en/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/en/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/en/rightSidebar/colors.json b/src/i18n/locales/en/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/en/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/en/rightSidebar/fonts.json b/src/i18n/locales/en/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/en/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/en/rightSidebar/index.js b/src/i18n/locales/en/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/en/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/en/rightSidebar/settings.json b/src/i18n/locales/en/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/en/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/en/rightSidebar/templates.json b/src/i18n/locales/en/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/en/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/es/app/app.json b/src/i18n/locales/es/app/app.json
deleted file mode 100644
index f7a48bc87..000000000
--- a/src/i18n/locales/es/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Agregar {{- heading}}",
- "startDate": {
- "label": "Fecha de inicio"
- },
- "endDate": {
- "label": "Fecha Final"
- },
- "description": {
- "label": "Descripción"
- }
- },
- "buttons": {
- "add": {
- "label": "Agregar"
- },
- "delete": {
- "label": "Eliminar"
- }
- },
- "printDialog": {
- "heading": "Descarga tu currículum",
- "quality": {
- "label": "Calidad"
- },
- "printType": {
- "label": "Tipo",
- "types": {
- "unconstrained": "Sin restricciones",
- "fitInA4": "Ajustar a A4",
- "multiPageA4": "Multipáginas A4"
- }
- },
- "helpText": [
- "Este método de exportación utiliza el lienzo HTML para convertir el currículum en una imagen e imprimirlo en un PDF, lo que significa que perderá todas las capacidades de selección / análisis.",
- "Si eso es importante para usted, intente imprimir el currículum usando Cmd / Ctrl + P o el botón de impresión a continuación. El resultado puede variar ya que la salida depende del navegador, pero se sabe que funciona mejor en la última versión de Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancelar",
- "saveAsPdf": "Guardar como PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Puedes desplazar y hacer zoom al tablero en cualquier momento para darle una mirada más detallada a tu currículum."
- },
- "markdownHelpText": "Puedes usar <1>GitHub Flavored Markdown1> para darle estilo a esta sección."
-}
diff --git a/src/i18n/locales/es/app/index.js b/src/i18n/locales/es/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/es/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/es/index.js b/src/i18n/locales/es/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/es/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/es/leftSidebar/awards.json b/src/i18n/locales/es/leftSidebar/awards.json
deleted file mode 100644
index 358c0b084..000000000
--- a/src/i18n/locales/es/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Título"
- },
- "subtitle": {
- "label": "Subtítulo"
- }
-}
diff --git a/src/i18n/locales/es/leftSidebar/certifications.json b/src/i18n/locales/es/leftSidebar/certifications.json
deleted file mode 100644
index e90f8ba98..000000000
--- a/src/i18n/locales/es/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Nombre"
- },
- "subtitle": {
- "label": "Autoría"
- }
-}
diff --git a/src/i18n/locales/es/leftSidebar/education.json b/src/i18n/locales/es/leftSidebar/education.json
deleted file mode 100644
index ce9358a7b..000000000
--- a/src/i18n/locales/es/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Nombre"
- },
- "major": {
- "label": "Carrera"
- },
- "grade": {
- "label": "Calificación"
- }
-}
diff --git a/src/i18n/locales/es/leftSidebar/extras.json b/src/i18n/locales/es/leftSidebar/extras.json
deleted file mode 100644
index c1b479a6c..000000000
--- a/src/i18n/locales/es/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Clave"
- },
- "value": {
- "label": "Valor"
- }
-}
diff --git a/src/i18n/locales/es/leftSidebar/index.js b/src/i18n/locales/es/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/es/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/es/leftSidebar/languages.json b/src/i18n/locales/es/leftSidebar/languages.json
deleted file mode 100644
index 191c765ae..000000000
--- a/src/i18n/locales/es/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Nombre"
- },
- "level": {
- "label": "Nivel"
- },
- "rating": {
- "label": "Calificación"
- }
-}
diff --git a/src/i18n/locales/es/leftSidebar/objective.json b/src/i18n/locales/es/leftSidebar/objective.json
deleted file mode 100644
index add1eb656..000000000
--- a/src/i18n/locales/es/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objetivo"
- }
-}
diff --git a/src/i18n/locales/es/leftSidebar/profile.json b/src/i18n/locales/es/leftSidebar/profile.json
deleted file mode 100644
index fc5849d4b..000000000
--- a/src/i18n/locales/es/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "URL de la foto"
- },
- "firstName": {
- "label": "Primer Nombre"
- },
- "lastName": {
- "label": "Apellido"
- },
- "subtitle": {
- "label": "Subtítulo"
- },
- "address": {
- "label": "Dirección",
- "line1": {
- "label": "Línea de dirección 1"
- },
- "line2": {
- "label": "Línea de dirección 2"
- },
- "line3": {
- "label": "Línea de dirección 3"
- }
- },
- "phone": {
- "label": "Número de teléfono"
- },
- "website": {
- "label": "Sitio Web"
- },
- "email": {
- "label": "Dirección de correo electrónico"
- }
-}
diff --git a/src/i18n/locales/es/leftSidebar/references.json b/src/i18n/locales/es/leftSidebar/references.json
deleted file mode 100644
index 618629377..000000000
--- a/src/i18n/locales/es/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Nombre"
- },
- "position": {
- "label": "Puesto de trabajo"
- },
- "phone": {
- "label": "Número de teléfono"
- },
- "email": {
- "label": "Dirección de correo electrónico"
- }
-}
diff --git a/src/i18n/locales/es/leftSidebar/work.json b/src/i18n/locales/es/leftSidebar/work.json
deleted file mode 100644
index 2e224451d..000000000
--- a/src/i18n/locales/es/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Nombre"
- },
- "role": {
- "label": "Puesto"
- }
-}
diff --git a/src/i18n/locales/es/rightSidebar/about.json b/src/i18n/locales/es/rightSidebar/about.json
deleted file mode 100644
index 5ed9d0164..000000000
--- a/src/i18n/locales/es/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "Acerca de",
- "documentation": {
- "heading": "Documentación",
- "body": "¿Quieres saber más sobre la aplicación? ¿Necesitas información sobre cómo contribuir al proyecto? No busques más, hay una guía completa hecha para ti.",
- "buttons": {
- "documentation": "Documentación"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Encontró un error? Nueva solicitud de funcionalidad?",
- "body": "¿Hay algo que no te deja trabajar en tu currículum? ¿Hayaste un error que no puedes resolver? Abre una discusión bajo la sección de \"Issues\" (problemas) de GitHub, o sigue los siguientes pasos para escribirme un correo.",
- "buttons": {
- "raiseIssue": "Notificar un problema",
- "sendEmail": "Mandar un correo electrónico"
- }
- },
- "sourceCode": {
- "heading": "Código Fuente",
- "body": "¿Te interesa ejecutar el código fuente de este proyecto? ¿Eres un desarrollador interesado en involucrtarte en el desarrollo de este proyecto? Haz clic en el siguiente botón.",
- "buttons": {
- "githubRepo": "Repositorio de GitHub"
- }
- },
- "license": {
- "heading": "Información de licencia",
- "body": "El proyecto está regido por la licencia MIT, sobre la cual puedes leer a continuación. Básicamente, puedes usar el proyecto en cualquier lugar, siempre y cuando le des crédito al autor original.",
- "buttons": {
- "mitLicense": "Licencia MIT"
- }
- },
- "footer": {
- "credit": "Desarrollado con amor por <1>Amruth Pillai1>",
- "thanks": "¡Gracias por usar Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/es/rightSidebar/actions.json b/src/i18n/locales/es/rightSidebar/actions.json
deleted file mode 100644
index 2de6ea638..000000000
--- a/src/i18n/locales/es/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Acciones",
- "disclaimer": "Los cambios hechos a tu currículum se guardan automáticamente en el almacenamiento local de tu navegador. Como ningún dato sale de tu navegador, tu información está completamente segura.",
- "importExport": {
- "heading": "Importar/Exportar",
- "body": "Puedes importar o exportar tus datos en formato JSON. Con el archivo JSON, puedes editar o imprimir tu currículum desde cualquier dispositivo. Mantén una copia de este archivo por si lo necesitas más tarde.",
- "buttons": {
- "import": "Importar",
- "export": "Exportar"
- }
- },
- "downloadResume": {
- "heading": "Descarga tu currículum",
- "body": "Para descargar instantáneamente una versión en PDF de tu currículum, puedes hacer clic en el siguiente botón. Se recomienda que uses la versión más reciente de Google Chrome para obtener los mejores resultados.",
- "buttons": {
- "saveAsPdf": "Guardar como PDF"
- }
- },
- "loadDemoData": {
- "heading": "Agregar Datos de Demostración",
- "body": "¿No sabes por dónde comenzar? Puedes cargar datos de demostración con valores predeterminados para tener una idea de cómo luce un currículum, y comenzar con editar esos valores.",
- "buttons": {
- "loadData": "Cargar datos"
- }
- },
- "reset": {
- "heading": "¡Restablecer todo!",
- "body": "Esta acción reiniciará toda tu información y también borrará las copias de seguridad guardadas en el almacenamiento local de tu navegardor. Asegúrate de haber exportado tu información antes de continuar con esta acción.",
- "buttons": {
- "reset": "Restablecer"
- }
- }
-}
diff --git a/src/i18n/locales/es/rightSidebar/colors.json b/src/i18n/locales/es/rightSidebar/colors.json
deleted file mode 100644
index 5f1f334dd..000000000
--- a/src/i18n/locales/es/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colores",
- "colorOptions": "Opciones de Color",
- "primaryColor": "Color principal",
- "accentColor": "Color secundario",
- "clipboardCopyAction": "El color {{color}} ha sido copiado al portapapeles."
-}
diff --git a/src/i18n/locales/es/rightSidebar/fonts.json b/src/i18n/locales/es/rightSidebar/fonts.json
deleted file mode 100644
index 952f3718d..000000000
--- a/src/i18n/locales/es/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Tipografías",
- "fontFamily": {
- "label": "Familia Tipográfica",
- "helpText": "También puedes usar cualquier fuente que esté instalada en tu sistema. Escribe el nombre de la familia de fuentes aquí para que el navegador la cargue."
- }
-}
diff --git a/src/i18n/locales/es/rightSidebar/index.js b/src/i18n/locales/es/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/es/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/es/rightSidebar/settings.json b/src/i18n/locales/es/rightSidebar/settings.json
deleted file mode 100644
index dea78d6eb..000000000
--- a/src/i18n/locales/es/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Configuración",
- "language": {
- "label": "Escoger idioma",
- "helpText": "Si deseas ayudar a traducir la app a tu idioma, por favor consulta la <1>documentación de traducción1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/es/rightSidebar/templates.json b/src/i18n/locales/es/rightSidebar/templates.json
deleted file mode 100644
index 353c19935..000000000
--- a/src/i18n/locales/es/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Plantillas"
-}
diff --git a/src/i18n/locales/fi/app/app.json b/src/i18n/locales/fi/app/app.json
deleted file mode 100644
index ff0063dd9..000000000
--- a/src/i18n/locales/fi/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Lisää {{- heading}}",
- "startDate": {
- "label": "Alku"
- },
- "endDate": {
- "label": "Loppu"
- },
- "description": {
- "label": "Kuvaus"
- }
- },
- "buttons": {
- "add": {
- "label": "Lisää"
- },
- "delete": {
- "label": "Poista"
- }
- },
- "printDialog": {
- "heading": "Talenna hakumuksesi",
- "quality": {
- "label": "Laatu"
- },
- "printType": {
- "label": "Tyyppi",
- "types": {
- "unconstrained": "Ei sivutusta",
- "fitInA4": "Sovita A4",
- "multiPageA4": "Useita A4 sivuja"
- }
- },
- "helpText": [
- "Tämä menetelmä käyttää HTML alustaa ja konvertoi hakenuksen kuvaksi ja tulostaa siitä pdf-tiedoston, mikä tarkoittaa sitä että kaikki valinta/muotoilu mahdollisuudet eivät ole käytössä.",
- "Jos se on sinulle tärkeää, niin ole hyvä ja kokeile tulostaa käyttäen Cmd/Ctrl + P tai tulostus nappia alla.. Lopputulokseen vaikuttaa käyttämäsi webbiselain, mutta on tiedossa että parhaiten toimii Google Chrome webbiselain."
- ],
- "buttons": {
- "cancel": "Peru",
- "saveAsPdf": "Talenna PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Voit loitontaa ja lähentää esinäkymää milloin tahansa saadaksesi paremman kuvan hakemuksestasi. Hiiren rulla, kokeile."
- },
- "markdownHelpText": "Voit käyttää <1>GitHub Flavored Markdown1> muokataksesi tämän sektion tekstiä."
-}
diff --git a/src/i18n/locales/fi/app/index.js b/src/i18n/locales/fi/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/fi/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/fi/index.js b/src/i18n/locales/fi/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/fi/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/fi/leftSidebar/awards.json b/src/i18n/locales/fi/leftSidebar/awards.json
deleted file mode 100644
index 58bc3df33..000000000
--- a/src/i18n/locales/fi/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Otsikko"
- },
- "subtitle": {
- "label": "Alaotsikko"
- }
-}
diff --git a/src/i18n/locales/fi/leftSidebar/certifications.json b/src/i18n/locales/fi/leftSidebar/certifications.json
deleted file mode 100644
index bb1cdb41a..000000000
--- a/src/i18n/locales/fi/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Nimi"
- },
- "subtitle": {
- "label": "Myöntäjä"
- }
-}
diff --git a/src/i18n/locales/fi/leftSidebar/education.json b/src/i18n/locales/fi/leftSidebar/education.json
deleted file mode 100644
index f66705ee3..000000000
--- a/src/i18n/locales/fi/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Nimi"
- },
- "major": {
- "label": "Tutkinto"
- },
- "grade": {
- "label": "Taso"
- }
-}
diff --git a/src/i18n/locales/fi/leftSidebar/extras.json b/src/i18n/locales/fi/leftSidebar/extras.json
deleted file mode 100644
index bc2a77a48..000000000
--- a/src/i18n/locales/fi/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Avain"
- },
- "value": {
- "label": "Arvo"
- }
-}
diff --git a/src/i18n/locales/fi/leftSidebar/index.js b/src/i18n/locales/fi/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/fi/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/fi/leftSidebar/languages.json b/src/i18n/locales/fi/leftSidebar/languages.json
deleted file mode 100644
index 4260ad405..000000000
--- a/src/i18n/locales/fi/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Nimi"
- },
- "level": {
- "label": "Taso"
- },
- "rating": {
- "label": "Arvio"
- }
-}
diff --git a/src/i18n/locales/fi/leftSidebar/objective.json b/src/i18n/locales/fi/leftSidebar/objective.json
deleted file mode 100644
index 57267e712..000000000
--- a/src/i18n/locales/fi/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Tavoitteet"
- }
-}
diff --git a/src/i18n/locales/fi/leftSidebar/profile.json b/src/i18n/locales/fi/leftSidebar/profile.json
deleted file mode 100644
index 3ae076c05..000000000
--- a/src/i18n/locales/fi/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Valokuvan URL"
- },
- "firstName": {
- "label": "Etunimi"
- },
- "lastName": {
- "label": "Sukunimi"
- },
- "subtitle": {
- "label": "Alaotsikko"
- },
- "address": {
- "label": "Osoite",
- "line1": {
- "label": "Osoite rivi 1"
- },
- "line2": {
- "label": "Osoiterivi 2"
- },
- "line3": {
- "label": "Osoiterivi 3"
- }
- },
- "phone": {
- "label": "Puhelin"
- },
- "website": {
- "label": "Nettisivut"
- },
- "email": {
- "label": "Sähköposti"
- }
-}
diff --git a/src/i18n/locales/fi/leftSidebar/references.json b/src/i18n/locales/fi/leftSidebar/references.json
deleted file mode 100644
index f14988c63..000000000
--- a/src/i18n/locales/fi/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Nimi"
- },
- "position": {
- "label": "Asema"
- },
- "phone": {
- "label": "Puhelin"
- },
- "email": {
- "label": "Sähköposti"
- }
-}
diff --git a/src/i18n/locales/fi/leftSidebar/work.json b/src/i18n/locales/fi/leftSidebar/work.json
deleted file mode 100644
index cd543c690..000000000
--- a/src/i18n/locales/fi/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Nimi"
- },
- "role": {
- "label": "Työtehtävä"
- }
-}
diff --git a/src/i18n/locales/fi/rightSidebar/about.json b/src/i18n/locales/fi/rightSidebar/about.json
deleted file mode 100644
index 79143480b..000000000
--- a/src/i18n/locales/fi/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "Ohjelmatietoja",
- "documentation": {
- "heading": "Dokumentaatio",
- "body": "Haluatko tietää lisää ohjelmasta? Tarvitsetko lisää tietoa kuinka voit auttaa tätä projektia? Ei tarvitse etsiä, on olemassa laaja opas tehty juuri sinulle.",
- "buttons": {
- "documentation": "Dokumentaatio"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Ohjelmavirhe? Ehdota ominaisuutta?",
- "body": "Jumittaako jokin hakemuksesi edistymistä? Löysitkö pahan ohjelmavirheen joka estää käytön. Keskustele siitä GitHub: n ongelmia sektiossa tai lähetä minulle sähköpostia alla olevien toimintojen avulla.",
- "buttons": {
- "raiseIssue": "Ilmoita ongelmasta",
- "sendEmail": "Lähetä sähköpostia"
- }
- },
- "sourceCode": {
- "heading": "Lähdekoodi",
- "body": "Haluatko päästä käsiksi tämän projektin lähdekoodiin. Oletko kehitäjä joka haluaa osallistua avoimen lähdekoodin tuottamiseen? Klikkaa alla olevaa nappia.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "Lisenssitiedot",
- "body": "Projekti on liitetty MIT lisenssiin, josta voit lukea lisää alta. Periaatteessa voit käyttää projektin tuotoksia missä tahansa kunhan annat kunniaa alkuperäisille kehittäjille.",
- "buttons": {
- "mitLicense": "MIT-Lisenssi"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Kiitos kun käytit Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/fi/rightSidebar/actions.json b/src/i18n/locales/fi/rightSidebar/actions.json
deleted file mode 100644
index 017b2ceca..000000000
--- a/src/i18n/locales/fi/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Toiminnot",
- "disclaimer": "Tekemäsi muutokset hakemukseen tallennetaan automaattisesti selaimesi paikalliseen muistiin. Mikään tieto ei liiku verkkoon, tästä johtuen tietosi ovat turvassa koneellasi.",
- "importExport": {
- "heading": "Tuonti/Vienti",
- "body": "Voit tuoda ja viedä tietosi JSON muodossa. Tämä mahdollistaa sen että voit muokata tietojasi millä tahansa laitteella. Tallenna tämä tiedosto myöhempää muokkaamista varten.",
- "buttons": {
- "import": "Tuonti",
- "export": "Vienti"
- }
- },
- "downloadResume": {
- "heading": "Talenna hakumuksesi",
- "body": "Alla olevasta napista klikkaamalla voit tallentaa PDF version hakemuksestasi välittömästi. Saadaksesi mahdollisimman parhaan tuloksen käytä Google Chromen viimeisintä versiota.",
- "buttons": {
- "saveAsPdf": "Talenna PDF"
- }
- },
- "loadDemoData": {
- "heading": "Lataa Demo tekstit",
- "body": "Onko vaikea hahmottaa miten aloittaa tyhjältä sivulta. Voit aloitaa myös lataamalla Demo hakemuksen esisyötetyt tekstit mistä näet miltä sen tulisi näyttää ja voit aloittaa muokaamalla näitä tekstejä omiin tarpeisiisi.",
- "buttons": {
- "loadData": "Lataa tekstit"
- }
- },
- "reset": {
- "heading": "Tyhjennä kaikki!",
- "body": "Tämä toiminto tyhjentää kaiken tekstin ja poistaa varmuuskopiot jotka on tehty selaimesi muistiin, joten varmista että olet vienyt tarvitsemasi tiedot talteen muualle ennen kuin tyhjennät kaikki.",
- "buttons": {
- "reset": "Tyhjennä"
- }
- }
-}
diff --git a/src/i18n/locales/fi/rightSidebar/colors.json b/src/i18n/locales/fi/rightSidebar/colors.json
deleted file mode 100644
index 9d5c9f0d2..000000000
--- a/src/i18n/locales/fi/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Värit",
- "colorOptions": "Värien valinnat",
- "primaryColor": "Pääväri",
- "accentColor": "Toissijainen väri",
- "clipboardCopyAction": "{{color}} on kopioitu leikepöydälle."
-}
diff --git a/src/i18n/locales/fi/rightSidebar/fonts.json b/src/i18n/locales/fi/rightSidebar/fonts.json
deleted file mode 100644
index d7b506672..000000000
--- a/src/i18n/locales/fi/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fontit",
- "fontFamily": {
- "label": "Kirjasinperhe",
- "helpText": "Voit käyttää myös mitä tahansa fonttia joka on asennettuna järjestelmääsi. Kirjoita kirjasinperheen nimi tähän ja selain lataa sen sinulle."
- }
-}
diff --git a/src/i18n/locales/fi/rightSidebar/index.js b/src/i18n/locales/fi/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/fi/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/fi/rightSidebar/settings.json b/src/i18n/locales/fi/rightSidebar/settings.json
deleted file mode 100644
index 3ead77b2a..000000000
--- a/src/i18n/locales/fi/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Asetukset",
- "language": {
- "label": "Kielet",
- "helpText": "Jos haluat auttaa kääntämään tämän ohjelman omalle kielellesi, ole hyvä ja tutustu <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/fi/rightSidebar/templates.json b/src/i18n/locales/fi/rightSidebar/templates.json
deleted file mode 100644
index c9bb12637..000000000
--- a/src/i18n/locales/fi/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Mallit"
-}
diff --git a/src/i18n/locales/fr/app/app.json b/src/i18n/locales/fr/app/app.json
deleted file mode 100644
index d2eb0dc63..000000000
--- a/src/i18n/locales/fr/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Ajouter {{- heading}}",
- "startDate": {
- "label": "Date de début"
- },
- "endDate": {
- "label": "Date de fin"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Ajouter"
- },
- "delete": {
- "label": "Supprimer"
- }
- },
- "printDialog": {
- "heading": "Téléchargez Votre CV",
- "quality": {
- "label": "Qualité"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Non Contraint",
- "fitInA4": "Convient au format A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "Cette méthode d'exportation utilise le canevas HTML pour convertir le CV en image et l'imprimer sur un PDF, ce qui signifie qu'il perdra toutes les capacités de sélection / analyse.",
- "Si cela est important pour vous, essayez d'imprimer le CV à la place en utilisant Cmd/Ctrl + P ou le bouton d'impression ci-dessous. Le résultat peut varier car la sortie dépend du navigateur, mais il est connu qu'elle fonctionne mieux sur la dernière version de Google Chrome."
- ],
- "buttons": {
- "cancel": "Annuler",
- "saveAsPdf": "Enregistrer en PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Vous pouvez effectuer un panoramique et un zoom sur le plan de travail à tout moment pour voir de plus près votre CV."
- },
- "markdownHelpText": "Vous pouvez utiliser <1>GitHub Flavored Markdown1> pour styliser cette section du texte."
-}
diff --git a/src/i18n/locales/fr/app/index.js b/src/i18n/locales/fr/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/fr/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/fr/index.js b/src/i18n/locales/fr/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/fr/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/fr/leftSidebar/awards.json b/src/i18n/locales/fr/leftSidebar/awards.json
deleted file mode 100644
index 48568a336..000000000
--- a/src/i18n/locales/fr/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Titre"
- },
- "subtitle": {
- "label": "Sous-titre"
- }
-}
diff --git a/src/i18n/locales/fr/leftSidebar/certifications.json b/src/i18n/locales/fr/leftSidebar/certifications.json
deleted file mode 100644
index d204184dd..000000000
--- a/src/i18n/locales/fr/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Nom"
- },
- "subtitle": {
- "label": "Autorité"
- }
-}
diff --git a/src/i18n/locales/fr/leftSidebar/education.json b/src/i18n/locales/fr/leftSidebar/education.json
deleted file mode 100644
index 5cdc9caf5..000000000
--- a/src/i18n/locales/fr/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Nom"
- },
- "major": {
- "label": "Spécialité"
- },
- "grade": {
- "label": "Note"
- }
-}
diff --git a/src/i18n/locales/fr/leftSidebar/extras.json b/src/i18n/locales/fr/leftSidebar/extras.json
deleted file mode 100644
index d9365e751..000000000
--- a/src/i18n/locales/fr/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Clé"
- },
- "value": {
- "label": "Valeur"
- }
-}
diff --git a/src/i18n/locales/fr/leftSidebar/index.js b/src/i18n/locales/fr/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/fr/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/fr/leftSidebar/languages.json b/src/i18n/locales/fr/leftSidebar/languages.json
deleted file mode 100644
index aec04c943..000000000
--- a/src/i18n/locales/fr/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Nom"
- },
- "level": {
- "label": "Niveau"
- },
- "rating": {
- "label": "Évaluation"
- }
-}
diff --git a/src/i18n/locales/fr/leftSidebar/objective.json b/src/i18n/locales/fr/leftSidebar/objective.json
deleted file mode 100644
index e48a6841d..000000000
--- a/src/i18n/locales/fr/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objectif"
- }
-}
diff --git a/src/i18n/locales/fr/leftSidebar/profile.json b/src/i18n/locales/fr/leftSidebar/profile.json
deleted file mode 100644
index 7639981a4..000000000
--- a/src/i18n/locales/fr/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "URL de la photo"
- },
- "firstName": {
- "label": "Prénom"
- },
- "lastName": {
- "label": "Nom"
- },
- "subtitle": {
- "label": "Sous-titre"
- },
- "address": {
- "label": "Addresse",
- "line1": {
- "label": "Adresse ligne 1"
- },
- "line2": {
- "label": "Adresse ligne 2"
- },
- "line3": {
- "label": "Adresse ligne 3"
- }
- },
- "phone": {
- "label": "Numéro de téléphone"
- },
- "website": {
- "label": "Site Web"
- },
- "email": {
- "label": "Adresse e-mail"
- }
-}
diff --git a/src/i18n/locales/fr/leftSidebar/references.json b/src/i18n/locales/fr/leftSidebar/references.json
deleted file mode 100644
index b82d06189..000000000
--- a/src/i18n/locales/fr/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Nom"
- },
- "position": {
- "label": "Poste"
- },
- "phone": {
- "label": "Numéro de téléphone"
- },
- "email": {
- "label": "Adresse e-mail"
- }
-}
diff --git a/src/i18n/locales/fr/leftSidebar/work.json b/src/i18n/locales/fr/leftSidebar/work.json
deleted file mode 100644
index 742c7b861..000000000
--- a/src/i18n/locales/fr/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Nom"
- },
- "role": {
- "label": "Rôle"
- }
-}
diff --git a/src/i18n/locales/fr/rightSidebar/about.json b/src/i18n/locales/fr/rightSidebar/about.json
deleted file mode 100644
index 5205d32e7..000000000
--- a/src/i18n/locales/fr/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "À propos",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "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 email en utilisant les actions ci-dessous.",
- "buttons": {
- "raiseIssue": "Soulever une anomalie",
- "sendEmail": "Envoyer un e-mail"
- }
- },
- "sourceCode": {
- "heading": "Code source",
- "body": "Vous voulez exécuter le projet depuis sa source ? Êtes-vous un développeur désireux de contribuer au développement open-source de ce projet ? Cliquez sur le bouton ci-dessous.",
- "buttons": {
- "githubRepo": "Répertoire GitHub"
- }
- },
- "license": {
- "heading": "Information de licence",
- "body": "Le projet est régi par la licence MIT, que vous pouvez consulter ci-dessous. Fondamentalement, vous êtes autorisé à utiliser le projet n'importe où à condition de donner des crédits à l'auteur d'origine.",
- "buttons": {
- "mitLicense": "Licence MIT"
- }
- },
- "footer": {
- "credit": "Fabriqué avec amour par <1>Amruth Pillai1>",
- "thanks": "Merci d'utiliser Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/fr/rightSidebar/actions.json b/src/i18n/locales/fr/rightSidebar/actions.json
deleted file mode 100644
index ba5d6f6ed..000000000
--- a/src/i18n/locales/fr/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Les modifications que vous apportez à votre CV sont enregistrées automatiquement dans le stockage local de votre navigateur. Aucune donnée ne sort, donc vos informations sont complètement sécurisées.",
- "importExport": {
- "heading": "Import / Export",
- "body": "Vous pouvez importer ou exporter vos données au format JSON. Avec ceci, vous pouvez éditer et imprimer votre CV à partir de n'importe quel appareil. Enregistrez ce fichier pour une utilisation ultérieure.",
- "buttons": {
- "import": "Importer",
- "export": "Exporter"
- }
- },
- "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": {
- "saveAsPdf": "Enregistrer en PDF"
- }
- },
- "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": "Charger des données"
- }
- },
- "reset": {
- "heading": "Tout supprimer!",
- "body": "Cette action réinitialisera toutes vos données et supprimera également les sauvegardes effectuées sur le stockage local de votre navigateur. donc assurez-vous que vous avez exporté vos informations avant de tout réinitialiser.",
- "buttons": {
- "reset": "Réinitialiser"
- }
- }
-}
diff --git a/src/i18n/locales/fr/rightSidebar/colors.json b/src/i18n/locales/fr/rightSidebar/colors.json
deleted file mode 100644
index 71d9b8eca..000000000
--- a/src/i18n/locales/fr/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Couleurs",
- "colorOptions": "Options de couleurs",
- "primaryColor": "Couleur Principale",
- "accentColor": "Couleur Secondaire",
- "clipboardCopyAction": "La couleur {{color}} a été copié dans le presse-papiers."
-}
diff --git a/src/i18n/locales/fr/rightSidebar/fonts.json b/src/i18n/locales/fr/rightSidebar/fonts.json
deleted file mode 100644
index 0625311ce..000000000
--- a/src/i18n/locales/fr/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Polices",
- "fontFamily": {
- "label": "Famille de polices",
- "helpText": "Vous pouvez également utiliser n'importe quelle police installée sur votre système. Entrez simplement le nom de la famille de polices ici et le navigateur la chargera pour vous."
- }
-}
diff --git a/src/i18n/locales/fr/rightSidebar/index.js b/src/i18n/locales/fr/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/fr/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/fr/rightSidebar/settings.json b/src/i18n/locales/fr/rightSidebar/settings.json
deleted file mode 100644
index b45a4a0e2..000000000
--- a/src/i18n/locales/fr/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Paramètres",
- "language": {
- "label": "Langue",
- "helpText": "Si vous souhaitez aider à traduire l'application dans votre propre langue, veuillez vous référer à la <1>Documentation de traduction1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/fr/rightSidebar/templates.json b/src/i18n/locales/fr/rightSidebar/templates.json
deleted file mode 100644
index c4e1f5a39..000000000
--- a/src/i18n/locales/fr/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Modèles"
-}
diff --git a/src/i18n/locales/he/app/app.json b/src/i18n/locales/he/app/app.json
deleted file mode 100644
index 9ca73c479..000000000
--- a/src/i18n/locales/he/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "הוסף {{- heading}}",
- "startDate": {
- "label": "תאריך התחלה"
- },
- "endDate": {
- "label": "תאריך סיום"
- },
- "description": {
- "label": "תיאור"
- }
- },
- "buttons": {
- "add": {
- "label": "הוסף"
- },
- "delete": {
- "label": "מחק"
- }
- },
- "printDialog": {
- "heading": "הורד את קורות החיים שלך",
- "quality": {
- "label": "איכות"
- },
- "printType": {
- "label": "סוג",
- "types": {
- "unconstrained": "בלתי מוגבלת",
- "fitInA4": "מתאים ל- A4",
- "multiPageA4": "A4 רב עמודים"
- }
- },
- "helpText": [
- "שיטת ייצוא זו עושה שימוש בקנבס HTML כדי להמיר את קורות החיים לתמונה ולהדפיסה על גבי PDF, מה שאומר שהיא תאבד את כל יכולות הבחירה / ניתוח.",
- "אם זה חשוב לך, אנא נסה להדפיס את קורות החיים במקום זאת, באמצעות Cmd / Ctrl + P או על כפתור ההדפסה שלמטה. התוצאה עשויה להשתנות מכיוון שהפלט תלוי בדפדפן, אך ידוע שהוא פועל בצורה הטובה ביותר על הגרסה האחרונה של Google Chrome."
- ],
- "buttons": {
- "cancel": "ביטול",
- "saveAsPdf": "שמור כ-PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "אתה יכול להזיז את המשטח ולהתקרב אליו בכל עת כדי לראות מקרוב את קורות החיים שלך."
- },
- "markdownHelpText": "אתה יכול להשתמש ב <1> סימון בטעם GitHub בטעם 1> כדי לעצב קטע זה של הטקסט."
-}
diff --git a/src/i18n/locales/he/app/index.js b/src/i18n/locales/he/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/he/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/he/index.js b/src/i18n/locales/he/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/he/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/he/leftSidebar/awards.json b/src/i18n/locales/he/leftSidebar/awards.json
deleted file mode 100644
index 4fdbb938a..000000000
--- a/src/i18n/locales/he/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "כותרת"
- },
- "subtitle": {
- "label": "תרגום"
- }
-}
diff --git a/src/i18n/locales/he/leftSidebar/certifications.json b/src/i18n/locales/he/leftSidebar/certifications.json
deleted file mode 100644
index 4fdbb938a..000000000
--- a/src/i18n/locales/he/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "כותרת"
- },
- "subtitle": {
- "label": "תרגום"
- }
-}
diff --git a/src/i18n/locales/he/leftSidebar/education.json b/src/i18n/locales/he/leftSidebar/education.json
deleted file mode 100644
index f29819f49..000000000
--- a/src/i18n/locales/he/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "כותרת"
- },
- "major": {
- "label": "מקצוע ראשי"
- },
- "grade": {
- "label": "כיתה"
- }
-}
diff --git a/src/i18n/locales/he/leftSidebar/extras.json b/src/i18n/locales/he/leftSidebar/extras.json
deleted file mode 100644
index 4ea101354..000000000
--- a/src/i18n/locales/he/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "מפתח"
- },
- "value": {
- "label": "ערך"
- }
-}
diff --git a/src/i18n/locales/he/leftSidebar/index.js b/src/i18n/locales/he/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/he/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/he/leftSidebar/languages.json b/src/i18n/locales/he/leftSidebar/languages.json
deleted file mode 100644
index 952e318d0..000000000
--- a/src/i18n/locales/he/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "כותרת"
- },
- "level": {
- "label": "רמה"
- },
- "rating": {
- "label": "דירוג"
- }
-}
diff --git a/src/i18n/locales/he/leftSidebar/objective.json b/src/i18n/locales/he/leftSidebar/objective.json
deleted file mode 100644
index eb3796b63..000000000
--- a/src/i18n/locales/he/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "מטרה"
- }
-}
diff --git a/src/i18n/locales/he/leftSidebar/profile.json b/src/i18n/locales/he/leftSidebar/profile.json
deleted file mode 100644
index acd0e6ce4..000000000
--- a/src/i18n/locales/he/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "קישור לתמונה"
- },
- "firstName": {
- "label": "שם פרטי"
- },
- "lastName": {
- "label": "שם משפחה"
- },
- "subtitle": {
- "label": "תרגום"
- },
- "address": {
- "label": "כתובת",
- "line1": {
- "label": "כתובת שורה 1"
- },
- "line2": {
- "label": "כתובת שורה 2"
- },
- "line3": {
- "label": "כתובת שורה 3"
- }
- },
- "phone": {
- "label": "מספר טלפון"
- },
- "website": {
- "label": "אתר"
- },
- "email": {
- "label": "כתובת אימייל"
- }
-}
diff --git a/src/i18n/locales/he/leftSidebar/references.json b/src/i18n/locales/he/leftSidebar/references.json
deleted file mode 100644
index 4a3e16fd2..000000000
--- a/src/i18n/locales/he/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "כותרת"
- },
- "position": {
- "label": "תפקיד"
- },
- "phone": {
- "label": "מספר טלפון"
- },
- "email": {
- "label": "כתובת אימייל"
- }
-}
diff --git a/src/i18n/locales/he/leftSidebar/work.json b/src/i18n/locales/he/leftSidebar/work.json
deleted file mode 100644
index 74c8f6a32..000000000
--- a/src/i18n/locales/he/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "כותרת"
- },
- "role": {
- "label": "תפקיד"
- }
-}
diff --git a/src/i18n/locales/he/rightSidebar/about.json b/src/i18n/locales/he/rightSidebar/about.json
deleted file mode 100644
index 0264e6480..000000000
--- a/src/i18n/locales/he/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "אודות",
- "documentation": {
- "heading": "תיעוד",
- "body": "רוצה לדעת יותר על האפליקציה? האם לא היה נחמד אם היה מדריך להתקנתו במחשב המקומי שלכם? זקוק למידע כיצד לתרום לפרויקט? אל תחכה יותר, יש תיעוד מקיף שיוצר בדיוק בשבילך.",
- "buttons": {
- "documentation": "תיעוד"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "באג? בקשה לתוסף?",
- "body": "משהו שעוצר את ההתקדמות שלך מלכתוב קורות חיים? מצאת באג מציק שפשוט לא נפתר? דווח על זה בקטע בעיות ב-GitHub, או שלח לי אימייל באמצעות הפקודות למטה.",
- "buttons": {
- "raiseIssue": "העלה בעיה",
- "sendEmail": "שלח אימייל"
- }
- },
- "sourceCode": {
- "heading": "קוד מקור",
- "body": "רוצים לנהל את הפרויקט מקובץ המקור שלו? האם אתה מפתח שמוכן לתרום לפיתוח הקוד הפתוח של הפרויקט הזה? לחץ על הכפתור למטה.",
- "buttons": {
- "githubRepo": "מאגר גיתוב"
- }
- },
- "license": {
- "heading": "מידע על הרשיון",
- "body": "הפרויקט מנוהל תחת רישיון MIT, שתוכל לקרוא עליו יותר בהמשך. בפשטות, מותר לך להשתמש בפרויקט בכל מקום ובכל דרך ובלבד שתעניק קרדיט למחבר המקורי.",
- "buttons": {
- "mitLicense": "MIT רשיון"
- }
- },
- "footer": {
- "credit": "Reactive Resume is a project by <1>Amruth Pillai1>.",
- "thanks": "תודה שאתה משתמש בReactive Resume"
- }
-}
diff --git a/src/i18n/locales/he/rightSidebar/actions.json b/src/i18n/locales/he/rightSidebar/actions.json
deleted file mode 100644
index 2c576b2f0..000000000
--- a/src/i18n/locales/he/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "פעולות",
- "disclaimer": "השינויים שאתה מבצע בקורות החיים שלך נשמרים אוטומטית באחסון המקומי של הדפדפן. נתונים לא יוצאים לשום מקום, ומכאן שהמידע שלך מאובטח לחלוטין.",
- "importExport": {
- "heading": "ייבוא/ייצוא",
- "body": "אתה יכול לייבא או לייצא את הנתונים שלך בפורמט JSON. בעזרתו תוכלו לערוך ולהדפיס את קורות החיים מכל מכשיר. שמור קובץ זה לשימוש מאוחר יותר.",
- "buttons": {
- "import": "ייבוא",
- "export": "ייצוא"
- }
- },
- "downloadResume": {
- "heading": "הורד את קורות החיים שלך",
- "body": "אתה יכול ללחוץ על הכפתור למטה כדי להוריד קורות חיים PDF של קורות החיים שלך באופן מיידי. לקבלת התוצאות הטובות ביותר, אנא השתמש בגרסה האחרונה של Google Chrome.",
- "buttons": {
- "saveAsPdf": "שמור כ-PDF"
- }
- },
- "loadDemoData": {
- "heading": "טען נתוני דמה",
- "body": "לא ברור לך מה לעשות עם דף ריק? טען כמה נתוני דמה עם ערכים המוגדרים מראש כדי לראות כיצד קורות החיים אמורים להיראות ותוכל להתחיל לערוך משם.",
- "buttons": {
- "loadData": "טען מידע"
- }
- },
- "reset": {
- "heading": "אפס הכל",
- "body": "פעולה זו תאפס את כל הנתונים שלך ותסיר גיבויים שנעשו גם לאחסון המקומי של הדפדפן שלך, אנא וודא שיצאת את המידע שלך לפני שתאפס את הכל.",
- "buttons": {
- "reset": "איפוס"
- }
- }
-}
diff --git a/src/i18n/locales/he/rightSidebar/colors.json b/src/i18n/locales/he/rightSidebar/colors.json
deleted file mode 100644
index 95d92e68a..000000000
--- a/src/i18n/locales/he/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "צבעים",
- "colorOptions": "אפשרויות צבעים",
- "primaryColor": "צבע ראשי",
- "accentColor": "צבע הדגשה",
- "clipboardCopyAction": "{{color}} הועתק אל הלוח שלך."
-}
diff --git a/src/i18n/locales/he/rightSidebar/fonts.json b/src/i18n/locales/he/rightSidebar/fonts.json
deleted file mode 100644
index 7aa3812c2..000000000
--- a/src/i18n/locales/he/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "גופנים",
- "fontFamily": {
- "label": "משפחת גופנים",
- "helpText": "אתה יכול להשתמש בכל גופן המותקן גם במערכת שלך. פשוט הזן כאן את שם משפחת הגופנים והדפדפן יטעין אותו עבורך."
- }
-}
diff --git a/src/i18n/locales/he/rightSidebar/index.js b/src/i18n/locales/he/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/he/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/he/rightSidebar/settings.json b/src/i18n/locales/he/rightSidebar/settings.json
deleted file mode 100644
index 58a8b00ab..000000000
--- a/src/i18n/locales/he/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "הגדרות",
- "language": {
- "label": "שפה",
- "helpText": "אם תרצה לעזור בתרגום האפליקציה לשפה שלך, עיין ב <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/he/rightSidebar/templates.json b/src/i18n/locales/he/rightSidebar/templates.json
deleted file mode 100644
index ce95ad45b..000000000
--- a/src/i18n/locales/he/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "תבניות"
-}
diff --git a/src/i18n/locales/hi/app/app.json b/src/i18n/locales/hi/app/app.json
deleted file mode 100644
index c0b2eec21..000000000
--- a/src/i18n/locales/hi/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "{{- heading}} जोड़ें",
- "startDate": {
- "label": "प्रारंभ तिथि"
- },
- "endDate": {
- "label": "अंतिम तिथि"
- },
- "description": {
- "label": "विवरण"
- }
- },
- "buttons": {
- "add": {
- "label": "जोड़ना"
- },
- "delete": {
- "label": "हटाएँ"
- }
- },
- "printDialog": {
- "heading": "अपना रिज्यूमे डाउनलोड करें",
- "quality": {
- "label": "गुणवत्ता मूल्य"
- },
- "printType": {
- "label": "प्रकार",
- "types": {
- "unconstrained": "स्वेच्छापूर्ण",
- "fitInA4": "A4 में फिट",
- "multiPageA4": "बहु पृष्ठ A4"
- }
- },
- "helpText": [
- "यह निर्यात विधि आपकी CV को आपके सीवी को बदलने और PDF पर प्रिंट करने के लिए HTML कैनवास का उपयोग करती है, जिसका अर्थ है कि यह सभी चयन / पार्सिंग क्षमताओं को खो देगा।",
- "यदि आपके लिए यह महत्वपूर्ण है, तो कृपया Cmd / Ctrl + P या नीचे दिए गए प्रिंट बटन का उपयोग करने के बजाय CV को प्रिंट करने का प्रयास करें। नतीजा अलग-अलग हो सकता है क्योंकि आउटपुट ब्राउज़र पर निर्भर है, लेकिन यह Google क्रोम के नवीनतम संस्करण पर सबसे अच्छा काम करने के लिए जाना जाता है।"
- ],
- "buttons": {
- "cancel": "रद्द करें",
- "saveAsPdf": "डाउनलोड पीडीऍफ़"
- }
- },
- "panZoomAnimation": {
- "helpText": "अपने रिज्यूमे को करीब से जानने के लिए आप किसी भी समय आर्टबोर्ड पर पैन और जूम कर सकते हैं।"
- },
- "markdownHelpText": "आप पाठ के इस खंड को स्टाइल करने के लिए <1>GitHub Flavoured Markdown1> का उपयोग कर सकते हैं।"
-}
diff --git a/src/i18n/locales/hi/app/index.js b/src/i18n/locales/hi/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/hi/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/hi/index.js b/src/i18n/locales/hi/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/hi/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/hi/leftSidebar/awards.json b/src/i18n/locales/hi/leftSidebar/awards.json
deleted file mode 100644
index bddf36a5e..000000000
--- a/src/i18n/locales/hi/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "शीर्षक"
- },
- "subtitle": {
- "label": "उपशीर्षक"
- }
-}
diff --git a/src/i18n/locales/hi/leftSidebar/certifications.json b/src/i18n/locales/hi/leftSidebar/certifications.json
deleted file mode 100644
index 444cccb21..000000000
--- a/src/i18n/locales/hi/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "नाम"
- },
- "subtitle": {
- "label": "अधिकार"
- }
-}
diff --git a/src/i18n/locales/hi/leftSidebar/education.json b/src/i18n/locales/hi/leftSidebar/education.json
deleted file mode 100644
index 111a2ae43..000000000
--- a/src/i18n/locales/hi/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "नाम"
- },
- "major": {
- "label": "विषय"
- },
- "grade": {
- "label": "ग्रेड"
- }
-}
diff --git a/src/i18n/locales/hi/leftSidebar/extras.json b/src/i18n/locales/hi/leftSidebar/extras.json
deleted file mode 100644
index b992fd503..000000000
--- a/src/i18n/locales/hi/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "मौलिक"
- },
- "value": {
- "label": "मूल्य"
- }
-}
diff --git a/src/i18n/locales/hi/leftSidebar/index.js b/src/i18n/locales/hi/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/hi/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/hi/leftSidebar/languages.json b/src/i18n/locales/hi/leftSidebar/languages.json
deleted file mode 100644
index 6934c271e..000000000
--- a/src/i18n/locales/hi/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "नाम"
- },
- "level": {
- "label": "स्तर"
- },
- "rating": {
- "label": "रेटिंग"
- }
-}
diff --git a/src/i18n/locales/hi/leftSidebar/objective.json b/src/i18n/locales/hi/leftSidebar/objective.json
deleted file mode 100644
index bfa81425d..000000000
--- a/src/i18n/locales/hi/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "लक्ष्य"
- }
-}
diff --git a/src/i18n/locales/hi/leftSidebar/profile.json b/src/i18n/locales/hi/leftSidebar/profile.json
deleted file mode 100644
index 1c074ceed..000000000
--- a/src/i18n/locales/hi/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "फोटो लिंक"
- },
- "firstName": {
- "label": "पहला नाम"
- },
- "lastName": {
- "label": "उपनाम"
- },
- "subtitle": {
- "label": "उपशीर्षक"
- },
- "address": {
- "label": "पता",
- "line1": {
- "label": "पता पंक्ति 1"
- },
- "line2": {
- "label": "पता पंक्ति 2"
- },
- "line3": {
- "label": "पता पंक्ति 3"
- }
- },
- "phone": {
- "label": "फोन नंबर"
- },
- "website": {
- "label": "वेबसाइट"
- },
- "email": {
- "label": "ईमेल पता"
- }
-}
diff --git a/src/i18n/locales/hi/leftSidebar/references.json b/src/i18n/locales/hi/leftSidebar/references.json
deleted file mode 100644
index 235146b3e..000000000
--- a/src/i18n/locales/hi/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "नाम"
- },
- "position": {
- "label": "पद/स्थान"
- },
- "phone": {
- "label": "फोन नंबर"
- },
- "email": {
- "label": "ईमेल पता"
- }
-}
diff --git a/src/i18n/locales/hi/leftSidebar/work.json b/src/i18n/locales/hi/leftSidebar/work.json
deleted file mode 100644
index dd7b22bf1..000000000
--- a/src/i18n/locales/hi/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "नाम"
- },
- "role": {
- "label": "भूमिका"
- }
-}
diff --git a/src/i18n/locales/hi/rightSidebar/about.json b/src/i18n/locales/hi/rightSidebar/about.json
deleted file mode 100644
index 573de5a90..000000000
--- a/src/i18n/locales/hi/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "हमारे बारे में",
- "documentation": {
- "heading": "प्रलेखन",
- "body": "एप्लिकेशन के बारे में अधिक जानना चाहते हैं? ऐप में योगदान करने के बारे में जानकारी चाहिए? आगे नहीं, बस आपके लिए एक व्यापक गाइड बनाया गया है।",
- "buttons": {
- "documentation": "प्रलेखन"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "संकट? नयी विशेषता?",
- "body": "बायोडाटा बनाने से आपकी प्रगति रुक रही है? ऐसी समस्या मिली जो दूर नहीं होगी? \"गिटहब मुद्दे\" अनुभाग पर इसके बारे में सूचित करें, या नीचे की क्रियाओं का उपयोग करके मुझे एक ईमेल भेजें।",
- "buttons": {
- "raiseIssue": "रिपोर्ट में समस्या",
- "sendEmail": "ईमेल भेजें"
- }
- },
- "sourceCode": {
- "heading": "सोर्स कोड",
- "body": "खरोंच से परियोजना का निर्माण करना चाहते हैं? क्या आप इस प्रोजेक्ट के ओपन-सोर्स विकास में योगदान करने के लिए तैयार हैं? नीचे दिए गए बटन पर क्लिक करें।",
- "buttons": {
- "githubRepo": "GitHub रेपो"
- }
- },
- "license": {
- "heading": "लाइसेंस की जानकारी",
- "body": "परियोजना एमआईटी लाइसेंस के तहत शासित है, जिसे आप नीचे के बारे में अधिक पढ़ सकते हैं। आपको परियोजना का उपयोग करने की अनुमति है कहीं भी आप मूल लेखक को क्रेडिट देते हैं।",
- "buttons": {
- "mitLicense": "MIT लाइसेन्स"
- }
- },
- "footer": {
- "credit": "<1>अमृत पिल्लई1> द्वारा प्यार से बनाया गया",
- "thanks": "रिएक्टिव रिज्यूमे का उपयोग करने के लिए धन्यवाद"
- }
-}
diff --git a/src/i18n/locales/hi/rightSidebar/actions.json b/src/i18n/locales/hi/rightSidebar/actions.json
deleted file mode 100644
index 8ad5be146..000000000
--- a/src/i18n/locales/hi/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "कार्रवाई",
- "disclaimer": "आपके बायोडाटा में आपके द्वारा किए गए परिवर्तन स्वचालित रूप से आपके ब्राउज़र के स्थानीय भंडारण में सहेजे जाते हैं। कोई डेटा नहीं निकलता है, इसलिए आपकी जानकारी पूरी तरह से सुरक्षित है।",
- "importExport": {
- "heading": "आयात / निर्यात",
- "body": "आप JSON प्रारूप में अपना डेटा आयात या निर्यात कर सकते हैं। इसके साथ, आप किसी भी डिवाइस से अपना बायोडाटा संपादित और प्रिंट कर सकते हैं। बाद में उपयोग के लिए इस फाइल को सेव करें।",
- "buttons": {
- "import": "आयात",
- "export": "निर्यात"
- }
- },
- "downloadResume": {
- "heading": "अपना रिज्यूमे डाउनलोड करें",
- "body": "आप अपने रेज़्यूमे का पीडीएफ तुरंत डाउनलोड करने के लिए नीचे दिए गए बटन पर क्लिक कर सकते हैं। सर्वोत्तम परिणामों के लिए, कृपया नवीनतम Google Chrome का उपयोग करें।",
- "buttons": {
- "saveAsPdf": "डाउनलोड पीडीऍफ़"
- }
- },
- "loadDemoData": {
- "heading": "डेमो डेटा लोड करें",
- "body": "एक ताजा रिक्त पृष्ठ के साथ क्या करना है, इस पर अस्पष्ट? बायोडाटा कैसे दिखना चाहिए यह देखने के लिए पूर्व निर्धारित मूल्यों के साथ कुछ डेटा लोड करें और आप वहां से संपादन शुरू कर सकते हैं।",
- "buttons": {
- "loadData": "लोड डेटा"
- }
- },
- "reset": {
- "heading": "सब कुछ रीसेट करें",
- "body": "यह क्रिया आपके सभी डेटा को रीसेट कर देगी और साथ ही आपके ब्राउज़र के स्थानीय संग्रहण में किए गए बैकअप को हटा देगी, इसलिए कृपया सुनिश्चित करें कि आपने सब कुछ रीसेट करने से पहले अपनी जानकारी निर्यात कर दी है।",
- "buttons": {
- "reset": "रीसेट"
- }
- }
-}
diff --git a/src/i18n/locales/hi/rightSidebar/colors.json b/src/i18n/locales/hi/rightSidebar/colors.json
deleted file mode 100644
index 1c800f8c1..000000000
--- a/src/i18n/locales/hi/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "रंग",
- "colorOptions": "रंग विकल्प",
- "primaryColor": "प्राथमिक रंग",
- "accentColor": "द्वितीयक रंग",
- "clipboardCopyAction": "{{color}} को क्लिपबोर्ड पर कॉपी किया गया है।"
-}
diff --git a/src/i18n/locales/hi/rightSidebar/fonts.json b/src/i18n/locales/hi/rightSidebar/fonts.json
deleted file mode 100644
index 32c760f7f..000000000
--- a/src/i18n/locales/hi/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "फोंट्स",
- "fontFamily": {
- "label": "फ़ॉन्ट परिवार",
- "helpText": "आप अपने सिस्टम पर स्थापित किसी भी फ़ॉन्ट का उपयोग कर सकते हैं। बस यहां फ़ॉन्ट का नाम दर्ज करें और ब्राउज़र इसे आपके लिए लोड करेगा।"
- }
-}
diff --git a/src/i18n/locales/hi/rightSidebar/index.js b/src/i18n/locales/hi/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/hi/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/hi/rightSidebar/settings.json b/src/i18n/locales/hi/rightSidebar/settings.json
deleted file mode 100644
index 1ad465728..000000000
--- a/src/i18n/locales/hi/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "सेटिंग्स",
- "language": {
- "label": "भाषा ",
- "helpText": "यदि आप एप्लिकेशन को अपनी भाषा में अनुवाद करने में मदद करना चाहते हैं, तो कृपया <1>अनुवाद दस्तावेज़1> देखें।"
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/hi/rightSidebar/templates.json b/src/i18n/locales/hi/rightSidebar/templates.json
deleted file mode 100644
index 46257550d..000000000
--- a/src/i18n/locales/hi/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "टेम्पलेट्स"
-}
diff --git a/src/i18n/locales/hu/app/app.json b/src/i18n/locales/hu/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/hu/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/hu/app/index.js b/src/i18n/locales/hu/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/hu/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/hu/index.js b/src/i18n/locales/hu/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/hu/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/hu/leftSidebar/awards.json b/src/i18n/locales/hu/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/hu/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/hu/leftSidebar/certifications.json b/src/i18n/locales/hu/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/hu/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/hu/leftSidebar/education.json b/src/i18n/locales/hu/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/hu/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/hu/leftSidebar/extras.json b/src/i18n/locales/hu/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/hu/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/hu/leftSidebar/index.js b/src/i18n/locales/hu/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/hu/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/hu/leftSidebar/languages.json b/src/i18n/locales/hu/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/hu/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/hu/leftSidebar/objective.json b/src/i18n/locales/hu/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/hu/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/hu/leftSidebar/profile.json b/src/i18n/locales/hu/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/hu/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/hu/leftSidebar/references.json b/src/i18n/locales/hu/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/hu/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/hu/leftSidebar/work.json b/src/i18n/locales/hu/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/hu/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/hu/rightSidebar/about.json b/src/i18n/locales/hu/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/hu/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/hu/rightSidebar/actions.json b/src/i18n/locales/hu/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/hu/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/hu/rightSidebar/colors.json b/src/i18n/locales/hu/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/hu/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/hu/rightSidebar/fonts.json b/src/i18n/locales/hu/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/hu/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/hu/rightSidebar/index.js b/src/i18n/locales/hu/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/hu/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/hu/rightSidebar/settings.json b/src/i18n/locales/hu/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/hu/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/hu/rightSidebar/templates.json b/src/i18n/locales/hu/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/hu/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/index.js b/src/i18n/locales/index.js
index bd8d68fb4..162821018 100644
--- a/src/i18n/locales/index.js
+++ b/src/i18n/locales/index.js
@@ -1,71 +1,7 @@
-import af from './af';
-import ar from './ar';
-import as from './as';
-import ca from './ca';
-import cs from './cs';
-import da from './da';
-import de from './de';
-import el from './el';
-import en from './en';
-import es from './es';
-import fi from './fi';
-import fr from './fr';
-import he from './he';
-import hi from './hi';
-import hu from './hu';
-import it from './it';
-import ja from './ja';
-import kn from './kn';
-import ko from './ko';
-import ml from './ml';
-import mr from './mr';
-import nl from './nl';
-import no from './no';
-import pa from './pa';
-import pl from './pl';
-import pt from './pt';
-import ro from './ro';
-import ru from './ru';
-import sv from './sv';
-import ta from './ta';
-import tr from './tr';
-import uk from './uk';
-import vi from './vi';
-import zh from './zh';
+import en from './en.json';
+import kn from './kn.json';
export default {
- af,
- ar,
- as,
- ca,
- cs,
- da,
- de,
- el,
- en,
- es,
- fi,
- fr,
- he,
- hi,
- hu,
- it,
- ja,
- kn,
- ko,
- ml,
- mr,
- nl,
- no,
- pa,
- pl,
- pt,
- ro,
- ru,
- sv,
- ta,
- tr,
- uk,
- vi,
- zh,
+ en: { translation: en },
+ kn: { translation: kn },
};
diff --git a/src/i18n/locales/it/app/app.json b/src/i18n/locales/it/app/app.json
deleted file mode 100644
index 1cd906afe..000000000
--- a/src/i18n/locales/it/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Aggiungi {{- heading}}",
- "startDate": {
- "label": "Data d'inizio"
- },
- "endDate": {
- "label": "Data di fine"
- },
- "description": {
- "label": "Descrizione"
- }
- },
- "buttons": {
- "add": {
- "label": "Aggiungi"
- },
- "delete": {
- "label": "Elimina"
- }
- },
- "printDialog": {
- "heading": "Scarica il tuo curriculum",
- "quality": {
- "label": "Qualità"
- },
- "printType": {
- "label": "Tipo",
- "types": {
- "unconstrained": "Libero",
- "fitInA4": "Adatta ad A4",
- "multiPageA4": "Multi-Pagina A4"
- }
- },
- "helpText": [
- "Questo metodo di esportazione fa uso di HTML canvas per convertire il curriculum in un'immagine e stamparla in PDF, ciò significa che perderà tutte le capacità di selezione/analisi.",
- "Se questo è importante per te, prova a stampare il curriculum utilizzando Cmd/Ctrl + P o il pulsante di stampa qui sotto. Il risultato può variare in quanto l'output è dipendente dal browser ma è noto che funziona meglio sull'ultima versione di Google Chrome."
- ],
- "buttons": {
- "cancel": "Annulla",
- "saveAsPdf": "Salva come PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Puoi ruotare e ingrandire l'immagine in qualsiasi momento per dare un'occhiata più da vicino al tuo curriculum."
- },
- "markdownHelpText": "Puoi utilizzare <1>GitHub Flavored Markdown1> per personalizzare questa sezione del testo."
-}
diff --git a/src/i18n/locales/it/app/index.js b/src/i18n/locales/it/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/it/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/it/index.js b/src/i18n/locales/it/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/it/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/it/leftSidebar/awards.json b/src/i18n/locales/it/leftSidebar/awards.json
deleted file mode 100644
index 8a05f8be4..000000000
--- a/src/i18n/locales/it/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Titolo"
- },
- "subtitle": {
- "label": "Sottotitolo"
- }
-}
diff --git a/src/i18n/locales/it/leftSidebar/certifications.json b/src/i18n/locales/it/leftSidebar/certifications.json
deleted file mode 100644
index f3b52b165..000000000
--- a/src/i18n/locales/it/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Nome"
- },
- "subtitle": {
- "label": "Autorità"
- }
-}
diff --git a/src/i18n/locales/it/leftSidebar/education.json b/src/i18n/locales/it/leftSidebar/education.json
deleted file mode 100644
index e4ff35d82..000000000
--- a/src/i18n/locales/it/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Nome"
- },
- "major": {
- "label": "Grande"
- },
- "grade": {
- "label": "Voto"
- }
-}
diff --git a/src/i18n/locales/it/leftSidebar/extras.json b/src/i18n/locales/it/leftSidebar/extras.json
deleted file mode 100644
index 86701b771..000000000
--- a/src/i18n/locales/it/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Chiave"
- },
- "value": {
- "label": "Valore"
- }
-}
diff --git a/src/i18n/locales/it/leftSidebar/index.js b/src/i18n/locales/it/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/it/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/it/leftSidebar/languages.json b/src/i18n/locales/it/leftSidebar/languages.json
deleted file mode 100644
index 6bbbf575a..000000000
--- a/src/i18n/locales/it/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Nome"
- },
- "level": {
- "label": "Livello"
- },
- "rating": {
- "label": "Valutazione"
- }
-}
diff --git a/src/i18n/locales/it/leftSidebar/objective.json b/src/i18n/locales/it/leftSidebar/objective.json
deleted file mode 100644
index 4e1acb2cb..000000000
--- a/src/i18n/locales/it/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Obbiettivo"
- }
-}
diff --git a/src/i18n/locales/it/leftSidebar/profile.json b/src/i18n/locales/it/leftSidebar/profile.json
deleted file mode 100644
index 799c9daa0..000000000
--- a/src/i18n/locales/it/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "URL della foto"
- },
- "firstName": {
- "label": "Nome"
- },
- "lastName": {
- "label": "Cognome"
- },
- "subtitle": {
- "label": "Sottotitolo"
- },
- "address": {
- "label": "Indirizzo",
- "line1": {
- "label": "Indirizzo, 1a riga"
- },
- "line2": {
- "label": "Indirizzo, 2a riga"
- },
- "line3": {
- "label": "Indirizzo, 3a riga"
- }
- },
- "phone": {
- "label": "Numero di telefono"
- },
- "website": {
- "label": "Sito web"
- },
- "email": {
- "label": "Indirizzo email"
- }
-}
diff --git a/src/i18n/locales/it/leftSidebar/references.json b/src/i18n/locales/it/leftSidebar/references.json
deleted file mode 100644
index ecbb14b89..000000000
--- a/src/i18n/locales/it/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Nome"
- },
- "position": {
- "label": "Posizione"
- },
- "phone": {
- "label": "Numero di telefono"
- },
- "email": {
- "label": "Indirizzo email"
- }
-}
diff --git a/src/i18n/locales/it/leftSidebar/work.json b/src/i18n/locales/it/leftSidebar/work.json
deleted file mode 100644
index 48e29e5e3..000000000
--- a/src/i18n/locales/it/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Nome"
- },
- "role": {
- "label": "Ruolo"
- }
-}
diff --git a/src/i18n/locales/it/rightSidebar/about.json b/src/i18n/locales/it/rightSidebar/about.json
deleted file mode 100644
index b4279c9ea..000000000
--- a/src/i18n/locales/it/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "Informazioni",
- "documentation": {
- "heading": "Documentazione",
- "body": "Vuoi saperne di più sull'app? Hai bisogno di informazioni su come contribuire al progetto? Non guardare oltre, c'è una guida completa fatta solo per te.",
- "buttons": {
- "documentation": "Documentazione"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Richiesta di nuove funzionalità?",
- "body": "Qualcosa ti blocca mentre crei il tuo curriculum? Hai trovato un bug fastidioso che non scompare? Parlane nella sezione GitHub Issues o mandami un'email utilizzando le azioni qui sotto.",
- "buttons": {
- "raiseIssue": "Crea una segnalazione",
- "sendEmail": "Manda un'email"
- }
- },
- "sourceCode": {
- "heading": "Codice sorgente",
- "body": "Vuoi eseguire il progetto dal suo codice sorgente? Sei uno sviluppatore disposto a contribuire allo sviluppo open-source di questo progetto? Clicca il pulsante qui sotto.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "Informazioni sulla licenza",
- "body": "Il progetto è sottoposto alla licenza MIT, che puoi leggere di più su di sotto. Fondamentalmente, è consentito utilizzare il progetto ovunque purché dia crediti all'autore originale.",
- "buttons": {
- "mitLicense": "Licenza MIT"
- }
- },
- "footer": {
- "credit": "Realizzato con amore da <1>Amruth Pillai1>",
- "thanks": "Grazie per aver utilizzato Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/it/rightSidebar/actions.json b/src/i18n/locales/it/rightSidebar/actions.json
deleted file mode 100644
index df1b4fc89..000000000
--- a/src/i18n/locales/it/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Azioni",
- "disclaimer": "Le modifiche apportate al curriculum vengono salvate automaticamente sulla memoria locale del tuo browser. Nessun dato viene visualizzato, perciò le tue informazioni sono completamente sicure.",
- "importExport": {
- "heading": "Importa/Esporta",
- "body": "Puoi importare o esportare i tuoi dati in formato JSON. Con questo, puoi modificare e stampare il tuo curriculum da qualsiasi dispositivo. Salva questo file per utilizzarlo in seguito.",
- "buttons": {
- "import": "Importa",
- "export": "Esporta"
- }
- },
- "downloadResume": {
- "heading": "Scarica il tuo curriculum",
- "body": "Puoi cliccare sul pulsante qui sotto per scaricare una versione PDF del tuo curriculum. Per risultati ottimali, si prega di utilizzare l'ultima versione di Google Chrome.",
- "buttons": {
- "saveAsPdf": "Salva come PDF"
- }
- },
- "loadDemoData": {
- "heading": "Carica dati demo",
- "body": "Non è chiaro su cosa fare con una nuova pagina vuota? Carica alcuni dati demo con valori preimpostati per vedere come dovrebbe apparire un curriculum e puoi iniziare a modificarlo da lì.",
- "buttons": {
- "loadData": "Carica dati"
- }
- },
- "reset": {
- "heading": "Resetta tutto!",
- "body": "Questa azione resetterà tutti i tuoi dati e rimuoverà anche i backup effettuati sullo spazio locale del tuo browser quindi assicurati di aver esportato le tue informazioni prima di resettare tutto.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/it/rightSidebar/colors.json b/src/i18n/locales/it/rightSidebar/colors.json
deleted file mode 100644
index 5d9d058e3..000000000
--- a/src/i18n/locales/it/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colori",
- "colorOptions": "Opzioni di colore",
- "primaryColor": "Colore primario",
- "accentColor": "Colore secondario",
- "clipboardCopyAction": "Il {{color}} è stato copiato negli appunti."
-}
diff --git a/src/i18n/locales/it/rightSidebar/fonts.json b/src/i18n/locales/it/rightSidebar/fonts.json
deleted file mode 100644
index 6c26f9618..000000000
--- a/src/i18n/locales/it/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Tipo di carattere",
- "fontFamily": {
- "label": "Famiglia di caratteri",
- "helpText": "Puoi usare anche tutti i caratteri installati sul tuo sistema. Basta inserire il nome della famiglia di caratteri qui e il browser lo caricherà per te."
- }
-}
diff --git a/src/i18n/locales/it/rightSidebar/index.js b/src/i18n/locales/it/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/it/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/it/rightSidebar/settings.json b/src/i18n/locales/it/rightSidebar/settings.json
deleted file mode 100644
index dd6e0f7f7..000000000
--- a/src/i18n/locales/it/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Impostazioni",
- "language": {
- "label": "Lingua",
- "helpText": "Se vuoi aiutare a tradurre l'app nella tua lingua, fai riferimento alla <1>Documentazione di traduzione1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/it/rightSidebar/templates.json b/src/i18n/locales/it/rightSidebar/templates.json
deleted file mode 100644
index 1e08546b6..000000000
--- a/src/i18n/locales/it/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Modelli"
-}
diff --git a/src/i18n/locales/ja/app/app.json b/src/i18n/locales/ja/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/ja/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/ja/app/index.js b/src/i18n/locales/ja/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/ja/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/ja/index.js b/src/i18n/locales/ja/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/ja/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/ja/leftSidebar/awards.json b/src/i18n/locales/ja/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/ja/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/ja/leftSidebar/certifications.json b/src/i18n/locales/ja/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/ja/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/ja/leftSidebar/education.json b/src/i18n/locales/ja/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/ja/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/ja/leftSidebar/extras.json b/src/i18n/locales/ja/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/ja/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/ja/leftSidebar/index.js b/src/i18n/locales/ja/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/ja/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/ja/leftSidebar/languages.json b/src/i18n/locales/ja/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/ja/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/ja/leftSidebar/objective.json b/src/i18n/locales/ja/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/ja/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/ja/leftSidebar/profile.json b/src/i18n/locales/ja/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/ja/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/ja/leftSidebar/references.json b/src/i18n/locales/ja/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/ja/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/ja/leftSidebar/work.json b/src/i18n/locales/ja/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/ja/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/ja/rightSidebar/about.json b/src/i18n/locales/ja/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/ja/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/ja/rightSidebar/actions.json b/src/i18n/locales/ja/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/ja/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/ja/rightSidebar/colors.json b/src/i18n/locales/ja/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/ja/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/ja/rightSidebar/fonts.json b/src/i18n/locales/ja/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/ja/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/ja/rightSidebar/index.js b/src/i18n/locales/ja/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/ja/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/ja/rightSidebar/settings.json b/src/i18n/locales/ja/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/ja/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/ja/rightSidebar/templates.json b/src/i18n/locales/ja/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/ja/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/kn.json b/src/i18n/locales/kn.json
new file mode 100644
index 000000000..3d0c7e702
--- /dev/null
+++ b/src/i18n/locales/kn.json
@@ -0,0 +1,248 @@
+{
+ "shared": {
+ "appName": "ರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆ",
+ "shortDescription": "ಉಚಿತ ಮತ್ತು ಮುಕ್ತ ಮೂಲ ರೇಸುಮೆ ಬಿಲ್ಡರ್.",
+ "forms": {
+ "name": "ಹೆಸರು",
+ "title": "ಶೀರ್ಷಿಕೆ",
+ "subtitle": "ಉಪಶೀರ್ಷಿಕೆ",
+ "required": "ಅಗತ್ಯವಿದೆ",
+ "website": "ಜಾಲತಾಣ",
+ "date": "ದಿನಾಂಕ",
+ "position": "ಸ್ಥಾನ",
+ "startDate": "ಪ್ರಾರಂಭ ದಿನಾಂಕ",
+ "endDate": "ಅಂತಿಮ ದಿನಾಂಕ",
+ "address": "ವಿಳಾಸ",
+ "phone": "ದೂರವಾಣಿ ಸಂಖ್ಯೆ",
+ "email": "ಇಮೇಲ್ ವಿಳಾಸ",
+ "summary": "ಸಾರಾಂಶ",
+ "markdown": "ಈ ಪಠ್ಯ ಬ್ಲಾಕ್ <1>ಮಾರ್ಕ್ಡೌನ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ1> .",
+ "validation": {
+ "min": "ದಯವಿಟ್ಟು ಕನಿಷ್ಠ {{number}} ಅಕ್ಷರಗಳನ್ನು ನಮೂದಿಸಿ.",
+ "dateRange": "ಅಂತಿಮ ದಿನಾಂಕವು ಪ್ರಾರಂಭ ದಿನಾಂಕಕ್ಕಿಂತ ನಂತರ ಇರಬೇಕು.",
+ "email": "ಮಾನ್ಯವಾದ ಇಮೇಲ್ ವಿಳಾಸವಾಗಿರಬೇಕು.",
+ "required": "ಇದು ಅಗತ್ಯವಾದ ಕ್ಷೇತ್ರವಾಗಿದೆ.",
+ "url": "ಮಾನ್ಯವಾದ URL ಆಗಿರಬೇಕು."
+ }
+ },
+ "buttons": {
+ "add": "ಸೇರಿಸಿ",
+ "edit": "ತಿದ್ದು",
+ "cancel": "ರದ್ದುಮಾಡಿ",
+ "delete": "ಅಳಿಸಿ",
+ "loading": "ಲೋಡ್ ಆಗುತ್ತಿದೆ ...",
+ "confirmation": "ನೀವು ಖಚಿತವಾಗಿರುವಿರಾ?",
+ "login": "ಲಾಗಿನ್ ಮಾಡಿ",
+ "logout": "ಲಾಗ್ ಔಟ್"
+ }
+ },
+ "landing": {
+ "hero": {
+ "goToApp": "ಅಪ್ಲಿಕೇಶನ್ಗೆ ಹೋಗಿ"
+ }
+ },
+ "dashboard": {
+ "title": "ಡ್ಯಾಶ್ಬೋರ್ಡ್",
+ "createResume": "ರೇಸುಮೆವನ್ನು ರಚಿಸಿ",
+ "editResume": "ರೇಸುಮೆವನ್ನು ಸಂಪಾದಿಸಿ",
+ "lastUpdated": "ಕೊನೆಯದಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ {{timestamp}}",
+ "toasts": {
+ "deleted": "{{name}} ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಅಳಿಸಲಾಗಿದೆ"
+ },
+ "buttons": {
+ "duplicate": "ನಕಲು",
+ "rename": "ಮರುಹೆಸರಿಸಿ"
+ },
+ "helpText": "ನೀವು ಮೊದಲಿನಿಂದ ಹೊಸ ರೇಸುಮೆವನ್ನು ರಚಿಸಲಿದ್ದೀರಿ, ಆದರೆ ಮೊದಲು, ಅದಕ್ಕೆ ಹೆಸರನ್ನು ನೀಡೋಣ. ಇದು ನೀವು ಅರ್ಜಿ ಸಲ್ಲಿಸಲು ಬಯಸುವ ಪಾತ್ರದ ಹೆಸರಾಗಿರಬಹುದು ಅಥವಾ ನೀವು ಸ್ನೇಹಿತರಿಗಾಗಿ ರೇಸುಮೆವನ್ನು ಮಾಡುತ್ತಿದ್ದರೆ, ನೀವು ಅದನ್ನು ಅಲೆಕ್ಸ್ ರೇಸುಮೆ ಎಂದು ಕರೆಯಬಹುದು."
+ },
+ "builder": {
+ "toasts": {
+ "doesNotExist": "ನೀವು ಹುಡುಕುತ್ತಿದ್ದ ರೇಸುಮೆವು ಇನ್ನು ಮುಂದೆ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ ... ಅಥವಾ ಬಹುಶಃ ಅದು ಎಂದಿಗೂ ಆಗಲಿಲ್ಲವೇ?",
+ "loadDemoData": "ಎಲ್ಲಿಂದ ಪ್ರಾರಂಭಿಸಬೇಕು ಎಂದು ಖಚಿತವಾಗಿಲ್ಲವೇ? ರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆವು ಏನು ನೀಡುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಲು ಡೆಮೊ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ."
+ },
+ "sections": {
+ "profile": "ಪ್ರೊಫೈಲ್",
+ "social": "ಸಾಮಾಜಿಕ ತಾಣ",
+ "objective": "ಉದ್ದೇಶ",
+ "work": "ಕೆಲಸದ ಅನುಭವ",
+ "education": "ಶಿಕ್ಷಣ",
+ "project": "ಯೋಜನೆ",
+ "projects": "ಯೋಜನೆಗಳು",
+ "award": "ಪ್ರಶಸ್ತಿ",
+ "awards": "ಪ್ರಶಸ್ತಿಗಳು",
+ "certification": "ಪ್ರಮಾಣೀಕರಣ",
+ "certifications": "ಪ್ರಮಾಣೀಕರಣಗಳು",
+ "skill": "ಕೌಶಲ್ಯ",
+ "skills": "ಕೌಶಲ್ಯಗಳು",
+ "hobby": "ಹವ್ಯಾಸ",
+ "hobbies": "ಹವ್ಯಾಸಗಳು",
+ "language": "ಭಾಷೆ",
+ "languages": "ಭಾಷೆಗಳು",
+ "reference": "ಉಲ್ಲೇಖ",
+ "references": "ಉಲ್ಲೇಖಗಳು",
+ "templates": "ಟೆಂಪ್ಲೇಟ್ಗಳು",
+ "layout": "ಲೆಔಟ್",
+ "colors": "ಬಣ್ಣಗಳು",
+ "fonts": "ಫಾಂಟ್ಗಳು",
+ "actions": "ಕ್ರಿಯೆಗಳು",
+ "settings": "ಸಂಯೋಜನೆಗಳು",
+ "about": "ಬಗ್ಗೆ",
+ "heading": "ಶಿರೋನಾಮೆ"
+ },
+ "profile": {
+ "firstName": "ಮೊದಲ ಹೆಸರು",
+ "lastName": "ಕೊನೆಯ ಹೆಸರು",
+ "address": {
+ "line1": "ವಿಳಾಸ ಸಾಲು 1",
+ "line2": "ವಿಳಾಸ ಸಾಲು 2",
+ "city": "ನಗರ",
+ "pincode": "ಪಿನ್ಕೋಡ್"
+ },
+ "photograph": "ಫೋಟೋ"
+ },
+ "social": {
+ "network": "ನೆಟ್ವರ್ಕ್",
+ "username": "ಬಳಕೆದಾರ ಹೆಸರು",
+ "url": "URL"
+ },
+ "work": {
+ "company": "ಕಂಪನಿ"
+ },
+ "education": {
+ "institution": "ಸಂಸ್ಥೆ",
+ "field": "ಅಧ್ಯಯನದ ಕ್ಷೇತ್ರ",
+ "degree": "ಪದವಿ ಪ್ರಕಾರ",
+ "gpa": "ಜಿಪಿಎ"
+ },
+ "awards": {
+ "awarder": "ಪ್ರಶಸ್ತಿ ಪುರಸ್ಕೃತ"
+ },
+ "certifications": {
+ "issuer": "ನೀಡುವವರು"
+ },
+ "skills": {
+ "level": "ಮಟ್ಟ"
+ },
+ "languages": {
+ "fluency": "ನಿರರ್ಗಳತೆ"
+ },
+ "layout": {
+ "block": "ನಿರ್ಬಂಧಿಸಿ",
+ "reset": "ವಿನ್ಯಾಸವನ್ನು ಮರುಹೊಂದಿಸಿ",
+ "text": "ಈ ಟೆಂಪ್ಲೇಟ್ {{count}} ಬ್ಲಾಕ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ."
+ },
+ "colors": {
+ "primary": "ಪ್ರಾಥಮಿಕ ಬಣ್ಣ",
+ "text": "ಪಠ್ಯ ಬಣ್ಣ",
+ "background": "ಹಿನ್ನೆಲೆ ಬಣ್ಣ"
+ },
+ "actions": {
+ "import": {
+ "heading": "ನಿಮ್ಮ ರೇಸುಮೆವನ್ನು ಆಮದು ಮಾಡಿ",
+ "text": "ನಿಮ್ಮ ರೇಸುಮೆಕ್ಕಾಗಿ ಹೆಚ್ಚಿನ ಡೇಟಾವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಭರ್ತಿ ಮಾಡಲು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು JSON ರೇಸುಮೆ ಅಥವಾ ನಿಮ್ಮ ಲಿಂಕ್ಡ್ಇನ್ನಂತಹ ವಿವಿಧ ಮೂಲಗಳಿಂದ ಆಮದು ಮಾಡಿಕೊಳ್ಳಬಹುದು.",
+ "button": "ಆಮದು"
+ },
+ "export": {
+ "heading": "ನಿಮ್ಮ ರೇಸುಮೆವನ್ನು ರಫ್ತು ಮಾಡಿ",
+ "text": "ನೇಮಕಾತಿಗಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಲು ನಿಮ್ಮ ರೇಸುಮೆವನ್ನು ಪಿಡಿಎಫ್ ಆಗಿ ರಫ್ತು ಮಾಡಿ ಅಥವಾ ಇನ್ನೊಂದು ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ಈ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಮರಳಿ ಆಮದು ಮಾಡಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ.",
+ "button": "ರಫ್ತು ಮಾಡಿ"
+ },
+ "share": {
+ "heading": "ನಿಮ್ಮ ರೇಸುಮೆವನ್ನು ಹಂಚಿಕೊಳ್ಳಿ",
+ "text": "ನೀವು ಅದನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಆರಿಸಿದರೆ ಕೆಳಗಿನ ಲಿಂಕ್ ಅನ್ನು ಸಾರ್ವಜನಿಕವಾಗಿ ಪ್ರವೇಶಿಸಬಹುದು ಮತ್ತು ವೀಕ್ಷಕರು ನಿಮ್ಮ ರೇಸುಮೆದ ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯನ್ನು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೋಡುತ್ತಾರೆ."
+ },
+ "loadDemoData": {
+ "text": "ಹೊಸ ಖಾಲಿ ಪುಟದೊಂದಿಗೆ ಏನು ಮಾಡಬೇಕೆಂದು ಸ್ಪಷ್ಟವಾಗಿಲ್ಲವೇ? ರೇಸುಮೆ ಹೇಗೆ ಕಾಣುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಲು ಕೆಲವು ಡೆಮೊ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ನೀವು ಅಲ್ಲಿಂದ ಸಂಪಾದನೆಯನ್ನು ಪ್ರಾರಂಭಿಸಬಹ��ದು.",
+ "button": "ಡೆಮೊ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿ"
+ },
+ "resetEverything": {
+ "text": "ನೀವು ತುಂಬಾ ತಪ್ಪುಗಳನ್ನು ಮಾಡಿದ್ದೀರಿ ಎಂದು ಅನಿಸುತ್ತದೆಯೇ? ಚಿಂತಿಸಬೇಡಿ, ಕೇವಲ ಒಂದು ಕ್ಲಿಕ್ನಲ್ಲಿ ಎಲ್ಲವನ್ನೂ ತೆರವುಗೊಳಿಸಿ, ಆದರೆ ಬ್ಯಾಕಪ್ಗಳಿಲ್ಲದಿದ್ದರೆ ಜಾಗರೂಕರಾಗಿರಿ.",
+ "button": "ಎಲ್ಲವನ್ನೂ ಮರುಹೊಂದಿಸಿ"
+ }
+ },
+ "settings": {
+ "theme": "ಥೀಮ್",
+ "language": "ಭಾಷೆ",
+ "translate": "ನಿಮ್ಮ ಭಾಷೆಯಲ್ಲಿ ಅನುವಾದಗಳನ್ನು ಒದಗಿಸುವ ಮೂಲಕ ನೀವು ಕೊಡುಗೆ ನೀಡಲು ಬಯಸಿದರೆ, <1>ದಯವಿಟ್ಟು ಈ ಲಿಂಕ್ಗೆ ಭೇಟಿ ನೀಡಿ1> .",
+ "dangerZone": {
+ "heading": "ಅಪಾಯ ವಲಯ",
+ "text": "ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಅಳಿಸಲು ಮತ್ತು ನಿಮ್ಮ ಎಲ್ಲಾ ಮುಂದುವರಿಕೆಗಳನ್ನು ಅಳಿಸಲು ನೀವು ಬಯಸಿದರೆ, ಅದು ಕೇವಲ ಒಂದು ಬಟನ್ ದೂರದಲ್ಲಿದೆ. ಇದು ಬದಲಾಯಿಸಲಾಗದ ಪ್ರಕ್ರಿಯೆಯಾಗಿರುವುದರಿಂದ ದಯವಿಟ್ಟು ದಣಿದಿರಿ.",
+ "button": "ಖಾತೆಯನ್ನು ಅಳಿಸಿ"
+ }
+ },
+ "about": {
+ "donate": {
+ "heading": "ರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆಗೆ ದಾನ ಮಾಡಿ",
+ "text": "ನಾನು ಏನು ಮಾಡಬಹುದೆಂಬುದನ್ನು ಮಾಡಲು ನಾನು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ, ಆದರೆ ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಸಹಾಯಕವಾಗಿದೆಯೆಂದು ಕಂಡುಕೊಂಡರೆ ಅಥವಾ ಅವರ ಮೊದಲ ಕೆಲಸಕ್ಕಾಗಿ ಈ ಯೋಜನೆಯನ್ನು ಅವಲಂಬಿಸಿರುವ ಇತರರಿಗಿಂತ ನೀವು ಉತ್ತಮ ಸ್ಥಾನದಲ್ಲಿದ್ದರೆ, <1> ದಯವಿಟ್ಟು ಸಹಾಯ ಮಾಡಲು $ 5 ರಷ್ಟನ್ನು ದಾನ ಮಾಡುವುದನ್ನು ಪರಿಗಣಿಸಿ ಯೋಜನೆ ಜೀವಂತವಾಗಿದೆ 1> :)",
+ "button": "ನನಗೆ ಕಾಫಿ ಖರೀದಿಸಿ!"
+ },
+ "bugFeature": {
+ "heading": "ದೋಷ? ವೈಶಿಷ್ಟ್ಯ ವಿನಂತಿ?",
+ "text": "ರೇಸುಮೆವನ್ನು ಮಾಡುವುದರಿಂದ ನಿಮ್ಮ ಪ್ರಗತಿಯನ್ನು ಏನಾದರೂ ತಡೆಯುತ್ತೀರಾ? ತೊರೆಯದಂತಹ ತೊಂದರೆ ದೋಷ ಕಂಡುಬಂದಿದೆ? ಕೆಳಗಿನ ಕ್ರಿಯೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಗಿಟ್ಹಬ್ ಸಮಸ್ಯೆಗಳ ವಿಭಾಗದಲ್ಲಿ ಇದರ ಬಗ್ಗೆ ಮಾತನಾಡಿ.",
+ "button": "ಸಮಸ್ಯೆಯನ್ನು ಹೆಚ್ಚಿಸಿ"
+ },
+ "appreciate": {
+ "heading": "ರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆವನ್ನು ಇಷ್ಟಪಟ್ಟಿದ್ದೀರಾ?",
+ "text": "ಈ ಅಪ್ಲಿಕೇಶನ್ ಜನರಿಗೆ ಹೇಗೆ ಸಹಾಯ ಮಾಡಿದೆ ಎಂಬ ಕಥೆಗಳನ್ನು ಕೇಳಿದಾಗ ನಾನು ಎಂದಿಗೂ ಸುಸ್ತಾಗುವುದಿಲ್ಲ, ಮತ್ತು ಅದು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಿದರೆ ಅಥವಾ ರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆವನ್ನು ಅದ್ಭುತ ಸಾಧನವೆಂದು ನೀವು ಕಂಡುಕೊಂಡಿದ್ದರೆ, ನನಗೆ ತಿಳಿಸಿ. ನನ್ನ ವೆಬ್ಸೈಟ್ನಲ್ಲಿ ನೀವು ನನ್ನನ್ನು ಸಂಪರ್ಕಿಸಬಹುದು."
+ },
+ "sourceCode": {
+ "heading": "ಮೂಲ ಕೋಡ್",
+ "text": "ಯೋಜನೆಯನ್ನು ಅದರ ಮೂಲದಿಂದ ಚಲಾಯಿಸಲು ಬಯಸುವಿರಾ? ಈ ಯೋಜನೆಯ ಮುಕ್ತ ಮೂಲ ಅಭಿವೃದ್ಧಿಗೆ ಕೊಡುಗೆ ನೀಡಲು ನೀವು ಸಿದ್ಧರಿದ್ದೀರಾ? ಕೆಳಗಿನ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ.",
+ "button": "ಗಿಟ್ಹಬ್ ರೆಪೊ"
+ },
+ "footer": "<1>ಅಮೃತ್ ಪಿಳ್ಳೈ1> ಅವರಿಂದ ಪ್ರೀತಿಯಿಂದ ಮಾಡಲ್ಪಟ್ಟಿದೆ"
+ },
+ "tooltips": {
+ "uploadPhotograph": "Ograph ಾಯಾಚಿತ್ರವನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ",
+ "backToDashboard": "ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗೆ ಹಿಂತಿರುಗಿ"
+ },
+ "emptyList": "ಈ ಪಟ್ಟಿ ಖಾಲಿಯಾಗಿದೆ."
+ },
+ "modals": {
+ "auth": {
+ "whoAreYou": "ನೀವು ಯಾರು?",
+ "welcome": "ಸ್ವಾಗತ, {{name}}!",
+ "loggedOutText": "ರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆ ನೀವು ಯಾರೆಂದು ತಿಳಿದುಕೊಳ್ಳಬೇಕು ಆದ್ದರಿಂದ ಅದು ನಿಮ್ಮನ್ನು ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಸುರಕ್ಷಿತವಾಗಿ ದೃ ate ೀಕರಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಾತ್ರ ತೋರಿಸುತ್ತದೆ. ನೀವು ಪ್ರವೇಶಿಸಿದ ನಂತರ, ನಿಮ್ಮ ರೇಸುಮೆವನ್ನು ನಿರ್ಮಿಸಲು, ಹೊಸ ಕೌಶಲ್ಯಗಳನ್ನು ಸೇರಿಸಲು ಅದನ್ನು ಸಂಪಾದಿಸಲು ಅಥವಾ ಅದನ್ನು ಜಗತ್ತಿನೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಲು ನೀವು ಪ್ರಾರಂಭಿಸಬಹುದು!",
+ "loggedInText": "ಅದ್ಭುತ. ಈಗ ನೀವು ನಿಮ್ಮನ್ನು ದೃ ated ೀಕರಿಸಿದ್ದೀರಿ, ನೀವು ಇಲ್ಲಿರುವ ನಿಜವಾದ ಕಾರಣವನ್ನು ನಾವು ಪಡೆಯಬಹುದು. ನಿಮ್ಮ ರೇಸುಮೆವನ್ನು ನಿರ್ಮಿಸಲು ಪ್ರಾರಂಭಿಸಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಹೋಗಿ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ!",
+ "buttons": {
+ "google": "Google ನೊಂದಿಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ",
+ "anonymous": "ಅನಾಮಧೇಯವಾಗಿ ಸೈನ್ ಇನ್ ಮಾಡಿ"
+ }
+ },
+ "import": {
+ "button": "ಫೈಲ್ ಆಯ್ಕೆಮಾಡಿ",
+ "reactiveResume": {
+ "heading": "ಪರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆದಿಂದ ಆಮದು ಮಾಡಿ",
+ "text": "ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮ್ ತನ್ನದೇ ಆದ ಸ್ಕೀಮಾ ಸ್ವರೂಪವನ್ನು ಹೊಂದಿದ್ದು ಅದು ನೀಡುವ ಎಲ್ಲಾ ಗ್ರಾಹಕೀಯಗೊಳಿಸಬಹುದಾದ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಹೆಚ್ಚು ಮಾಡುತ್ತದೆ. ಈ ಅಪ್ಲಿಕೇಶನ್ನೊಂದಿಗೆ ಮಾಡಿದ ನಿಮ್ಮ ರೇಸುಮೆದ ಬ್ಯಾಕಪ್ ಅನ್ನು ಆಮದು ಮಾಡಲು ನೀವು ಬಯಸಿದರೆ, ಕೆಳಗಿನ ಬಟನ್ ಬಳಸಿ ಫೈಲ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ."
+ },
+ "jsonResume": {
+ "heading": "JSON ರೇಸುಮೆದಿಂದ ಆಮದು ಮಾಡಿ",
+ "text": "JSON ರೇಸುಮೆವು ಸ್ಕೀಮಾ ರಚನೆಗೆ ಮುಕ್ತ ಮಾನದಂಡವಾಗಿದೆ. ಈ ಸ್ವರೂಪದಲ್ಲಿ ತಮ್ಮ ರೇಸುಮೆವನ್ನು ಸಿದ್ಧಪಡಿಸಿದ ಅನೇಕ ಉತ್ಸಾಹಿಗಳಲ್ಲಿ ನೀವು ಒಬ್ಬರಾಗಿದ್ದರೆ, ರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆದೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲು ಕೇವಲ ಒಂದು ಕ್ಲಿಕ್ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ."
+ },
+ "linkedIn": {
+ "heading": "ಲಿಂಕ್ಡ್ ಇನಿಂಧ ಆಮದು ಮಾಡಿ",
+ "text": "ಕೆಳಗಿನ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಸೂಕ್ತವಾದ ಫೈಲ್ ಅನ್ನು ಆರಿಸುವ ಮೂಲಕ ರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆದಿಂದ ರಫ್ತು ಮಾಡಲಾದ JSON ಅನ್ನು ನೀವು ಆಮದು ಮಾಡಿಕೊಳ್ಳಬಹುದು."
+ }
+ },
+ "export": {
+ "printDialog": {
+ "heading": "ಬ್ರೌಸರ್ನ ಮುದ್ರಣ ಸಂವಾದವನ್ನು ಬಳಸಿ",
+ "text": "ತ್ವರಿತ ಪರಿಹಾರವನ್ನು ಬಯಸುವ ನಿಮ್ಮಲ್ಲಿ, ನಿಮ್ಮ ಬ್ರೌಸರ್ಗಿಂತ ಹೆಚ್ಚಿನದನ್ನು ನೀವು ನೋಡಬೇಕಾಗಿಲ್ಲ. ನೀವು ಮಾಡಬೇಕಾಗಿರುವುದು Ctrl / Cmd + P ಅನ್ನು ಒತ್ತಿ ಮತ್ತು ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ ಮುದ್ರಣ ಸಂವಾದವನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ನಿಮ್ಮ ರೇಸುಮೆವನ್ನು ತಕ್ಷಣ ಮುದ್ರಿಸಿ.",
+ "button": "ರೇಸುಮೆವನ್ನು ಮುದ್ರಿಸಿ"
+ },
+ "downloadPDF": {
+ "heading": "ಪಿಡಿಎಫ್ ಡೌನ್ಲೋಡ್ ಮಾಡಿ",
+ "text": "ಈ ಆಯ್ಕೆಗಳು ಒಂದೇ ಪುಟವನ್ನು ಮುದ್ರಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ನಿಮ್ಮ ರೇಸುಮೆದ ನಿರ್ಬಂಧಿಸದ ಆವೃತ್ತಿ, ಬಹಳಷ್ಟು ವಿಷಯವನ್ನು ಹೊಂದಿರುವವರಿಗೆ ಇದು ಸೂಕ್ತವಾಗಿದೆ. ಪರ್ಯಾಯವಾಗಿ, ನಿಮ್ಮ ರೇಸುಮೆದ ಬಹು-ಪುಟ ಆವೃತ್ತಿಯನ್ನು ನೀವು ಕೇವಲ ಒಂದು ಕ್ಲಿಕ್ನಲ್ಲಿ ಡೌನ್ಲೋಡ್ ಮಾಡಬಹುದು.",
+ "buttons": {
+ "single": "ಏಕ ಪುಟ ರೇಸುಮೆ",
+ "multi": "ಬಹು ಪುಟ ರೇಸುಮೆ"
+ }
+ },
+ "jsonFormat": {
+ "heading": "JSON ಸ್ವರೂಪಕ್ಕೆ ರಫ್ತು ಮಾಡಿ",
+ "text": "ಸುರಕ್ಷಿತವಾಗಿಡಲು ನಿಮ್ಮ ಡೇಟಾವನ್ನು ನೀವು JSON ಸ್ವರೂಪಕ್ಕೆ ರಫ್ತು ಮಾಡಬಹುದು, ಇದರಿಂದಾಗಿ ನೀವು ರೇಸುಮೆವನ್ನು ಸಂಪಾದಿಸಲು ಅಥವಾ ಉತ್ಪಾದಿಸಲು ಬಯಸಿದಾಗಲೆಲ್ಲಾ ಅದನ್ನು ಸುಲಭವಾಗಿ ರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆಗೆ ಆಮದು ಮಾಡಿಕೊಳ್ಳಬಹುದು.",
+ "button": "JSON ರಫ್ತು ಮಾಡಿ"
+ }
+ }
+ }
+}
diff --git a/src/i18n/locales/kn/app/app.json b/src/i18n/locales/kn/app/app.json
deleted file mode 100644
index 049b58b41..000000000
--- a/src/i18n/locales/kn/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "{{- heading}} ಸೇರಿಸಿ",
- "startDate": {
- "label": "ಪ್ರಾರಂಭ ದಿನಾಂಕ"
- },
- "endDate": {
- "label": "ಅಂತಿಮ ದಿನಾಂಕ"
- },
- "description": {
- "label": "ವಿವರಣೆ"
- }
- },
- "buttons": {
- "add": {
- "label": "ಸೇರಿಸಿ"
- },
- "delete": {
- "label": "ಅಳಿಸಿ"
- }
- },
- "printDialog": {
- "heading": "ನಿಮ್ಮ ರೇಸುಮೇ ಡೌನ್ಲೋಡ್ ಮಾಡಿ",
- "quality": {
- "label": "ಗುಣಮಟ್ಟದ ಮೌಲ್ಯ"
- },
- "printType": {
- "label": "ವಿಧ",
- "types": {
- "unconstrained": "ನಿರ್ಬಂಧಿಸದ",
- "fitInA4": "ಎ4 ನಲ್ಲಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ",
- "multiPageA4": "ಬಹು ಪುಟ ಎ4"
- }
- },
- "helpText": [
- "ಈ ವಿಧಾನವು ಎಚ್ಟಿಎಮ್ಎಲ್ ಕ್ಯಾನ್ವಾಸ್ ಅನ್ನು ರೇಸ್ಯುಯುಮೇಯನ್ನು ಚಿತ್ರವನ್ನಾಗಿ ಪರಿವರ್ತಿಸಲು ಮತ್ತು ಅದನ್ನು ಪಿಡಿಎಫ್ನಲ್ಲಿ ಮುದ್ರಿಸಲು ಬಳಸುತ್ತದೆ, ಅಂದರೆ ಇದು ಎಲ್ಲಾ ಆಯ್ಕೆ / ಪಾರ್ಸಿಂಗ್ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತದೆ.",
- "ಅದು ನಿಮಗೆ ಮುಖ್ಯವಾಗಿದ್ದರೆ, ದಯವಿಟ್ಟು Cmd / Ctrl + P ಅಥವಾ ಕೆಳಗಿನ ಮುದ್ರಣ ಗುಂಡಿಯನ್ನು ಬಳಸಿ ಪುನರಾರಂಭವನ್ನು ಮುದ್ರಿಸಲು ಪ್ರಯತ್ನಿಸಿ. Output ಟ್ಪುಟ್ ಬ್ರೌಸರ್ ಅವಲಂಬಿತವಾಗಿರುವುದರಿಂದ ಫಲಿತಾಂಶವು ಬದಲಾಗಬಹುದು, ಆದರೆ ಇದು Google Chrome ನ ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯಲ್ಲಿ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ."
- ],
- "buttons": {
- "cancel": "ತ್ಯಜಿಸಿ",
- "saveAsPdf": "ಪಿಡಿಎಫ್ ಡೌನ್ಲೋಡ್ ಮಾಡಿ"
- }
- },
- "panZoomAnimation": {
- "helpText": "ನಿಮ್ಮ ರೇಸ್ಯುಮೇಯನ್ನು ಹತ್ತಿರದಿಂದ ನೋಡಲು ನೀವು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಆರ್ಟ್ಬೋರ್ಡ್ನ ಸುತ್ತಲೂ ಪ್ಯಾನ್ ಮಾಡಬಹುದು ಮತ್ತು ಜೂಮ್ ಮಾಡಬಹುದು."
- },
- "markdownHelpText": "ಪಠ್ಯದ ಈ ವಿಭಾಗವನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲು ನೀವು <1>ಗಿಟ್ಹಬ್ ಫ್ಲೇವರ್ಡ್ ಮಾರ್ಕ್ಡೌನ್1> ಅನ್ನು ಬಳಸಬಹುದು."
-}
diff --git a/src/i18n/locales/kn/app/index.js b/src/i18n/locales/kn/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/kn/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/kn/index.js b/src/i18n/locales/kn/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/kn/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/kn/leftSidebar/awards.json b/src/i18n/locales/kn/leftSidebar/awards.json
deleted file mode 100644
index 32365b6b9..000000000
--- a/src/i18n/locales/kn/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "ಶೀರ್ಷಿಕೆ"
- },
- "subtitle": {
- "label": "ಉಪಶೀರ್ಷಿಕೆ"
- }
-}
diff --git a/src/i18n/locales/kn/leftSidebar/certifications.json b/src/i18n/locales/kn/leftSidebar/certifications.json
deleted file mode 100644
index b0600b543..000000000
--- a/src/i18n/locales/kn/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "ಹೆಸರು"
- },
- "subtitle": {
- "label": "ಪ್ರಾಧಿಕಾರ"
- }
-}
diff --git a/src/i18n/locales/kn/leftSidebar/education.json b/src/i18n/locales/kn/leftSidebar/education.json
deleted file mode 100644
index 284abfc2d..000000000
--- a/src/i18n/locales/kn/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "ಹೆಸರು"
- },
- "major": {
- "label": "ಅಧ್ಯಯನ"
- },
- "grade": {
- "label": "ಗ್ರೇಡ್"
- }
-}
diff --git a/src/i18n/locales/kn/leftSidebar/extras.json b/src/i18n/locales/kn/leftSidebar/extras.json
deleted file mode 100644
index a50e6532a..000000000
--- a/src/i18n/locales/kn/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "ಕೀ"
- },
- "value": {
- "label": "ಮೌಲ್ಯ"
- }
-}
diff --git a/src/i18n/locales/kn/leftSidebar/index.js b/src/i18n/locales/kn/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/kn/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/kn/leftSidebar/languages.json b/src/i18n/locales/kn/leftSidebar/languages.json
deleted file mode 100644
index 6a0e29620..000000000
--- a/src/i18n/locales/kn/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "ಹೆಸರು"
- },
- "level": {
- "label": "ಮಟ್ಟ"
- },
- "rating": {
- "label": "ರೇಟಿಂಗ್"
- }
-}
diff --git a/src/i18n/locales/kn/leftSidebar/objective.json b/src/i18n/locales/kn/leftSidebar/objective.json
deleted file mode 100644
index db0cf204c..000000000
--- a/src/i18n/locales/kn/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "ಉದ್ದೇಶ"
- }
-}
diff --git a/src/i18n/locales/kn/leftSidebar/profile.json b/src/i18n/locales/kn/leftSidebar/profile.json
deleted file mode 100644
index 1fea21f13..000000000
--- a/src/i18n/locales/kn/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "ಫೋಟೋ URL"
- },
- "firstName": {
- "label": "ಮೊದಲ ಹೆಸರು"
- },
- "lastName": {
- "label": "ಕೊನೆಯ ಹೆಸರು"
- },
- "subtitle": {
- "label": "ಉಪಶೀರ್ಷಿಕೆ"
- },
- "address": {
- "label": "ವಿಳಾಸ",
- "line1": {
- "label": "ವಿಳಾಸ ಸಾಲು 1"
- },
- "line2": {
- "label": "ವಿಳಾಸ ಸಾಲು 2"
- },
- "line3": {
- "label": "ವಿಳಾಸ ಸಾಲು 3"
- }
- },
- "phone": {
- "label": "ದೂರವಾಣಿ ಸಂಖ್ಯೆ"
- },
- "website": {
- "label": "ಜಾಲತಾಣ"
- },
- "email": {
- "label": "ಇಮೇಲ್ ವಿಳಾಸ"
- }
-}
diff --git a/src/i18n/locales/kn/leftSidebar/references.json b/src/i18n/locales/kn/leftSidebar/references.json
deleted file mode 100644
index 4bf876ac2..000000000
--- a/src/i18n/locales/kn/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "ಹೆಸರು"
- },
- "position": {
- "label": "ಸ್ಥಾನ"
- },
- "phone": {
- "label": "ದೂರವಾಣಿ ಸಂಖ್ಯೆ"
- },
- "email": {
- "label": "ಇಮೇಲ್ ವಿಳಾಸ"
- }
-}
diff --git a/src/i18n/locales/kn/leftSidebar/work.json b/src/i18n/locales/kn/leftSidebar/work.json
deleted file mode 100644
index b200e3840..000000000
--- a/src/i18n/locales/kn/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "ಹೆಸರು"
- },
- "role": {
- "label": "ಸ್ಥಾನ"
- }
-}
diff --git a/src/i18n/locales/kn/rightSidebar/about.json b/src/i18n/locales/kn/rightSidebar/about.json
deleted file mode 100644
index 42294566c..000000000
--- a/src/i18n/locales/kn/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "ಅಪ್ಲಿಕೇಶನ್ ಬಗ್ಗೆ",
- "documentation": {
- "heading": "ದಸ್ತಾವೇಜನ್ನು",
- "body": "ಅಪ್ಲಿಕೇಶನ್ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸುವಿರಾ? ಅಪ್ಲಿಕೇಶನ್ಗೆ ಹೇಗೆ ಕೊಡುಗೆ ನೀಡಬೇಕು ಎಂಬುದರ ಕುರಿತು ಮಾಹಿತಿ ಬೇಕೇ? ಮುಂದೆ ನೋಡಬೇಡಿ, ನಿಮಗಾಗಿ ಮಾಡಿದ ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿ ಇದೆ.",
- "buttons": {
- "documentation": "ದಸ್ತಾವೇಜನ್ನು"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "ಸಮಸ್ಯೆ? ಹೊಸ ಆಲೋಚನೆ?",
- "body": "ಪುನರಾರಂಭವನ್ನು ಮಾಡುವುದರಿಂದ ನಿಮ್ಮ ಪ್ರಗತಿಯನ್ನು ಏನಾದರೂ ತಡೆಯುತ್ತೀರಾ? ತೊರೆಯದಂತಹ ತೊಂದರೆ ದೋಷ ಕಂಡುಬಂದಿದೆ? GitHub ಸಮಸ್ಯೆಗಳ ವಿಭಾಗದಲ್ಲಿ ಇದರ ಬಗ್ಗೆ ಮಾತನಾಡಿ, ಅಥವಾ ಕೆಳಗಿನ ಕ್ರಿಯೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನನಗೆ ಮತ್ತು ಇಮೇಲ್ ಕಳುಹಿಸಿ.",
- "buttons": {
- "raiseIssue": "ಸಮಸ್ಯೆಯ ಬಗ್ಗೆ ತಿಳಿಸಿ",
- "sendEmail": "ಇಮೇಲ್ ಕಳುಹಿಸಿ"
- }
- },
- "sourceCode": {
- "heading": "ಸೋರ್ಸ್ ಕೋಡ್",
- "body": "ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅದರ ಮೂಲದಿಂದ ಚಲಾಯಿಸಲು ಬಯಸುವಿರಾ? ಈ ಅಪ್ಲಿಕೇಶನ್ನ ಮುಕ್ತ-ಮೂಲ ಅಭಿವೃದ್ಧಿಗೆ ಕೊಡುಗೆ ನೀಡಲು ನೀವು ಸಿದ್ಧರಿದ್ದೀರಾ? ಕೆಳಗಿನ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ.",
- "buttons": {
- "githubRepo": "ಗಿಟ್ಹಬ್ ರಿಪೋ"
- }
- },
- "license": {
- "heading": "ಪರವಾನಗಿ ಮಾಹಿತಿ",
- "body": "ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಎಂಐಟಿ ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ನಿಯಂತ್ರಿಸಲಾಗುತ್ತದೆ, ಅದನ್ನು ನೀವು ಕೆಳಗೆ ಇನ್ನಷ್ಟು ಓದಬಹುದು. ನೀವು ಮೂಲ ಲೇಖಕರಿಗೆ ಕ್ರೆಡಿಟ್ ನೀಡಿದರೆ ಎಲ್ಲಿಯಾದರೂ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿ ಇದೆ.",
- "buttons": {
- "mitLicense": "ಎಂಐಟಿ ಪರವಾನಗಿ"
- }
- },
- "footer": {
- "credit": "<1>ಅಮೃತ್ ಪಿಳ್ಳೈ1> ಅವರಿಂದ ಪ್ರೀತಿಯಿಂದ ಮಾಡಲ್ಪಟ್ಟಿದೆ",
- "thanks": "ರಿಯಾಕ್ಟಿವ್ ರೆಸುಮೇ ಬಳಸಿದ್ದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು!"
- }
-}
diff --git a/src/i18n/locales/kn/rightSidebar/actions.json b/src/i18n/locales/kn/rightSidebar/actions.json
deleted file mode 100644
index 8d4bf9f21..000000000
--- a/src/i18n/locales/kn/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "ಕ್ರಿಯೆಗಳು",
- "disclaimer": "ನಿಮ್ಮ ಪುನರಾರಂಭದಲ್ಲಿ ನೀವು ಮಾಡಿದ ಬದಲಾವಣೆಗಳನ್ನು ನಿಮ್ಮ ಬ್ರೌಸರ್ನ ಸ್ಥಳೀಯ ಸಂಗ್ರಹಣೆಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಉಳಿಸಲಾಗುತ್ತದೆ. ಯಾವುದೇ ಡೇಟಾ ಹೊರಬರುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ನಿಮ್ಮ ಮಾಹಿತಿಯು ಸಂಪೂರ್ಣವಾಗಿ ಸುರಕ್ಷಿತವಾಗಿದೆ.",
- "importExport": {
- "heading": "ಆಮದು / ರಫ್ತು",
- "body": "ನಿಮ್ಮ ಡೇಟಾವನ್ನು ನೀವು JSON ಸ್ವರೂಪದಲ್ಲಿ ಆಮದು ಮಾಡಿಕೊಳ್ಳಬಹುದು ಅಥವಾ ರಫ್ತು ಮಾಡಬಹುದು. ಇದರೊಂದಿಗೆ, ನೀವು ಯಾವುದೇ ಸಾಧನದಿಂದ ನಿಮ್ಮ ಪುನರಾರಂಭವನ್ನು ಸಂಪಾದಿಸಬಹುದು ಮತ್ತು ಮುದ್ರಿಸಬಹುದು. ನಂತರದ ಬಳಕೆಗಾಗಿ ಈ ಫೈಲ್ ಅನ್ನು ಉಳಿಸಿ.",
- "buttons": {
- "import": "ಆಮದು",
- "export": "ರಫ್ತು"
- }
- },
- "downloadResume": {
- "heading": "ನಿಮ್ಮ ರೇಸುಮೇ ಡೌನ್ಲೋಡ್ ಮಾಡಿ",
- "body": "ನಿಮ್ಮ ರೇಸುಮೇಯ ಪಿಡಿಎಫ್ ಅನ್ನು ತಕ್ಷಣ ಡೌನ್ಲೋಡ್ ಮಾಡಲು ನೀವು ಕೆಳಗಿನ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಬಹುದು. ಉತ್ತಮ ಫಲಿತಾಂಶಗಳಿಗಾಗಿ, ದಯವಿಟ್ಟು ಇತ್ತೀಚಿನ Google Chrome ಅನ್ನು ಬಳಸಿ.",
- "buttons": {
- "saveAsPdf": "ಪಿಡಿಎಫ್ ಡೌನ್ಲೋಡ್ ಮಾಡಿ"
- }
- },
- "loadDemoData": {
- "heading": "ಡೆಮೊ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿ",
- "body": "ಹೊಸ ಖಾಲಿ ಪುಟದೊಂದಿಗೆ ಏನು ಮಾಡಬೇಕೆಂದು ಸ್ಪಷ್ಟವಾಗಿಲ್ಲವೇ? ರೇಸ್ಸುಮೇ ಹೇಗೆ ಕಾಣಬೇಕು ಎಂಬುದನ್ನು ನೋಡಲು ಪೂರ್ವಭಾವಿ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಕೆಲವು ಡೆಮೊ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ನೀವು ಅಲ್ಲಿಂದ ಸಂಪಾದನೆಯನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು.",
- "buttons": {
- "loadData": "ಲೋಡ್ ಡೇಟಾ"
- }
- },
- "reset": {
- "heading": "ಎಲ್ಲವನ್ನೂ ಮರುಹೊಂದಿಸಿ!",
- "body": "ಈ ಕ್ರಿಯೆಯು ನಿಮ್ಮ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಮರುಹೊಂದಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಬ್ರೌಸರ್ನ ಸ್ಥಳೀಯ ಸಂಗ್ರಹಣೆಗೆ ಮಾಡಿದ ಬ್ಯಾಕಪ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಎಲ್ಲವನ್ನೂ ಮರುಹೊಂದಿಸುವ ಮೊದಲು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ರಫ್ತು ಮಾಡಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.",
- "buttons": {
- "reset": "ಮರುಹೊಂದಿಸಿ"
- }
- }
-}
diff --git a/src/i18n/locales/kn/rightSidebar/colors.json b/src/i18n/locales/kn/rightSidebar/colors.json
deleted file mode 100644
index 9d51c049f..000000000
--- a/src/i18n/locales/kn/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "ಬಣ್ಣಗಳು",
- "colorOptions": "ಬಣ್ಣ ಆಯ್ಕೆಗಳು",
- "primaryColor": "ಪ್ರಾಥಮಿಕ ಬಣ್ಣ",
- "accentColor": "ದ್ವಿತೀಯಕ ಬಣ್ಣ",
- "clipboardCopyAction": "{{color}} ಬಣ್ಣವನ್ನು ಕ್ಲಿಪ್ಬೋರ್ಡ್ಗೆ ನಕಲಿಸಲಾಗಿದೆ."
-}
diff --git a/src/i18n/locales/kn/rightSidebar/fonts.json b/src/i18n/locales/kn/rightSidebar/fonts.json
deleted file mode 100644
index 94ef1cb3c..000000000
--- a/src/i18n/locales/kn/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "ಫಾಂಟ್ಗಳು",
- "fontFamily": {
- "label": "ಫಾಂಟ್ ಕುಟುಂಬ",
- "helpText": "ನಿಮ್ಮ ಸಿಸ್ಟಂನಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾದ ಯಾವುದೇ ಫಾಂಟ್ ಅನ್ನು ನೀವು ಬಳಸಬಹುದು. ಇಲ್ಲಿ ಫಾಂಟ್ನ ಹೆಸರನ್ನು ನಮೂದಿಸಿ ಮತ್ತು ಬ್ರೌಸರ್ ಅದನ್ನು ನಿಮಗಾಗಿ ಲೋಡ್ ಮಾಡುತ್ತದೆ."
- }
-}
diff --git a/src/i18n/locales/kn/rightSidebar/index.js b/src/i18n/locales/kn/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/kn/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/kn/rightSidebar/settings.json b/src/i18n/locales/kn/rightSidebar/settings.json
deleted file mode 100644
index 41b250f79..000000000
--- a/src/i18n/locales/kn/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "ಸೆಟ್ಟಿಂಗ್ಸ್",
- "language": {
- "label": "ಭಾಷೆ",
- "helpText": "ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿಮ್ಮ ಸ್ವಂತ ಭಾಷೆಗೆ ಭಾಷಾಂತರಿಸಲು ನೀವು ಸಹಾಯ ಮಾಡಲು ಬಯಸಿದರೆ, ದಯವಿಟ್ಟು <1>ಅನುವಾದ ದಾಖಲೆ1> ಅನ್ನು ನೋಡಿ."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/kn/rightSidebar/templates.json b/src/i18n/locales/kn/rightSidebar/templates.json
deleted file mode 100644
index c34ddc47c..000000000
--- a/src/i18n/locales/kn/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "ಟೆಂಪ್ಲೇಟ್ಗಳು"
-}
diff --git a/src/i18n/locales/ko/app/app.json b/src/i18n/locales/ko/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/ko/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/ko/app/index.js b/src/i18n/locales/ko/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/ko/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/ko/index.js b/src/i18n/locales/ko/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/ko/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/ko/leftSidebar/awards.json b/src/i18n/locales/ko/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/ko/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/ko/leftSidebar/certifications.json b/src/i18n/locales/ko/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/ko/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/ko/leftSidebar/education.json b/src/i18n/locales/ko/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/ko/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/ko/leftSidebar/extras.json b/src/i18n/locales/ko/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/ko/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/ko/leftSidebar/index.js b/src/i18n/locales/ko/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/ko/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/ko/leftSidebar/languages.json b/src/i18n/locales/ko/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/ko/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/ko/leftSidebar/objective.json b/src/i18n/locales/ko/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/ko/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/ko/leftSidebar/profile.json b/src/i18n/locales/ko/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/ko/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/ko/leftSidebar/references.json b/src/i18n/locales/ko/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/ko/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/ko/leftSidebar/work.json b/src/i18n/locales/ko/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/ko/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/ko/rightSidebar/about.json b/src/i18n/locales/ko/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/ko/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/ko/rightSidebar/actions.json b/src/i18n/locales/ko/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/ko/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/ko/rightSidebar/colors.json b/src/i18n/locales/ko/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/ko/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/ko/rightSidebar/fonts.json b/src/i18n/locales/ko/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/ko/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/ko/rightSidebar/index.js b/src/i18n/locales/ko/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/ko/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/ko/rightSidebar/settings.json b/src/i18n/locales/ko/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/ko/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/ko/rightSidebar/templates.json b/src/i18n/locales/ko/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/ko/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/ml/app/app.json b/src/i18n/locales/ml/app/app.json
deleted file mode 100644
index 861e3ad5f..000000000
--- a/src/i18n/locales/ml/app/app.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "heading": {
- "placeholder": "Heading"
- },
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date",
- "placeholder": "March 2018"
- },
- "endDate": {
- "label": "End Date",
- "placeholder": "March 2022"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- }
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/ml/app/index.js b/src/i18n/locales/ml/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/ml/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/ml/index.js b/src/i18n/locales/ml/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/ml/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/ml/leftSidebar/awards.json b/src/i18n/locales/ml/leftSidebar/awards.json
deleted file mode 100644
index 4222ec124..000000000
--- a/src/i18n/locales/ml/leftSidebar/awards.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "title": {
- "label": "Title",
- "placeholder": "Math & Science Olympiad"
- },
- "subtitle": {
- "label": "Subtitle",
- "placeholder": "First Place, International Level"
- },
- "description": {
- "placeholder": "You can write about what qualities made you succeed in getting this award."
- }
-}
diff --git a/src/i18n/locales/ml/leftSidebar/certifications.json b/src/i18n/locales/ml/leftSidebar/certifications.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/ml/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/ml/leftSidebar/education.json b/src/i18n/locales/ml/leftSidebar/education.json
deleted file mode 100644
index 231004b26..000000000
--- a/src/i18n/locales/ml/leftSidebar/education.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Harvard University"
- },
- "major": {
- "label": "Major",
- "placeholder": "Masters in Computer Science"
- },
- "grade": {
- "label": "Grade"
- },
- "description": {
- "placeholder": "You can write about projects or special credit classes that you took while studying at this school."
- }
-}
diff --git a/src/i18n/locales/ml/leftSidebar/extras.json b/src/i18n/locales/ml/leftSidebar/extras.json
deleted file mode 100644
index 7afc7c067..000000000
--- a/src/i18n/locales/ml/leftSidebar/extras.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "key": {
- "label": "Key",
- "placeholder": "Date of Birth"
- },
- "value": {
- "label": "Value",
- "placeholder": "6th August 1995"
- }
-}
diff --git a/src/i18n/locales/ml/leftSidebar/index.js b/src/i18n/locales/ml/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/ml/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/ml/leftSidebar/languages.json b/src/i18n/locales/ml/leftSidebar/languages.json
deleted file mode 100644
index fc5de101a..000000000
--- a/src/i18n/locales/ml/leftSidebar/languages.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "key": {
- "label": "Key",
- "placeholder": "Dothraki"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/ml/leftSidebar/objective.json b/src/i18n/locales/ml/leftSidebar/objective.json
deleted file mode 100644
index 8cb4f70da..000000000
--- a/src/i18n/locales/ml/leftSidebar/objective.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "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."
- }
-}
diff --git a/src/i18n/locales/ml/leftSidebar/profile.json b/src/i18n/locales/ml/leftSidebar/profile.json
deleted file mode 100644
index b7f889c26..000000000
--- a/src/i18n/locales/ml/leftSidebar/profile.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name",
- "placeholder": "Jane"
- },
- "lastName": {
- "label": "Last Name",
- "placeholder": "Doe"
- },
- "subtitle": {
- "label": "Subtitle",
- "placeholder": "Full Stack Web Developer"
- },
- "address": {
- "line1": {
- "label": "Address Line 1",
- "placeholder": "Palladium Complex"
- },
- "line2": {
- "label": "Address Line 2",
- "placeholder": "140 E 14th St"
- },
- "line3": {
- "label": "Address Line 3",
- "placeholder": "New York, NY 10003 USA"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/ml/leftSidebar/references.json b/src/i18n/locales/ml/leftSidebar/references.json
deleted file mode 100644
index 88241575d..000000000
--- a/src/i18n/locales/ml/leftSidebar/references.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Richard Hendricks"
- },
- "position": {
- "label": "Position",
- "placeholder": "CEO, Pied Piper"
- },
- "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."
- }
-}
diff --git a/src/i18n/locales/ml/leftSidebar/work.json b/src/i18n/locales/ml/leftSidebar/work.json
deleted file mode 100644
index 6d115c6e3..000000000
--- a/src/i18n/locales/ml/leftSidebar/work.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Amazon"
- },
- "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."
- }
-}
diff --git a/src/i18n/locales/ml/rightSidebar/about.json b/src/i18n/locales/ml/rightSidebar/about.json
deleted file mode 100644
index cac678ad8..000000000
--- a/src/i18n/locales/ml/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "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.",
- "buttons": {
- "documentation": "Documentation"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Reactive Resume is a project by <1>Amruth Pillai1>.",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/ml/rightSidebar/actions.json b/src/i18n/locales/ml/rightSidebar/actions.json
deleted file mode 100644
index b68187149..000000000
--- a/src/i18n/locales/ml/rightSidebar/actions.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "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 + P1> but it would have different effects.",
- "buttons": {
- "export": "Export",
- "print": "Print"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/ml/rightSidebar/colors.json b/src/i18n/locales/ml/rightSidebar/colors.json
deleted file mode 100644
index bf4accbf2..000000000
--- a/src/i18n/locales/ml/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Accent Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/ml/rightSidebar/fonts.json b/src/i18n/locales/ml/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/ml/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/ml/rightSidebar/index.js b/src/i18n/locales/ml/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/ml/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/ml/rightSidebar/settings.json b/src/i18n/locales/ml/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/ml/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/ml/rightSidebar/templates.json b/src/i18n/locales/ml/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/ml/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/mr/app/app.json b/src/i18n/locales/mr/app/app.json
deleted file mode 100644
index 861e3ad5f..000000000
--- a/src/i18n/locales/mr/app/app.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "heading": {
- "placeholder": "Heading"
- },
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date",
- "placeholder": "March 2018"
- },
- "endDate": {
- "label": "End Date",
- "placeholder": "March 2022"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- }
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/mr/app/index.js b/src/i18n/locales/mr/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/mr/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/mr/index.js b/src/i18n/locales/mr/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/mr/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/mr/leftSidebar/awards.json b/src/i18n/locales/mr/leftSidebar/awards.json
deleted file mode 100644
index 4222ec124..000000000
--- a/src/i18n/locales/mr/leftSidebar/awards.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "title": {
- "label": "Title",
- "placeholder": "Math & Science Olympiad"
- },
- "subtitle": {
- "label": "Subtitle",
- "placeholder": "First Place, International Level"
- },
- "description": {
- "placeholder": "You can write about what qualities made you succeed in getting this award."
- }
-}
diff --git a/src/i18n/locales/mr/leftSidebar/certifications.json b/src/i18n/locales/mr/leftSidebar/certifications.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/mr/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/mr/leftSidebar/education.json b/src/i18n/locales/mr/leftSidebar/education.json
deleted file mode 100644
index 231004b26..000000000
--- a/src/i18n/locales/mr/leftSidebar/education.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Harvard University"
- },
- "major": {
- "label": "Major",
- "placeholder": "Masters in Computer Science"
- },
- "grade": {
- "label": "Grade"
- },
- "description": {
- "placeholder": "You can write about projects or special credit classes that you took while studying at this school."
- }
-}
diff --git a/src/i18n/locales/mr/leftSidebar/extras.json b/src/i18n/locales/mr/leftSidebar/extras.json
deleted file mode 100644
index 7afc7c067..000000000
--- a/src/i18n/locales/mr/leftSidebar/extras.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "key": {
- "label": "Key",
- "placeholder": "Date of Birth"
- },
- "value": {
- "label": "Value",
- "placeholder": "6th August 1995"
- }
-}
diff --git a/src/i18n/locales/mr/leftSidebar/index.js b/src/i18n/locales/mr/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/mr/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/mr/leftSidebar/languages.json b/src/i18n/locales/mr/leftSidebar/languages.json
deleted file mode 100644
index fc5de101a..000000000
--- a/src/i18n/locales/mr/leftSidebar/languages.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "key": {
- "label": "Key",
- "placeholder": "Dothraki"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/mr/leftSidebar/objective.json b/src/i18n/locales/mr/leftSidebar/objective.json
deleted file mode 100644
index 8cb4f70da..000000000
--- a/src/i18n/locales/mr/leftSidebar/objective.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "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."
- }
-}
diff --git a/src/i18n/locales/mr/leftSidebar/profile.json b/src/i18n/locales/mr/leftSidebar/profile.json
deleted file mode 100644
index b7f889c26..000000000
--- a/src/i18n/locales/mr/leftSidebar/profile.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name",
- "placeholder": "Jane"
- },
- "lastName": {
- "label": "Last Name",
- "placeholder": "Doe"
- },
- "subtitle": {
- "label": "Subtitle",
- "placeholder": "Full Stack Web Developer"
- },
- "address": {
- "line1": {
- "label": "Address Line 1",
- "placeholder": "Palladium Complex"
- },
- "line2": {
- "label": "Address Line 2",
- "placeholder": "140 E 14th St"
- },
- "line3": {
- "label": "Address Line 3",
- "placeholder": "New York, NY 10003 USA"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/mr/leftSidebar/references.json b/src/i18n/locales/mr/leftSidebar/references.json
deleted file mode 100644
index 88241575d..000000000
--- a/src/i18n/locales/mr/leftSidebar/references.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Richard Hendricks"
- },
- "position": {
- "label": "Position",
- "placeholder": "CEO, Pied Piper"
- },
- "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."
- }
-}
diff --git a/src/i18n/locales/mr/leftSidebar/work.json b/src/i18n/locales/mr/leftSidebar/work.json
deleted file mode 100644
index 6d115c6e3..000000000
--- a/src/i18n/locales/mr/leftSidebar/work.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Amazon"
- },
- "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."
- }
-}
diff --git a/src/i18n/locales/mr/rightSidebar/about.json b/src/i18n/locales/mr/rightSidebar/about.json
deleted file mode 100644
index cac678ad8..000000000
--- a/src/i18n/locales/mr/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "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.",
- "buttons": {
- "documentation": "Documentation"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Reactive Resume is a project by <1>Amruth Pillai1>.",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/mr/rightSidebar/actions.json b/src/i18n/locales/mr/rightSidebar/actions.json
deleted file mode 100644
index b68187149..000000000
--- a/src/i18n/locales/mr/rightSidebar/actions.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "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 + P1> but it would have different effects.",
- "buttons": {
- "export": "Export",
- "print": "Print"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/mr/rightSidebar/colors.json b/src/i18n/locales/mr/rightSidebar/colors.json
deleted file mode 100644
index bf4accbf2..000000000
--- a/src/i18n/locales/mr/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Accent Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/mr/rightSidebar/fonts.json b/src/i18n/locales/mr/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/mr/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/mr/rightSidebar/index.js b/src/i18n/locales/mr/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/mr/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/mr/rightSidebar/settings.json b/src/i18n/locales/mr/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/mr/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/mr/rightSidebar/templates.json b/src/i18n/locales/mr/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/mr/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/nl/app/app.json b/src/i18n/locales/nl/app/app.json
deleted file mode 100644
index b990e9f87..000000000
--- a/src/i18n/locales/nl/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Voeg {{- heading}} toe",
- "startDate": {
- "label": "Startdatum"
- },
- "endDate": {
- "label": "Einddatum"
- },
- "description": {
- "label": "Beschrijving"
- }
- },
- "buttons": {
- "add": {
- "label": "Toevoegen"
- },
- "delete": {
- "label": "Verwijderen"
- }
- },
- "printDialog": {
- "heading": "Download je curriculum",
- "quality": {
- "label": "Kwaliteit"
- },
- "printType": {
- "label": "Soort",
- "types": {
- "unconstrained": "Geen limitaties",
- "fitInA4": "Passend maken in A4",
- "multiPageA4": "Multi-Pagina A4"
- }
- },
- "helpText": [
- "Deze exportmethode maakt gebruik van HTML-canvas om de cv te converteren naar een afbeelding en deze af te drukken op een PDF, dit betekent dat het alle selectie/parsing mogelijkheden verliest.",
- "Als dat belangrijk voor u is, probeer dan het Cmd/Ctrl + P of de print knop hieronder af te drukken. Het resultaat kan variëren omdat de output afhankelijk is van de browser, maar het is bekend dat het het beste werkt op de nieuwste versie van Google Chrome."
- ],
- "buttons": {
- "cancel": "Annuleren",
- "saveAsPdf": "Opslaan als PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Je kunt op elk moment op het artboard inzoomen om een beter zicht te krijgen op je curriculum."
- },
- "markdownHelpText": "U kunt <1>GitHub Flavored Markdown1> gebruiken om dit gedeelte van de tekst op te maken."
-}
diff --git a/src/i18n/locales/nl/app/index.js b/src/i18n/locales/nl/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/nl/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/nl/index.js b/src/i18n/locales/nl/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/nl/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/nl/leftSidebar/awards.json b/src/i18n/locales/nl/leftSidebar/awards.json
deleted file mode 100644
index a06ed1e1f..000000000
--- a/src/i18n/locales/nl/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Titel"
- },
- "subtitle": {
- "label": "Ondertitel"
- }
-}
diff --git a/src/i18n/locales/nl/leftSidebar/certifications.json b/src/i18n/locales/nl/leftSidebar/certifications.json
deleted file mode 100644
index 340e50aee..000000000
--- a/src/i18n/locales/nl/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Naam"
- },
- "subtitle": {
- "label": "Autoriteit"
- }
-}
diff --git a/src/i18n/locales/nl/leftSidebar/education.json b/src/i18n/locales/nl/leftSidebar/education.json
deleted file mode 100644
index ff073537d..000000000
--- a/src/i18n/locales/nl/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Naam"
- },
- "major": {
- "label": "Groot"
- },
- "grade": {
- "label": "Beoordeling"
- }
-}
diff --git a/src/i18n/locales/nl/leftSidebar/extras.json b/src/i18n/locales/nl/leftSidebar/extras.json
deleted file mode 100644
index 7937a708b..000000000
--- a/src/i18n/locales/nl/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Sleutel"
- },
- "value": {
- "label": "Waarde"
- }
-}
diff --git a/src/i18n/locales/nl/leftSidebar/index.js b/src/i18n/locales/nl/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/nl/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/nl/leftSidebar/languages.json b/src/i18n/locales/nl/leftSidebar/languages.json
deleted file mode 100644
index 71eb95a1b..000000000
--- a/src/i18n/locales/nl/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Naam"
- },
- "level": {
- "label": "Taalvaardigheid"
- },
- "rating": {
- "label": "Waardering"
- }
-}
diff --git a/src/i18n/locales/nl/leftSidebar/objective.json b/src/i18n/locales/nl/leftSidebar/objective.json
deleted file mode 100644
index f27124eb4..000000000
--- a/src/i18n/locales/nl/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Doelstelling"
- }
-}
diff --git a/src/i18n/locales/nl/leftSidebar/profile.json b/src/i18n/locales/nl/leftSidebar/profile.json
deleted file mode 100644
index e1729457d..000000000
--- a/src/i18n/locales/nl/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Foto URL"
- },
- "firstName": {
- "label": "Voornaam"
- },
- "lastName": {
- "label": "Achternaam"
- },
- "subtitle": {
- "label": "Ondertitel"
- },
- "address": {
- "label": "Adres",
- "line1": {
- "label": "Adresregel 1"
- },
- "line2": {
- "label": "Adresregel 2"
- },
- "line3": {
- "label": "Adresregel 3"
- }
- },
- "phone": {
- "label": "Telefoonnummer"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "E-mailadres"
- }
-}
diff --git a/src/i18n/locales/nl/leftSidebar/references.json b/src/i18n/locales/nl/leftSidebar/references.json
deleted file mode 100644
index 2da0e402d..000000000
--- a/src/i18n/locales/nl/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Naam"
- },
- "position": {
- "label": "Positie"
- },
- "phone": {
- "label": "Telefoonnummer"
- },
- "email": {
- "label": "E-mailadres"
- }
-}
diff --git a/src/i18n/locales/nl/leftSidebar/work.json b/src/i18n/locales/nl/leftSidebar/work.json
deleted file mode 100644
index 1f1d18fd8..000000000
--- a/src/i18n/locales/nl/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Naam"
- },
- "role": {
- "label": "Rol"
- }
-}
diff --git a/src/i18n/locales/nl/rightSidebar/about.json b/src/i18n/locales/nl/rightSidebar/about.json
deleted file mode 100644
index 200c0356c..000000000
--- a/src/i18n/locales/nl/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "Over",
- "documentation": {
- "heading": "Documentatie",
- "body": "Wil je meer weten over de app? Heb je informatie nodig over hoe je kan bijdragen aan het project? Kijk niet verder, er is een uitgebreide handleiding gemaakt speciaal voor jou.",
- "buttons": {
- "documentation": "Documentatie"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Fout opgemerkt? Functionaliteit aanvragen?",
- "body": "Iets dat je voortgang verhindert om te hervatten of te hervatten? Heb je een vervelende bug gevonden die gewoon niet zal stoppen? Praat erover in de GitHub Issues sectie, of stuur mij een e-mail via de onderstaande acties.",
- "buttons": {
- "raiseIssue": "Meld een probleem",
- "sendEmail": "Stuur een e-mail"
- }
- },
- "sourceCode": {
- "heading": "Broncode",
- "body": "Wil je het project uitvoeren vanuit de bron? Bent u een ontwikkelaar die bereid is bij te dragen aan de open-source ontwikkeling van dit project? Klik op de knop hieronder.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "Licentie informatie",
- "body": "Het project valt onder de MIT-licentie, waarover je hieronder meer kunt lezen. In principe mag u het project overal gebruiken, mits u credits geeft aan de oorspronkelijke auteur.",
- "buttons": {
- "mitLicense": "MIT Licentie"
- }
- },
- "footer": {
- "credit": "Gemaakt met liefde door <1>Amruth Pillai1>",
- "thanks": "Bedankt voor het gebruiken van Reactieve Resume!"
- }
-}
diff --git a/src/i18n/locales/nl/rightSidebar/actions.json b/src/i18n/locales/nl/rightSidebar/actions.json
deleted file mode 100644
index 44d8917f1..000000000
--- a/src/i18n/locales/nl/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Acties",
- "disclaimer": "Veranderingen die u aanbrengt in uw curriculum worden automatisch bewaard in je browsers lokale opslag. Geen data wordt verstuurd, dus je informatie is helemaal veilig.",
- "importExport": {
- "heading": "Importeren/Exporteren",
- "body": "U kunt uw gegevens importeren of exporteren in JSON formaat. Hiermee kunt u uw CV op elk apparaat bewerken en afdrukken. Sla dit bestand op voor later gebruik.",
- "buttons": {
- "import": "Importeren",
- "export": "Exporteren"
- }
- },
- "downloadResume": {
- "heading": "Download je curriculum",
- "body": "U kunt op de knop hieronder klikken om direct een PDF-versie van uw CV te downloaden. Gebruik de nieuwste versie van Google Chrome voor de beste resultaten.",
- "buttons": {
- "saveAsPdf": "Opslaan als PDF"
- }
- },
- "loadDemoData": {
- "heading": "Laad Demo gegevens",
- "body": "Onduidelijk wat te doen met een nieuwe lege pagina? Laad wat demogegevens om te zien hoe een curriculum eruit zou moeten zien en u kan meteen beginnen te bewerken.",
- "buttons": {
- "loadData": "Gegevens laden"
- }
- },
- "reset": {
- "heading": "Reset alles!",
- "body": "Deze actie zal al uw gegevens resetten en back-ups naar de lokale opslag van uw browser verwijderen dus zorg ervoor dat je je informatie hebt geëxporteerd voordat je alles opnieuw instelt.",
- "buttons": {
- "reset": "Resetten"
- }
- }
-}
diff --git a/src/i18n/locales/nl/rightSidebar/colors.json b/src/i18n/locales/nl/rightSidebar/colors.json
deleted file mode 100644
index cb0415322..000000000
--- a/src/i18n/locales/nl/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Kleuren",
- "colorOptions": "Kleuropties",
- "primaryColor": "Hoofdkleur",
- "accentColor": "Secundaire kleur",
- "clipboardCopyAction": "{{color}} is naar het klembord gekopieerd."
-}
diff --git a/src/i18n/locales/nl/rightSidebar/fonts.json b/src/i18n/locales/nl/rightSidebar/fonts.json
deleted file mode 100644
index 6fe6c1e6c..000000000
--- a/src/i18n/locales/nl/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Lettertypes",
- "fontFamily": {
- "label": "Lettertype Familie",
- "helpText": "U kunt elk lettertype gebruiken dat ook op uw systeem is geïnstalleerd. Voer hier gewoon de naam in van de lettertype familie en de browser zou het voor je laden."
- }
-}
diff --git a/src/i18n/locales/nl/rightSidebar/index.js b/src/i18n/locales/nl/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/nl/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/nl/rightSidebar/settings.json b/src/i18n/locales/nl/rightSidebar/settings.json
deleted file mode 100644
index f121217e1..000000000
--- a/src/i18n/locales/nl/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Instellingen",
- "language": {
- "label": "Taal",
- "helpText": "Als u wilt helpen de app te vertalen in uw eigen taal, raadpleeg dan de <1>Vertalingsdocumentatie1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/nl/rightSidebar/templates.json b/src/i18n/locales/nl/rightSidebar/templates.json
deleted file mode 100644
index 4aa6893da..000000000
--- a/src/i18n/locales/nl/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Sjablonen"
-}
diff --git a/src/i18n/locales/no/app/app.json b/src/i18n/locales/no/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/no/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/no/app/index.js b/src/i18n/locales/no/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/no/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/no/index.js b/src/i18n/locales/no/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/no/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/no/leftSidebar/awards.json b/src/i18n/locales/no/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/no/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/no/leftSidebar/certifications.json b/src/i18n/locales/no/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/no/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/no/leftSidebar/education.json b/src/i18n/locales/no/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/no/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/no/leftSidebar/extras.json b/src/i18n/locales/no/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/no/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/no/leftSidebar/index.js b/src/i18n/locales/no/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/no/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/no/leftSidebar/languages.json b/src/i18n/locales/no/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/no/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/no/leftSidebar/objective.json b/src/i18n/locales/no/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/no/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/no/leftSidebar/profile.json b/src/i18n/locales/no/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/no/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/no/leftSidebar/references.json b/src/i18n/locales/no/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/no/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/no/leftSidebar/work.json b/src/i18n/locales/no/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/no/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/no/rightSidebar/about.json b/src/i18n/locales/no/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/no/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/no/rightSidebar/actions.json b/src/i18n/locales/no/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/no/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/no/rightSidebar/colors.json b/src/i18n/locales/no/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/no/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/no/rightSidebar/fonts.json b/src/i18n/locales/no/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/no/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/no/rightSidebar/index.js b/src/i18n/locales/no/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/no/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/no/rightSidebar/settings.json b/src/i18n/locales/no/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/no/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/no/rightSidebar/templates.json b/src/i18n/locales/no/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/no/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/pa/app/app.json b/src/i18n/locales/pa/app/app.json
deleted file mode 100644
index 861e3ad5f..000000000
--- a/src/i18n/locales/pa/app/app.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "heading": {
- "placeholder": "Heading"
- },
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date",
- "placeholder": "March 2018"
- },
- "endDate": {
- "label": "End Date",
- "placeholder": "March 2022"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- }
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/pa/app/index.js b/src/i18n/locales/pa/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/pa/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/pa/index.js b/src/i18n/locales/pa/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/pa/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/pa/leftSidebar/awards.json b/src/i18n/locales/pa/leftSidebar/awards.json
deleted file mode 100644
index 4222ec124..000000000
--- a/src/i18n/locales/pa/leftSidebar/awards.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "title": {
- "label": "Title",
- "placeholder": "Math & Science Olympiad"
- },
- "subtitle": {
- "label": "Subtitle",
- "placeholder": "First Place, International Level"
- },
- "description": {
- "placeholder": "You can write about what qualities made you succeed in getting this award."
- }
-}
diff --git a/src/i18n/locales/pa/leftSidebar/certifications.json b/src/i18n/locales/pa/leftSidebar/certifications.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/pa/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/pa/leftSidebar/education.json b/src/i18n/locales/pa/leftSidebar/education.json
deleted file mode 100644
index 231004b26..000000000
--- a/src/i18n/locales/pa/leftSidebar/education.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Harvard University"
- },
- "major": {
- "label": "Major",
- "placeholder": "Masters in Computer Science"
- },
- "grade": {
- "label": "Grade"
- },
- "description": {
- "placeholder": "You can write about projects or special credit classes that you took while studying at this school."
- }
-}
diff --git a/src/i18n/locales/pa/leftSidebar/extras.json b/src/i18n/locales/pa/leftSidebar/extras.json
deleted file mode 100644
index 7afc7c067..000000000
--- a/src/i18n/locales/pa/leftSidebar/extras.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "key": {
- "label": "Key",
- "placeholder": "Date of Birth"
- },
- "value": {
- "label": "Value",
- "placeholder": "6th August 1995"
- }
-}
diff --git a/src/i18n/locales/pa/leftSidebar/index.js b/src/i18n/locales/pa/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/pa/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/pa/leftSidebar/languages.json b/src/i18n/locales/pa/leftSidebar/languages.json
deleted file mode 100644
index fc5de101a..000000000
--- a/src/i18n/locales/pa/leftSidebar/languages.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "key": {
- "label": "Key",
- "placeholder": "Dothraki"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/pa/leftSidebar/objective.json b/src/i18n/locales/pa/leftSidebar/objective.json
deleted file mode 100644
index 8cb4f70da..000000000
--- a/src/i18n/locales/pa/leftSidebar/objective.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "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."
- }
-}
diff --git a/src/i18n/locales/pa/leftSidebar/profile.json b/src/i18n/locales/pa/leftSidebar/profile.json
deleted file mode 100644
index b7f889c26..000000000
--- a/src/i18n/locales/pa/leftSidebar/profile.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name",
- "placeholder": "Jane"
- },
- "lastName": {
- "label": "Last Name",
- "placeholder": "Doe"
- },
- "subtitle": {
- "label": "Subtitle",
- "placeholder": "Full Stack Web Developer"
- },
- "address": {
- "line1": {
- "label": "Address Line 1",
- "placeholder": "Palladium Complex"
- },
- "line2": {
- "label": "Address Line 2",
- "placeholder": "140 E 14th St"
- },
- "line3": {
- "label": "Address Line 3",
- "placeholder": "New York, NY 10003 USA"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/pa/leftSidebar/references.json b/src/i18n/locales/pa/leftSidebar/references.json
deleted file mode 100644
index 88241575d..000000000
--- a/src/i18n/locales/pa/leftSidebar/references.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Richard Hendricks"
- },
- "position": {
- "label": "Position",
- "placeholder": "CEO, Pied Piper"
- },
- "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."
- }
-}
diff --git a/src/i18n/locales/pa/leftSidebar/work.json b/src/i18n/locales/pa/leftSidebar/work.json
deleted file mode 100644
index 6d115c6e3..000000000
--- a/src/i18n/locales/pa/leftSidebar/work.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "name": {
- "label": "Name",
- "placeholder": "Amazon"
- },
- "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."
- }
-}
diff --git a/src/i18n/locales/pa/rightSidebar/about.json b/src/i18n/locales/pa/rightSidebar/about.json
deleted file mode 100644
index cac678ad8..000000000
--- a/src/i18n/locales/pa/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "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.",
- "buttons": {
- "documentation": "Documentation"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Reactive Resume is a project by <1>Amruth Pillai1>.",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/pa/rightSidebar/actions.json b/src/i18n/locales/pa/rightSidebar/actions.json
deleted file mode 100644
index b68187149..000000000
--- a/src/i18n/locales/pa/rightSidebar/actions.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "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 + P1> but it would have different effects.",
- "buttons": {
- "export": "Export",
- "print": "Print"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/pa/rightSidebar/colors.json b/src/i18n/locales/pa/rightSidebar/colors.json
deleted file mode 100644
index bf4accbf2..000000000
--- a/src/i18n/locales/pa/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Accent Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/pa/rightSidebar/fonts.json b/src/i18n/locales/pa/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/pa/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/pa/rightSidebar/index.js b/src/i18n/locales/pa/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/pa/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/pa/rightSidebar/settings.json b/src/i18n/locales/pa/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/pa/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/pa/rightSidebar/templates.json b/src/i18n/locales/pa/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/pa/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/pl/app/app.json b/src/i18n/locales/pl/app/app.json
deleted file mode 100644
index 0a08c27f5..000000000
--- a/src/i18n/locales/pl/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Dodaj {{- heading}}",
- "startDate": {
- "label": "Data rozpoczęcia"
- },
- "endDate": {
- "label": "Data zakończenia"
- },
- "description": {
- "label": "Opis"
- }
- },
- "buttons": {
- "add": {
- "label": "Dodaj"
- },
- "delete": {
- "label": "Usuń"
- }
- },
- "printDialog": {
- "heading": "Pobierz swoje CV",
- "quality": {
- "label": "Jakość"
- },
- "printType": {
- "label": "Rodzaj",
- "types": {
- "unconstrained": "Nieograniczony",
- "fitInA4": "Dopasuj do A4",
- "multiPageA4": "Wielostronne A4"
- }
- },
- "helpText": [
- "Ta metoda eksportu wykorzystuje HTML do konwersji CV jako obrazu i wydrukowania go w formacie PDF, co oznacza, że utraci on wszystkie możliwości zaznaczania / analizowania.",
- "Jeśli jest to dla Ciebie ważne, spróbuj wydrukować CV za pomocą Ctrl + P lub przycisku drukowania poniżej. Wynik może się różnić, ponieważ wynik zależy od przeglądarki, ale wiemy, że najlepiej działa w najnowszej wersji Google Chrome."
- ],
- "buttons": {
- "cancel": "Anuluj",
- "saveAsPdf": "Zapisz jako PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Możesz przesuwać i powiększać obszar roboczy w dowolnym momencie, aby przyjrzeć się swojemu CV."
- },
- "markdownHelpText": "Możesz użyć <1>GitHub Flavored Markdown1> aby zmienić styl tej sekcji tekstu."
-}
diff --git a/src/i18n/locales/pl/app/index.js b/src/i18n/locales/pl/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/pl/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/pl/index.js b/src/i18n/locales/pl/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/pl/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/pl/leftSidebar/awards.json b/src/i18n/locales/pl/leftSidebar/awards.json
deleted file mode 100644
index 26a52e886..000000000
--- a/src/i18n/locales/pl/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Tytuł"
- },
- "subtitle": {
- "label": "Podtytuł"
- }
-}
diff --git a/src/i18n/locales/pl/leftSidebar/certifications.json b/src/i18n/locales/pl/leftSidebar/certifications.json
deleted file mode 100644
index 08d7ed459..000000000
--- a/src/i18n/locales/pl/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Nazwa"
- },
- "subtitle": {
- "label": "Wydany przez"
- }
-}
diff --git a/src/i18n/locales/pl/leftSidebar/education.json b/src/i18n/locales/pl/leftSidebar/education.json
deleted file mode 100644
index 703363d3e..000000000
--- a/src/i18n/locales/pl/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Nazwa"
- },
- "major": {
- "label": "Kierunek"
- },
- "grade": {
- "label": "Stopień"
- }
-}
diff --git a/src/i18n/locales/pl/leftSidebar/extras.json b/src/i18n/locales/pl/leftSidebar/extras.json
deleted file mode 100644
index e8190f410..000000000
--- a/src/i18n/locales/pl/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Nazwa/Klucz"
- },
- "value": {
- "label": "Wartość"
- }
-}
diff --git a/src/i18n/locales/pl/leftSidebar/index.js b/src/i18n/locales/pl/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/pl/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/pl/leftSidebar/languages.json b/src/i18n/locales/pl/leftSidebar/languages.json
deleted file mode 100644
index 8457ac923..000000000
--- a/src/i18n/locales/pl/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Nazwa"
- },
- "level": {
- "label": "Poziom"
- },
- "rating": {
- "label": "Ocena"
- }
-}
diff --git a/src/i18n/locales/pl/leftSidebar/objective.json b/src/i18n/locales/pl/leftSidebar/objective.json
deleted file mode 100644
index 59a6bef43..000000000
--- a/src/i18n/locales/pl/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Cel"
- }
-}
diff --git a/src/i18n/locales/pl/leftSidebar/profile.json b/src/i18n/locales/pl/leftSidebar/profile.json
deleted file mode 100644
index 5e943404a..000000000
--- a/src/i18n/locales/pl/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Adres URL zdjęcia"
- },
- "firstName": {
- "label": "Imię"
- },
- "lastName": {
- "label": "Nazwisko"
- },
- "subtitle": {
- "label": "Podtytuł"
- },
- "address": {
- "label": "Adres",
- "line1": {
- "label": "Wiersz adresu 1"
- },
- "line2": {
- "label": "Wiersz adresu 2"
- },
- "line3": {
- "label": "Wiersz adresu 3"
- }
- },
- "phone": {
- "label": "Telefon"
- },
- "website": {
- "label": "Strona WWW"
- },
- "email": {
- "label": "Adres e-mail"
- }
-}
diff --git a/src/i18n/locales/pl/leftSidebar/references.json b/src/i18n/locales/pl/leftSidebar/references.json
deleted file mode 100644
index e9f42987c..000000000
--- a/src/i18n/locales/pl/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Nazwisko"
- },
- "position": {
- "label": "Stanowisko"
- },
- "phone": {
- "label": "Numer telefonu"
- },
- "email": {
- "label": "Adres e-mail"
- }
-}
diff --git a/src/i18n/locales/pl/leftSidebar/work.json b/src/i18n/locales/pl/leftSidebar/work.json
deleted file mode 100644
index 4bf81c284..000000000
--- a/src/i18n/locales/pl/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Nazwa"
- },
- "role": {
- "label": "Stanowisko"
- }
-}
diff --git a/src/i18n/locales/pl/rightSidebar/about.json b/src/i18n/locales/pl/rightSidebar/about.json
deleted file mode 100644
index 3d45f1a47..000000000
--- a/src/i18n/locales/pl/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "O aplikacji",
- "documentation": {
- "heading": "Dokumentacja",
- "body": "Chcesz dowiedzieć się więcej o aplikacji? Potrzebujesz informacji o tym, jak przyczynić się do rozwoju projektu? Przygotowaliśmy kompleksowy przewodnik stworzony tylko dla Ciebie.",
- "buttons": {
- "documentation": "Dokumentacja"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Błąd? Potrzebujesz nowych funkcji?",
- "body": "Coś powstrzymuje twoje postępy w tworzeniu CV? Znalazłeś nieznośny błąd? Porozmawiaj o tym w sekcji Problemy na GitHub lub wyślij mi e-mail, korzystając z poniższych działań.",
- "buttons": {
- "raiseIssue": "Zgłoś problem",
- "sendEmail": "Wyślij email"
- }
- },
- "sourceCode": {
- "heading": "Kod źródłowy",
- "body": "Chcesz uruchomić projekt ze źródła? Czy jesteś programistą, który chce przyczynić się do rozwoju tego open projektu open source? Kliknij przycisk poniżej.",
- "buttons": {
- "githubRepo": "Repozytorium na GitHub"
- }
- },
- "license": {
- "heading": "Informacje o licencji",
- "body": "Projekt podlega licencji MIT, o której więcej możesz przeczytać poniżej. Zasadniczo możesz korzystać z projektu w dowolnym miejscu, pod warunkiem, że nie zmienisz autora projektu.",
- "buttons": {
- "mitLicense": "Licencja MIT"
- }
- },
- "footer": {
- "credit": "Wykonane z Miłością przez <1>Amruth Pillai1>",
- "thanks": "Dziękujemy za korzystanie z Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/pl/rightSidebar/actions.json b/src/i18n/locales/pl/rightSidebar/actions.json
deleted file mode 100644
index 55e877430..000000000
--- a/src/i18n/locales/pl/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Akcje",
- "disclaimer": "Zmiany wprowadzone w CV zostaną automatycznie zapisane w lokalnej pamięci przeglądarki. Żadne dane nie są pobierane, dlatego Twoje informacje są całkowicie bezpieczne.",
- "importExport": {
- "heading": "Importuj/Eksportuj",
- "body": "Możesz importować lub eksportować swoje dane w formacie JSON. Dzięki temu możesz edytować i drukować swoje CV z dowolnego urządzenia. Zapisz ten plik do późniejszego wykorzystania.",
- "buttons": {
- "import": "Import",
- "export": "Eksport"
- }
- },
- "downloadResume": {
- "heading": "Pobierz swoje CV",
- "body": "Możesz kliknąć na poniższy przycisk, aby natychmiast pobrać wersję PDF. Aby uzyskać najlepsze wyniki, użyj najnowszej wersji Google Chrome.",
- "buttons": {
- "saveAsPdf": "Zapisz jako PDF"
- }
- },
- "loadDemoData": {
- "heading": "Wczytaj dane Demo",
- "body": "Nie wiesz, co zrobić z czystą pustą stroną? Załaduj niektóre dane demonstracyjne z wstępnie wypełnionymi wartościami, aby zobaczyć, jak powinno wyglądać CV, i możesz rozpocząć edycję.",
- "buttons": {
- "loadData": "Wczytaj dane"
- }
- },
- "reset": {
- "heading": "Zresetuj wszystko!",
- "body": "Ta czynność zresetuje wszystkie dane i usunie kopie zapasowe utworzone w lokalnej pamięci przeglądarki, więc upewnij się, że wyeksportowałeś informacje przed zresetowaniem.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/pl/rightSidebar/colors.json b/src/i18n/locales/pl/rightSidebar/colors.json
deleted file mode 100644
index 99e3da3fc..000000000
--- a/src/i18n/locales/pl/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Kolory",
- "colorOptions": "Opcje kolorów",
- "primaryColor": "Kolor podstawowy",
- "accentColor": "Kolor dodatkowy",
- "clipboardCopyAction": "{{color}} został skopiowany do schowka."
-}
diff --git a/src/i18n/locales/pl/rightSidebar/fonts.json b/src/i18n/locales/pl/rightSidebar/fonts.json
deleted file mode 100644
index f7fc0308b..000000000
--- a/src/i18n/locales/pl/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Czcionki",
- "fontFamily": {
- "label": "Rodzina czcionek",
- "helpText": "Możesz także użyć dowolnej czcionki zainstalowanej w systemie. Wystarczy wpisać tutaj nazwę rodziny czcionek, a przeglądarka załaduje ją dla Ciebie."
- }
-}
diff --git a/src/i18n/locales/pl/rightSidebar/index.js b/src/i18n/locales/pl/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/pl/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/pl/rightSidebar/settings.json b/src/i18n/locales/pl/rightSidebar/settings.json
deleted file mode 100644
index 35b2d9df3..000000000
--- a/src/i18n/locales/pl/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Ustawienia",
- "language": {
- "label": "Język",
- "helpText": "Jeśli chcesz pomóc w tłumaczeniu aplikacji na swój język, zapoznaj się z <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/pl/rightSidebar/templates.json b/src/i18n/locales/pl/rightSidebar/templates.json
deleted file mode 100644
index 8307aebfa..000000000
--- a/src/i18n/locales/pl/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Szablony"
-}
diff --git a/src/i18n/locales/pt/app/app.json b/src/i18n/locales/pt/app/app.json
deleted file mode 100644
index f150029ba..000000000
--- a/src/i18n/locales/pt/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Adicionar {{- heading}}",
- "startDate": {
- "label": "Data Inicial"
- },
- "endDate": {
- "label": "Data Final"
- },
- "description": {
- "label": "Descrição"
- }
- },
- "buttons": {
- "add": {
- "label": "Adicionar"
- },
- "delete": {
- "label": "Eliminar"
- }
- },
- "printDialog": {
- "heading": "Baixar Curriculum",
- "quality": {
- "label": "Qualidade"
- },
- "printType": {
- "label": "Tipo",
- "types": {
- "unconstrained": "Sem restrições",
- "fitInA4": "Ajustar a A4",
- "multiPageA4": "Multi-páginas A4"
- }
- },
- "helpText": [
- "Esse método de exportação utiliza a tela HTML para converter o currículo em uma imagem e imprimi-lo em um PDF, o que significa que ele perderá todos os recursos de seleção / análise.",
- "Se isso for importante para você, tente imprimir o currículo usando Cmd / Ctrl + P ou o botão de impressão abaixo. O resultado pode variar, pois a saída depende do navegador, mas é conhecido por funcionar melhor na versão mais recente do Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancelar",
- "saveAsPdf": "Salvar como PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Você pode arrastar e dar zoom no quadro de trabalho a qualquer momento para ver mais detalhes do seu curriculum."
- },
- "markdownHelpText": "Você pode utilizar <1>GitHub Flavored Markdown1> para estilizar esta seção."
-}
diff --git a/src/i18n/locales/pt/app/index.js b/src/i18n/locales/pt/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/pt/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/pt/index.js b/src/i18n/locales/pt/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/pt/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/pt/leftSidebar/awards.json b/src/i18n/locales/pt/leftSidebar/awards.json
deleted file mode 100644
index 358c0b084..000000000
--- a/src/i18n/locales/pt/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Título"
- },
- "subtitle": {
- "label": "Subtítulo"
- }
-}
diff --git a/src/i18n/locales/pt/leftSidebar/certifications.json b/src/i18n/locales/pt/leftSidebar/certifications.json
deleted file mode 100644
index 6e59a75b6..000000000
--- a/src/i18n/locales/pt/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Nome"
- },
- "subtitle": {
- "label": "Autoria"
- }
-}
diff --git a/src/i18n/locales/pt/leftSidebar/education.json b/src/i18n/locales/pt/leftSidebar/education.json
deleted file mode 100644
index 9c3073266..000000000
--- a/src/i18n/locales/pt/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Instituição"
- },
- "major": {
- "label": "Área de estudo"
- },
- "grade": {
- "label": "Nota"
- }
-}
diff --git a/src/i18n/locales/pt/leftSidebar/extras.json b/src/i18n/locales/pt/leftSidebar/extras.json
deleted file mode 100644
index d6e5469bf..000000000
--- a/src/i18n/locales/pt/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Chave"
- },
- "value": {
- "label": "Valor"
- }
-}
diff --git a/src/i18n/locales/pt/leftSidebar/index.js b/src/i18n/locales/pt/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/pt/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/pt/leftSidebar/languages.json b/src/i18n/locales/pt/leftSidebar/languages.json
deleted file mode 100644
index de5770758..000000000
--- a/src/i18n/locales/pt/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Nome"
- },
- "level": {
- "label": "Nível"
- },
- "rating": {
- "label": "Nota"
- }
-}
diff --git a/src/i18n/locales/pt/leftSidebar/objective.json b/src/i18n/locales/pt/leftSidebar/objective.json
deleted file mode 100644
index add1eb656..000000000
--- a/src/i18n/locales/pt/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objetivo"
- }
-}
diff --git a/src/i18n/locales/pt/leftSidebar/profile.json b/src/i18n/locales/pt/leftSidebar/profile.json
deleted file mode 100644
index afe334115..000000000
--- a/src/i18n/locales/pt/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "URL da foto"
- },
- "firstName": {
- "label": "Nome"
- },
- "lastName": {
- "label": "Sobrenome"
- },
- "subtitle": {
- "label": "Subtítulo"
- },
- "address": {
- "label": "Endereço",
- "line1": {
- "label": "Endereço linha 1"
- },
- "line2": {
- "label": "Endereço linha 2"
- },
- "line3": {
- "label": "Endereço linha 3"
- }
- },
- "phone": {
- "label": "Telefone"
- },
- "website": {
- "label": "Site"
- },
- "email": {
- "label": "Email"
- }
-}
diff --git a/src/i18n/locales/pt/leftSidebar/references.json b/src/i18n/locales/pt/leftSidebar/references.json
deleted file mode 100644
index 48179770d..000000000
--- a/src/i18n/locales/pt/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Nome"
- },
- "position": {
- "label": "Posição"
- },
- "phone": {
- "label": "Telefone"
- },
- "email": {
- "label": "Email"
- }
-}
diff --git a/src/i18n/locales/pt/leftSidebar/work.json b/src/i18n/locales/pt/leftSidebar/work.json
deleted file mode 100644
index cbe0c688d..000000000
--- a/src/i18n/locales/pt/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Nome"
- },
- "role": {
- "label": "Cargo"
- }
-}
diff --git a/src/i18n/locales/pt/rightSidebar/about.json b/src/i18n/locales/pt/rightSidebar/about.json
deleted file mode 100644
index d7c874761..000000000
--- a/src/i18n/locales/pt/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "Sobre",
- "documentation": {
- "heading": "Documentação",
- "body": "Quer saber mais sobre a applicação? Não seria ótimo se houvesse um guia para configurá-la em sua máquina? Precisa de informação sobre como contribuir para o projeto? Não precisa procurar mais, aqui há uma documentação compreensiva para você.",
- "buttons": {
- "documentation": "Documentação"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Solicitação de nova funcionalidade?",
- "body": "Algo impedindo você de progredir com um curriculum? Encontrou aquele erro chato e persistente? Fale sobre ele na seção de Issues no Github, ou me envie um email usando as seguintes ações.",
- "buttons": {
- "raiseIssue": "Notificar um problema",
- "sendEmail": "Enviar um e-mail"
- }
- },
- "sourceCode": {
- "heading": "Código fonte",
- "body": "Tem interesse em executar o código fonte deste projeto? Você é um desenvolvedor interessado em contribuir para o desenvolvimento open-source deste projeto? Click no botão abaixo.",
- "buttons": {
- "githubRepo": "Repositório Github"
- }
- },
- "license": {
- "heading": "Informação da licença",
- "body": "O projeto é regido pela licença MIT, a qual você pode ler mais sobre abaixo. Basicamente, você pode usar este projeto onde quiser desde que dê os créditos ao autor original.",
- "buttons": {
- "mitLicense": "Licença MIT"
- }
- },
- "footer": {
- "credit": "Projeto criado com amor por <1>Amruth Pillai1>.",
- "thanks": "Obrigado por usar Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/pt/rightSidebar/actions.json b/src/i18n/locales/pt/rightSidebar/actions.json
deleted file mode 100644
index cce37304f..000000000
--- a/src/i18n/locales/pt/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Ações",
- "disclaimer": "As alterações que você faz no seu curriculum são salvas automaticamente no armazenamento local do seu navegador. Nenhum dado é partilhado, por isso sua informação está completamente segura.",
- "importExport": {
- "heading": "Importar/Exportar",
- "body": "Você pode importar ou exportar seus dados no formato JSON. Sendo assim, é possível editar ou imprimir seu curriculum em qualquer dispositivo. Salve este arquivo para usá-lo posteriormente.",
- "buttons": {
- "import": "Importar",
- "export": "Exportar"
- }
- },
- "downloadResume": {
- "heading": "Baixe seu Curriculum",
- "body": "Você pode clicar no botão abaixo para baixar a versão em PDF do seu curriculum. Para obter melhores resultados, por favor utilize a verão mais recente do Google Chrome.",
- "buttons": {
- "saveAsPdf": "Salvar como PDF"
- }
- },
- "loadDemoData": {
- "heading": "Carregar dados demonstrativos",
- "body": "Na dúvida sobre o que fazer com uma página em branco? Carregue os dados demonstrativos com valores já preenchidos para ver como o curriculum fica e a partir daí você pode começar a editar.",
- "buttons": {
- "loadData": "Carregar dados"
- }
- },
- "reset": {
- "heading": "Reiniciar tudo!",
- "body": "Esta ação vai apagar todos os seus dados e remover os backups feitos no armazenamento local do seu navegador também. Por favor, lembre de exportar as suas informações antes de reiniciar tudo.",
- "buttons": {
- "reset": "Reiniciar"
- }
- }
-}
diff --git a/src/i18n/locales/pt/rightSidebar/colors.json b/src/i18n/locales/pt/rightSidebar/colors.json
deleted file mode 100644
index b53aabb8e..000000000
--- a/src/i18n/locales/pt/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Cores",
- "colorOptions": "Opções de cores",
- "primaryColor": "Cor principal",
- "accentColor": "Cor secundária",
- "clipboardCopyAction": "A cor {{color}} foi copiada para área de transferência."
-}
diff --git a/src/i18n/locales/pt/rightSidebar/fonts.json b/src/i18n/locales/pt/rightSidebar/fonts.json
deleted file mode 100644
index 92a835117..000000000
--- a/src/i18n/locales/pt/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fontes",
- "fontFamily": {
- "label": "Família de Fontes",
- "helpText": "Você também pode usar qualquer fonte que esteja instalada no seu sistema. Basta digitar o nome da fonte aqui e o navegador vai carregá-la para você."
- }
-}
diff --git a/src/i18n/locales/pt/rightSidebar/index.js b/src/i18n/locales/pt/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/pt/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/pt/rightSidebar/settings.json b/src/i18n/locales/pt/rightSidebar/settings.json
deleted file mode 100644
index 50aa70a68..000000000
--- a/src/i18n/locales/pt/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Configuração",
- "language": {
- "label": "Escolher idioma",
- "helpText": "Se você gostaria de ajudar a traduzir esta aplicação para o seu idioma, por favor, consulte a <1>Documentação de Tradução1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/pt/rightSidebar/templates.json b/src/i18n/locales/pt/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/pt/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/ro/app/app.json b/src/i18n/locales/ro/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/ro/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/ro/app/index.js b/src/i18n/locales/ro/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/ro/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/ro/index.js b/src/i18n/locales/ro/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/ro/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/ro/leftSidebar/awards.json b/src/i18n/locales/ro/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/ro/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/ro/leftSidebar/certifications.json b/src/i18n/locales/ro/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/ro/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/ro/leftSidebar/education.json b/src/i18n/locales/ro/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/ro/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/ro/leftSidebar/extras.json b/src/i18n/locales/ro/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/ro/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/ro/leftSidebar/index.js b/src/i18n/locales/ro/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/ro/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/ro/leftSidebar/languages.json b/src/i18n/locales/ro/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/ro/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/ro/leftSidebar/objective.json b/src/i18n/locales/ro/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/ro/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/ro/leftSidebar/profile.json b/src/i18n/locales/ro/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/ro/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/ro/leftSidebar/references.json b/src/i18n/locales/ro/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/ro/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/ro/leftSidebar/work.json b/src/i18n/locales/ro/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/ro/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/ro/rightSidebar/about.json b/src/i18n/locales/ro/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/ro/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/ro/rightSidebar/actions.json b/src/i18n/locales/ro/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/ro/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/ro/rightSidebar/colors.json b/src/i18n/locales/ro/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/ro/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/ro/rightSidebar/fonts.json b/src/i18n/locales/ro/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/ro/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/ro/rightSidebar/index.js b/src/i18n/locales/ro/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/ro/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/ro/rightSidebar/settings.json b/src/i18n/locales/ro/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/ro/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/ro/rightSidebar/templates.json b/src/i18n/locales/ro/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/ro/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/ru/app/app.json b/src/i18n/locales/ru/app/app.json
deleted file mode 100644
index 979f2aa8b..000000000
--- a/src/i18n/locales/ru/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Добавить {{- heading}}",
- "startDate": {
- "label": "Дата начала"
- },
- "endDate": {
- "label": "Дата окончания"
- },
- "description": {
- "label": "Описание"
- }
- },
- "buttons": {
- "add": {
- "label": "Добавить"
- },
- "delete": {
- "label": "Удалить"
- }
- },
- "printDialog": {
- "heading": "Скачать резюме",
- "quality": {
- "label": "Качество"
- },
- "printType": {
- "label": "Тип",
- "types": {
- "unconstrained": "Неограниченный",
- "fitInA4": "По размеру A4",
- "multiPageA4": "Многостраничный A4"
- }
- },
- "helpText": [
- "Этот метод экспорта использует HTML canvas для преобразования резюме в изображение и конвертацию в формат PDF, что означает, что он потеряет все возможности выбора/синтаксического анализа.",
- "Если это важно для Вас, пожалуйста, попробуйте распечатать резюме вместо этого, используя Cmd / Ctrl + P или кнопку печати ниже. Результат может отличаться, поскольку результат зависит от браузера, но известно, что он лучше всего работает на последней версии Google Chrome."
- ],
- "buttons": {
- "cancel": "Отмена",
- "saveAsPdf": "Сохранить в PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Вы можете перемещать и масштабировать своё резюме чтобы поближе взглянуть на него."
- },
- "markdownHelpText": "Вы можете использовать <1>GitHub Flavored Markdown1> здесь."
-}
diff --git a/src/i18n/locales/ru/app/index.js b/src/i18n/locales/ru/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/ru/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/ru/index.js b/src/i18n/locales/ru/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/ru/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/ru/leftSidebar/awards.json b/src/i18n/locales/ru/leftSidebar/awards.json
deleted file mode 100644
index b372b7411..000000000
--- a/src/i18n/locales/ru/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Заголовок"
- },
- "subtitle": {
- "label": "Подзаголовок"
- }
-}
diff --git a/src/i18n/locales/ru/leftSidebar/certifications.json b/src/i18n/locales/ru/leftSidebar/certifications.json
deleted file mode 100644
index e4ebf0f28..000000000
--- a/src/i18n/locales/ru/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Имя"
- },
- "subtitle": {
- "label": "Автор"
- }
-}
diff --git a/src/i18n/locales/ru/leftSidebar/education.json b/src/i18n/locales/ru/leftSidebar/education.json
deleted file mode 100644
index 70aa29acd..000000000
--- a/src/i18n/locales/ru/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Имя"
- },
- "major": {
- "label": "Предмет"
- },
- "grade": {
- "label": "Класс"
- }
-}
diff --git a/src/i18n/locales/ru/leftSidebar/extras.json b/src/i18n/locales/ru/leftSidebar/extras.json
deleted file mode 100644
index 97e4d4a81..000000000
--- a/src/i18n/locales/ru/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Название"
- },
- "value": {
- "label": "Значение"
- }
-}
diff --git a/src/i18n/locales/ru/leftSidebar/index.js b/src/i18n/locales/ru/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/ru/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/ru/leftSidebar/languages.json b/src/i18n/locales/ru/leftSidebar/languages.json
deleted file mode 100644
index 73f755e64..000000000
--- a/src/i18n/locales/ru/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Имя"
- },
- "level": {
- "label": "Уровень"
- },
- "rating": {
- "label": "Рейтинг"
- }
-}
diff --git a/src/i18n/locales/ru/leftSidebar/objective.json b/src/i18n/locales/ru/leftSidebar/objective.json
deleted file mode 100644
index 502757728..000000000
--- a/src/i18n/locales/ru/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Цель"
- }
-}
diff --git a/src/i18n/locales/ru/leftSidebar/profile.json b/src/i18n/locales/ru/leftSidebar/profile.json
deleted file mode 100644
index e98c8ecb8..000000000
--- a/src/i18n/locales/ru/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "URL Адрес фотографии"
- },
- "firstName": {
- "label": "Имя"
- },
- "lastName": {
- "label": "Фамилия"
- },
- "subtitle": {
- "label": "Подзаголовок"
- },
- "address": {
- "label": "Адрес",
- "line1": {
- "label": "Адрес, строка 1"
- },
- "line2": {
- "label": "Адрес, строка 2"
- },
- "line3": {
- "label": "Адрес, строка 3"
- }
- },
- "phone": {
- "label": "Номер телефона"
- },
- "website": {
- "label": "Веб-сайт"
- },
- "email": {
- "label": "E-mail адрес"
- }
-}
diff --git a/src/i18n/locales/ru/leftSidebar/references.json b/src/i18n/locales/ru/leftSidebar/references.json
deleted file mode 100644
index 2e01867e2..000000000
--- a/src/i18n/locales/ru/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Имя"
- },
- "position": {
- "label": "Положение"
- },
- "phone": {
- "label": "Номер телефона"
- },
- "email": {
- "label": "E-mail адрес"
- }
-}
diff --git a/src/i18n/locales/ru/leftSidebar/work.json b/src/i18n/locales/ru/leftSidebar/work.json
deleted file mode 100644
index fa789e5df..000000000
--- a/src/i18n/locales/ru/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Имя"
- },
- "role": {
- "label": "Должность"
- }
-}
diff --git a/src/i18n/locales/ru/rightSidebar/about.json b/src/i18n/locales/ru/rightSidebar/about.json
deleted file mode 100644
index fc5597474..000000000
--- a/src/i18n/locales/ru/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "О программе",
- "documentation": {
- "heading": "Документация",
- "body": "Хотите узнать больше о приложении? Нужна информация о том, как внести свой вклад в проект?",
- "buttons": {
- "documentation": "Документация"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Ошибка? Хотите предложить функцию?",
- "body": "Что-то мешает вам в создании резюме? Нашли ошибку? Расскажите об этом в разделе issues на GitHub или отправьте мне письмо по электронной почте, используя кнопки ниже.",
- "buttons": {
- "raiseIssue": "Сообщить об ошибке",
- "sendEmail": "Написать письмо"
- }
- },
- "sourceCode": {
- "heading": "Исходный код",
- "body": "Хотите запустить проект из исходного кода? Вы хотите внести вклад в разработку этого проекта? Нажмите на кнопку ниже.",
- "buttons": {
- "githubRepo": "GitHub"
- }
- },
- "license": {
- "heading": "Информация о лицензии",
- "body": "Проект управляется в соответствии с лицензией MIT, о которой вы можете прочитать ниже. Вы можете использовать проект в любом месте при условии, что вы укажете автора проекта.",
- "buttons": {
- "mitLicense": "Лицензия MIT"
- }
- },
- "footer": {
- "credit": "Сделано с любовью <1>Амрут Пиллай1>",
- "thanks": "Спасибо за использование Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/ru/rightSidebar/actions.json b/src/i18n/locales/ru/rightSidebar/actions.json
deleted file mode 100644
index 2734b67c3..000000000
--- a/src/i18n/locales/ru/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Действия",
- "disclaimer": "Изменения, внесенные в ваше резюме, сохраняются автоматически в локальное хранилище вашего браузера. Данные не отправляются на сервера, поэтому ваша информация в безопасности.",
- "importExport": {
- "heading": "Импорт/Экспорт",
- "body": "Вы можете импортировать или экспортировать данные в формате JSON. При этом вы можете редактировать и распечатать резюме с любого устройства. Сохраните этот файл для последующего использования.",
- "buttons": {
- "import": "Импорт",
- "export": "Экспорт"
- }
- },
- "downloadResume": {
- "heading": "Скачать резюме",
- "body": "Вы можете нажать на кнопку ниже, чтобы загрузить PDF-версию вашего резюме. Лучше исползовать последнюю версию Google Chrome.",
- "buttons": {
- "saveAsPdf": "Сохранить в PDF"
- }
- },
- "loadDemoData": {
- "heading": "Загрузить демо-данные",
- "body": "Непонятно, что делать с чистой страницей? Загрузите демо, чтобы увидеть пример резюме, и вы можете начать редактирование.",
- "buttons": {
- "loadData": "Загрузить демо"
- }
- },
- "reset": {
- "heading": "Сбросить все",
- "body": "Это действие сбросит все ваши данные и удалит резервные копии локального хранилища вашего браузера. поэтому убедитесь, что вы сохранили вашу информацию, перед сбросом.",
- "buttons": {
- "reset": "Сбросить"
- }
- }
-}
diff --git a/src/i18n/locales/ru/rightSidebar/colors.json b/src/i18n/locales/ru/rightSidebar/colors.json
deleted file mode 100644
index afec41520..000000000
--- a/src/i18n/locales/ru/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Цвета",
- "colorOptions": "Настройки цвета",
- "primaryColor": "Цвет текста",
- "accentColor": "Основной цвет",
- "clipboardCopyAction": "Цвет {{color}} был скопирован в буфер обмена."
-}
diff --git a/src/i18n/locales/ru/rightSidebar/fonts.json b/src/i18n/locales/ru/rightSidebar/fonts.json
deleted file mode 100644
index 13845803b..000000000
--- a/src/i18n/locales/ru/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Шрифты",
- "fontFamily": {
- "label": "Шрифт",
- "helpText": "Вы также можете использовать любой шрифт, установленный в вашей системе. Просто введите здесь имя шрифта, и браузер загрузит его."
- }
-}
diff --git a/src/i18n/locales/ru/rightSidebar/index.js b/src/i18n/locales/ru/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/ru/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/ru/rightSidebar/settings.json b/src/i18n/locales/ru/rightSidebar/settings.json
deleted file mode 100644
index 86c8a635c..000000000
--- a/src/i18n/locales/ru/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Настройки",
- "language": {
- "label": "Язык",
- "helpText": "Если вы хотите помочь перевести приложение на ваш язык, обратитесь к <1>Документации по переводу1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/ru/rightSidebar/templates.json b/src/i18n/locales/ru/rightSidebar/templates.json
deleted file mode 100644
index 7b004aedc..000000000
--- a/src/i18n/locales/ru/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Шаблоны"
-}
diff --git a/src/i18n/locales/sr/app/app.json b/src/i18n/locales/sr/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/sr/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/sr/leftSidebar/awards.json b/src/i18n/locales/sr/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/sr/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/sr/leftSidebar/certifications.json b/src/i18n/locales/sr/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/sr/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/sr/leftSidebar/education.json b/src/i18n/locales/sr/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/sr/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/sr/leftSidebar/extras.json b/src/i18n/locales/sr/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/sr/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/sr/leftSidebar/languages.json b/src/i18n/locales/sr/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/sr/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/sr/leftSidebar/objective.json b/src/i18n/locales/sr/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/sr/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/sr/leftSidebar/profile.json b/src/i18n/locales/sr/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/sr/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/sr/leftSidebar/references.json b/src/i18n/locales/sr/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/sr/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/sr/leftSidebar/work.json b/src/i18n/locales/sr/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/sr/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/sr/rightSidebar/about.json b/src/i18n/locales/sr/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/sr/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/sr/rightSidebar/actions.json b/src/i18n/locales/sr/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/sr/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/sr/rightSidebar/colors.json b/src/i18n/locales/sr/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/sr/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/sr/rightSidebar/fonts.json b/src/i18n/locales/sr/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/sr/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/sr/rightSidebar/settings.json b/src/i18n/locales/sr/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/sr/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/sr/rightSidebar/templates.json b/src/i18n/locales/sr/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/sr/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/sv/app/app.json b/src/i18n/locales/sv/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/sv/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/sv/app/index.js b/src/i18n/locales/sv/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/sv/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/sv/index.js b/src/i18n/locales/sv/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/sv/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/sv/leftSidebar/awards.json b/src/i18n/locales/sv/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/sv/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/sv/leftSidebar/certifications.json b/src/i18n/locales/sv/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/sv/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/sv/leftSidebar/education.json b/src/i18n/locales/sv/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/sv/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/sv/leftSidebar/extras.json b/src/i18n/locales/sv/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/sv/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/sv/leftSidebar/index.js b/src/i18n/locales/sv/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/sv/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/sv/leftSidebar/languages.json b/src/i18n/locales/sv/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/sv/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/sv/leftSidebar/objective.json b/src/i18n/locales/sv/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/sv/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/sv/leftSidebar/profile.json b/src/i18n/locales/sv/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/sv/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/sv/leftSidebar/references.json b/src/i18n/locales/sv/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/sv/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/sv/leftSidebar/work.json b/src/i18n/locales/sv/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/sv/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/sv/rightSidebar/about.json b/src/i18n/locales/sv/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/sv/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/sv/rightSidebar/actions.json b/src/i18n/locales/sv/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/sv/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/sv/rightSidebar/colors.json b/src/i18n/locales/sv/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/sv/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/sv/rightSidebar/fonts.json b/src/i18n/locales/sv/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/sv/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/sv/rightSidebar/index.js b/src/i18n/locales/sv/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/sv/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/sv/rightSidebar/settings.json b/src/i18n/locales/sv/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/sv/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/sv/rightSidebar/templates.json b/src/i18n/locales/sv/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/sv/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/ta/app/app.json b/src/i18n/locales/ta/app/app.json
deleted file mode 100644
index fe3f17249..000000000
--- a/src/i18n/locales/ta/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "{{- heading}} சேர்க்கவும்",
- "startDate": {
- "label": "தொடக்க தேதி"
- },
- "endDate": {
- "label": "கடைசி தேதி"
- },
- "description": {
- "label": "விளக்கம்"
- }
- },
- "buttons": {
- "add": {
- "label": "சேர்க்க"
- },
- "delete": {
- "label": "அழி"
- }
- },
- "printDialog": {
- "heading": "ரெசுமே டவுன்லோட் செய்யவும்",
- "quality": {
- "label": "தரம்"
- },
- "printType": {
- "label": "வகை",
- "types": {
- "unconstrained": "அளவு இல்லே",
- "fitInA4": "A4 இல் சேர்க்கவும்",
- "multiPageA4": "மல்டி-பேஜ் A4"
- }
- },
- "helpText": [
- "இந்த ஏற்றுமதி முறை HTML கேன்வாஸைப் பயன்படுத்தி விண்ணப்பத்தை ஒரு படமாக மாற்றி PDF இல் அச்சிடுகிறது, அதாவது இது தேர்ந்தெடுக்கும் / பாகுபடுத்தும் திறன்களை இழக்கும்.",
- "இது உங்களுக்கு முக்கியம் என்றால், தயவுசெய்து Cmd/Ctrl + P அல்லது கீழே உள்ள அச்சு பொத்தானைப் பயன்படுத்தி ரெசுமே அச்சிட முயற்சிக்கவும். வெளியீடு உலாவி சார்ந்து இருப்பதால் முடிவு மாறுபடலாம், ஆனால் இது Google Chrome இன் சமீபத்திய பதிப்பில் சிறப்பாக செயல்படும் என்று அறியப்படுகிறது."
- ],
- "buttons": {
- "cancel": "ரத்துசெய்",
- "saveAsPdf": "PDF ஆக சேமிக்கவும்"
- }
- },
- "panZoomAnimation": {
- "helpText": "உங்கள் ரெசுமே நெருக்கமாகப் பார்க்க நீங்கள் எந்த நேரத்திலும் ஆர்ட்போர்டைச் சுற்றி பெரிதாக்கலாம்."
- },
- "markdownHelpText": "உரையின் இந்த பகுதியை வடிவமைக்க நீங்கள் <1>GitHub Flavored Markdown 1> ஐப் பயன்படுத்தலாம்."
-}
diff --git a/src/i18n/locales/ta/app/index.js b/src/i18n/locales/ta/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/ta/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/ta/index.js b/src/i18n/locales/ta/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/ta/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/ta/leftSidebar/awards.json b/src/i18n/locales/ta/leftSidebar/awards.json
deleted file mode 100644
index 268858a4c..000000000
--- a/src/i18n/locales/ta/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "தலைப்பு"
- },
- "subtitle": {
- "label": "துணைத் தலைப்பு"
- }
-}
diff --git a/src/i18n/locales/ta/leftSidebar/certifications.json b/src/i18n/locales/ta/leftSidebar/certifications.json
deleted file mode 100644
index 1ea6abd8f..000000000
--- a/src/i18n/locales/ta/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "பெயர்"
- },
- "subtitle": {
- "label": "அதிகாரம்"
- }
-}
diff --git a/src/i18n/locales/ta/leftSidebar/education.json b/src/i18n/locales/ta/leftSidebar/education.json
deleted file mode 100644
index 71f94a5ef..000000000
--- a/src/i18n/locales/ta/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "பெயர்"
- },
- "major": {
- "label": "முக்கிய"
- },
- "grade": {
- "label": "தரம்"
- }
-}
diff --git a/src/i18n/locales/ta/leftSidebar/extras.json b/src/i18n/locales/ta/leftSidebar/extras.json
deleted file mode 100644
index e38fa09d1..000000000
--- a/src/i18n/locales/ta/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "சாவி"
- },
- "value": {
- "label": "மதிப்பு"
- }
-}
diff --git a/src/i18n/locales/ta/leftSidebar/index.js b/src/i18n/locales/ta/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/ta/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/ta/leftSidebar/languages.json b/src/i18n/locales/ta/leftSidebar/languages.json
deleted file mode 100644
index b56962195..000000000
--- a/src/i18n/locales/ta/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "பெயர்"
- },
- "level": {
- "label": "நிலை"
- },
- "rating": {
- "label": "மதிப்பீடு"
- }
-}
diff --git a/src/i18n/locales/ta/leftSidebar/objective.json b/src/i18n/locales/ta/leftSidebar/objective.json
deleted file mode 100644
index 2f450774b..000000000
--- a/src/i18n/locales/ta/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "நோக்கம்"
- }
-}
diff --git a/src/i18n/locales/ta/leftSidebar/profile.json b/src/i18n/locales/ta/leftSidebar/profile.json
deleted file mode 100644
index b47c534f0..000000000
--- a/src/i18n/locales/ta/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "புகைப்படம் URL"
- },
- "firstName": {
- "label": "முதல் பெயர்"
- },
- "lastName": {
- "label": "கடைசி பெயர்"
- },
- "subtitle": {
- "label": "துணைத் தலைப்பு"
- },
- "address": {
- "label": "முகவரி",
- "line1": {
- "label": "முகவரி வரி 1"
- },
- "line2": {
- "label": "முகவரி வரி 2"
- },
- "line3": {
- "label": "முகவரி வரி 3"
- }
- },
- "phone": {
- "label": "தொலைபேசி எண்"
- },
- "website": {
- "label": "வெப்சைட்"
- },
- "email": {
- "label": "ஈமெயில் முகவரி"
- }
-}
diff --git a/src/i18n/locales/ta/leftSidebar/references.json b/src/i18n/locales/ta/leftSidebar/references.json
deleted file mode 100644
index 766eb565c..000000000
--- a/src/i18n/locales/ta/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "பெயர்"
- },
- "position": {
- "label": "நிலை"
- },
- "phone": {
- "label": "தொலைபேசி எண்"
- },
- "email": {
- "label": "ஈமெயில் முகவரி"
- }
-}
diff --git a/src/i18n/locales/ta/leftSidebar/work.json b/src/i18n/locales/ta/leftSidebar/work.json
deleted file mode 100644
index f04bb7a99..000000000
--- a/src/i18n/locales/ta/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "பெயர்"
- },
- "role": {
- "label": "பங்கு"
- }
-}
diff --git a/src/i18n/locales/ta/rightSidebar/about.json b/src/i18n/locales/ta/rightSidebar/about.json
deleted file mode 100644
index 7d9b7ce52..000000000
--- a/src/i18n/locales/ta/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "பற்றி",
- "documentation": {
- "heading": "டாக்குமெண்டஷன்",
- "body": "பயன்பாட்டைப் பற்றி மேலும் அறிய விரும்புகிறீர்களா? திட்டத்திற்கு எவ்வாறு பங்களிப்பது என்பது குறித்த தகவல் தேவையா? மேலும் பார்க்க வேண்டாம், உங்களுக்காக உருவாக்கப்பட்ட ஒரு விரிவான வழிகாட்டி இருக்கிறது.",
- "buttons": {
- "documentation": "டாக்குமெண்டஷன்"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "புக்? பிட்டுறே ரெஃஉஎஸ்த்?",
- "body": "மறுதொடக்கம் செய்வதிலிருந்து உங்கள் முன்னேற்றத்தை ஏதேனும் தடுக்கிறதா? வெளியேறாத ஒரு தொல்லை பிழை கிடைத்ததா? கிட்ஹப் சிக்கல்கள் பிரிவில் இதைப் பற்றி பேசுங்கள், அல்லது கீழேயுள்ள செயல்களைப் பயன்படுத்தி எனக்கும் மின்னஞ்சல் அனுப்பவும்.",
- "buttons": {
- "raiseIssue": " சிக்கலை காட்டு\n",
- "sendEmail": "ஈமெயில் அனுப்புக"
- }
- },
- "sourceCode": {
- "heading": "மூல காடே",
- "body": "திட்டத்தை அதன் மூலத்திலிருந்து இயக்க விரும்புகிறீர்களா? இந்த திட்டத்தின் திறந்த மூல மேம்பாட்டுக்கு பங்களிக்க நீங்கள் ஒரு டெவலப்பரா? கீழே உள்ள பொத்தானைக் கிளிக் செய்க.",
- "buttons": {
- "githubRepo": "குதுப் ரெபோ"
- }
- },
- "license": {
- "heading": "உரிமத் தகவல்",
- "body": "இந்த திட்டம் MIT உரிமத்தின் கீழ் நிர்வகிக்கப்படுகிறது, அதை நீங்கள் கீழே மேலும் படிக்கலாம். அடிப்படையில், அசல் ஆசிரியருக்கு நீங்கள் வரவுகளை வழங்கினால், எங்கிருந்தும் திட்டத்தைப் பயன்படுத்த அனுமதிக்கப்படுவீர்கள்.",
- "buttons": {
- "mitLicense": "MIT லிசென்ஸ்"
- }
- },
- "footer": {
- "credit": "<1>Amruth Pillai<1>யால் அன்பால் செய்யப்பட்டது",
- "thanks": "Reactive Resume ஐப் பயன்படுத்தியதற்கு நன்றி!"
- }
-}
diff --git a/src/i18n/locales/ta/rightSidebar/actions.json b/src/i18n/locales/ta/rightSidebar/actions.json
deleted file mode 100644
index 61c712eb6..000000000
--- a/src/i18n/locales/ta/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "செயல்கள்",
- "disclaimer": "ரெசுமே இல் நீங்கள் செய்த மாற்றங்கள் உங்கள் உலாவியின் உள்ளூர் சேமிப்பகத்தில் தானாகவே சேமிக்கப்படும். தரவு எதுவும் வெளியேறவில்லை, எனவே உங்கள் தகவல் முற்றிலும் பாதுகாப்பானது.",
- "importExport": {
- "heading": "இறக்குமதி/ஏற்றுமதி",
- "body": "உங்கள் தரவை JSON வடிவத்தில் இறக்குமதி செய்யலாம் அல்லது ஏற்றுமதி செய்யலாம். இதன் மூலம், எந்தவொரு சாதனத்திலிருந்தும் உங்கள் விண்ணப்பத்தை திருத்தலாம் மற்றும் அச்சிடலாம். பின்னர் பயன்படுத்த இந்த கோப்பை சேமிக்கவும்.",
- "buttons": {
- "import": "இறக்குமதி",
- "export": "ஏற்றுமதி"
- }
- },
- "downloadResume": {
- "heading": "டவுன்லோட் ரெசுமே",
- "body": "உங்கள் ரெசுமே PDF பதிப்பை டவுன்லோட் செய்ய கீழே உள்ள பொத்தானைக் கிளிக் செய்யலாம். சிறந்த முடிவுகளுக்கு, Google Chrome இன் சமீபத்திய பதிப்பைப் பயன்படுத்தவும்.",
- "buttons": {
- "saveAsPdf": "PDF என சேமிக்கவும்"
- }
- },
- "loadDemoData": {
- "heading": "டெமோ தகவல்கள் ஏற்றவும்",
- "body": "புதிய வெற்று பக்கத்துடன் என்ன செய்வது என்பது குறித்து தெளிவாக தெரியவில்லையா? ஒரு ரெசுமே எவ்வாறு இருக்க வேண்டும் என்பதைக் காண சில டெமோ தரவை முன் மதிப்பிடப்பட்ட மதிப்புகளுடன் ஏற்றவும், அங்கிருந்து திருத்தத் தொடங்கலாம்.",
- "buttons": {
- "loadData": "தகவல்கள் ஏற்றவும்"
- }
- },
- "reset": {
- "heading": "எல்லாவற்றையும் மாற்றவும்!",
- "body": "இந்த நடவடிக்கை உங்கள் எல்லா தரவையும் மீட்டமைத்து, உங்கள் உலாவியின் உள்ளூர் சேமிப்பகத்தில் செய்யப்பட்ட காப்புப்பிரதிகளையும் அகற்றும், எனவே எல்லாவற்றையும் மீட்டமைப்பதற்கு முன்பு உங்கள் தகவலை ஏற்றுமதி செய்துள்ளீர்கள் என்பதை உறுதிப்படுத்தவும்.",
- "buttons": {
- "reset": "மாற்ற"
- }
- }
-}
diff --git a/src/i18n/locales/ta/rightSidebar/colors.json b/src/i18n/locales/ta/rightSidebar/colors.json
deleted file mode 100644
index aa48fad4e..000000000
--- a/src/i18n/locales/ta/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "வண்ணங்கள்",
- "colorOptions": "வண்ண விருப்பங்கள்",
- "primaryColor": "முதன்மை நிறம்",
- "accentColor": "இரண்டாம் நிறம்",
- "clipboardCopyAction": "{{color}} கிளிப்போர்டுக்கு நகலெடுக்கப்பட்டது."
-}
diff --git a/src/i18n/locales/ta/rightSidebar/fonts.json b/src/i18n/locales/ta/rightSidebar/fonts.json
deleted file mode 100644
index 4f4fe46ec..000000000
--- a/src/i18n/locales/ta/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "எழுத்துருக்கள்",
- "fontFamily": {
- "label": "எழுத்துரு பேமிலி",
- "helpText": "உங்கள் கணினியில் நிறுவப்பட்ட எந்த எழுத்துருவையும் நீங்கள் பயன்படுத்தலாம். எழுத்துரு பேமிலி பெயரை இங்கே உள்ளிடவும், உலாவி அதை உங்களுக்காக ஏற்றும்."
- }
-}
diff --git a/src/i18n/locales/ta/rightSidebar/index.js b/src/i18n/locales/ta/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/ta/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/ta/rightSidebar/settings.json b/src/i18n/locales/ta/rightSidebar/settings.json
deleted file mode 100644
index 5571413ee..000000000
--- a/src/i18n/locales/ta/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "அமைப்புகள்",
- "language": {
- "label": "மொழி",
- "helpText": "பயன்பாட்டை உங்கள் சொந்த மொழியில் மொழிபெயர்க்க உதவ விரும்பினால், <1>Translation Documentation1> பார்க்கவும்."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/ta/rightSidebar/templates.json b/src/i18n/locales/ta/rightSidebar/templates.json
deleted file mode 100644
index 13e2ff3bc..000000000
--- a/src/i18n/locales/ta/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "டெம்ப்ளட்ஸ்"
-}
diff --git a/src/i18n/locales/tr/app/app.json b/src/i18n/locales/tr/app/app.json
deleted file mode 100644
index bcf8db166..000000000
--- a/src/i18n/locales/tr/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Add {{- heading}}",
- "startDate": {
- "label": "Start Date"
- },
- "endDate": {
- "label": "End Date"
- },
- "description": {
- "label": "Description"
- }
- },
- "buttons": {
- "add": {
- "label": "Add"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Download Your Resume",
- "quality": {
- "label": "Quality"
- },
- "printType": {
- "label": "Type",
- "types": {
- "unconstrained": "Unconstrained",
- "fitInA4": "Fit in A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "This export method makes use of HTML canvas to convert the resume to an image and print it on a PDF, which means it will lose all selecting/parsing capabilities.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/tr/app/index.js b/src/i18n/locales/tr/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/tr/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/tr/index.js b/src/i18n/locales/tr/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/tr/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/tr/leftSidebar/awards.json b/src/i18n/locales/tr/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/tr/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/tr/leftSidebar/certifications.json b/src/i18n/locales/tr/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/tr/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/tr/leftSidebar/education.json b/src/i18n/locales/tr/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/tr/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/tr/leftSidebar/extras.json b/src/i18n/locales/tr/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/tr/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/tr/leftSidebar/index.js b/src/i18n/locales/tr/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/tr/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/tr/leftSidebar/languages.json b/src/i18n/locales/tr/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/tr/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/tr/leftSidebar/objective.json b/src/i18n/locales/tr/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/tr/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/tr/leftSidebar/profile.json b/src/i18n/locales/tr/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/tr/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/tr/leftSidebar/references.json b/src/i18n/locales/tr/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/tr/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/tr/leftSidebar/work.json b/src/i18n/locales/tr/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/tr/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/tr/rightSidebar/about.json b/src/i18n/locales/tr/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/tr/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/tr/rightSidebar/actions.json b/src/i18n/locales/tr/rightSidebar/actions.json
deleted file mode 100644
index ae75bbd18..000000000
--- a/src/i18n/locales/tr/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/tr/rightSidebar/colors.json b/src/i18n/locales/tr/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/tr/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/tr/rightSidebar/fonts.json b/src/i18n/locales/tr/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/tr/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/tr/rightSidebar/index.js b/src/i18n/locales/tr/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/tr/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/tr/rightSidebar/settings.json b/src/i18n/locales/tr/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/tr/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/tr/rightSidebar/templates.json b/src/i18n/locales/tr/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/tr/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/uk/app/app.json b/src/i18n/locales/uk/app/app.json
deleted file mode 100644
index 181f280a1..000000000
--- a/src/i18n/locales/uk/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Додати {{- heading}}",
- "startDate": {
- "label": "Дата початку"
- },
- "endDate": {
- "label": "Дата завершення"
- },
- "description": {
- "label": "Опис"
- }
- },
- "buttons": {
- "add": {
- "label": "Додати"
- },
- "delete": {
- "label": "Delete"
- }
- },
- "printDialog": {
- "heading": "Завантажити резюме",
- "quality": {
- "label": "Якість"
- },
- "printType": {
- "label": "Тип",
- "types": {
- "unconstrained": "Не визначено",
- "fitInA4": "Вмістити в A4",
- "multiPageA4": "Multi-Page A4"
- }
- },
- "helpText": [
- "Цей метод експорту використовує HTML canvas для перетворення резюме в зображення та друкування його на PDF, це значить, що він втратить всі можливості відбору/парсінгу.",
- "If that is important to you, please try printing the resume instead, using Cmd/Ctrl + P or the print button below. The result may vary as the output is browser dependent, but it is known to work best on the latest version of Google Chrome."
- ],
- "buttons": {
- "cancel": "Cancel",
- "saveAsPdf": "Save as PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "You can pan and zoom around the artboard at any time to get a closer look at your resume."
- },
- "markdownHelpText": "You can use <1>GitHub Flavored Markdown1> to style this section of the text."
-}
diff --git a/src/i18n/locales/uk/app/index.js b/src/i18n/locales/uk/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/uk/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/uk/index.js b/src/i18n/locales/uk/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/uk/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/uk/leftSidebar/awards.json b/src/i18n/locales/uk/leftSidebar/awards.json
deleted file mode 100644
index 4a52c12a9..000000000
--- a/src/i18n/locales/uk/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Title"
- },
- "subtitle": {
- "label": "Subtitle"
- }
-}
diff --git a/src/i18n/locales/uk/leftSidebar/certifications.json b/src/i18n/locales/uk/leftSidebar/certifications.json
deleted file mode 100644
index e6e0effa2..000000000
--- a/src/i18n/locales/uk/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Name"
- },
- "subtitle": {
- "label": "Authority"
- }
-}
diff --git a/src/i18n/locales/uk/leftSidebar/education.json b/src/i18n/locales/uk/leftSidebar/education.json
deleted file mode 100644
index 346748c7e..000000000
--- a/src/i18n/locales/uk/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "major": {
- "label": "Major"
- },
- "grade": {
- "label": "Grade"
- }
-}
diff --git a/src/i18n/locales/uk/leftSidebar/extras.json b/src/i18n/locales/uk/leftSidebar/extras.json
deleted file mode 100644
index 59950d61a..000000000
--- a/src/i18n/locales/uk/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Key"
- },
- "value": {
- "label": "Value"
- }
-}
diff --git a/src/i18n/locales/uk/leftSidebar/index.js b/src/i18n/locales/uk/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/uk/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/uk/leftSidebar/languages.json b/src/i18n/locales/uk/leftSidebar/languages.json
deleted file mode 100644
index 21cb24836..000000000
--- a/src/i18n/locales/uk/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Name"
- },
- "level": {
- "label": "Level"
- },
- "rating": {
- "label": "Rating"
- }
-}
diff --git a/src/i18n/locales/uk/leftSidebar/objective.json b/src/i18n/locales/uk/leftSidebar/objective.json
deleted file mode 100644
index 329804798..000000000
--- a/src/i18n/locales/uk/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Objective"
- }
-}
diff --git a/src/i18n/locales/uk/leftSidebar/profile.json b/src/i18n/locales/uk/leftSidebar/profile.json
deleted file mode 100644
index 6f109ed6a..000000000
--- a/src/i18n/locales/uk/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "Photo URL"
- },
- "firstName": {
- "label": "First Name"
- },
- "lastName": {
- "label": "Last Name"
- },
- "subtitle": {
- "label": "Subtitle"
- },
- "address": {
- "label": "Address",
- "line1": {
- "label": "Address Line 1"
- },
- "line2": {
- "label": "Address Line 2"
- },
- "line3": {
- "label": "Address Line 3"
- }
- },
- "phone": {
- "label": "Phone Number"
- },
- "website": {
- "label": "Website"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/uk/leftSidebar/references.json b/src/i18n/locales/uk/leftSidebar/references.json
deleted file mode 100644
index f7f2bf831..000000000
--- a/src/i18n/locales/uk/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "position": {
- "label": "Position"
- },
- "phone": {
- "label": "Phone Number"
- },
- "email": {
- "label": "Email Address"
- }
-}
diff --git a/src/i18n/locales/uk/leftSidebar/work.json b/src/i18n/locales/uk/leftSidebar/work.json
deleted file mode 100644
index 9859754c3..000000000
--- a/src/i18n/locales/uk/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Name"
- },
- "role": {
- "label": "Role"
- }
-}
diff --git a/src/i18n/locales/uk/rightSidebar/about.json b/src/i18n/locales/uk/rightSidebar/about.json
deleted file mode 100644
index c5538e17e..000000000
--- a/src/i18n/locales/uk/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "About",
- "documentation": {
- "heading": "Documentation",
- "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"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Bug? Feature Request?",
- "body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
- "buttons": {
- "raiseIssue": "Raise an Issue",
- "sendEmail": "Send an Email"
- }
- },
- "sourceCode": {
- "heading": "Source Code",
- "body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
- "buttons": {
- "githubRepo": "GitHub Repo"
- }
- },
- "license": {
- "heading": "License Information",
- "body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
- "buttons": {
- "mitLicense": "MIT License"
- }
- },
- "footer": {
- "credit": "Made with Love by <1>Amruth Pillai1>",
- "thanks": "Thank you for using Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/uk/rightSidebar/actions.json b/src/i18n/locales/uk/rightSidebar/actions.json
deleted file mode 100644
index af1880f37..000000000
--- a/src/i18n/locales/uk/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Actions",
- "disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
- "importExport": {
- "heading": "Import/Export",
- "body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
- "buttons": {
- "import": "Import",
- "export": "Export"
- }
- },
- "downloadResume": {
- "heading": "Завантажити резюме",
- "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": {
- "saveAsPdf": "Save as PDF"
- }
- },
- "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": "Load Data"
- }
- },
- "reset": {
- "heading": "Reset Everything!",
- "body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
- "buttons": {
- "reset": "Reset"
- }
- }
-}
diff --git a/src/i18n/locales/uk/rightSidebar/colors.json b/src/i18n/locales/uk/rightSidebar/colors.json
deleted file mode 100644
index f7fff7ba5..000000000
--- a/src/i18n/locales/uk/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Colors",
- "colorOptions": "Color Options",
- "primaryColor": "Primary Color",
- "accentColor": "Secondary Color",
- "clipboardCopyAction": "{{color}} has been copied to the clipboard."
-}
diff --git a/src/i18n/locales/uk/rightSidebar/fonts.json b/src/i18n/locales/uk/rightSidebar/fonts.json
deleted file mode 100644
index dbcfe5f2f..000000000
--- a/src/i18n/locales/uk/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Fonts",
- "fontFamily": {
- "label": "Font Family",
- "helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
- }
-}
diff --git a/src/i18n/locales/uk/rightSidebar/index.js b/src/i18n/locales/uk/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/uk/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/uk/rightSidebar/settings.json b/src/i18n/locales/uk/rightSidebar/settings.json
deleted file mode 100644
index dacc183c6..000000000
--- a/src/i18n/locales/uk/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Settings",
- "language": {
- "label": "Language",
- "helpText": "If you would like to help translate the app into your own language, please refer to the <1>Translation Documentation1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/uk/rightSidebar/templates.json b/src/i18n/locales/uk/rightSidebar/templates.json
deleted file mode 100644
index 89fd528d7..000000000
--- a/src/i18n/locales/uk/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Templates"
-}
diff --git a/src/i18n/locales/vi/app/app.json b/src/i18n/locales/vi/app/app.json
deleted file mode 100644
index 904956900..000000000
--- a/src/i18n/locales/vi/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "Thêm {{- heading}}",
- "startDate": {
- "label": "Bắt đầu"
- },
- "endDate": {
- "label": "Kết thúc"
- },
- "description": {
- "label": "Mô tả"
- }
- },
- "buttons": {
- "add": {
- "label": "Thêm"
- },
- "delete": {
- "label": "Xóa"
- }
- },
- "printDialog": {
- "heading": "Tải Bản trích ngang về",
- "quality": {
- "label": "Chất lượng"
- },
- "printType": {
- "label": "Kiểu",
- "types": {
- "unconstrained": "Tự do",
- "fitInA4": "Vừa trang A4",
- "multiPageA4": "Nhiều trang A4"
- }
- },
- "helpText": [
- "Phương pháp xuất này xử dụng HTML canvas để chuyển dạng bản trích ngang thành một ảnh rồi in nó trên một PDF, điều này có nghĩa là nó sẽ mất tất cả các tính năng chọn lựa (selecting)/phân tích (parsing).",
- "Nếu việc có các tính năng đó quan trọng đối với bạn, hãy thử in bản trích ngang, bằng phím Cmd/Ctrl + P hoặc nút in dưới đây. Kết quả có thể sai khác vì đầu ra phụ thuộc vào trình duyệt, nhưng nó sẽ hoạt động tốt nhất trên phiên bản Google Chrome mới nhất."
- ],
- "buttons": {
- "cancel": "Hủy bỏ",
- "saveAsPdf": "Lưu thành PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "Bạn có thể kéo và thu phóng bản thiết kế bất kì lúc nào để xem bản trích ngang của mình rõ hơn."
- },
- "markdownHelpText": "Bạn có thể dùng <1>cú pháp Markdown của GitHub1> để tạo kiểu cho chữ ở phần này."
-}
diff --git a/src/i18n/locales/vi/app/index.js b/src/i18n/locales/vi/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/vi/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/vi/index.js b/src/i18n/locales/vi/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/vi/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/vi/leftSidebar/awards.json b/src/i18n/locales/vi/leftSidebar/awards.json
deleted file mode 100644
index ff9361b3d..000000000
--- a/src/i18n/locales/vi/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Tiêu đề"
- },
- "subtitle": {
- "label": "Tiêu đề phụ"
- }
-}
diff --git a/src/i18n/locales/vi/leftSidebar/certifications.json b/src/i18n/locales/vi/leftSidebar/certifications.json
deleted file mode 100644
index a1b16593e..000000000
--- a/src/i18n/locales/vi/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "Tên"
- },
- "subtitle": {
- "label": "Trao bởi"
- }
-}
diff --git a/src/i18n/locales/vi/leftSidebar/education.json b/src/i18n/locales/vi/leftSidebar/education.json
deleted file mode 100644
index e08bc9204..000000000
--- a/src/i18n/locales/vi/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "Tên"
- },
- "major": {
- "label": "Ngành"
- },
- "grade": {
- "label": "Điểm"
- }
-}
diff --git a/src/i18n/locales/vi/leftSidebar/extras.json b/src/i18n/locales/vi/leftSidebar/extras.json
deleted file mode 100644
index a25f5c8ba..000000000
--- a/src/i18n/locales/vi/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "Tên trường"
- },
- "value": {
- "label": "Nội dung trường"
- }
-}
diff --git a/src/i18n/locales/vi/leftSidebar/index.js b/src/i18n/locales/vi/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/vi/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/vi/leftSidebar/languages.json b/src/i18n/locales/vi/leftSidebar/languages.json
deleted file mode 100644
index 189c1f16e..000000000
--- a/src/i18n/locales/vi/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "Tên"
- },
- "level": {
- "label": "Trình độ"
- },
- "rating": {
- "label": "Đánh giá"
- }
-}
diff --git a/src/i18n/locales/vi/leftSidebar/objective.json b/src/i18n/locales/vi/leftSidebar/objective.json
deleted file mode 100644
index 09ddc1cea..000000000
--- a/src/i18n/locales/vi/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "Mục tiêu"
- }
-}
diff --git a/src/i18n/locales/vi/leftSidebar/profile.json b/src/i18n/locales/vi/leftSidebar/profile.json
deleted file mode 100644
index fc5cc3f84..000000000
--- a/src/i18n/locales/vi/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "URL Ảnh"
- },
- "firstName": {
- "label": "Tên"
- },
- "lastName": {
- "label": "Họ"
- },
- "subtitle": {
- "label": "Chức danh"
- },
- "address": {
- "label": "Địa chỉ",
- "line1": {
- "label": "Địa chỉ, Dòng 1"
- },
- "line2": {
- "label": "Địa chỉ, Dòng 2"
- },
- "line3": {
- "label": "Địa chỉ, Dòng 3"
- }
- },
- "phone": {
- "label": "Số Điện thoại"
- },
- "website": {
- "label": "Trang web"
- },
- "email": {
- "label": "Địa chỉ Email"
- }
-}
diff --git a/src/i18n/locales/vi/leftSidebar/references.json b/src/i18n/locales/vi/leftSidebar/references.json
deleted file mode 100644
index 1aee38384..000000000
--- a/src/i18n/locales/vi/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "Tên"
- },
- "position": {
- "label": "Chức vụ"
- },
- "phone": {
- "label": "Số Điện thoại"
- },
- "email": {
- "label": "Địa chỉ Email"
- }
-}
diff --git a/src/i18n/locales/vi/leftSidebar/work.json b/src/i18n/locales/vi/leftSidebar/work.json
deleted file mode 100644
index 0ee4d2bc0..000000000
--- a/src/i18n/locales/vi/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "Tên"
- },
- "role": {
- "label": "Vị trí"
- }
-}
diff --git a/src/i18n/locales/vi/rightSidebar/about.json b/src/i18n/locales/vi/rightSidebar/about.json
deleted file mode 100644
index f183c7cb5..000000000
--- a/src/i18n/locales/vi/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "Giới thiệu",
- "documentation": {
- "heading": "Tài liệu hướng dẫn",
- "body": "Muốn biết thêm về ứng dụng này? Cần thông tin về cách đóng góp cho dự án? Không phải tìm thêm nữa, có một hướng dẫn đầy đủ dành cho bạn.",
- "buttons": {
- "documentation": "Tài liệu hướng dẫn"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "Lỗi? Đề xuất Tính năng?",
- "body": "Có gì đó gây cản trở việc bạn làm bản trích ngang? Tìm ra một lỗi phiền hà dai dẳng? Nói về chuyện đó ở mục Issues trên GitHub, hoặc gửi cho tôi một email, bằng các thao tác dưới đây.",
- "buttons": {
- "raiseIssue": "Đưa ra Vấn đề",
- "sendEmail": "Gửi Email"
- }
- },
- "sourceCode": {
- "heading": "Mã Nguồn",
- "body": "Muốn chạy dự án từ mã nguồn? Là một lập trình viên muốn đóng góp cho việc phát triển nguồn mở của dự án này? Ấn nút dưới đây.",
- "buttons": {
- "githubRepo": "Kho trên GitHub"
- }
- },
- "license": {
- "heading": "Thông tin Giấy phép",
- "body": "Dự án này được điều chỉnh bởi Giấy phép MIT, bạn có thể đọc thêm về nó dưới đây. Về cơ bản, bạn được sử dụng dự án này ở bất kì đâu, chỉ cần bạn công nhận tác giả gốc.",
- "buttons": {
- "mitLicense": "Giấy phép MIT"
- }
- },
- "footer": {
- "credit": "Được tạo ra, bằng Tình cảm, bởi <1>Amruth Pillai1>.",
- "thanks": "Cảm ơn bạn đã xử dụng Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/vi/rightSidebar/actions.json b/src/i18n/locales/vi/rightSidebar/actions.json
deleted file mode 100644
index 89845469a..000000000
--- a/src/i18n/locales/vi/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "Thao tác",
- "disclaimer": "Những gì bạn thay đổi trong bản trích ngang của mình được tự động lưu vào vùng lưu trữ cục bộ (local storage) của trình duyệt. Không chút dữ liệu nào thoát ra ngoài, nên thông tin của bạn hoàn toàn được bảo vệ.",
- "importExport": {
- "heading": "Nhập/Xuất",
- "body": "Bạn có thể nhập hoặc xuất dữ liệu của mình ở dạng JSON. Bằng cách này, bạn có thể chỉnh sửa và in bản trích ngang của mình trên bất kì thiết bị nào. Lưu tệp này lại để dùng về sau.",
- "buttons": {
- "import": "Nhập",
- "export": "Xuất"
- }
- },
- "downloadResume": {
- "heading": "Tải Bản trích ngang về",
- "body": "Bạn có thể ấn nút dưới đây để tải về ngay bản trích ngang ở dạng PDF. Để có kết quả tốt nhất, hãy xử dụng Google Chrome bản mới nhất.",
- "buttons": {
- "saveAsPdf": "Lưu thành PDF"
- }
- },
- "loadDemoData": {
- "heading": "Tải Dữ liệu Minh họa",
- "body": "Không rõ nên làm gì với một trang trống trơn? Tải vài dữ liệu minh họa với các giá trị đặt sẵn để thấy một bản trích ngang trông thế nào và từ đó bạn có thể bắt đầu chỉnh sửa.",
- "buttons": {
- "loadData": "Tải Dữ liệu"
- }
- },
- "reset": {
- "heading": "Đặt lại Tất cả!",
- "body": "Thao tác này sẽ đặt lại tất cả dữ liệu của bạn và xóa cả các bản sao lưu vùng lưu trữ cục bộ (local storage) của trình duyệt, nên hãy chắc chắn là bạn đã xuất thông tin ra trước khi đặt lại mọi thứ.",
- "buttons": {
- "reset": "Đặt lại"
- }
- }
-}
diff --git a/src/i18n/locales/vi/rightSidebar/colors.json b/src/i18n/locales/vi/rightSidebar/colors.json
deleted file mode 100644
index 02793c368..000000000
--- a/src/i18n/locales/vi/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Màu sắc",
- "colorOptions": "Lựa chọn Màu",
- "primaryColor": "Màu Chính",
- "accentColor": "Màu Phụ",
- "clipboardCopyAction": "{{color}} đã được chép vào bảng nháp (clipboard)."
-}
diff --git a/src/i18n/locales/vi/rightSidebar/fonts.json b/src/i18n/locales/vi/rightSidebar/fonts.json
deleted file mode 100644
index 9cd0982fd..000000000
--- a/src/i18n/locales/vi/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Phông chữ",
- "fontFamily": {
- "label": "Họ Phông chữ",
- "helpText": "Bạn cũng có thể dùng bất kì phông nào đã cài trên máy của bạn. Chỉ cần điền tên của họ phông đó vào đây và trình duyệt sẽ tải nó lên cho bạn."
- }
-}
diff --git a/src/i18n/locales/vi/rightSidebar/index.js b/src/i18n/locales/vi/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/vi/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/vi/rightSidebar/settings.json b/src/i18n/locales/vi/rightSidebar/settings.json
deleted file mode 100644
index fbc7bda9e..000000000
--- a/src/i18n/locales/vi/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "Cài đặt",
- "language": {
- "label": "Ngôn ngữ",
- "helpText": "Nếu bạn muốn giúp dịch ứng dụng này sang ngôn ngữ của mình, xin hãy tra cứu <1>Hướng dẫn Dịch thuật1>."
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/vi/rightSidebar/templates.json b/src/i18n/locales/vi/rightSidebar/templates.json
deleted file mode 100644
index 63aece6b2..000000000
--- a/src/i18n/locales/vi/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Kiểu mẫu"
-}
diff --git a/src/i18n/locales/zh/app/app.json b/src/i18n/locales/zh/app/app.json
deleted file mode 100644
index 7a06dc55e..000000000
--- a/src/i18n/locales/zh/app/app.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "item": {
- "add": "添加 {{- heading}}",
- "startDate": {
- "label": "开始日期"
- },
- "endDate": {
- "label": "结束日期"
- },
- "description": {
- "label": "说明"
- }
- },
- "buttons": {
- "add": {
- "label": "添加"
- },
- "delete": {
- "label": "删除"
- }
- },
- "printDialog": {
- "heading": "下载简历",
- "quality": {
- "label": "品质"
- },
- "printType": {
- "label": "类型",
- "types": {
- "unconstrained": "不受限制",
- "fitInA4": "适合A4",
- "multiPageA4": "多页A4"
- }
- },
- "helpText": [
- "此导出方法使用 HTML 画布将恢复转换为图像并打印到 PDF 上。 这意味着它将失去所有选择/解析能力。",
- "如果这对您很重要,请尝试打印续版,而不是使用 Cmd/Ctrl + P 或下面的打印按钮。 结果可能会因为输出依赖于浏览器而有所改变,但它已知最适合最新版本的Google Chrome。"
- ],
- "buttons": {
- "cancel": "取消",
- "saveAsPdf": "保存为 PDF"
- }
- },
- "panZoomAnimation": {
- "helpText": "您可以随时在画板上平移和缩放,以更仔细地查看简历。"
- },
- "markdownHelpText": "你可以使用 <1>GitHub 倾向的 Markdown1> 来美化这部分文字."
-}
diff --git a/src/i18n/locales/zh/app/index.js b/src/i18n/locales/zh/app/index.js
deleted file mode 100644
index d24fe6d1b..000000000
--- a/src/i18n/locales/zh/app/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import app from './app.json';
-
-export default app;
diff --git a/src/i18n/locales/zh/index.js b/src/i18n/locales/zh/index.js
deleted file mode 100644
index 943ca6737..000000000
--- a/src/i18n/locales/zh/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import app from './app';
-import leftSidebar from './leftSidebar';
-import rightSidebar from './rightSidebar';
-
-export default {
- app,
- leftSidebar,
- rightSidebar,
-};
diff --git a/src/i18n/locales/zh/leftSidebar/awards.json b/src/i18n/locales/zh/leftSidebar/awards.json
deleted file mode 100644
index 7e0e9e00f..000000000
--- a/src/i18n/locales/zh/leftSidebar/awards.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "名称"
- },
- "subtitle": {
- "label": "奖项"
- }
-}
diff --git a/src/i18n/locales/zh/leftSidebar/certifications.json b/src/i18n/locales/zh/leftSidebar/certifications.json
deleted file mode 100644
index c96459e0a..000000000
--- a/src/i18n/locales/zh/leftSidebar/certifications.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "title": {
- "label": "名称"
- },
- "subtitle": {
- "label": "颁发机构"
- }
-}
diff --git a/src/i18n/locales/zh/leftSidebar/education.json b/src/i18n/locales/zh/leftSidebar/education.json
deleted file mode 100644
index 20176159c..000000000
--- a/src/i18n/locales/zh/leftSidebar/education.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": {
- "label": "学校"
- },
- "major": {
- "label": "主修课程"
- },
- "grade": {
- "label": "学分"
- }
-}
diff --git a/src/i18n/locales/zh/leftSidebar/extras.json b/src/i18n/locales/zh/leftSidebar/extras.json
deleted file mode 100644
index 1e3e0ba2f..000000000
--- a/src/i18n/locales/zh/leftSidebar/extras.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "key": {
- "label": "名称"
- },
- "value": {
- "label": "内容"
- }
-}
diff --git a/src/i18n/locales/zh/leftSidebar/index.js b/src/i18n/locales/zh/leftSidebar/index.js
deleted file mode 100644
index fea537335..000000000
--- a/src/i18n/locales/zh/leftSidebar/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import profile from './profile.json';
-import objective from './objective.json';
-import work from './work.json';
-import education from './education.json';
-import awards from './awards.json';
-import certifications from './certifications.json';
-import languages from './languages.json';
-import references from './references.json';
-import extras from './extras.json';
-
-export default {
- profile,
- objective,
- work,
- education,
- awards,
- certifications,
- languages,
- references,
- extras,
-};
diff --git a/src/i18n/locales/zh/leftSidebar/languages.json b/src/i18n/locales/zh/leftSidebar/languages.json
deleted file mode 100644
index 5e53d8aaf..000000000
--- a/src/i18n/locales/zh/leftSidebar/languages.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "key": {
- "label": "名称"
- },
- "level": {
- "label": "级别"
- },
- "rating": {
- "label": "等级"
- }
-}
diff --git a/src/i18n/locales/zh/leftSidebar/objective.json b/src/i18n/locales/zh/leftSidebar/objective.json
deleted file mode 100644
index 8cfe1240e..000000000
--- a/src/i18n/locales/zh/leftSidebar/objective.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "objective": {
- "label": "求职意向"
- }
-}
diff --git a/src/i18n/locales/zh/leftSidebar/profile.json b/src/i18n/locales/zh/leftSidebar/profile.json
deleted file mode 100644
index 2455aec20..000000000
--- a/src/i18n/locales/zh/leftSidebar/profile.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "photoUrl": {
- "label": "照片链接"
- },
- "firstName": {
- "label": "名"
- },
- "lastName": {
- "label": "姓"
- },
- "subtitle": {
- "label": "职位"
- },
- "address": {
- "label": "地址",
- "line1": {
- "label": "地址栏 1"
- },
- "line2": {
- "label": "地址栏 2"
- },
- "line3": {
- "label": "地址栏 3"
- }
- },
- "phone": {
- "label": "电话号码"
- },
- "website": {
- "label": "网站"
- },
- "email": {
- "label": "邮箱地址"
- }
-}
diff --git a/src/i18n/locales/zh/leftSidebar/references.json b/src/i18n/locales/zh/leftSidebar/references.json
deleted file mode 100644
index 0a74677ad..000000000
--- a/src/i18n/locales/zh/leftSidebar/references.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": {
- "label": "名字"
- },
- "position": {
- "label": "职位"
- },
- "phone": {
- "label": "电话号码"
- },
- "email": {
- "label": "邮箱地址"
- }
-}
diff --git a/src/i18n/locales/zh/leftSidebar/work.json b/src/i18n/locales/zh/leftSidebar/work.json
deleted file mode 100644
index bb0587c5d..000000000
--- a/src/i18n/locales/zh/leftSidebar/work.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": {
- "label": "公司"
- },
- "role": {
- "label": "职位"
- }
-}
diff --git a/src/i18n/locales/zh/rightSidebar/about.json b/src/i18n/locales/zh/rightSidebar/about.json
deleted file mode 100644
index bbb5cbcf4..000000000
--- a/src/i18n/locales/zh/rightSidebar/about.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "关于我们",
- "documentation": {
- "heading": "文档",
- "body": "想进一步了解该应用程序? 需要有关如何为该项目做出贡献的信息? 别无所求,这里有专门为您准备的综合指南。",
- "buttons": {
- "documentation": "文档"
- }
- },
- "bugOrFeatureRequest": {
- "heading": "错误?功能请求?",
- "body": "在你写简历的时候发现遇到困难?发现了一个烦人的问题? 你可以上Github问题版来谈论这个问题,或者通过下面的按钮来给我发送电子邮件。",
- "buttons": {
- "raiseIssue": "提交改进",
- "sendEmail": "发送邮件"
- }
- },
- "sourceCode": {
- "heading": "源码",
- "body": "想要本地运行这个项目? 你是不是一个开发者想要为这个开源项目做出贡献?请点击下面的按钮。",
- "buttons": {
- "githubRepo": "GitHub 项目"
- }
- },
- "license": {
- "heading": "授权申明",
- "body": "该项目受MIT许可的管理,您可以在下面阅读更多信息。 基本上,只要您向原作者提供感谢,您就可以在任何地方使用该项目。",
- "buttons": {
- "mitLicense": "MIT 授权许可"
- }
- },
- "footer": {
- "credit": "<1>Amruth Pillai1> 用爱制造",
- "thanks": "感谢您使用 Reactive Resume!"
- }
-}
diff --git a/src/i18n/locales/zh/rightSidebar/actions.json b/src/i18n/locales/zh/rightSidebar/actions.json
deleted file mode 100644
index 017095b51..000000000
--- a/src/i18n/locales/zh/rightSidebar/actions.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "title": "操作",
- "disclaimer": "您对您的简历所作的更改将自动保存到您的浏览器本地存储。没有数据流出,因此您的信息是完全安全的。",
- "importExport": {
- "heading": "导入/导出",
- "body": "您可以以 JSON 格式导入或导出您的数据。 这样,您可以从任何设备上编辑和打印您的简历。保存此文件供以后使用。",
- "buttons": {
- "import": "导入",
- "export": "导出"
- }
- },
- "downloadResume": {
- "heading": "下载简历",
- "body": "您可以单击下面的按钮立即下载简历的PDF版本。 为了获得最佳效果,请使用最新版本的Google Chrome。",
- "buttons": {
- "saveAsPdf": "保存为 PDF"
- }
- },
- "loadDemoData": {
- "heading": "加载模版数据",
- "body": "不清楚用新的空白页面做什么?加载一些带有预置值的虚拟数据来查看简历的格式,您可以从那里开始编辑。",
- "buttons": {
- "loadData": "载入数据"
- }
- },
- "reset": {
- "heading": "全部重置!",
- "body": "此操作将重置您所有的数据并删除浏览器本地存储备份,请确保您在重制前已经导出您的信息。",
- "buttons": {
- "reset": "重置"
- }
- }
-}
diff --git a/src/i18n/locales/zh/rightSidebar/colors.json b/src/i18n/locales/zh/rightSidebar/colors.json
deleted file mode 100644
index 309d7c861..000000000
--- a/src/i18n/locales/zh/rightSidebar/colors.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "颜色",
- "colorOptions": "颜色选项",
- "primaryColor": "主色调",
- "accentColor": "辅助颜色",
- "clipboardCopyAction": "{{color}} 已被复制到剪贴板。"
-}
diff --git a/src/i18n/locales/zh/rightSidebar/fonts.json b/src/i18n/locales/zh/rightSidebar/fonts.json
deleted file mode 100644
index 06eaabb27..000000000
--- a/src/i18n/locales/zh/rightSidebar/fonts.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "字体",
- "fontFamily": {
- "label": "字体库",
- "helpText": "您也可以使用安装在您的系统上的任何字体。 只需在此输入字体库的名字,浏览器将为您加载它。"
- }
-}
diff --git a/src/i18n/locales/zh/rightSidebar/index.js b/src/i18n/locales/zh/rightSidebar/index.js
deleted file mode 100644
index 2560696c9..000000000
--- a/src/i18n/locales/zh/rightSidebar/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import templates from './templates.json';
-import colors from './colors.json';
-import fonts from './fonts.json';
-import actions from './actions.json';
-import settings from './settings.json';
-import about from './about.json';
-
-export default {
- templates,
- colors,
- fonts,
- actions,
- settings,
- about,
-};
diff --git a/src/i18n/locales/zh/rightSidebar/settings.json b/src/i18n/locales/zh/rightSidebar/settings.json
deleted file mode 100644
index e52abb2eb..000000000
--- a/src/i18n/locales/zh/rightSidebar/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "title": "设置",
- "language": {
- "label": "语言",
- "helpText": "如果您希望帮助将应用程序翻译成您自己的语言,请参阅<1>翻译文档1>。"
- }
-}
\ No newline at end of file
diff --git a/src/i18n/locales/zh/rightSidebar/templates.json b/src/i18n/locales/zh/rightSidebar/templates.json
deleted file mode 100644
index 9aedfa203..000000000
--- a/src/i18n/locales/zh/rightSidebar/templates.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "模板"
-}
diff --git a/src/index.css b/src/index.css
deleted file mode 100644
index d3b7efe7b..000000000
--- a/src/index.css
+++ /dev/null
@@ -1,136 +0,0 @@
-@import './assets/css/animate.css';
-@import './assets/css/fonts.css';
-
-* {
- -ms-overflow-style: none;
- scrollbar-width: none;
-}
-
-*::-webkit-scrollbar {
- display: none;
-}
-
-html,
-body {
- height: 100%;
- color: #2d3748;
- background-color: #f5f5f5;
- font-size: 14px;
- font-family: 'Montserrat', sans-serif;
-}
-
-ul:not(.list-none) li:before {
- content: '●';
- padding-right: 6px;
-}
-
-input[type='range']::-moz-range-thumb {
- width: 20px;
- height: 20px;
- appearance: none;
- cursor: ew-resize;
- background: #fff;
- border: none;
- box-shadow: -405px 0 0 400px #605e5c;
- border-radius: 50%;
-}
-
-input[type='range']::-webkit-slider-thumb {
- width: 20px;
- height: 20px;
- appearance: none;
- cursor: ew-resize;
- background: #fff;
- border: none;
- box-shadow: -405px 0 0 400px #605e5c;
- border-radius: 50%;
-}
-
-.centered {
- position: fixed;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
-}
-
-@media screen {
- input[type='number']::-webkit-inner-spin-button,
- input[type='number']::-webkit-outer-spin-button {
- appearance: none;
- margin: 0;
- }
-
- input[type='number'] {
- -moz-appearance: textfield;
- }
-
- input:focus {
- outline: none !important;
- }
-
- button:focus {
- outline: none !important;
- }
-
- input:checked + i.material-icons {
- display: block;
- }
-
- #sidebar {
- top: 0;
- left: 0;
- bottom: 0;
- }
-
- #tabs {
- scroll-behavior: smooth;
- }
-
- #page {
- width: 21cm;
- min-height: 29.7cm;
- background-color: white;
- }
-
- #printPage {
- display: none;
- }
-
- #pageController {
- bottom: 25px;
- }
-
- #pageController > div {
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
- }
-}
-
-@page {
- size: A4;
- margin: 0;
-}
-
-@media print {
- html,
- body,
- body * {
- -webkit-print-color-adjust: exact;
- color-adjust: exact;
- visibility: hidden;
- }
-
- #printPage,
- #printPage * {
- visibility: visible;
- page-break-inside: avoid;
- }
-
- #printPage {
- width: 21cm;
- height: 29.7cm;
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- }
-}
diff --git a/src/index.js b/src/index.js
deleted file mode 100644
index 5ed541b0d..000000000
--- a/src/index.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import React from 'react';
-import ReactDOM from 'react-dom';
-import { toast } from 'react-toastify';
-import 'react-toastify/dist/ReactToastify.css';
-
-import './i18n';
-import './assets/tailwind/tailwind.css';
-import './index.css';
-
-import * as serviceWorker from './serviceWorker';
-import { AppProvider } from './context/AppContext';
-import { PageProvider } from './context/PageContext';
-import App from './components/App/App';
-
-toast.configure({
- autoClose: 3000,
- closeButton: false,
- hideProgressBar: true,
- position: toast.POSITION.BOTTOM_RIGHT,
-});
-
-ReactDOM.render(
-
-
-
-
-
-
- ,
- document.getElementById('root'),
-);
-
-serviceWorker.register();
diff --git a/src/modals/AuthModal.js b/src/modals/AuthModal.js
new file mode 100644
index 000000000..716668b3d
--- /dev/null
+++ b/src/modals/AuthModal.js
@@ -0,0 +1,88 @@
+import { navigate } from 'gatsby';
+import React, { memo, useContext, useEffect, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import Button from '../components/shared/Button';
+import ModalContext from '../contexts/ModalContext';
+import UserContext from '../contexts/UserContext';
+import BaseModal from './BaseModal';
+
+const AuthModal = () => {
+ const { t } = useTranslation();
+ const [open, setOpen] = useState(false);
+ const [isLoadingGoogle, setLoadingGoogle] = useState(false);
+ const [isLoadingAnonymous, setLoadingAnonymous] = useState(false);
+
+ const { emitter, events } = useContext(ModalContext);
+ const { user, loginWithGoogle, loginAnonymously, logout } = useContext(
+ UserContext,
+ );
+
+ useEffect(() => {
+ const unbind = emitter.on(events.AUTH_MODAL, () => setOpen(true));
+
+ return () => unbind();
+ }, [emitter, events]);
+
+ const handleSignInWithGoogle = async () => {
+ setLoadingGoogle(true);
+ await loginWithGoogle();
+ setLoadingGoogle(false);
+ };
+
+ const handleSignInAnonymously = async () => {
+ setLoadingAnonymous(true);
+ await loginAnonymously();
+ setLoadingAnonymous(false);
+ };
+
+ const handleGotoApp = () => {
+ navigate('/app/dashboard');
+ setOpen(false);
+ };
+
+ const getTitle = () =>
+ user
+ ? t('modals.auth.welcome', { name: user.displayName || 'Agent 47' })
+ : t('modals.auth.whoAreYou');
+
+ const getMessage = () =>
+ user ? t('modals.auth.loggedInText') : t('modals.auth.loggedOutText');
+
+ const loggedInAction = (
+ <>
+
+ {t('shared.buttons.logout')}
+
+
+ {t('landing.hero.goToApp')}
+
+ >
+ );
+
+ const loggedOutAction = (
+
+
+ {t('modals.auth.buttons.google')}
+
+
+ {t('modals.auth.buttons.anonymous')}
+
+
+ );
+
+ return (
+
+ {getMessage()}
+
+ );
+};
+
+export default memo(AuthModal);
diff --git a/src/modals/BaseModal.js b/src/modals/BaseModal.js
new file mode 100644
index 000000000..66a43654a
--- /dev/null
+++ b/src/modals/BaseModal.js
@@ -0,0 +1,65 @@
+import Backdrop from '@material-ui/core/Backdrop';
+import Fade from '@material-ui/core/Fade';
+import Modal from '@material-ui/core/Modal';
+import { isFunction } from 'lodash';
+import React, { forwardRef, memo, useImperativeHandle } from 'react';
+import { MdClose } from 'react-icons/md';
+import { useTranslation } from 'react-i18next';
+import Button from '../components/shared/Button';
+import { handleKeyUp } from '../utils';
+import styles from './BaseModal.module.css';
+
+const BaseModal = forwardRef(
+ ({ title, state, children, action, hideActions = false, onDestroy }, ref) => {
+ const [open, setOpen] = state;
+ const { t } = useTranslation();
+
+ const handleClose = () => {
+ setOpen(false);
+
+ setTimeout(() => {
+ isFunction(onDestroy) && onDestroy();
+ }, 250);
+ };
+
+ useImperativeHandle(ref, () => ({ handleClose }));
+
+ return (
+
+
+
+
+
{title}
+ handleKeyUp(e, handleClose)}
+ />
+
+
+
{children}
+
+ {!hideActions && (
+
+
+ {t('shared.buttons.cancel')}
+
+
+ {action}
+
+ )}
+
+
+
+ );
+ },
+);
+
+export default memo(BaseModal);
diff --git a/src/modals/BaseModal.module.css b/src/modals/BaseModal.module.css
new file mode 100644
index 000000000..848826ddb
--- /dev/null
+++ b/src/modals/BaseModal.module.css
@@ -0,0 +1,28 @@
+.root {
+ @apply flex items-center justify-center;
+}
+
+.modal {
+ width: min(600px, calc(100vw - 100px));
+ @apply p-8 rounded bg-primary-50 outline-none;
+}
+
+.modal .title {
+ @apply flex items-center justify-between;
+}
+
+.modal .title h2 {
+ @apply text-3xl;
+}
+
+.modal .title svg {
+ @apply cursor-pointer;
+}
+
+.modal .body {
+ @apply mt-8 mb-10;
+}
+
+.modal .actions {
+ @apply flex justify-end;
+}
diff --git a/src/modals/DataModal.js b/src/modals/DataModal.js
new file mode 100644
index 000000000..ca173652e
--- /dev/null
+++ b/src/modals/DataModal.js
@@ -0,0 +1,112 @@
+import { useFormikContext } from 'formik';
+import { isEmpty, isFunction } from 'lodash';
+import React, { memo, useContext, useEffect, useRef, useState } from 'react';
+import { v4 as uuidv4 } from 'uuid';
+import { useTranslation } from 'react-i18next';
+import Button from '../components/shared/Button';
+import ModalContext from '../contexts/ModalContext';
+import { useDispatch } from '../contexts/ResumeContext';
+import { getModalText } from '../utils';
+import BaseModal from './BaseModal';
+
+const DataModal = ({
+ name,
+ path,
+ event,
+ title,
+ onEdit,
+ onCreate,
+ children,
+}) => {
+ const modalRef = useRef(null);
+ const dispatch = useDispatch();
+ const { t } = useTranslation();
+
+ const [data, setData] = useState(null);
+ const [open, setOpen] = useState(false);
+ const [loading, setLoading] = useState(false);
+ const [isEditMode, setEditMode] = useState(false);
+
+ const { emitter } = useContext(ModalContext);
+ const { values, setValues, resetForm, validateForm } = useFormikContext();
+
+ useEffect(() => {
+ const unbind = emitter.on(event, (payload) => {
+ setOpen(true);
+ setData(payload);
+ });
+
+ return () => unbind();
+ }, [emitter, event]);
+
+ useEffect(() => {
+ data && setValues(data) && setEditMode(true);
+ }, [data]);
+
+ const onSubmit = async (newData) => {
+ setLoading(true);
+
+ if (isEmpty(await validateForm())) {
+ if (isEditMode) {
+ if (data !== newData) {
+ isFunction(onEdit)
+ ? await onEdit(newData)
+ : dispatch({
+ type: 'on_edit_item',
+ payload: {
+ path,
+ value: newData,
+ },
+ });
+ }
+ } else {
+ newData.id = uuidv4();
+
+ isFunction(onCreate)
+ ? await onCreate(newData)
+ : dispatch({
+ type: 'on_add_item',
+ payload: {
+ path,
+ value: newData,
+ },
+ });
+ }
+
+ setLoading(false);
+ modalRef.current.handleClose();
+ }
+ };
+
+ const getTitle = isEmpty(title)
+ ? getModalText(isEditMode, name)
+ : isEditMode
+ ? title.edit
+ : title.create;
+
+ const submitAction = (
+
onSubmit(values)}>
+ {loading ? t('shared.buttons.loading') : getTitle}
+
+ );
+
+ const onDestroy = () => {
+ resetForm();
+ setEditMode(false);
+ setData(null);
+ };
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default memo(DataModal);
diff --git a/src/modals/ModalRegistrar.js b/src/modals/ModalRegistrar.js
new file mode 100644
index 000000000..b19a1b5c5
--- /dev/null
+++ b/src/modals/ModalRegistrar.js
@@ -0,0 +1,38 @@
+import React, { memo } from 'react';
+import AuthModal from './AuthModal';
+import ResumeModal from './ResumeModal';
+import AwardModal from './sections/AwardModal';
+import CertificateModal from './sections/CertificateModal';
+import EducationModal from './sections/EducationModal';
+import ExportModal from './sections/ExportModal';
+import HobbyModal from './sections/HobbyModal';
+import ImportModal from './sections/ImportModal';
+import LanguageModal from './sections/LanguageModal';
+import ProjectModal from './sections/ProjectModal';
+import ReferenceModal from './sections/ReferenceModal';
+import SkillModal from './sections/SkillModal';
+import SocialModal from './sections/SocialModal';
+import WorkModal from './sections/WorkModal';
+
+const ModalRegistrar = () => {
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+};
+
+export default memo(ModalRegistrar);
diff --git a/src/modals/ResumeModal.js b/src/modals/ResumeModal.js
new file mode 100644
index 000000000..77a7ce685
--- /dev/null
+++ b/src/modals/ResumeModal.js
@@ -0,0 +1,55 @@
+import { Formik } from 'formik';
+import React, { memo, useContext } from 'react';
+import * as Yup from 'yup';
+import { useTranslation } from 'react-i18next';
+import Input from '../components/shared/Input';
+import ModalEvents from '../constants/ModalEvents';
+import DatabaseContext from '../contexts/DatabaseContext';
+import { getFieldProps } from '../utils';
+import DataModal from './DataModal';
+
+const initialValues = {
+ name: '',
+};
+
+const ResumeModal = () => {
+ const { t } = useTranslation();
+ const { createResume, updateResume } = useContext(DatabaseContext);
+
+ const schema = Yup.object().shape({
+ name: Yup.string()
+ .min(5, t('shared.forms.validation.min', { number: 5 }))
+ .required(t('shared.forms.validation.required')),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+ {t('dashboard.helpText')}
+
+ )}
+
+ );
+};
+
+export default memo(ResumeModal);
diff --git a/src/modals/sections/AwardModal.js b/src/modals/sections/AwardModal.js
new file mode 100644
index 000000000..e80852cc4
--- /dev/null
+++ b/src/modals/sections/AwardModal.js
@@ -0,0 +1,72 @@
+import { Formik } from 'formik';
+import React, { memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import * as Yup from 'yup';
+import Input from '../../components/shared/Input';
+import ModalEvents from '../../constants/ModalEvents';
+import { getFieldProps } from '../../utils';
+import DataModal from '../DataModal';
+
+const initialValues = {
+ title: '',
+ awarder: '',
+ date: '',
+ summary: '',
+};
+
+const AwardModal = () => {
+ const { t } = useTranslation();
+
+ const schema = Yup.object().shape({
+ title: Yup.string().required(t('shared.forms.validation.required')),
+ awarder: Yup.string().required(t('shared.forms.validation.required')),
+ date: Yup.date().max(new Date()),
+ summary: Yup.string(),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+
+
+
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default memo(AwardModal);
diff --git a/src/modals/sections/CertificateModal.js b/src/modals/sections/CertificateModal.js
new file mode 100644
index 000000000..32801b14e
--- /dev/null
+++ b/src/modals/sections/CertificateModal.js
@@ -0,0 +1,72 @@
+import { Formik } from 'formik';
+import React, { memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import * as Yup from 'yup';
+import Input from '../../components/shared/Input';
+import ModalEvents from '../../constants/ModalEvents';
+import { getFieldProps } from '../../utils';
+import DataModal from '../DataModal';
+
+const initialValues = {
+ title: '',
+ issuer: '',
+ date: '',
+ summary: '',
+};
+
+const CertificateModal = () => {
+ const { t } = useTranslation();
+
+ const schema = Yup.object().shape({
+ title: Yup.string().required(t('shared.forms.validation.required')),
+ issuer: Yup.string().required(t('shared.forms.validation.required')),
+ date: Yup.date().max(new Date()),
+ summary: Yup.string(),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+
+
+
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default memo(CertificateModal);
diff --git a/src/modals/sections/EducationModal.js b/src/modals/sections/EducationModal.js
new file mode 100644
index 000000000..e1eca6768
--- /dev/null
+++ b/src/modals/sections/EducationModal.js
@@ -0,0 +1,107 @@
+import { Formik } from 'formik';
+import React, { memo } from 'react';
+import * as Yup from 'yup';
+import { useTranslation } from 'react-i18next';
+import Input from '../../components/shared/Input';
+import ModalEvents from '../../constants/ModalEvents';
+import { getFieldProps } from '../../utils';
+import DataModal from '../DataModal';
+
+const initialValues = {
+ institution: '',
+ field: '',
+ degree: '',
+ gpa: '',
+ startDate: '',
+ endDate: '',
+ summary: '',
+};
+
+const EducationModal = () => {
+ const { t } = useTranslation();
+
+ const schema = Yup.object().shape({
+ institution: Yup.string().required(t('shared.forms.validation.required')),
+ field: Yup.string().required(t('shared.forms.validation.required')),
+ degree: Yup.string(),
+ gpa: Yup.string(),
+ startDate: Yup.date().required(t('shared.forms.validation.required')),
+ endDate: Yup.date().when(
+ 'startDate',
+ (startDate, yupSchema) =>
+ startDate &&
+ yupSchema.min(startDate, t('shared.forms.validation.dateRange')),
+ ),
+ summary: Yup.string().min(
+ 10,
+ t('shared.forms.validation.min', { number: 10 }),
+ ),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default memo(EducationModal);
diff --git a/src/modals/sections/ExportModal.js b/src/modals/sections/ExportModal.js
new file mode 100644
index 000000000..5d0e94a84
--- /dev/null
+++ b/src/modals/sections/ExportModal.js
@@ -0,0 +1,133 @@
+import firebase from 'gatsby-plugin-firebase';
+import { clone } from 'lodash';
+import download from 'downloadjs';
+import React, { memo, useContext, useEffect, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { FaPrint } from 'react-icons/fa';
+import Button from '../../components/shared/Button';
+import ModalContext from '../../contexts/ModalContext';
+import { useSelector } from '../../contexts/ResumeContext';
+import { b64toBlob } from '../../utils';
+import BaseModal from '../BaseModal';
+
+const ExportModal = () => {
+ const state = useSelector();
+ const { t } = useTranslation();
+ const [open, setOpen] = useState(false);
+ const [isLoadingSingle, setLoadingSingle] = useState(false);
+ const [isLoadingMulti, setLoadingMulti] = useState(false);
+
+ const { emitter, events } = useContext(ModalContext);
+
+ useEffect(() => {
+ const unbind = emitter.on(events.EXPORT_MODAL, () => setOpen(true));
+
+ return () => unbind();
+ }, [emitter, events]);
+
+ const handleOpenPrintDialog = () => {
+ if (typeof window !== `undefined`) {
+ window && window.print();
+ }
+ };
+
+ const handleSinglePageDownload = async () => {
+ setLoadingSingle(true);
+ const printResume = firebase.functions().httpsCallable('printResume');
+ const { data } = await printResume({ id: state.id, type: 'single' });
+ const blob = b64toBlob(data, 'application/pdf');
+ download(blob, `RxResume-${state.id}.pdf`, 'application/pdf');
+ setLoadingSingle(false);
+ };
+
+ const handleMultiPageDownload = async () => {
+ setLoadingMulti(true);
+ const printResume = firebase.functions().httpsCallable('printResume');
+ const { data } = await printResume({ id: state.id, type: 'multi' });
+ const blob = b64toBlob(data, 'application/pdf');
+ download(blob, `RxResume-${state.id}.pdf`, 'application/pdf');
+ setLoadingMulti(false);
+ };
+
+ const handleExportToJson = () => {
+ const backupObj = clone(state);
+ delete backupObj.id;
+ delete backupObj.user;
+ delete backupObj.name;
+ delete backupObj.createdAt;
+ delete backupObj.updatedAt;
+ const data = `data:text/json;charset=utf-8,${encodeURIComponent(
+ JSON.stringify(backupObj, null, '\t'),
+ )}`;
+ download(data, `RxResume-${state.id}.json`, 'text/json');
+ };
+
+ return (
+
+
+
+ {t('modals.export.printDialog.heading')}
+
+
+
{t('modals.export.printDialog.text')}
+
+
+ {t('modals.export.printDialog.button')}
+
+
+
+
+
+
+
+ {t('modals.export.downloadPDF.heading')}
+
+
+
{t('modals.export.downloadPDF.text')}
+
+
+
+
+ {t('modals.export.downloadPDF.buttons.single')}
+
+
+ {t('modals.export.downloadPDF.buttons.multi')}
+
+
+
+
+
+
+
+
+
+ {t('modals.export.jsonFormat.heading')}
+
+
+
{t('modals.export.jsonFormat.text')}
+
+
+
+
+ );
+};
+
+export default memo(ExportModal);
diff --git a/src/modals/sections/HobbyModal.js b/src/modals/sections/HobbyModal.js
new file mode 100644
index 000000000..85e4a9023
--- /dev/null
+++ b/src/modals/sections/HobbyModal.js
@@ -0,0 +1,47 @@
+import { Formik } from 'formik';
+import React, { memo } from 'react';
+import * as Yup from 'yup';
+import { useTranslation } from 'react-i18next';
+import Input from '../../components/shared/Input';
+import ModalEvents from '../../constants/ModalEvents';
+import { getFieldProps } from '../../utils';
+import DataModal from '../DataModal';
+
+const initialValues = {
+ name: '',
+};
+
+const HobbyModal = () => {
+ const { t } = useTranslation();
+
+ const schema = Yup.object().shape({
+ name: Yup.string().required(t('shared.forms.validation.required')),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default memo(HobbyModal);
diff --git a/src/modals/sections/ImportModal.js b/src/modals/sections/ImportModal.js
new file mode 100644
index 000000000..0cb872ac7
--- /dev/null
+++ b/src/modals/sections/ImportModal.js
@@ -0,0 +1,123 @@
+import { Tooltip } from '@material-ui/core';
+import Ajv from 'ajv';
+import React, { memo, useContext, useEffect, useRef, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { toast } from 'react-toastify';
+import Button from '../../components/shared/Button';
+import ModalContext from '../../contexts/ModalContext';
+import { useDispatch } from '../../contexts/ResumeContext';
+import reactiveResumeSchema from '../../data/schema/reactiveResume.json';
+import jsonResumeSchema from '../../data/schema/jsonResume.json';
+import BaseModal from '../BaseModal';
+
+const ImportModal = () => {
+ const ajv = new Ajv();
+ const { t } = useTranslation();
+ const fileInputRef = useRef(null);
+ const [open, setOpen] = useState(false);
+ const dispatch = useDispatch();
+
+ const { emitter, events } = useContext(ModalContext);
+
+ useEffect(() => {
+ const unbind = emitter.on(events.IMPORT_MODAL, () => setOpen(true));
+
+ return () => unbind();
+ }, [emitter, events]);
+
+ const importReactiveResumeJson = (event) => {
+ const fr = new FileReader();
+ fr.addEventListener('load', () => {
+ const payload = JSON.parse(fr.result);
+ const valid = ajv.validate(reactiveResumeSchema, payload);
+ if (!valid) {
+ ajv.errors.forEach((x) => toast.error(`Invalid Data: ${x.message}`));
+ return;
+ }
+ dispatch({ type: 'on_import', payload });
+ setOpen(false);
+ });
+ fr.readAsText(event.target.files[0]);
+ };
+
+ const importJsonResume = (event) => {
+ const fr = new FileReader();
+ fr.addEventListener('load', () => {
+ const payload = JSON.parse(fr.result);
+ const valid = ajv.validate(jsonResumeSchema, payload);
+ if (!valid) {
+ ajv.errors.forEach((x) => toast.error(`Invalid Data: ${x.message}`));
+ return;
+ }
+ dispatch({ type: 'on_import_jsonresume', payload });
+ setOpen(false);
+ });
+ fr.readAsText(event.target.files[0]);
+ };
+
+ return (
+
+
+
+ {t('modals.import.reactiveResume.heading')}
+
+
+
+ {t('modals.import.reactiveResume.text')}
+
+
+
fileInputRef.current.click()}>
+ {t('modals.import.button')}
+
+
+
+
+
+
+
+
+ {t('modals.import.jsonResume.heading')}
+
+
+
{t('modals.import.jsonResume.text')}
+
+
fileInputRef.current.click()}>
+ {t('modals.import.button')}
+
+
+
+
+
+
+
+
+ {t('modals.import.linkedIn.heading')}
+
+
+
{t('modals.import.linkedIn.text')}
+
+
+
+ {t('modals.import.button')}
+
+
+
+
+ );
+};
+
+export default memo(ImportModal);
diff --git a/src/modals/sections/LanguageModal.js b/src/modals/sections/LanguageModal.js
new file mode 100644
index 000000000..72fb8c93e
--- /dev/null
+++ b/src/modals/sections/LanguageModal.js
@@ -0,0 +1,54 @@
+import { Formik } from 'formik';
+import React, { memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import * as Yup from 'yup';
+import Input from '../../components/shared/Input';
+import ModalEvents from '../../constants/ModalEvents';
+import { getFieldProps } from '../../utils';
+import DataModal from '../DataModal';
+
+const initialValues = {
+ name: '',
+ fluency: '',
+};
+
+const LanguageModal = () => {
+ const { t } = useTranslation();
+
+ const schema = Yup.object().shape({
+ name: Yup.string().required(t('shared.forms.validation.required')),
+ fluency: Yup.string().required(t('shared.forms.validation.required')),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default memo(LanguageModal);
diff --git a/src/modals/sections/ProjectModal.js b/src/modals/sections/ProjectModal.js
new file mode 100644
index 000000000..04728db53
--- /dev/null
+++ b/src/modals/sections/ProjectModal.js
@@ -0,0 +1,72 @@
+import { Formik } from 'formik';
+import React, { memo } from 'react';
+import * as Yup from 'yup';
+import { useTranslation } from 'react-i18next';
+import Input from '../../components/shared/Input';
+import ModalEvents from '../../constants/ModalEvents';
+import { getFieldProps } from '../../utils';
+import DataModal from '../DataModal';
+
+const initialValues = {
+ title: '',
+ link: '',
+ date: '',
+ summary: '',
+};
+
+const ProjectModal = () => {
+ const { t } = useTranslation();
+
+ const schema = Yup.object().shape({
+ title: Yup.string().required(t('shared.forms.validation.required')),
+ link: Yup.string().url(t('shared.forms.validation.url')),
+ date: Yup.date().max(new Date()),
+ summary: Yup.string(),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+
+
+
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default memo(ProjectModal);
diff --git a/src/modals/sections/ReferenceModal.js b/src/modals/sections/ReferenceModal.js
new file mode 100644
index 000000000..0fd898583
--- /dev/null
+++ b/src/modals/sections/ReferenceModal.js
@@ -0,0 +1,79 @@
+import { Formik } from 'formik';
+import React, { memo } from 'react';
+import * as Yup from 'yup';
+import { useTranslation } from 'react-i18next';
+import Input from '../../components/shared/Input';
+import ModalEvents from '../../constants/ModalEvents';
+import { getFieldProps } from '../../utils';
+import DataModal from '../DataModal';
+
+const initialValues = {
+ name: '',
+ position: '',
+ phone: '',
+ email: '',
+ summary: '',
+};
+
+const ReferenceModal = () => {
+ const { t } = useTranslation();
+
+ const schema = Yup.object().shape({
+ name: Yup.string().required(t('shared.forms.validation.required')),
+ position: Yup.string().required(t('shared.forms.validation.required')),
+ phone: Yup.string(),
+ email: Yup.string().email(t('shared.forms.validation.email')),
+ summary: Yup.string(),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default memo(ReferenceModal);
diff --git a/src/modals/sections/SkillModal.js b/src/modals/sections/SkillModal.js
new file mode 100644
index 000000000..38ecd275c
--- /dev/null
+++ b/src/modals/sections/SkillModal.js
@@ -0,0 +1,65 @@
+import { Formik } from 'formik';
+import React, { memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import * as Yup from 'yup';
+import Input from '../../components/shared/Input';
+import ModalEvents from '../../constants/ModalEvents';
+import { getFieldProps } from '../../utils';
+import DataModal from '../DataModal';
+
+const SKILL_LEVELS = [
+ 'Fundamental Awareness',
+ 'Novice',
+ 'Intermediate',
+ 'Advanced',
+ 'Expert',
+];
+
+const initialValues = {
+ name: '',
+ level: SKILL_LEVELS[0],
+};
+
+const SkillModal = () => {
+ const { t } = useTranslation();
+
+ const schema = Yup.object().shape({
+ name: Yup.string().required(t('shared.forms.validation.required')),
+ level: Yup.string()
+ .oneOf(SKILL_LEVELS)
+ .required(t('shared.forms.validation.required')),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default memo(SkillModal);
diff --git a/src/modals/sections/SocialModal.js b/src/modals/sections/SocialModal.js
new file mode 100644
index 000000000..a58fef5de
--- /dev/null
+++ b/src/modals/sections/SocialModal.js
@@ -0,0 +1,68 @@
+import { Formik } from 'formik';
+import React, { memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import * as Yup from 'yup';
+import Input from '../../components/shared/Input';
+import ModalEvents from '../../constants/ModalEvents';
+import { getFieldProps } from '../../utils';
+import DataModal from '../DataModal';
+
+const initialValues = {
+ url: 'https://',
+ network: '',
+ username: '',
+};
+
+const SocialModal = () => {
+ const { t } = useTranslation();
+
+ const schema = Yup.object().shape({
+ network: Yup.string()
+ .min(5, t('shared.forms.validation.min', { number: 5 }))
+ .required(t('shared.forms.validation.required')),
+ username: Yup.string().required(t('shared.forms.validation.required')),
+ url: Yup.string()
+ .min(5, t('shared.forms.validation.min', { number: 5 }))
+ .required(t('shared.forms.validation.required'))
+ .url(t('shared.forms.validation.url')),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default memo(SocialModal);
diff --git a/src/modals/sections/WorkModal.js b/src/modals/sections/WorkModal.js
new file mode 100644
index 000000000..ae4833933
--- /dev/null
+++ b/src/modals/sections/WorkModal.js
@@ -0,0 +1,98 @@
+import { Formik } from 'formik';
+import React, { memo } from 'react';
+import * as Yup from 'yup';
+import { useTranslation } from 'react-i18next';
+import Input from '../../components/shared/Input';
+import ModalEvents from '../../constants/ModalEvents';
+import { getFieldProps } from '../../utils';
+import DataModal from '../DataModal';
+
+const initialValues = {
+ company: '',
+ position: '',
+ website: 'https://',
+ startDate: '',
+ endDate: '',
+ summary: '',
+};
+
+const WorkModal = () => {
+ const { t } = useTranslation();
+
+ const schema = Yup.object().shape({
+ company: Yup.string().required(t('shared.forms.validation.required')),
+ position: Yup.string().required(t('shared.forms.validation.required')),
+ website: Yup.string().url(t('shared.forms.validation.url')),
+ startDate: Yup.date().required(t('shared.forms.validation.required')),
+ endDate: Yup.date().when(
+ 'startDate',
+ (startDate, yupSchema) =>
+ startDate &&
+ yupSchema.min(startDate, t('shared.forms.validation.dateRange')),
+ ),
+ summary: Yup.string().min(
+ 10,
+ t('shared.forms.validation.min', { number: 10 }),
+ ),
+ });
+
+ return (
+
+ {(formik) => (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default memo(WorkModal);
diff --git a/src/pages/404.js b/src/pages/404.js
new file mode 100644
index 000000000..be8a164e3
--- /dev/null
+++ b/src/pages/404.js
@@ -0,0 +1,12 @@
+import { navigate } from 'gatsby';
+import { memo, useEffect } from 'react';
+
+const NotFound = () => {
+ useEffect(() => {
+ navigate('/');
+ }, []);
+
+ return null;
+};
+
+export default memo(NotFound);
diff --git a/src/pages/app.js b/src/pages/app.js
new file mode 100644
index 000000000..e77557f86
--- /dev/null
+++ b/src/pages/app.js
@@ -0,0 +1,19 @@
+import { Redirect, Router } from '@reach/router';
+import React, { memo } from 'react';
+import PrivateRoute from '../components/router/PrivateRoute';
+import Wrapper from '../components/shared/Wrapper';
+import NotFound from './404';
+import Builder from './app/builder';
+import Dashboard from './app/dashboard';
+
+const App = () => (
+
+
+
+
+
+
+
+
+);
+export default memo(App);
diff --git a/src/pages/app/builder.js b/src/pages/app/builder.js
new file mode 100644
index 000000000..880b4868a
--- /dev/null
+++ b/src/pages/app/builder.js
@@ -0,0 +1,72 @@
+import { navigate } from 'gatsby';
+import React, { memo, useContext, useEffect, useMemo, useState } from 'react';
+import { toast } from 'react-toastify';
+import { useTranslation } from 'react-i18next';
+import Artboard from '../../components/builder/center/Artboard';
+import LeftSidebar from '../../components/builder/left/LeftSidebar';
+import RightSidebar from '../../components/builder/right/RightSidebar';
+import LoadingScreen from '../../components/router/LoadingScreen';
+import DatabaseContext from '../../contexts/DatabaseContext';
+import { useDispatch } from '../../contexts/ResumeContext';
+import Button from '../../components/shared/Button';
+import styles from './builder.module.css';
+
+const Builder = ({ id }) => {
+ const dispatch = useDispatch();
+ const { t } = useTranslation();
+ const [loading, setLoading] = useState(true);
+ const { getResume } = useContext(DatabaseContext);
+
+ const handleLoadDemoData = () => {
+ dispatch({ type: 'load_demo_data' });
+ };
+
+ useEffect(() => {
+ (async () => {
+ const resume = await getResume(id);
+
+ if (!resume) {
+ navigate('/app/dashboard');
+ toast.error(t('builder.toasts.doesNotExist'));
+ return null;
+ }
+
+ if (resume.createdAt === resume.updatedAt) {
+ toast.dark(() => (
+
+
{t('builder.toasts.loadDemoData')}
+
+
+ {t('builder.actions.loadDemoData.button')}
+
+
+ ));
+ }
+
+ dispatch({ type: 'set_data', payload: resume });
+ return setLoading(false);
+ })();
+ }, [id]);
+
+ return useMemo(() => {
+ if (loading) {
+ return
;
+ }
+
+ return (
+
+ );
+ }, [loading]);
+};
+
+export default memo(Builder);
diff --git a/src/pages/app/builder.module.css b/src/pages/app/builder.module.css
new file mode 100644
index 000000000..c53f47c07
--- /dev/null
+++ b/src/pages/app/builder.module.css
@@ -0,0 +1,33 @@
+.container {
+ @apply w-screen h-screen grid grid-cols-10;
+}
+
+.left {
+ @apply col-span-3;
+}
+
+.center {
+ @apply col-span-4 h-screen overflow-scroll bg-primary-100 grid justify-center items-center;
+}
+
+.right {
+ @apply col-span-3;
+}
+
+@media screen and (min-width: 1440px) {
+ .container {
+ @apply grid-cols-11;
+ }
+
+ .left {
+ @apply col-span-3;
+ }
+
+ .center {
+ @apply col-span-5;
+ }
+
+ .right {
+ @apply col-span-3;
+ }
+}
\ No newline at end of file
diff --git a/src/pages/app/dashboard.js b/src/pages/app/dashboard.js
new file mode 100644
index 000000000..9ef466571
--- /dev/null
+++ b/src/pages/app/dashboard.js
@@ -0,0 +1,87 @@
+import firebase from 'gatsby-plugin-firebase';
+import React, { useEffect, useState } from 'react';
+import { Helmet } from 'react-helmet';
+import { useTranslation } from 'react-i18next';
+import CreateResume from '../../components/dashboard/CreateResume';
+import ResumePreview from '../../components/dashboard/ResumePreview';
+import TopNavbar from '../../components/dashboard/TopNavbar';
+import LoadingScreen from '../../components/router/LoadingScreen';
+
+const Dashboard = ({ user }) => {
+ const { t } = useTranslation();
+ const [resumes, setResumes] = useState([]);
+ const [loading, setLoading] = useState(true);
+
+ useEffect(() => {
+ const resumesRef = 'resumes';
+ const socketRef = '/.info/connected';
+
+ firebase
+ .database()
+ .ref(socketRef)
+ .on('value', (snapshot) => {
+ if (snapshot.val()) {
+ setLoading(false);
+ firebase.database().ref(socketRef).off();
+ }
+ });
+
+ firebase
+ .database()
+ .ref(resumesRef)
+ .orderByChild('user')
+ .equalTo(user.uid)
+ .on('value', (snapshot) => {
+ if (snapshot.val()) {
+ const resumesArr = [];
+ const data = snapshot.val();
+ Object.keys(data).forEach((key) => resumesArr.push(data[key]));
+ setResumes(resumesArr);
+ }
+ });
+
+ firebase
+ .database()
+ .ref(resumesRef)
+ .orderByChild('user')
+ .equalTo(user.uid)
+ .on('child_removed', (snapshot) => {
+ if (snapshot.val()) {
+ setResumes(resumes.filter((x) => x.id === snapshot.val().id));
+ }
+ });
+
+ return () => {
+ firebase.database().ref(resumesRef).off();
+ };
+ }, [user]);
+
+ if (loading) {
+ return
;
+ }
+
+ return (
+
+
+
+ {t('dashboard.title')} | {t('shared.appName')}
+
+
+
+
+
+
+
+
+
+
+ {resumes.map((x) => (
+
+ ))}
+
+
+
+ );
+};
+
+export default Dashboard;
diff --git a/src/pages/faq.js b/src/pages/faq.js
new file mode 100644
index 000000000..90e4237d6
--- /dev/null
+++ b/src/pages/faq.js
@@ -0,0 +1,115 @@
+import { Link } from '@reach/router';
+import React from 'react';
+import { Helmet } from 'react-helmet';
+import { MdKeyboardArrowLeft } from 'react-icons/md';
+import Wrapper from '../components/shared/Wrapper';
+
+const FrequentlyAskedQuestions = () => {
+ return (
+
+
+ Frequently Asked Questions | Reactive Resume
+
+
+
+
+
+
+
+
+
+ Frequently Asked Questions
+
+
+
+
+
+ This is aimed to be the world's simplest privacy policy. This
+ document should explain to you why the app collects some
+ information, what happens when your account is deleted and some
+ other frequently asked questions answered regarding your privacy.
+
+
+
+ If you have any more questions, please raise an issue regarding the
+ same on GitHub and I'll answer as honest and quickly as
+ possible :)
+
+
+
+
+
+
+
+ What identifiable information is stored about me?
+
+
+ Your name and your email address is stored along with your user
+ information, if you signed in with Google, and of course, all the
+ information you input in your resume is also stored in the database.
+ You won't even get any marketing emails, feature updates,
+ newsletters, notification emails, nothing.
+
+
+
+
+
+
+
+ Why are you using a database, why not keep everything local like in
+ the first version of Reactive Resume?
+
+
+ Not having a centralized database cause a lot more problems than I
+ could solve, mainly having a large chunk of the users of the app
+ having an outdated schema as the app evolved. This was a problem I
+ could not solve without having at least some control.
+
+
+
+ Also, a lot of users were having trouble printing their resumes on
+ their browsers, so with the help of Cloud Functions from Firebase,
+ you can now print your resumes remotely. None of the resumes are
+ stored, and they are sent to you immediately after generation, which
+ can be verified by looking through the source code.
+
+
+
+
+
+
+
+ How is this all free? There must be a catch!
+
+
+ Absolutely no catch to this freebie. This project
+ is just my way of giving back to the community that I've
+ learned so much from. If you'd like to show your appreciation
+ however, you can follow me on my social media and let me know how
+ much it helped you, or donate to help pay the cloud bills, or if you
+ are a fellow developer, you can head to GitHub and contribute to the
+ code and raising a PR.
+
+
+
+
+
+
+
+ Is there a mobile app for Reactive Resume?
+
+
+ Not yet. But soon, maybe? One of the main
+ motivations for me to shift to a centralized database approach was
+ that I could one day build a mobile app as well that could let users
+ jump from editing on their desktops to editing on their phones. It
+ requires a lot of time, so I would not expect it any time soon, but
+ it's definitely in the pipeline.
+
+
+
+
+ );
+};
+
+export default FrequentlyAskedQuestions;
diff --git a/src/pages/index.js b/src/pages/index.js
new file mode 100644
index 000000000..9d8740501
--- /dev/null
+++ b/src/pages/index.js
@@ -0,0 +1,124 @@
+import { Link } from '@reach/router';
+import React, { memo } from 'react';
+import { Helmet } from 'react-helmet';
+import { useTranslation } from 'react-i18next';
+import Hero from '../components/landing/Hero';
+import Wrapper from '../components/shared/Wrapper';
+import Screenshots from '../components/landing/Screenshots';
+
+const Home = () => {
+ const { t } = useTranslation();
+
+ return (
+
+
+ {t('shared.appName')}
+
+
+
+
+
+
+
+ Reactive Resume is a free and open source resume builder that’s built
+ to make the mundane tasks of creating, updating and sharing your
+ resume as easy as 1, 2, 3. With this app, you can create multiple
+ resumes, share them with recruiters through a unique link and print as
+ PDF, all for free, no advertisements, without losing the integrity and
+ privacy of your data.
+
+
+
+
+
+
+ Keep up with the latest trends in resume design without having to
+ start from scratch. With new templates being designed every week and
+ having made it that easy to design your own templates and submit
+ them to the community, you’ll never have to copy and edit your
+ friend’s resume again.
+
+
+
+ The biggest problem I’ve faced was when I had to update my resume
+ when I learned a new skill or found a new job. The ever-shifting
+ layouts and inconsistency with design over a number of years made it
+ difficult to update your own resume, but Reactive Resume makes it as
+ easy as few clicks.
+
+
+
+ There are brilliant alternatives to this app like Novoresume and
+ Zety , but they come at a cost, mainly because of the time the
+ developers and the marketing they had to incur to make the product.
+ This app might not be better than them, but it does cater to people
+ who are just not in a position to pay hundreds of dollars to create
+ a resume to bootstrap their career.
+
+
+
+ You must be thinking, if you're not paying for the product,
+ then you are the product. Or, at least your data is?{' '}
+ Well, this is the exception . Your data is your own,
+ as stated in the ridiculously simple{' '}
+ Privacy Policy, I don't do anything with
+ the data, it just exists on a database for the convinient features
+ provided by Reactive Resume.
+
+
+
+
+
+ Links of Interest
+
+
+
+
+
+
+
+ );
+};
+
+const Feature = ({ title, children }) => {
+ return (
+
+ );
+};
+
+export default memo(Home);
diff --git a/src/pages/r.js b/src/pages/r.js
new file mode 100644
index 000000000..5392c59ab
--- /dev/null
+++ b/src/pages/r.js
@@ -0,0 +1,17 @@
+import { Redirect, Router } from '@reach/router';
+import React, { memo } from 'react';
+import Wrapper from '../components/shared/Wrapper';
+import ResumeViewer from './r/view';
+import NotFound from './404';
+
+const ResumeRouter = () => (
+
+
+
+
+
+
+
+);
+
+export default memo(ResumeRouter);
diff --git a/src/pages/r/view.js b/src/pages/r/view.js
new file mode 100644
index 000000000..d2cf7e992
--- /dev/null
+++ b/src/pages/r/view.js
@@ -0,0 +1,75 @@
+import { Link, navigate } from '@reach/router';
+import React, { memo, useContext, useEffect, useMemo, useState } from 'react';
+import { Helmet } from 'react-helmet';
+import { toast } from 'react-toastify';
+import { useTranslation } from 'react-i18next';
+import LoadingScreen from '../../components/router/LoadingScreen';
+import DatabaseContext from '../../contexts/DatabaseContext';
+import Castform from '../../templates/Castform';
+import Gengar from '../../templates/Gengar';
+import Glalie from '../../templates/Glalie';
+import Onyx from '../../templates/Onyx';
+import Pikachu from '../../templates/Pikachu';
+import styles from './view.module.css';
+import Celebi from '../../templates/Celebi';
+
+const ResumeViewer = ({ id }) => {
+ const { t } = useTranslation();
+ const [resume, setResume] = useState(null);
+ const [loading, setLoading] = useState(true);
+ const { getResume } = useContext(DatabaseContext);
+
+ useEffect(() => {
+ (async () => {
+ const data = await getResume(id);
+
+ if (!data) {
+ navigate('/');
+ toast.error(
+ `The resume you were looking for does not exist anymore... or maybe it never did?`,
+ );
+ return null;
+ }
+
+ setResume(data);
+ return setLoading(false);
+ })();
+ }, [id]);
+
+ return useMemo(() => {
+ if (loading) {
+ return
;
+ }
+
+ return (
+
+
+
+ {resume.name} | {t('shared.appName')}
+
+
+
+
+
+ {resume.metadata.template === 'onyx' &&
}
+ {resume.metadata.template === 'pikachu' &&
}
+ {resume.metadata.template === 'gengar' &&
}
+ {resume.metadata.template === 'castform' && (
+
+ )}
+ {resume.metadata.template === 'glalie' &&
}
+ {resume.metadata.template === 'celebi' &&
}
+
+
+
+ Built with Reactive Resume
+
+
+ );
+ });
+};
+
+export default memo(ResumeViewer);
diff --git a/src/pages/r/view.module.css b/src/pages/r/view.module.css
new file mode 100644
index 000000000..5ef756d2d
--- /dev/null
+++ b/src/pages/r/view.module.css
@@ -0,0 +1,15 @@
+@media screen {
+ .container {
+ background-color: #212121;
+ @apply col-span-5 flex flex-col items-center;
+ }
+
+ .page {
+ width: 800px;
+ @apply block my-16 rounded shadow-2xl;
+ }
+
+ .footer {
+ @apply mb-16 text-white text-center opacity-50 leading-loose;
+ }
+}
\ No newline at end of file
diff --git a/src/serviceWorker.js b/src/serviceWorker.js
deleted file mode 100644
index 5af7164bf..000000000
--- a/src/serviceWorker.js
+++ /dev/null
@@ -1,139 +0,0 @@
-/* eslint-disable no-console */
-/* eslint-disable no-use-before-define */
-// This optional code is used to register a service worker.
-// register() is not called by default.
-
-// This lets the app load faster on subsequent visits in production, and gives
-// it offline capabilities. However, it also means that developers (and users)
-// will only see deployed updates on subsequent visits to a page, after all the
-// existing tabs open on the page have been closed, since previously cached
-// resources are updated in the background.
-
-// To learn more about the benefits of this model and instructions on how to
-// opt-in, read https://bit.ly/CRA-PWA
-
-const isLocalhost = Boolean(
- window.location.hostname === 'localhost' ||
- // [::1] is the IPv6 localhost address.
- window.location.hostname === '[::1]' ||
- // 127.0.0.0/8 are considered localhost for IPv4.
- window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),
-);
-
-export function register(config) {
- if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
- // The URL constructor is available in all browsers that support SW.
- const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);
- if (publicUrl.origin !== window.location.origin) {
- // Our service worker won't work if PUBLIC_URL is on a different origin
- // from what our page is served on. This might happen if a CDN is used to
- // serve assets; see https://github.com/facebook/create-react-app/issues/2374
- return;
- }
-
- window.addEventListener('load', () => {
- const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
-
- if (isLocalhost) {
- // This is running on localhost. Let's check if a service worker still exists or not.
- checkValidServiceWorker(swUrl, config);
-
- // Add some additional logging to localhost, pointing developers to the
- // service worker/PWA documentation.
- navigator.serviceWorker.ready.then(() => {
- console.log(
- 'This web app is being served cache-first by a service ' +
- 'worker. To learn more, visit https://bit.ly/CRA-PWA',
- );
- });
- } else {
- // Is not localhost. Just register service worker
- registerValidSW(swUrl, config);
- }
- });
- }
-}
-
-function registerValidSW(swUrl, config) {
- navigator.serviceWorker
- .register(swUrl)
- .then(registration => {
- registration.onupdatefound = () => {
- const installingWorker = registration.installing;
- if (installingWorker == null) {
- return;
- }
- installingWorker.onstatechange = () => {
- if (installingWorker.state === 'installed') {
- if (navigator.serviceWorker.controller) {
- // At this point, the updated precached content has been fetched,
- // but the previous service worker will still serve the older
- // content until all client tabs are closed.
- console.log(
- 'New content is available and will be used when all ' +
- 'tabs for this page are closed. See https://bit.ly/CRA-PWA.',
- );
-
- // Execute callback
- if (config && config.onUpdate) {
- config.onUpdate(registration);
- }
- } else {
- // At this point, everything has been precached.
- // It's the perfect time to display a
- // "Content is cached for offline use." message.
- console.log('Content is cached for offline use.');
-
- // Execute callback
- if (config && config.onSuccess) {
- config.onSuccess(registration);
- }
- }
- }
- };
- };
- })
- .catch(error => {
- console.error('Error during service worker registration:', error);
- });
-}
-
-function checkValidServiceWorker(swUrl, config) {
- // Check if the service worker can be found. If it can't reload the page.
- fetch(swUrl, {
- headers: { 'Service-Worker': 'script' },
- })
- .then(response => {
- // Ensure service worker exists, and that we really are getting a JS file.
- const contentType = response.headers.get('content-type');
- if (
- response.status === 404 ||
- (contentType != null && contentType.indexOf('javascript') === -1)
- ) {
- // No service worker found. Probably a different app. Reload the page.
- navigator.serviceWorker.ready.then(registration => {
- registration.unregister().then(() => {
- window.location.reload();
- });
- });
- } else {
- // Service worker found. Proceed as normal.
- registerValidSW(swUrl, config);
- }
- })
- .catch(() => {
- console.log('No internet connection found. App is running in offline mode.');
- });
-}
-
-export function unregister() {
- if ('serviceWorker' in navigator) {
- navigator.serviceWorker.ready
- .then(registration => {
- registration.unregister();
- })
- .catch(error => {
- console.error(error.message);
- });
- }
-}
diff --git a/src/shared/AddItemButton.js b/src/shared/AddItemButton.js
deleted file mode 100644
index eb91746a6..000000000
--- a/src/shared/AddItemButton.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import React from 'react';
-import { useTranslation } from 'react-i18next';
-
-const AddItemButton = ({ onSubmit }) => {
- const { t } = useTranslation();
-
- return (
-
-
-
- add
- {t('buttons.add.label')}
-
-
-
- );
-};
-
-export default AddItemButton;
diff --git a/src/shared/Checkbox.js b/src/shared/Checkbox.js
deleted file mode 100644
index e1b24e6d2..000000000
--- a/src/shared/Checkbox.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import React from 'react';
-
-const Checkbox = ({ checked, onChange, icon = 'check', size = '2rem' }) => {
- return (
-
- onChange(e.target.checked)}
- />
-
- {icon}
-
-
- );
-};
-
-export default Checkbox;
diff --git a/src/shared/Counter.js b/src/shared/Counter.js
deleted file mode 100644
index aee236245..000000000
--- a/src/shared/Counter.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import React from 'react';
-
-const Counter = ({ label, value, onDecrement, onIncrement, className }) => {
- return (
-
-
- {label}
-
-
-
- −
-
-
-
- +
-
-
-
- );
-};
-
-export default Counter;
diff --git a/src/shared/Dropdown.js b/src/shared/Dropdown.js
deleted file mode 100644
index 4421cb9c8..000000000
--- a/src/shared/Dropdown.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import React from 'react';
-
-const Dropdown = ({ label, value, onChange, options, optionItem }) => (
-
- {label && (
-
- {label}
-
- )}
-
-
onChange(e.target.value)}
- >
- {options.map(optionItem)}
-
-
- expand_more
-
-
-
-);
-
-export default Dropdown;
diff --git a/src/shared/ItemActions.js b/src/shared/ItemActions.js
deleted file mode 100644
index 526bf35a2..000000000
--- a/src/shared/ItemActions.js
+++ /dev/null
@@ -1,62 +0,0 @@
-import React from 'react';
-import { useTranslation } from 'react-i18next';
-
-import Checkbox from './Checkbox';
-import { deleteItem, moveItemUp, moveItemDown } from '../utils';
-
-const ItemActions = ({ dispatch, first, identifier, item, last, onChange, type }) => {
- const { t } = useTranslation();
-
- return (
-
-
-
{
- onChange(`${identifier}enable`, v);
- }}
- />
-
- deleteItem(dispatch, type, item)}
- className="ml-2 bg-red-600 hover:bg-red-700 text-white text-sm font-medium py-2 px-5 rounded"
- >
-
- delete
- {t('buttons.delete.label')}
-
-
-
-
-
- {!first && (
-
moveItemUp(dispatch, type, item)}
- className="bg-gray-600 hover:bg-gray-700 text-white text-sm font-medium py-2 px-4 rounded mr-2"
- >
-
- arrow_upward
-
-
- )}
-
- {!last && (
-
moveItemDown(dispatch, type, item)}
- className="bg-gray-600 hover:bg-gray-700 text-white text-sm font-medium py-2 px-4 rounded"
- >
-
- arrow_downward
-
-
- )}
-
-
- );
-};
-
-export default ItemActions;
diff --git a/src/shared/ItemHeading.js b/src/shared/ItemHeading.js
deleted file mode 100644
index dccab421d..000000000
--- a/src/shared/ItemHeading.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import React from 'react';
-import { useTranslation } from 'react-i18next';
-
-const ItemHeading = ({ title, heading, isOpen, setOpen }) => {
- const { t } = useTranslation();
-
- return (
-
setOpen(!isOpen)}
- >
-
- {typeof heading === 'undefined' ? title : t('item.add', { heading })}
-
- {isOpen ? 'expand_less' : 'expand_more'}
-
- );
-};
-
-export default ItemHeading;
diff --git a/src/shared/MarkdownHelpText.js b/src/shared/MarkdownHelpText.js
deleted file mode 100644
index 0c27bdf97..000000000
--- a/src/shared/MarkdownHelpText.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import React from 'react';
-import { Trans } from 'react-i18next';
-
-const MarkdownHelpText = ({ className }) => {
- return (
-
- );
-};
-
-export default MarkdownHelpText;
diff --git a/src/shared/PageController.js b/src/shared/PageController.js
deleted file mode 100644
index 228841bd2..000000000
--- a/src/shared/PageController.js
+++ /dev/null
@@ -1,62 +0,0 @@
-import React, { useContext } from 'react';
-
-import PageContext from '../context/PageContext';
-
-const PageController = () => {
- const pageContext = useContext(PageContext);
- const { panZoomRef, setPrintDialogOpen } = pageContext;
-
- const zoomIn = () => panZoomRef.current.zoomIn(2);
- const zoomOut = () => panZoomRef.current.zoomOut(2);
- const centerReset = () => {
- panZoomRef.current.autoCenter(1);
- panZoomRef.current.reset(1);
- };
-
- return (
-
-
-
- zoom_in
-
-
-
- zoom_out
-
-
-
- center_focus_strong
-
-
-
|
-
-
window.print()}>
- print
-
-
-
setPrintDialogOpen(true)}
- >
- save
-
-
-
|
-
-
- help_outline
-
-
-
- );
-};
-
-export default PageController;
diff --git a/src/shared/PanZoomAnimation.js b/src/shared/PanZoomAnimation.js
deleted file mode 100644
index 7f890dd3a..000000000
--- a/src/shared/PanZoomAnimation.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import React, { useState, useEffect } from 'react';
-import { useTranslation } from 'react-i18next';
-
-import animation from '../assets/panzoom.mp4';
-
-const PanZoomAnimation = () => {
- const { t } = useTranslation();
- const [animationVisible, setAnimationVisible] = useState(false);
-
- useEffect(() => {
- setTimeout(() => setAnimationVisible(true), 500);
- setTimeout(() => setAnimationVisible(false), 3000);
- }, []);
-
- return (
-
-
-
-
- {t('panZoomAnimation.helpText')}
-
-
-
- );
-};
-
-export default PanZoomAnimation;
diff --git a/src/shared/PrintDialog.js b/src/shared/PrintDialog.js
deleted file mode 100644
index 1be046beb..000000000
--- a/src/shared/PrintDialog.js
+++ /dev/null
@@ -1,106 +0,0 @@
-import React, { useState, useContext } from 'react';
-import { useTranslation } from 'react-i18next';
-
-import PageContext from '../context/PageContext';
-import Dropdown from './Dropdown';
-import { saveAsPdf, saveAsMultiPagePdf } from '../utils';
-
-const PrintDialog = () => {
- const { t } = useTranslation();
- const pageContext = useContext(PageContext);
- const { pageRef, panZoomRef, isPrintDialogOpen, setPrintDialogOpen } = pageContext;
-
- const printTypes = [
- { key: 'unconstrained', value: `${t('printDialog.printType.types.unconstrained')}` },
- { key: 'fitInA4', value: `${t('printDialog.printType.types.fitInA4')}` },
- { key: 'multiPageA4', value: `${t('printDialog.printType.types.multiPageA4')}` },
- ];
-
- const [quality, setQuality] = useState(80);
- const [type, setType] = useState(printTypes[0].key);
-
- return (
-
{
- setPrintDialogOpen(false);
- }}
- >
-
{
- e.stopPropagation();
- e.preventDefault();
- }}
- >
-
{t('printDialog.heading')}
-
-
{t('printDialog.quality.label')}
-
- setQuality(e.target.value)}
- min="40"
- max="100"
- step="5"
- />
-
-
{quality}%
-
-
-
{t('printDialog.printType.label')}
-
(
-
- {x.value}
-
- )}
- />
-
- {t('printDialog.helpText.0')}
- {t('printDialog.helpText.1')}
-
-
-
{
- setPrintDialogOpen(false);
- }}
- className="mt-6 border border-red-600 text-red-600 hover:bg-red-600 hover:text-white text-sm font-medium py-2 px-5 rounded"
- >
-
- close
- {t('printDialog.buttons.cancel')}
-
-
-
-
{
- await (type === 'multiPageA4'
- ? saveAsMultiPagePdf(pageRef, panZoomRef, quality)
- : saveAsPdf(pageRef, panZoomRef, quality, type));
- setPrintDialogOpen(false);
- }}
- className="mt-6 border border-gray-700 text-gray-700 hover:bg-gray-700 hover:text-white text-sm font-medium py-2 px-5 rounded"
- >
-
- save
- {t('printDialog.buttons.saveAsPdf')}
-
-
-
-
-
- );
-};
-
-export default PrintDialog;
diff --git a/src/shared/TabBar.js b/src/shared/TabBar.js
deleted file mode 100644
index 2fb20765d..000000000
--- a/src/shared/TabBar.js
+++ /dev/null
@@ -1,59 +0,0 @@
-import React, { useRef } from 'react';
-
-const TabBar = ({ tabs, currentTab, setCurrentTab }) => {
- const tabsRef = useRef(null);
-
- const scrollBy = (x) => {
- const index = tabs.findIndex((tab) => tab.key === currentTab);
- tabsRef.current.scrollLeft += x;
-
- if (x < 0 && index > 0) {
- setCurrentTab(tabs[index - 1].key);
- }
-
- if (x > 0 && index < tabs.length - 1) {
- setCurrentTab(tabs[index + 1].key);
- }
- };
-
- return (
-
-
scrollBy(-100)}
- >
- chevron_left
-
-
-
-
-
scrollBy(100)}
- >
- chevron_right
-
-
- );
-};
-
-export default TabBar;
diff --git a/src/shared/TextArea.js b/src/shared/TextArea.js
deleted file mode 100644
index 0bed007e2..000000000
--- a/src/shared/TextArea.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import React from 'react';
-import MarkdownHelpText from './MarkdownHelpText';
-
-const TextArea = ({ label, placeholder, value, onChange, className, rows = 5 }) => (
-
-
- {label}
-
-
-);
-
-export default TextArea;
diff --git a/src/shared/TextField.js b/src/shared/TextField.js
deleted file mode 100644
index 7b3fd85f2..000000000
--- a/src/shared/TextField.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import React from 'react';
-
-const TextField = ({
- label,
- placeholder,
- value,
- onChange,
- className,
- disabled = false,
- type = 'text',
-}) => (
-
- {label && (
-
- {label}
-
- )}
- onChange(e.target.value)}
- placeholder={placeholder}
- />
-
-);
-
-export default TextField;
diff --git a/src/styles/forms.css b/src/styles/forms.css
new file mode 100644
index 000000000..78cd5f814
--- /dev/null
+++ b/src/styles/forms.css
@@ -0,0 +1,35 @@
+label {
+ @apply flex flex-col;
+}
+
+label > span:first-child {
+ @apply mb-1 text-primary-600 font-semibold tracking-wide text-xs uppercase;
+}
+
+label > p {
+ @apply mt-1 text-red-600 text-xs;
+}
+
+label input,
+label textarea,
+label select {
+ @apply w-full py-3 px-4 rounded text-primary-900 bg-primary-200 border border-transparent appearance-none;
+}
+
+label input::placeholder,
+label textarea::placeholder,
+label select::placeholder {
+ @apply opacity-50;
+}
+
+label input:hover,
+label textarea:hover,
+label select:hover {
+ @apply outline-none border-primary-400;
+}
+
+label input:focus,
+label textarea:focus,
+label select:focus {
+ @apply outline-none border-primary-600;
+}
diff --git a/src/styles/global.css b/src/styles/global.css
new file mode 100644
index 000000000..dd77067ba
--- /dev/null
+++ b/src/styles/global.css
@@ -0,0 +1,78 @@
+html,
+body {
+ font-size: 12px;
+ font-family: 'Montserrat', sans-serif;
+ @apply text-primary-900 bg-primary-50;
+ @apply transition-colors duration-200 ease-in-out;
+}
+
+a {
+ @apply font-semibold;
+}
+
+a:hover {
+ @apply underline;
+}
+
+hr {
+ @apply w-full border-primary-200 h-1;
+}
+
+ul {
+ @apply list-disc list-inside;
+}
+
+section {
+ @apply grid grid-cols-1 gap-8;
+}
+
+.MuiTooltip-tooltip {
+ font-size: 10px;
+}
+
+.MuiMenuItem-root {
+ justify-content: center;
+}
+
+.spin {
+ animation: spin 1s linear infinite;
+}
+
+@keyframes spin {
+ 100% {
+ transform: rotate(360deg);
+ }
+}w
+
+.markdown {
+ @apply leading-relaxed whitespace-pre-wrap;
+}
+
+@page {
+ margin: 0;
+}
+
+@media print {
+ html,
+ body,
+ body * {
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
+ visibility: hidden;
+ }
+
+ #page,
+ #page * {
+ visibility: visible;
+ }
+
+ #page {
+ width: 21cm;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ zoom: 1;
+ box-shadow: none;
+ }
+}
diff --git a/src/styles/shadows.css b/src/styles/shadows.css
new file mode 100644
index 000000000..772084b47
--- /dev/null
+++ b/src/styles/shadows.css
@@ -0,0 +1,7 @@
+:root {
+ --shadow: 0 0 6px 0 rgba(0, 0, 0, 0.05);
+ --shadow-strong: 0 0 6px 0 rgba(0, 0, 0, 0.1);
+ --left-shadow: 6px 0 6px -6px rgba(0, 0, 0, 0.05);
+ --right-shadow: -6px 0 6px -6px rgba(0, 0, 0, 0.05);
+ --bottom-shadow: 0 6px 6px -6px rgba(0, 0, 0, 0.05);
+}
diff --git a/src/assets/tailwind/tailwind.src.css b/src/styles/tailwind.css
similarity index 100%
rename from src/assets/tailwind/tailwind.src.css
rename to src/styles/tailwind.css
diff --git a/src/styles/toastify.css b/src/styles/toastify.css
new file mode 100644
index 000000000..174e01a95
--- /dev/null
+++ b/src/styles/toastify.css
@@ -0,0 +1,14 @@
+@import "~react-toastify/dist/ReactToastify.css";
+
+.Toastify__toast {
+ @apply px-8 py-6 shadow rounded;
+}
+
+.Toastify__toast--default {
+ @apply bg-primary-900 text-primary-50;
+}
+
+.Toastify__toast-body {
+ font-family: "Montserrat", sans-serif;
+ @apply font-medium;
+}
diff --git a/src/templates/Castform.js b/src/templates/Castform.js
new file mode 100644
index 000000000..3c32798eb
--- /dev/null
+++ b/src/templates/Castform.js
@@ -0,0 +1,104 @@
+import React from 'react';
+import PageContext from '../contexts/PageContext';
+import AwardsA from './blocks/Awards/AwardsA';
+import CertificationsA from './blocks/Certifications/CertificationsA';
+import ContactC from './blocks/Contact/ContactC';
+import EducationA from './blocks/Education/EducationA';
+import HeadingD from './blocks/Heading/HeadingD';
+import HobbiesA from './blocks/Hobbies/HobbiesA';
+import LanguagesA from './blocks/Languages/LanguagesA';
+import ObjectiveA from './blocks/Objective/ObjectiveA';
+import ProjectsA from './blocks/Projects/ProjectsA';
+import ReferencesA from './blocks/References/ReferencesA';
+import SkillsA from './blocks/Skills/SkillsA';
+import WorkA from './blocks/Work/WorkA';
+
+const Blocks = {
+ objective: ObjectiveA,
+ work: WorkA,
+ education: EducationA,
+ projects: ProjectsA,
+ awards: AwardsA,
+ certifications: CertificationsA,
+ skills: SkillsA,
+ hobbies: HobbiesA,
+ languages: LanguagesA,
+ references: ReferencesA,
+};
+
+const Castform = ({ data }) => {
+ const layout = data.metadata.layout.castform;
+
+ const Photo = () =>
+ data.profile.photograph !== '' && (
+
+ );
+
+ const Profile = () => (
+
+
+ {data.profile.firstName} {data.profile.lastName}
+
+ {data.profile.subtitle}
+
+ );
+
+ return (
+
+
+
+
+
+
+
+
+
+ {data.profile.heading}
+
+
+
+ {layout[0] &&
+ layout[0].map((x) => {
+ const Component = Blocks[x];
+ return Component &&
;
+ })}
+
+
+
+
+ {layout[1] &&
+ layout[1].map((x) => {
+ const Component = Blocks[x];
+ return Component && ;
+ })}
+
+
+
+
+
+ );
+};
+
+export default Castform;
diff --git a/src/templates/Celebi.js b/src/templates/Celebi.js
new file mode 100644
index 000000000..283f6ca82
--- /dev/null
+++ b/src/templates/Celebi.js
@@ -0,0 +1,126 @@
+import React from 'react';
+import PageContext from '../contexts/PageContext';
+import { hexToRgb } from '../utils';
+import AwardsA from './blocks/Awards/AwardsA';
+import CertificationsA from './blocks/Certifications/CertificationsA';
+import ContactE from './blocks/Contact/ContactE';
+import EducationA from './blocks/Education/EducationA';
+import HeadingE from './blocks/Heading/HeadingE';
+import HobbiesA from './blocks/Hobbies/HobbiesA';
+import LanguagesB from './blocks/Languages/LanguagesB';
+import ObjectiveA from './blocks/Objective/ObjectiveA';
+import ProjectsA from './blocks/Projects/ProjectsA';
+import ReferencesA from './blocks/References/ReferencesA';
+import SkillsA from './blocks/Skills/SkillsA';
+import WorkA from './blocks/Work/WorkA';
+
+const Blocks = {
+ objective: ObjectiveA,
+ work: WorkA,
+ education: EducationA,
+ projects: ProjectsA,
+ awards: AwardsA,
+ certifications: CertificationsA,
+ skills: SkillsA,
+ hobbies: HobbiesA,
+ languages: LanguagesB,
+ references: ReferencesA,
+};
+
+const Celebi = ({ data }) => {
+ const layout = data.metadata.layout.celebi;
+ const { r, g, b } = hexToRgb(data.metadata.colors.primary) || {};
+
+ const styles = {
+ header: {
+ position: 'absolute',
+ left: 0,
+ right: 0,
+ display: 'flex',
+ flexDirection: 'column',
+ justifyContent: 'center',
+ color: data.metadata.colors.background,
+ backgroundColor: data.metadata.colors.text,
+ height: '160px',
+ paddingLeft: '275px',
+ },
+ leftSection: {
+ backgroundColor: `rgba(${r}, ${g}, ${b}, 0.1)`,
+ },
+ rightSection: {
+ top: '160px',
+ },
+ };
+
+ const Photo = () =>
+ data.profile.photograph !== '' && (
+
+
+
+ );
+
+ const Profile = () => (
+
+
+ {data.profile.firstName} {data.profile.lastName}
+
+
+ {data.profile.subtitle}
+
+
+ );
+
+ return (
+
+
+
+
+
+
+
+
+ {layout[0] &&
+ layout[0].map((x) => {
+ const Component = Blocks[x];
+ return Component && ;
+ })}
+
+
+
+
+
+
+
+ {layout[1] &&
+ layout[1].map((x) => {
+ const Component = Blocks[x];
+ return Component && ;
+ })}
+
+
+
+
+
+
+ );
+};
+
+export default Celebi;
diff --git a/src/templates/Gengar.js b/src/templates/Gengar.js
new file mode 100644
index 000000000..07a652949
--- /dev/null
+++ b/src/templates/Gengar.js
@@ -0,0 +1,131 @@
+import React from 'react';
+import PageContext from '../contexts/PageContext';
+import { hexToRgb } from '../utils';
+import AwardsA from './blocks/Awards/AwardsA';
+import CertificationsA from './blocks/Certifications/CertificationsA';
+import ContactB from './blocks/Contact/ContactB';
+import EducationA from './blocks/Education/EducationA';
+import HeadingC from './blocks/Heading/HeadingC';
+import HobbiesA from './blocks/Hobbies/HobbiesA';
+import LanguagesA from './blocks/Languages/LanguagesA';
+import ObjectiveA from './blocks/Objective/ObjectiveA';
+import ProjectsA from './blocks/Projects/ProjectsA';
+import ReferencesB from './blocks/References/ReferencesB';
+import SkillsA from './blocks/Skills/SkillsA';
+import WorkA from './blocks/Work/WorkA';
+
+const Blocks = {
+ objective: ObjectiveA,
+ work: WorkA,
+ education: EducationA,
+ projects: ProjectsA,
+ awards: AwardsA,
+ certifications: CertificationsA,
+ skills: SkillsA,
+ hobbies: HobbiesA,
+ languages: LanguagesA,
+ references: ReferencesB,
+};
+
+const Gengar = ({ data }) => {
+ const layout = data.metadata.layout.gengar;
+ const { r, g, b } = hexToRgb(data.metadata.colors.primary) || {};
+
+ const Photo = () =>
+ data.profile.photograph !== '' && (
+
+ );
+
+ const Profile = () => (
+
+
+ {data.profile.firstName}
+
+
+ {data.profile.lastName}
+
+
{data.profile.subtitle}
+
+ );
+
+ return (
+
+
+
+
+
+
+
+ {layout[0] &&
+ layout[0].map((x) => {
+ const Component = Blocks[x];
+ return Component && ;
+ })}
+
+
+
+
+
+ {layout[1] &&
+ layout[1].map((x) => {
+ const Component = Blocks[x];
+ return Component && ;
+ })}
+
+
+
+
+
+ {layout[2] &&
+ layout[2].map((x) => {
+ const Component = Blocks[x];
+ return Component && ;
+ })}
+
+
+
+
+
+ );
+};
+
+export default Gengar;
diff --git a/src/templates/Glalie.js b/src/templates/Glalie.js
new file mode 100644
index 000000000..597813b78
--- /dev/null
+++ b/src/templates/Glalie.js
@@ -0,0 +1,98 @@
+import React from 'react';
+import PageContext from '../contexts/PageContext';
+import { hexToRgb } from '../utils';
+import AwardsA from './blocks/Awards/AwardsA';
+import CertificationsA from './blocks/Certifications/CertificationsA';
+import ContactD from './blocks/Contact/ContactD';
+import EducationA from './blocks/Education/EducationA';
+import HeadingB from './blocks/Heading/HeadingB';
+import HobbiesA from './blocks/Hobbies/HobbiesA';
+import LanguagesA from './blocks/Languages/LanguagesA';
+import ObjectiveA from './blocks/Objective/ObjectiveA';
+import ProjectsA from './blocks/Projects/ProjectsA';
+import ReferencesA from './blocks/References/ReferencesA';
+import SkillsA from './blocks/Skills/SkillsA';
+import WorkA from './blocks/Work/WorkA';
+
+const Blocks = {
+ objective: ObjectiveA,
+ work: WorkA,
+ education: EducationA,
+ projects: ProjectsA,
+ awards: AwardsA,
+ certifications: CertificationsA,
+ skills: SkillsA,
+ hobbies: HobbiesA,
+ languages: LanguagesA,
+ references: ReferencesA,
+};
+
+const Glalie = ({ data }) => {
+ const layout = data.metadata.layout.glalie;
+ const { r, g, b } = hexToRgb(data.metadata.colors.primary) || {};
+
+ const Profile = () => (
+
+ {data.profile.photograph !== '' && (
+
+ )}
+
+
{data.profile.firstName}
+ {data.profile.lastName}
+
+
+ {data.profile.subtitle}
+
+
+ );
+
+ return (
+
+
+
+
+
+
+
+
+ {layout[0] &&
+ layout[0].map((x) => {
+ const Component = Blocks[x];
+ return Component &&
;
+ })}
+
+
+
+
+
+ {layout[1] &&
+ layout[1].map((x) => {
+ const Component = Blocks[x];
+ return Component && ;
+ })}
+
+
+
+
+
+ );
+};
+
+export default Glalie;
diff --git a/src/templates/Onyx.js b/src/templates/Onyx.js
new file mode 100644
index 000000000..5f44924f6
--- /dev/null
+++ b/src/templates/Onyx.js
@@ -0,0 +1,107 @@
+import React, { memo } from 'react';
+import PageContext from '../contexts/PageContext';
+import AwardsA from './blocks/Awards/AwardsA';
+import CertificationsA from './blocks/Certifications/CertificationsA';
+import Contact from './blocks/Contact/ContactA';
+import EducationA from './blocks/Education/EducationA';
+import HeadingA from './blocks/Heading/HeadingA';
+import HobbiesA from './blocks/Hobbies/HobbiesA';
+import LanguagesA from './blocks/Languages/LanguagesA';
+import ObjectiveA from './blocks/Objective/ObjectiveA';
+import ProjectsA from './blocks/Projects/ProjectsA';
+import ReferencesA from './blocks/References/ReferencesA';
+import SkillsA from './blocks/Skills/SkillsA';
+import WorkA from './blocks/Work/WorkA';
+
+const Blocks = {
+ objective: ObjectiveA,
+ work: WorkA,
+ education: EducationA,
+ projects: ProjectsA,
+ awards: AwardsA,
+ certifications: CertificationsA,
+ skills: SkillsA,
+ hobbies: HobbiesA,
+ languages: LanguagesA,
+ references: ReferencesA,
+};
+
+const Onyx = ({ data }) => {
+ const layout = data.metadata.layout.onyx;
+
+ return (
+
+
+
+
+ {data.profile.photograph && (
+
+ )}
+
+
+
+ {data.profile.firstName} {data.profile.lastName}
+
+
{data.profile.subtitle}
+
+
+ {data.profile.address.line1}
+ {data.profile.address.line2}
+
+ {data.profile.address.city} {data.profile.address.pincode}
+
+
+
+
+
+
+
+
+
+
+
+ {layout[0] &&
+ layout[0].map((x) => {
+ const Component = Blocks[x];
+ return Component &&
;
+ })}
+
+
+ {layout[1] &&
+ layout[1].map((x) => {
+ const Component = Blocks[x];
+ return Component && ;
+ })}
+
+
+ {layout[2] &&
+ layout[2].map((x) => {
+ const Component = Blocks[x];
+ return Component &&
;
+ })}
+
+
+
+ );
+};
+
+export default memo(Onyx);
diff --git a/src/templates/Pikachu.js b/src/templates/Pikachu.js
new file mode 100644
index 000000000..5b30a68eb
--- /dev/null
+++ b/src/templates/Pikachu.js
@@ -0,0 +1,117 @@
+import React from 'react';
+import ReactMarkdown from 'react-markdown';
+import PageContext from '../contexts/PageContext';
+import ContactA from './blocks/Contact/ContactA';
+import HeadingB from './blocks/Heading/HeadingB';
+import AwardsA from './blocks/Awards/AwardsA';
+import CertificationsA from './blocks/Certifications/CertificationsA';
+import EducationA from './blocks/Education/EducationA';
+import HobbiesA from './blocks/Hobbies/HobbiesA';
+import LanguagesA from './blocks/Languages/LanguagesA';
+import ProjectsA from './blocks/Projects/ProjectsA';
+import ReferencesA from './blocks/References/ReferencesA';
+import SkillsA from './blocks/Skills/SkillsA';
+import WorkA from './blocks/Work/WorkA';
+
+const Blocks = {
+ work: WorkA,
+ education: EducationA,
+ projects: ProjectsA,
+ awards: AwardsA,
+ certifications: CertificationsA,
+ skills: SkillsA,
+ hobbies: HobbiesA,
+ languages: LanguagesA,
+ references: ReferencesA,
+};
+
+const Pikachu = ({ data }) => {
+ const layout = data.metadata.layout.pikachu;
+
+ return (
+
+
+
+ {data.profile.photograph && (
+
+
+
+ )}
+
+
+
+
+
+ {data.profile.firstName} {data.profile.lastName}
+
+
+ {data.profile.subtitle}
+
+
+ {data.objective.body && (
+
+
+
+
+
+ )}
+
+
+
+
+
+
+
+
+ {layout[0] &&
+ layout[0].map((x) => {
+ const Component = Blocks[x];
+ return Component && ;
+ })}
+
+
+
+
+
+ {layout[1] &&
+ layout[1].map((x) => {
+ const Component = Blocks[x];
+ return Component && ;
+ })}
+
+
+
+
+
+ );
+};
+
+export default Pikachu;
diff --git a/src/templates/blocks/Awards/AwardsA.js b/src/templates/blocks/Awards/AwardsA.js
new file mode 100644
index 000000000..4ea2c96ec
--- /dev/null
+++ b/src/templates/blocks/Awards/AwardsA.js
@@ -0,0 +1,37 @@
+import moment from 'moment';
+import React, { memo, useContext } from 'react';
+import ReactMarkdown from 'react-markdown';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const AwardItem = (x) => (
+
+
+
+
{x.title}
+ {x.awarder}
+
+ {x.date && (
+
+ {moment(x.date).format('MMMM YYYY')}
+
+ )}
+
+ {x.summary && (
+
+ )}
+
+);
+
+const AwardsA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.awards) ? (
+
+
{data.awards.heading}
+
{data.awards.items.map(AwardItem)}
+
+ ) : null;
+};
+
+export default memo(AwardsA);
diff --git a/src/templates/blocks/Certifications/CertificationsA.js b/src/templates/blocks/Certifications/CertificationsA.js
new file mode 100644
index 000000000..08d9d2f29
--- /dev/null
+++ b/src/templates/blocks/Certifications/CertificationsA.js
@@ -0,0 +1,39 @@
+import moment from 'moment';
+import React, { memo, useContext } from 'react';
+import ReactMarkdown from 'react-markdown';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const CertificationItem = (x) => (
+
+
+
+
{x.title}
+ {x.issuer}
+
+ {x.date && (
+
+ {moment(x.date).format('MMMM YYYY')}
+
+ )}
+
+ {x.summary && (
+
+ )}
+
+);
+
+const CertificationsA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.certifications) ? (
+
+
{data.certifications.heading}
+
+ {data.certifications.items.map(CertificationItem)}
+
+
+ ) : null;
+};
+
+export default memo(CertificationsA);
diff --git a/src/templates/blocks/Contact/ContactA.js b/src/templates/blocks/Contact/ContactA.js
new file mode 100644
index 000000000..68692ac14
--- /dev/null
+++ b/src/templates/blocks/Contact/ContactA.js
@@ -0,0 +1,64 @@
+import { get } from 'lodash';
+import React, { memo, useContext } from 'react';
+import { FaCaretRight } from 'react-icons/fa';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+import Icons from '../Icons';
+
+const ContactItem = ({ value, icon, link }) => {
+ const { data } = useContext(PageContext);
+ const Icon = get(Icons, icon.toLowerCase(), FaCaretRight);
+
+ return value ? (
+
+ ) : null;
+};
+
+const ContactA = () => {
+ const { data } = useContext(PageContext);
+
+ return (
+
+
+
+
+
+ {safetyCheck(data.social) &&
+ data.social.items.map((x) => (
+
+ ))}
+
+ );
+};
+
+export default memo(ContactA);
diff --git a/src/templates/blocks/Contact/ContactB.js b/src/templates/blocks/Contact/ContactB.js
new file mode 100644
index 000000000..118a50a2f
--- /dev/null
+++ b/src/templates/blocks/Contact/ContactB.js
@@ -0,0 +1,64 @@
+import { get } from 'lodash';
+import React, { memo, useContext } from 'react';
+import { FaCaretRight } from 'react-icons/fa';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+import Icons from '../Icons';
+
+const ContactItem = ({ value, icon, link }) => {
+ const { data } = useContext(PageContext);
+ const Icon = get(Icons, icon.toLowerCase(), FaCaretRight);
+
+ return value ? (
+
+ ) : null;
+};
+
+const ContactA = () => {
+ const { data } = useContext(PageContext);
+
+ return (
+
+
+
+
+
+ {safetyCheck(data.social) &&
+ data.social.items.map((x) => (
+
+ ))}
+
+ );
+};
+
+export default memo(ContactA);
diff --git a/src/templates/blocks/Contact/ContactC.js b/src/templates/blocks/Contact/ContactC.js
new file mode 100644
index 000000000..d2ff125ac
--- /dev/null
+++ b/src/templates/blocks/Contact/ContactC.js
@@ -0,0 +1,71 @@
+import React, { memo, useContext } from 'react';
+import { useTranslation } from 'react-i18next';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const ContactItem = ({ value, label, link }) => {
+ return value ? (
+
+
{label}
+ {link ? (
+
+ {value}
+
+ ) : (
+
{value}
+ )}
+
+ ) : null;
+};
+
+const ContactC = () => {
+ const { t } = useTranslation();
+ const { data } = useContext(PageContext);
+
+ return (
+
+ {data.profile.address.line1 && (
+
+
+ {t('shared.forms.address')}
+
+
+ {data.profile.address.line1}
+ {data.profile.address.line2}
+
+ {data.profile.address.city} {data.profile.address.pincode}
+
+
+
+ )}
+
+
+
+
+
+ {safetyCheck(data.social) &&
+ data.social.items.map((x) => (
+
+ ))}
+
+ );
+};
+
+export default memo(ContactC);
diff --git a/src/templates/blocks/Contact/ContactD.js b/src/templates/blocks/Contact/ContactD.js
new file mode 100644
index 000000000..590d06b6b
--- /dev/null
+++ b/src/templates/blocks/Contact/ContactD.js
@@ -0,0 +1,89 @@
+import React, { memo, useContext } from 'react';
+import { useTranslation } from 'react-i18next';
+import { MdFlare } from 'react-icons/md';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const ContactItem = ({ value, label, link }) => {
+ return value ? (
+
+
{label}
+ {link ? (
+
+ {value}
+
+ ) : (
+
{value}
+ )}
+
+ ) : null;
+};
+
+const ContactD = () => {
+ const { t } = useTranslation();
+ const { data } = useContext(PageContext);
+
+ return (
+
+
+
+
+
+ {data.profile.address.line1 && (
+
+
+ {t('shared.forms.address')}
+
+
+ {data.profile.address.line1}
+ {data.profile.address.line2}
+
+ {data.profile.address.city} {data.profile.address.pincode}
+
+
+
+ )}
+
+
+
+
+
+ {safetyCheck(data.social) &&
+ data.social.items.map((x) => (
+
+ ))}
+
+ );
+};
+
+export default memo(ContactD);
diff --git a/src/templates/blocks/Contact/ContactE.js b/src/templates/blocks/Contact/ContactE.js
new file mode 100644
index 000000000..d081131d2
--- /dev/null
+++ b/src/templates/blocks/Contact/ContactE.js
@@ -0,0 +1,72 @@
+import React, { memo, useContext } from 'react';
+import { useTranslation } from 'react-i18next';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const ContactItem = ({ value, label, link }) => {
+ return value ? (
+
+
{label}
+ {link ? (
+
+ {value}
+
+ ) : (
+
{value}
+ )}
+
+ ) : null;
+};
+
+const ContactE = () => {
+ const { t } = useTranslation();
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return (
+
+
{t('builder.sections.profile')}
+
+
+
+ {t('shared.forms.address')}
+
+
+ {data.profile.address.line1}
+ {data.profile.address.line2}
+
+ {data.profile.address.city} {data.profile.address.pincode}
+
+
+
+
+
+
+
+
+ {safetyCheck(data.social) &&
+ data.social.items.map((x) => (
+
+ ))}
+
+
+ );
+};
+
+export default memo(ContactE);
diff --git a/src/templates/blocks/Education/EducationA.js b/src/templates/blocks/Education/EducationA.js
new file mode 100644
index 000000000..17f1556f2
--- /dev/null
+++ b/src/templates/blocks/Education/EducationA.js
@@ -0,0 +1,43 @@
+import React, { memo, useContext } from 'react';
+import ReactMarkdown from 'react-markdown';
+import PageContext from '../../../contexts/PageContext';
+import { formatDateRange, safetyCheck } from '../../../utils';
+
+const EducationItem = (x) => (
+
+
+
+
{x.institution}
+
+ {x.degree} {x.field}
+
+
+
+ {x.startDate && (
+
+ ({formatDateRange({ startDate: x.startDate, endDate: x.endDate })})
+
+ )}
+ {x.gpa}
+
+
+ {x.summary && (
+
+ )}
+
+);
+
+const EducationA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.education) ? (
+
+
{data.education.heading}
+
+ {data.education.items.map(EducationItem)}
+
+
+ ) : null;
+};
+
+export default memo(EducationA);
diff --git a/src/templates/blocks/Heading/HeadingA.js b/src/templates/blocks/Heading/HeadingA.js
new file mode 100644
index 000000000..32931b44c
--- /dev/null
+++ b/src/templates/blocks/Heading/HeadingA.js
@@ -0,0 +1,17 @@
+import React, { memo, useContext } from 'react';
+import PageContext from '../../../contexts/PageContext';
+
+const HeadingA = ({ children }) => {
+ const { data } = useContext(PageContext);
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default memo(HeadingA);
diff --git a/src/templates/blocks/Heading/HeadingB.js b/src/templates/blocks/Heading/HeadingB.js
new file mode 100644
index 000000000..d7ad21f98
--- /dev/null
+++ b/src/templates/blocks/Heading/HeadingB.js
@@ -0,0 +1,20 @@
+import React, { memo, useContext } from 'react';
+import PageContext from '../../../contexts/PageContext';
+
+const HeadingB = ({ children }) => {
+ const { data } = useContext(PageContext);
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default memo(HeadingB);
diff --git a/src/templates/blocks/Heading/HeadingC.js b/src/templates/blocks/Heading/HeadingC.js
new file mode 100644
index 000000000..f9b85d9c9
--- /dev/null
+++ b/src/templates/blocks/Heading/HeadingC.js
@@ -0,0 +1,11 @@
+import React, { memo } from 'react';
+
+const HeadingC = ({ children }) => {
+ return (
+
+ {children}
+
+ );
+};
+
+export default memo(HeadingC);
diff --git a/src/templates/blocks/Heading/HeadingD.js b/src/templates/blocks/Heading/HeadingD.js
new file mode 100644
index 000000000..c735c7521
--- /dev/null
+++ b/src/templates/blocks/Heading/HeadingD.js
@@ -0,0 +1,23 @@
+import React, { memo, useContext } from 'react';
+import PageContext from '../../../contexts/PageContext';
+import { hexToRgb } from '../../../utils';
+
+const HeadingC = ({ children }) => {
+ const { data } = useContext(PageContext);
+ const { r, g, b } = hexToRgb(data.metadata.colors.primary) || {};
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default memo(HeadingC);
diff --git a/src/templates/blocks/Heading/HeadingE.js b/src/templates/blocks/Heading/HeadingE.js
new file mode 100644
index 000000000..605a3df3e
--- /dev/null
+++ b/src/templates/blocks/Heading/HeadingE.js
@@ -0,0 +1,11 @@
+import React, { memo } from 'react';
+
+const HeadingC = ({ children }) => {
+ return (
+
+ {children}
+
+ );
+};
+
+export default memo(HeadingC);
diff --git a/src/templates/blocks/Hobbies/HobbiesA.js b/src/templates/blocks/Hobbies/HobbiesA.js
new file mode 100644
index 000000000..d68f2d561
--- /dev/null
+++ b/src/templates/blocks/Hobbies/HobbiesA.js
@@ -0,0 +1,22 @@
+import React, { memo, useContext } from 'react';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const HobbyA = (x) => (
+
+
{x.name}
+
+);
+
+const HobbiesA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.hobbies) ? (
+
+
{data.hobbies.heading}
+
{data.hobbies.items.map(HobbyA)}
+
+ ) : null;
+};
+
+export default memo(HobbiesA);
diff --git a/src/templates/blocks/Icons.js b/src/templates/blocks/Icons.js
new file mode 100644
index 000000000..4832c0f97
--- /dev/null
+++ b/src/templates/blocks/Icons.js
@@ -0,0 +1,24 @@
+import {
+ FaGlobeAmericas,
+ FaFacebookF,
+ FaTwitter,
+ FaLinkedinIn,
+ FaGithub,
+ FaDribbble,
+ FaInstagram,
+} from 'react-icons/fa';
+import { MdPhone, MdEmail } from 'react-icons/md';
+
+const Icons = {
+ phone: MdPhone,
+ website: FaGlobeAmericas,
+ email: MdEmail,
+ facebook: FaFacebookF,
+ twitter: FaTwitter,
+ linkedin: FaLinkedinIn,
+ github: FaGithub,
+ dribbble: FaDribbble,
+ instagram: FaInstagram,
+};
+
+export default Icons;
diff --git a/src/templates/blocks/Languages/LanguagesA.js b/src/templates/blocks/Languages/LanguagesA.js
new file mode 100644
index 000000000..2315e01f7
--- /dev/null
+++ b/src/templates/blocks/Languages/LanguagesA.js
@@ -0,0 +1,25 @@
+import React, { memo, useContext } from 'react';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const LanguageItem = (x) => (
+
+
{x.name}
+ {x.fluency}
+
+);
+
+const LanguagesA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.languages) ? (
+
+
{data.languages.heading}
+
+ {data.languages.items.map(LanguageItem)}
+
+
+ ) : null;
+};
+
+export default memo(LanguagesA);
diff --git a/src/templates/blocks/Languages/LanguagesB.js b/src/templates/blocks/Languages/LanguagesB.js
new file mode 100644
index 000000000..b05b1f834
--- /dev/null
+++ b/src/templates/blocks/Languages/LanguagesB.js
@@ -0,0 +1,23 @@
+import React, { memo, useContext } from 'react';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const LanguageItem = (x) => (
+
+
{x.name}
+ {x.fluency}
+
+);
+
+const LanguagesB = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.languages) ? (
+
+
{data.languages.heading}
+
{data.languages.items.map(LanguageItem)}
+
+ ) : null;
+};
+
+export default memo(LanguagesB);
diff --git a/src/templates/blocks/Objective/ObjectiveA.js b/src/templates/blocks/Objective/ObjectiveA.js
new file mode 100644
index 000000000..1047b5b03
--- /dev/null
+++ b/src/templates/blocks/Objective/ObjectiveA.js
@@ -0,0 +1,22 @@
+import React, { memo, useContext } from 'react';
+import ReactMarkdown from 'react-markdown';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const ObjectiveA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return (
+ safetyCheck(data.objective, 'body') && (
+
+ {data.objective.heading}
+
+
+ )
+ );
+};
+
+export default memo(ObjectiveA);
diff --git a/src/templates/blocks/Projects/ProjectsA.js b/src/templates/blocks/Projects/ProjectsA.js
new file mode 100644
index 000000000..f8a196a2a
--- /dev/null
+++ b/src/templates/blocks/Projects/ProjectsA.js
@@ -0,0 +1,41 @@
+import moment from 'moment';
+import React, { memo, useContext } from 'react';
+import ReactMarkdown from 'react-markdown';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const ProjectItem = (x) => (
+
+
+
+ {x.date && (
+
+ {moment(x.date).format('MMMM YYYY')}
+
+ )}
+
+ {x.summary && (
+
+ )}
+
+);
+
+const ProjectsA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.projects) ? (
+
+
{data.projects.heading}
+
{data.projects.items.map(ProjectItem)}
+
+ ) : null;
+};
+
+export default memo(ProjectsA);
diff --git a/src/templates/blocks/References/ReferencesA.js b/src/templates/blocks/References/ReferencesA.js
new file mode 100644
index 000000000..5c9aa1a8b
--- /dev/null
+++ b/src/templates/blocks/References/ReferencesA.js
@@ -0,0 +1,31 @@
+import React, { memo, useContext } from 'react';
+import ReactMarkdown from 'react-markdown';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const ReferenceItem = (x) => (
+
+
{x.name}
+ {x.position}
+ {x.phone}
+ {x.email}
+ {x.summary && (
+
+ )}
+
+);
+
+const ReferencesA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.references) ? (
+
+
{data.references.heading}
+
+ {data.references.items.map(ReferenceItem)}
+
+
+ ) : null;
+};
+
+export default memo(ReferencesA);
diff --git a/src/templates/blocks/References/ReferencesB.js b/src/templates/blocks/References/ReferencesB.js
new file mode 100644
index 000000000..b5de74fd2
--- /dev/null
+++ b/src/templates/blocks/References/ReferencesB.js
@@ -0,0 +1,31 @@
+import React, { memo, useContext } from 'react';
+import ReactMarkdown from 'react-markdown';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const ReferenceItem = (x) => (
+
+
{x.name}
+ {x.position}
+ {x.phone}
+ {x.email}
+ {x.summary && (
+
+ )}
+
+);
+
+const ReferencesB = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.references) ? (
+
+
{data.references.heading}
+
+ {data.references.items.map(ReferenceItem)}
+
+
+ ) : null;
+};
+
+export default memo(ReferencesB);
diff --git a/src/templates/blocks/Skills/SkillsA.js b/src/templates/blocks/Skills/SkillsA.js
new file mode 100644
index 000000000..a8b06941a
--- /dev/null
+++ b/src/templates/blocks/Skills/SkillsA.js
@@ -0,0 +1,25 @@
+import React, { memo, useContext } from 'react';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const SkillItem = (x) => (
+
+
{x.name}
+ {x.level}
+
+);
+
+const SkillsA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.skills) ? (
+
+
{data.skills.heading}
+
+ {data.skills.items.map(SkillItem)}
+
+
+ ) : null;
+};
+
+export default memo(SkillsA);
diff --git a/src/templates/blocks/Skills/SkillsB.js b/src/templates/blocks/Skills/SkillsB.js
new file mode 100644
index 000000000..32c39ed4a
--- /dev/null
+++ b/src/templates/blocks/Skills/SkillsB.js
@@ -0,0 +1,22 @@
+import React, { memo, useContext } from 'react';
+import PageContext from '../../../contexts/PageContext';
+import { safetyCheck } from '../../../utils';
+
+const SkillItem = (x) => (
+
+ {x.skill}
+
+);
+
+const SkillsA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.skills) ? (
+
+
{data.skills.heading}
+
{data.skills.items.map(SkillItem)}
+
+ ) : null;
+};
+
+export default memo(SkillsA);
diff --git a/src/templates/blocks/Work/WorkA.js b/src/templates/blocks/Work/WorkA.js
new file mode 100644
index 000000000..8d09a3f19
--- /dev/null
+++ b/src/templates/blocks/Work/WorkA.js
@@ -0,0 +1,36 @@
+import React, { memo, useContext } from 'react';
+import ReactMarkdown from 'react-markdown';
+import PageContext from '../../../contexts/PageContext';
+import { formatDateRange, safetyCheck } from '../../../utils';
+
+const WorkItem = (x) => (
+
+
+
+
{x.company}
+ {x.position}
+
+ {x.startDate && (
+
+ ({formatDateRange({ startDate: x.startDate, endDate: x.endDate })})
+
+ )}
+
+ {x.summary && (
+
+ )}
+
+);
+
+const WorkA = () => {
+ const { data, heading: Heading } = useContext(PageContext);
+
+ return safetyCheck(data.work) ? (
+
+
{data.work.heading}
+
{data.work.items.map(WorkItem)}
+
+ ) : null;
+};
+
+export default memo(WorkA);
diff --git a/src/templates/castform/Castform.js b/src/templates/castform/Castform.js
deleted file mode 100644
index a810140b1..000000000
--- a/src/templates/castform/Castform.js
+++ /dev/null
@@ -1,311 +0,0 @@
-import React, { useContext } from 'react';
-import ReactMarkdown from 'react-markdown';
-
-import AppContext from '../../context/AppContext';
-
-const Castform = () => {
- const context = useContext(AppContext);
- const { state } = context;
- const { data, theme } = state;
-
- const Photo = () =>
- data.profile.photo !== '' && (
-
-
-
- );
-
- const PersonalInformation = () => (
-
-
- {data.profile.firstName} {data.profile.lastName}
-
- {data.profile.subtitle}
-
- );
-
- const Heading = ({ title, light = false }) => (
-
-
{title}
-
- );
-
- const Address = () => (
-
-
Address
-
{data.profile.address.line1}
-
{data.profile.address.line2}
-
{data.profile.address.line3}
-
- );
-
- const ContactItem = ({ title, value, link = '#' }) =>
- value && (
-
- );
-
- const ContactInformation = () => (
-
- );
-
- const SkillItem = x => (
-
- {x.skill}
-
- );
-
- const Skills = () =>
- data.skills &&
- data.skills.enable && (
-
-
-
{data.skills.items.map(SkillItem)}
-
- );
-
- const HobbyItem = x => (
-
- {x.hobby}
-
- );
-
- const Hobbies = () =>
- data.hobbies &&
- data.hobbies.enable && (
-
-
-
{data.hobbies.items.map(HobbyItem)}
-
- );
-
- const Objective = () =>
- data.objective && data.objective.enable &&
;
-
- const WorkItem = x => (
-
-
-
-
- ({x.start} - {x.end})
-
-
-
-
- );
-
- const Work = () =>
- data.work &&
- data.work.enable && (
-
-
- {data.work.items.filter(x => x.enable).map(WorkItem)}
-
- );
-
- const ReferenceItem = x => (
-
-
{x.name}
- {x.position}
- {x.phone}
- {x.email}
-
-
- );
-
- const References = () =>
- data.references &&
- data.references.enable && (
-
-
-
- {data.references.items.filter(x => x.enable).map(ReferenceItem)}
-
-
- );
-
- const LanguageItem = x => (
-
-
-
{x.key}
- {x.level !== '' &&
{x.level}
}
-
-
- {x.rating !== 0 && (
-
- )}
-
- );
-
- const Languages = () =>
- data.languages &&
- data.languages.enable && (
-
-
-
- {data.languages.items.filter(x => x.enable).map(LanguageItem)}
-
-
- );
-
- const EducationItem = x => (
-
-
-
-
- {x.grade}
-
- ({x.start} - {x.end})
-
-
-
-
-
- );
-
- const Education = () =>
- data.education &&
- data.education.enable && (
-
-
- {data.education.items.filter(x => x.enable).map(EducationItem)}
-
- );
-
- const AwardItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Awards = () =>
- data.awards &&
- data.awards.enable && (
-
-
- {data.awards.items.filter(x => x.enable).map(AwardItem)}
-
- );
-
- const CertificationItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Certifications = () =>
- data.certifications &&
- data.certifications.enable && (
-
-
- {data.certifications.items.filter(x => x.enable).map(CertificationItem)}
-
- );
-
- const ExtraItem = x => (
-
- );
-
- const Extras = () =>
- data.extras &&
- data.extras.enable && (
-
-
- {data.extras.items.filter(x => x.enable).map(ExtraItem)}
-
- );
-
- return (
-
- );
-};
-
-export default Castform;
diff --git a/src/templates/castform/index.js b/src/templates/castform/index.js
deleted file mode 100644
index 634db741d..000000000
--- a/src/templates/castform/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import Castform from './Castform';
-import image from './preview.png';
-
-export const Image = image;
-export default Castform;
diff --git a/src/templates/castform/preview.png b/src/templates/castform/preview.png
deleted file mode 100644
index b80cd0bb1..000000000
Binary files a/src/templates/castform/preview.png and /dev/null differ
diff --git a/src/templates/celebi/Celebi.js b/src/templates/celebi/Celebi.js
deleted file mode 100644
index 78f45c067..000000000
--- a/src/templates/celebi/Celebi.js
+++ /dev/null
@@ -1,304 +0,0 @@
-import React, { useContext } from 'react';
-import ReactMarkdown from 'react-markdown';
-
-import AppContext from '../../context/AppContext';
-import { hexToRgb } from '../../utils';
-
-const styles = {
- header: {
- position: 'absolute',
- left: 0,
- right: 0,
- zIndex: 0,
- display: 'flex',
- flexDirection: 'column',
- justifyContent: 'center',
- alignItems: 'start',
- color: 'white',
- backgroundColor: '#222',
- height: '160px',
- paddingLeft: '270px',
- },
- section: {
- marginTop: '167px',
- marginLeft: '20px',
- },
-};
-
-const Celebi = () => {
- const context = useContext(AppContext);
- const { state } = context;
- const { data, theme } = state;
-
- const { r, g, b } = hexToRgb(theme.colors.accent) || {};
-
- const Heading = ({ title, className }) => (
-
- {title}
-
- );
-
- const Photo = () =>
- data.profile.photo !== '' && (
-
-
-
- );
-
- const Header = () => (
-
- );
-
- const Objective = () =>
- data.objective &&
- data.objective.enable && (
-
-
-
-
- );
-
- const ContactItem = ({ label, value }) =>
- value && (
-
- );
-
- const Contact = () => (
-
-
-
-
Address
-
{data.profile.address.line1}
-
{data.profile.address.line2}
-
{data.profile.address.line3}
-
-
-
-
-
- );
-
- const WorkItem = x => (
-
-
-
{x.title}
-
- {x.role} | {x.start} - {x.end}
-
-
-
-
- );
-
- const Work = () =>
- data.work &&
- data.work.enable && (
-
-
- {data.work.items.filter(x => x.enable).map(WorkItem)}
-
- );
-
- const EducationItem = x => (
-
-
{x.name}
-
{x.major}
-
- {x.start} - {x.end}
-
-
-
- );
-
- const Education = () =>
- data.education &&
- data.education.enable && (
-
-
- {data.education.items.filter(x => x.enable).map(EducationItem)}
-
- );
-
- const Skills = () =>
- data.skills.enable && (
-
-
-
- {data.skills.items.map(x => (
-
- {x.skill}
-
- ))}
-
-
- );
-
- const Hobbies = () =>
- data.hobbies.enable && (
-
-
-
- {data.hobbies.items.map(x => (
-
- {x.hobby}
-
- ))}
-
-
- );
-
- const ReferenceItem = x => (
-
-
{x.name}
- {x.position}
- {x.phone}
- {x.email}
-
-
- );
-
- const References = () =>
- data.references &&
- data.references.enable && (
-
-
-
- {data.references.items.filter(x => x.enable).map(ReferenceItem)}
-
-
- );
-
- const LanguageItem = x => (
-
-
{x.key}
-
- {x.level &&
{x.level}
}
- {x.rating !== 0 && (
-
- {Array.from(Array(x.rating)).map((_, i) => (
-
- star
-
- ))}
-
- )}
-
-
- );
-
- const Languages = () =>
- data.languages &&
- data.languages.enable && (
-
-
-
{data.languages.items.filter(x => x.enable).map(LanguageItem)}
-
- );
-
- const AwardItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Awards = () =>
- data.awards &&
- data.awards.enable && (
-
-
- {data.awards.items.filter(x => x.enable).map(AwardItem)}
-
- );
-
- const CertificationItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Certifications = () =>
- data.certifications &&
- data.certifications.enable && (
-
-
- {data.certifications.items.filter(x => x.enable).map(CertificationItem)}
-
- );
-
- const ExtraItem = x => (
-
- );
-
- const Extras = () =>
- data.extras &&
- data.extras.enable && (
-
-
- {data.extras.items.filter(x => x.enable).map(ExtraItem)}
-
- );
-
- return (
-
- );
-};
-
-export default Celebi;
diff --git a/src/templates/celebi/index.js b/src/templates/celebi/index.js
deleted file mode 100644
index 6f3eb775a..000000000
--- a/src/templates/celebi/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import Celebi from './Celebi';
-import image from './preview.png';
-
-export const Image = image;
-export default Celebi;
diff --git a/src/templates/celebi/preview.png b/src/templates/celebi/preview.png
deleted file mode 100644
index 9dae2cc5e..000000000
Binary files a/src/templates/celebi/preview.png and /dev/null differ
diff --git a/src/templates/gengar/Gengar.js b/src/templates/gengar/Gengar.js
deleted file mode 100644
index 5c4e654dd..000000000
--- a/src/templates/gengar/Gengar.js
+++ /dev/null
@@ -1,319 +0,0 @@
-import React, { useContext } from 'react';
-import ReactMarkdown from 'react-markdown';
-
-import AppContext from '../../context/AppContext';
-import { hexToRgb } from '../../utils';
-
-const Gengar = () => {
- const context = useContext(AppContext);
- const { state } = context;
- const { data, theme } = state;
-
- const { r, g, b } = hexToRgb(theme.colors.accent) || {};
-
- const Photo = () =>
- data.profile.photo !== '' && (
-
- );
-
- const FullName = () => (
-
-
{data.profile.firstName}
-
{data.profile.lastName}
-
{data.profile.subtitle}
-
- );
-
- const ContactItem = ({ icon, value, link = '#' }) =>
- value && (
-
- );
-
- const Heading = ({ title }) => (
-
{title}
- );
-
- const Objective = () =>
- data.objective &&
- data.objective.enable && (
-
-
-
-
- );
-
- const SkillItem = x => (
-
- {x.skill}
-
- );
-
- const Skills = () =>
- data.skills &&
- data.skills.enable && (
-
-
-
{data.skills.items.map(SkillItem)}
-
- );
-
- const HobbyItem = x => (
-
- {x.hobby}
-
- );
-
- const Hobbies = () =>
- data.hobbies &&
- data.hobbies.enable && (
-
-
-
{data.hobbies.items.map(HobbyItem)}
-
- );
-
- const EducationItem = x => (
-
-
-
-
- {x.name}
-
- {x.start !== '' && x.end !== '' && (
-
- ({x.start} - {x.end})
-
- )}
-
-
-
{x.major}
-
-
-
- {x.grade}
-
-
-
-
-
- );
-
- const Education = () =>
- data.education &&
- data.education.enable && (
-
-
- {data.education.items.filter(x => x.enable).map(EducationItem)}
-
- );
-
- const CertificationItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Certifications = () =>
- data.certifications &&
- data.certifications.enable && (
-
-
- {data.certifications.items.filter(x => x.enable).map(CertificationItem)}
-
- );
-
- const AwardItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Awards = () =>
- data.awards &&
- data.awards.enable && (
-
-
- {data.awards.items.filter(x => x.enable).map(AwardItem)}
-
- );
-
- const ReferenceItem = x => (
-
-
{x.name}
- {x.position}
- {x.phone}
- {x.email}
-
-
- );
-
- const References = () =>
- data.references &&
- data.references.enable && (
-
-
-
- {data.references.items.filter(x => x.enable).map(ReferenceItem)}
-
-
- );
-
- const WorkItem = x => (
-
-
-
-
- ({x.start} - {x.end})
-
-
-
-
- );
-
- const Work = () =>
- data.work &&
- data.work.enable && (
-
-
- {data.work.items.filter(x => x.enable).map(WorkItem)}
-
- );
-
- const LanguageItem = x => (
-
-
{x.key}
-
- {x.level &&
{x.level}
}
- {x.rating !== 0 && (
-
- {Array.from(Array(x.rating)).map((_, i) => (
-
- star
-
- ))}
-
- )}
-
-
- );
-
- const Languages = () =>
- data.languages &&
- data.languages.enable && (
-
-
-
{data.languages.items.filter(x => x.enable).map(LanguageItem)}
-
- );
-
- const ExtraItem = x => (
-
-
{x.key}
- {x.value}
-
- );
-
- const Extras = () =>
- data.extras &&
- data.extras.enable && (
-
-
-
- {data.extras.items.filter(x => x.enable).map(ExtraItem)}
-
-
- );
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Gengar;
diff --git a/src/templates/gengar/index.js b/src/templates/gengar/index.js
deleted file mode 100644
index 6c67861d1..000000000
--- a/src/templates/gengar/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import Gengar from './Gengar';
-import image from './preview.png';
-
-export const Image = image;
-export default Gengar;
diff --git a/src/templates/gengar/preview.png b/src/templates/gengar/preview.png
deleted file mode 100644
index 3123fb6bc..000000000
Binary files a/src/templates/gengar/preview.png and /dev/null differ
diff --git a/src/templates/glalie/Glalie.js b/src/templates/glalie/Glalie.js
deleted file mode 100644
index 1484ca588..000000000
--- a/src/templates/glalie/Glalie.js
+++ /dev/null
@@ -1,311 +0,0 @@
-import React, { useContext } from 'react';
-import ReactMarkdown from 'react-markdown';
-
-import AppContext from '../../context/AppContext';
-import { hexToRgb } from '../../utils';
-
-const Glalie = () => {
- const context = useContext(AppContext);
- const { state } = context;
- const { data, theme } = state;
-
- const { r, g, b } = hexToRgb(theme.colors.accent) || {};
-
- const Photo = () =>
- data.profile.photo !== '' && (
-
- );
-
- const FullName = () => (
-
-
{data.profile.firstName}
- {data.profile.lastName}
-
- );
-
- const Subtitle = () => (
-
{data.profile.subtitle}
- );
-
- const ContactItem = ({ title, value }) =>
- value && (
-
-
- {title}
-
-
{value}
-
- );
-
- const ContactInformation = () => (
-
-
-
- flare
-
-
-
-
-
-
-
-
-
-
- home
-
-
{data.profile.address.line1}
-
{data.profile.address.line2}
-
{data.profile.address.line3}
-
-
-
- );
-
- const Heading = ({ title }) => (
-
- {title}
-
- );
-
- const Objective = () =>
- data.objective.enable && (
-
-
-
-
- );
-
- const WorkItem = x => (
-
-
-
-
{x.title}
-
- {x.role} / {x.start} - {x.end}
-
-
-
-
-
- );
-
- const Work = () =>
- data.work &&
- data.work.enable && (
-
-
- {data.work.items.filter(x => x.enable).map(WorkItem)}
-
- );
-
- const EducationItem = x => (
-
-
-
{x.name}
-
{x.major}
-
- {x.start} - {x.end}
-
-
-
-
- );
-
- const Education = () =>
- data.education &&
- data.education.enable && (
-
-
-
- {data.education.items.filter(x => x.enable).map(EducationItem)}
-
-
- );
-
- const AwardItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Awards = () =>
- data.awards &&
- data.awards.enable && (
-
-
- {data.awards.items.filter(x => x.enable).map(AwardItem)}
-
- );
-
- const CertificationItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Certifications = () =>
- data.certifications &&
- data.certifications.enable && (
-
-
- {data.certifications.items.filter(x => x.enable).map(CertificationItem)}
-
- );
-
- const SkillItem = x => (
-
- {x.skill}
-
- );
-
- const Skills = () =>
- data.skills &&
- data.skills.enable && (
-
-
-
{data.skills.items.map(SkillItem)}
-
- );
-
- const HobbyItem = x => (
-
- {x.hobby}
-
- );
-
- const Hobbies = () =>
- data.hobbies &&
- data.hobbies.enable && (
-
-
-
- {data.hobbies.items.map(HobbyItem)}
-
-
- );
-
- const LanguageItem = x => (
-
-
{x.key}
-
- {x.level &&
{x.level}
}
- {x.rating !== 0 && (
-
- {Array.from(Array(x.rating)).map((_, i) => (
-
- star
-
- ))}
-
- )}
-
-
- );
-
- const Languages = () =>
- data.languages &&
- data.languages.enable && (
-
-
-
{data.languages.items.filter(x => x.enable).map(LanguageItem)}
-
- );
-
- const ReferenceItem = x => (
-
-
{x.name}
- {x.position}
- {x.phone}
- {x.email}
-
-
- );
-
- const References = () =>
- data.references &&
- data.references.enable && (
-
-
-
- {data.references.items.filter(x => x.enable).map(ReferenceItem)}
-
-
- );
-
- const ExtraItem = x => (
-
- {x.key}
- {x.value}
-
- );
-
- const Extras = () =>
- data.extras &&
- data.extras.enable && (
-
-
-
- {data.extras.items.filter(x => x.enable).map(ExtraItem)}
-
-
- );
-
- return (
-
- );
-};
-
-export default Glalie;
diff --git a/src/templates/glalie/index.js b/src/templates/glalie/index.js
deleted file mode 100644
index 10e386868..000000000
--- a/src/templates/glalie/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import Glalie from './Glalie';
-import image from './preview.png';
-
-export const Image = image;
-export default Glalie;
diff --git a/src/templates/glalie/preview.png b/src/templates/glalie/preview.png
deleted file mode 100644
index cd69f7ed2..000000000
Binary files a/src/templates/glalie/preview.png and /dev/null differ
diff --git a/src/templates/index.js b/src/templates/index.js
deleted file mode 100644
index bb88c5269..000000000
--- a/src/templates/index.js
+++ /dev/null
@@ -1,45 +0,0 @@
-import Onyx, { Image as OnyxPreview } from './onyx';
-import Pikachu, { Image as PikachuPreview } from './pikachu';
-import Gengar, { Image as GengarPreview } from './gengar';
-import Castform, { Image as CastformPreview } from './castform';
-import Glalie, { Image as GlaliePreview } from './glalie';
-import Celebi, { Image as CelebiPreview } from './celebi';
-
-export default [
- {
- key: 'onyx',
- name: 'Onyx',
- component: Onyx,
- preview: OnyxPreview,
- },
- {
- key: 'pikachu',
- name: 'Pikachu',
- component: Pikachu,
- preview: PikachuPreview,
- },
- {
- key: 'gengar',
- name: 'Gengar',
- component: Gengar,
- preview: GengarPreview,
- },
- {
- key: 'castform',
- name: 'Castform',
- component: Castform,
- preview: CastformPreview,
- },
- {
- key: 'glalie',
- name: 'Glalie',
- component: Glalie,
- preview: GlaliePreview,
- },
- {
- key: 'celebi',
- name: 'Celebi',
- component: Celebi,
- preview: CelebiPreview,
- },
-];
diff --git a/src/templates/onyx/Onyx.js b/src/templates/onyx/Onyx.js
deleted file mode 100644
index be356c77c..000000000
--- a/src/templates/onyx/Onyx.js
+++ /dev/null
@@ -1,315 +0,0 @@
-import React, { useContext } from 'react';
-import ReactMarkdown from 'react-markdown';
-
-import AppContext from '../../context/AppContext';
-
-const Onyx = () => {
- const context = useContext(AppContext);
- const { state } = context;
- const { data, theme } = state;
-
- const Photo = () =>
- data.profile.photo && (
-
- );
-
- const Profile = () => (
-
-
- {data.profile.firstName} {data.profile.lastName}
-
-
{data.profile.subtitle}
-
-
- {data.profile.address.line1}
- {data.profile.address.line2}
- {data.profile.address.line3}
-
-
- );
-
- const ContactItem = ({ icon, value, link = '#' }) =>
- value && (
-
- );
-
- const Heading = ({ title }) => (
-
- {title}
-
- );
-
- const Objective = () =>
- data.objective &&
- data.objective.enable && (
-
-
-
-
- );
-
- const WorkItem = x => (
-
-
-
-
- ({x.start} - {x.end})
-
-
-
-
- );
-
- const Work = () =>
- data.work &&
- data.work.enable && (
-
-
- {data.work.items.filter(x => x.enable).map(WorkItem)}
-
- );
-
- const EducationItem = x => (
-
-
-
-
- {x.grade}
-
- ({x.start} - {x.end})
-
-
-
-
-
- );
-
- const Education = () =>
- data.education &&
- data.education.enable && (
-
-
- {data.education.items.filter(x => x.enable).map(EducationItem)}
-
- );
-
- const AwardItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Awards = () =>
- data.awards &&
- data.awards.enable && (
-
-
- {data.awards.items.filter(x => x.enable).map(AwardItem)}
-
- );
-
- const CertificationItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Certifications = () =>
- data.certifications &&
- data.certifications.enable && (
-
-
- {data.certifications.items.filter(x => x.enable).map(CertificationItem)}
-
- );
-
- const HobbyItem = x => (
-
- {x.hobby}
-
- );
-
- const Hobbies = () =>
- data.hobbies &&
- data.hobbies.enable && (
-
-
-
{data.hobbies.items.map(HobbyItem)}
-
- );
-
- const SkillItem = x => (
-
- {x.skill}
-
- );
-
- const Skills = () =>
- data.skills &&
- data.skills.enable && (
-
-
-
{data.skills.items.map(SkillItem)}
-
- );
-
- const LanguageItem = x => (
-
-
{x.key}
-
- {x.level &&
{x.level}
}
- {x.rating !== 0 && (
-
- {Array.from(Array(x.rating)).map((_, i) => (
-
- star
-
- ))}
-
- )}
-
-
- );
-
- const Languages = () =>
- data.languages &&
- data.languages.enable && (
-
-
-
{data.languages.items.filter(x => x.enable).map(LanguageItem)}
-
- );
-
- const ReferenceItem = x => (
-
-
{x.name}
- {x.position}
- {x.phone}
- {x.email}
-
-
- );
-
- const References = () =>
- data.references &&
- data.references.enable && (
-
-
-
- {data.references.items.filter(x => x.enable).map(ReferenceItem)}
-
-
- );
-
- const ExtraItem = x => (
-
- {x.key}
- {x.value}
-
- );
-
- const Extras = () =>
- data.extras &&
- data.extras.enable && (
-
-
-
- {data.extras.items.filter(x => x.enable).map(ExtraItem)}
-
-
- );
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Onyx;
diff --git a/src/templates/onyx/index.js b/src/templates/onyx/index.js
deleted file mode 100644
index 1091b6840..000000000
--- a/src/templates/onyx/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import Onyx from './Onyx';
-import image from './preview.png';
-
-export const Image = image;
-export default Onyx;
diff --git a/src/templates/onyx/preview.png b/src/templates/onyx/preview.png
deleted file mode 100644
index 2dfedf552..000000000
Binary files a/src/templates/onyx/preview.png and /dev/null differ
diff --git a/src/templates/pikachu/Pikachu.js b/src/templates/pikachu/Pikachu.js
deleted file mode 100644
index 3d7cad6e7..000000000
--- a/src/templates/pikachu/Pikachu.js
+++ /dev/null
@@ -1,312 +0,0 @@
-import React, { useContext } from 'react';
-import ReactMarkdown from 'react-markdown';
-
-import AppContext from '../../context/AppContext';
-
-const Pikachu = () => {
- const context = useContext(AppContext);
- const { state } = context;
- const { data, theme } = state;
-
- const Photo = () =>
- data.profile.photo !== '' && (
-
-
-
- );
-
- const Header = () => (
-
-
-
- {data.profile.firstName} {data.profile.lastName}
-
-
{data.profile.subtitle}
-
-
-
-
-
-
- );
-
- const ContactItem = ({ icon, value, link = '#' }) =>
- value && (
-
- );
-
- const Heading = ({ title }) => (
-
- {title}
-
- );
-
- const SkillItem = x => (
-
- {x.skill}
-
- );
-
- const Skills = () =>
- data.skills &&
- data.skills.enable && (
-
-
-
{data.skills.items.map(SkillItem)}
-
- );
-
- const HobbyItem = x => (
-
- {x.hobby}
-
- );
-
- const Hobbies = () =>
- data.hobbies &&
- data.hobbies.enable && (
-
-
-
{data.hobbies.items.map(HobbyItem)}
-
- );
-
- const ReferenceItem = x => (
-
-
{x.name}
- {x.position}
- {x.phone}
- {x.email}
-
-
- );
-
- const References = () =>
- data.references &&
- data.references.enable && (
-
-
-
- {data.references.items.filter(x => x.enable).map(ReferenceItem)}
-
-
- );
-
- const LanguageItem = x => (
-
-
{x.key}
-
- {x.level &&
{x.level}
}
- {x.rating !== 0 && (
-
- {Array.from(Array(x.rating)).map((_, i) => (
-
- star
-
- ))}
-
- )}
-
-
- );
-
- const Languages = () =>
- data.languages &&
- data.languages.enable && (
-
-
-
{data.languages.items.filter(x => x.enable).map(LanguageItem)}
-
- );
-
- const ExtraItem = x => (
-
-
{x.key}
- {x.value}
-
- );
-
- const Extras = () =>
- data.extras &&
- data.extras.enable && (
-
-
-
- {data.extras.items.filter(x => x.enable).map(ExtraItem)}
-
-
- );
-
- const WorkItem = x => (
-
-
-
-
- ({x.start} - {x.end})
-
-
-
-
- );
-
- const Work = () =>
- data.work &&
- data.work.enable && (
-
-
-
- {data.work.items.filter(x => x.enable).map(WorkItem)}
-
-
- );
-
- const EducationItem = x => (
-
-
-
-
-
- {x.grade}
-
-
- ({x.start} - {x.end})
-
-
-
-
-
- );
-
- const Education = () =>
- data.education &&
- data.education.enable && (
-
-
-
- {data.education.items.filter(x => x.enable).map(EducationItem)}
-
-
- );
-
- const AwardItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Awards = () =>
- data.awards &&
- data.awards.enable && (
-
-
-
- {data.awards.items.filter(x => x.enable).map(AwardItem)}
-
-
- );
-
- const CertificationItem = x => (
-
-
{x.title}
-
{x.subtitle}
-
-
- );
-
- const Certifications = () =>
- data.certifications &&
- data.certifications.enable && (
-
-
-
- {data.certifications.items.filter(x => x.enable).map(CertificationItem)}
-
-
- );
-
- return (
-
- );
-};
-
-export default Pikachu;
diff --git a/src/templates/pikachu/index.js b/src/templates/pikachu/index.js
deleted file mode 100644
index 1befc86fc..000000000
--- a/src/templates/pikachu/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import Pikachu from './Pikachu';
-import image from './preview.png';
-
-export const Image = image;
-export default Pikachu;
diff --git a/src/templates/pikachu/preview.png b/src/templates/pikachu/preview.png
deleted file mode 100644
index 62bb43e38..000000000
Binary files a/src/templates/pikachu/preview.png and /dev/null differ
diff --git a/src/utils/index.js b/src/utils/index.js
index e13637339..82e6d2e37 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -1,16 +1,45 @@
-/* eslint-disable new-cap */
-import html2canvas from 'html2canvas';
-import * as jsPDF from 'jspdf';
+import { get, isEmpty } from 'lodash';
+import moment from 'moment';
+import { useTranslation } from 'react-i18next';
-const move = (array, element, delta) => {
- const index = array.findIndex(item => item.id === element.id);
- const newIndex = index + delta;
- if (newIndex < 0 || newIndex === array.length) return;
- const indexes = [index, newIndex].sort((a, b) => a - b);
- array.splice(indexes[0], 2, array[indexes[1]], array[indexes[0]]);
+export const getModalText = (isEditMode, type) => {
+ const { t } = useTranslation();
+ return isEditMode
+ ? `${t('shared.buttons.edit')} ${type}`
+ : `${t('shared.buttons.add')} ${type}`;
};
-const hexToRgb = hex => {
+export const safetyCheck = (section, path = 'items') => {
+ return !!(section && section.visible === true && !isEmpty(section[path]));
+};
+
+export const handleKeyUp = (event, action) => {
+ (event.which === 13 || event.which === 32) && action();
+};
+
+export const isFileImage = (file) => {
+ const acceptedImageTypes = ['image/jpeg', 'image/png'];
+ return file && acceptedImageTypes.includes(file.type);
+};
+
+export const formatDateRange = ({ startDate, endDate }) =>
+ `${moment(startDate).format('MMMM Y')} — ${
+ moment(endDate).isValid() ? moment(endDate).format('MMMM Y') : 'Present'
+ }`;
+
+export const getFieldProps = (formik, schema, name) => ({
+ touched: get(formik, `touched.${name}`, false),
+ error: get(formik, `errors.${name}`, ''),
+ isRequired: get(schema, `fields.${name}._exclusive.required`),
+ ...formik.getFieldProps(name),
+});
+
+export const getUnsplashPhoto = async () => {
+ const response = await fetch('https://source.unsplash.com/featured/400x600');
+ return response.url;
+};
+
+export const hexToRgb = (hex) => {
const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
hex = hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
@@ -23,192 +52,49 @@ const hexToRgb = hex => {
: null;
};
-const copyToClipboard = text => {
- const textArea = document.createElement('textarea');
- textArea.style.position = 'fixed';
- textArea.style.top = 0;
- textArea.style.left = 0;
- textArea.style.width = '2em';
- textArea.style.height = '2em';
- textArea.style.padding = 0;
- textArea.style.border = 'none';
- textArea.style.outline = 'none';
- textArea.style.boxShadow = 'none';
- textArea.style.background = 'transparent';
- textArea.value = text;
- document.body.appendChild(textArea);
- textArea.focus();
- textArea.select();
- const successful = document.execCommand('copy');
- document.body.removeChild(textArea);
- return successful;
+export const reorder = (list, startIndex, endIndex) => {
+ const result = Array.from(list);
+ const [removed] = result.splice(startIndex, 1);
+ result.splice(endIndex, 0, removed);
+
+ return result;
};
-const saveData = dispatch => dispatch({ type: 'save_data' });
+export const move = (
+ source,
+ destination,
+ droppableSource,
+ droppableDestination,
+) => {
+ const sourceClone = Array.from(source);
+ const destClone = Array.from(destination);
+ const [removed] = sourceClone.splice(droppableSource.index, 1);
-const addItem = (dispatch, key, value) => {
- dispatch({
- type: 'add_item',
- payload: {
- key,
- value,
- },
- });
+ destClone.splice(droppableDestination.index, 0, removed);
- saveData(dispatch);
+ const result = {};
+ result[droppableSource.droppableId] = sourceClone;
+ result[droppableDestination.droppableId] = destClone;
+
+ return result;
};
-const deleteItem = (dispatch, key, value) => {
- dispatch({
- type: 'delete_item',
- payload: {
- key,
- value,
- },
- });
+export const b64toBlob = (b64Data, contentType = '', sliceSize = 512) => {
+ const byteCharacters = atob(b64Data);
+ const byteArrays = [];
- saveData(dispatch);
-};
+ for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
+ const slice = byteCharacters.slice(offset, offset + sliceSize);
-const moveItemUp = (dispatch, key, value) => {
- dispatch({
- type: 'move_item_up',
- payload: {
- key,
- value,
- },
- });
+ const byteNumbers = new Array(slice.length);
+ for (let i = 0; i < slice.length; i++) {
+ byteNumbers[i] = slice.charCodeAt(i);
+ }
- saveData(dispatch);
-};
-
-const moveItemDown = (dispatch, key, value) => {
- dispatch({
- type: 'move_item_down',
- payload: {
- key,
- value,
- },
- });
-
- saveData(dispatch);
-};
-
-const importJson = (event, dispatch) => {
- 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]);
-};
-
-let saveAsPdfTimer = null;
-const saveAsPdf = (pageRef, panZoomRef, quality, type) => {
- if(saveAsPdfTimer){
- return;
+ const byteArray = new Uint8Array(byteNumbers);
+ byteArrays.push(byteArray);
}
- return new Promise(resolve => {
- panZoomRef.current.autoCenter(1);
- panZoomRef.current.reset();
- saveAsPdfTimer = setTimeout(() => {
- html2canvas(pageRef.current, {
- scale: 5,
- useCORS: true,
- allowTaint: true,
- }).then(canvas => {
- const image = canvas.toDataURL('image/jpeg', quality / 100);
- const doc = new jsPDF({
- orientation: 'portrait',
- unit: 'px',
- format: type === 'unconstrained' ? [canvas.width, canvas.height] : '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;
-
- let marginX = 0;
- let marginY = 0;
-
- if (type !== 'unconstrained') {
- marginX = (pageWidth - canvasWidth) / 2;
- marginY = (pageHeight - canvasHeight) / 2;
- }
-
- doc.addImage(image, 'JPEG', marginX, marginY, canvasWidth, canvasHeight, null, 'SLOW');
- doc.save(`RxResume_${Date.now()}.pdf`);
- saveAsPdfTimer = null;
- resolve();
- });
- }, 250);
- });
-}
-
-let saveAsMultiPagePdfTimer = null;
-const saveAsMultiPagePdf = (pageRef, panZoomRef, quality) => {
- if(saveAsMultiPagePdfTimer){
- return;
- }
- return new Promise(resolve => {
- panZoomRef.current.autoCenter(1);
- panZoomRef.current.reset();
-
- saveAsMultiPagePdfTimer = setTimeout(() => {
- html2canvas(pageRef.current, {
- scale: 5,
- useCORS: true,
- allowTaint: true,
- }).then(canvas => {
- const image = canvas.toDataURL('image/jpeg', quality / 100);
- const doc = new jsPDF({
- orientation: 'portrait',
- unit: 'px',
- format: 'a4',
- });
-
- const pageHeight = doc.internal.pageSize.getHeight();
- const canvasWidth = doc.internal.pageSize.getWidth();
- const canvasHeight = (canvas.height * canvasWidth) / canvas.width;
- let marginTop = 0;
- let heightLeft = canvasHeight;
-
- doc.addImage(image, 'JPEG', 0, marginTop, canvasWidth, canvasHeight);
- heightLeft -= pageHeight;
-
- while (heightLeft >= 0) {
- marginTop = heightLeft - canvasHeight;
- doc.addPage();
- doc.addImage(image, 'JPEG', 0, marginTop, canvasWidth, canvasHeight);
- heightLeft -= pageHeight;
- }
-
- doc.save(`RxResume_${Date.now()}.pdf`);
- saveAsMultiPagePdfTimer = null;
- resolve();
- });
- }, 250);
- });
-}
-
-export {
- move,
- hexToRgb,
- copyToClipboard,
- saveData,
- addItem,
- deleteItem,
- moveItemUp,
- moveItemDown,
- importJson,
- saveAsPdf,
- saveAsMultiPagePdf,
+ const blob = new Blob(byteArrays, { type: contentType });
+ return blob;
};
diff --git a/static.json b/static.json
deleted file mode 100644
index b4766653b..000000000
--- a/static.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "root": "build/",
- "routes": {
- "/**": "index.html"
- }
-}
diff --git a/static/icons/icon-128x128.png b/static/icons/icon-128x128.png
new file mode 100644
index 000000000..6ed5dce31
Binary files /dev/null and b/static/icons/icon-128x128.png differ
diff --git a/static/icons/icon-144x144.png b/static/icons/icon-144x144.png
new file mode 100644
index 000000000..5242e13e2
Binary files /dev/null and b/static/icons/icon-144x144.png differ
diff --git a/static/icons/icon-152x152.png b/static/icons/icon-152x152.png
new file mode 100644
index 000000000..347c8f00e
Binary files /dev/null and b/static/icons/icon-152x152.png differ
diff --git a/static/icons/icon-192x192.png b/static/icons/icon-192x192.png
new file mode 100644
index 000000000..1e6c9ae87
Binary files /dev/null and b/static/icons/icon-192x192.png differ
diff --git a/static/icons/icon-384x384.png b/static/icons/icon-384x384.png
new file mode 100644
index 000000000..8ec4cd957
Binary files /dev/null and b/static/icons/icon-384x384.png differ
diff --git a/static/icons/icon-512x512.png b/static/icons/icon-512x512.png
new file mode 100644
index 000000000..e4e7c114c
Binary files /dev/null and b/static/icons/icon-512x512.png differ
diff --git a/static/icons/icon-72x72.png b/static/icons/icon-72x72.png
new file mode 100644
index 000000000..ddbe88e10
Binary files /dev/null and b/static/icons/icon-72x72.png differ
diff --git a/static/icons/icon-96x96.png b/static/icons/icon-96x96.png
new file mode 100644
index 000000000..61b28dda3
Binary files /dev/null and b/static/icons/icon-96x96.png differ
diff --git a/static/icons/maskable.png b/static/icons/maskable.png
new file mode 100644
index 000000000..7ddc56491
Binary files /dev/null and b/static/icons/maskable.png differ
diff --git a/static/images/logo.png b/static/images/logo.png
new file mode 100644
index 000000000..1dde12111
Binary files /dev/null and b/static/images/logo.png differ
diff --git a/static/images/screenshots/screen-1.png b/static/images/screenshots/screen-1.png
new file mode 100644
index 000000000..53a1696e9
Binary files /dev/null and b/static/images/screenshots/screen-1.png differ
diff --git a/static/images/screenshots/screen-2.png b/static/images/screenshots/screen-2.png
new file mode 100644
index 000000000..b31469c45
Binary files /dev/null and b/static/images/screenshots/screen-2.png differ
diff --git a/static/images/screenshots/screen-3.png b/static/images/screenshots/screen-3.png
new file mode 100644
index 000000000..1842c4f1c
Binary files /dev/null and b/static/images/screenshots/screen-3.png differ
diff --git a/static/images/screenshots/screen-4.png b/static/images/screenshots/screen-4.png
new file mode 100644
index 000000000..24cf77f8b
Binary files /dev/null and b/static/images/screenshots/screen-4.png differ
diff --git a/static/images/screenshots/screen-5.png b/static/images/screenshots/screen-5.png
new file mode 100644
index 000000000..4c64b3ba1
Binary files /dev/null and b/static/images/screenshots/screen-5.png differ
diff --git a/static/images/screenshots/screen-6.png b/static/images/screenshots/screen-6.png
new file mode 100644
index 000000000..101c7dc95
Binary files /dev/null and b/static/images/screenshots/screen-6.png differ
diff --git a/static/images/share.png b/static/images/share.png
new file mode 100644
index 000000000..5824466eb
Binary files /dev/null and b/static/images/share.png differ
diff --git a/static/images/templates/castform.png b/static/images/templates/castform.png
new file mode 100644
index 000000000..274144b1d
Binary files /dev/null and b/static/images/templates/castform.png differ
diff --git a/static/images/templates/celebi.png b/static/images/templates/celebi.png
new file mode 100644
index 000000000..7a0b89c58
Binary files /dev/null and b/static/images/templates/celebi.png differ
diff --git a/static/images/templates/gengar.png b/static/images/templates/gengar.png
new file mode 100644
index 000000000..08a952e3b
Binary files /dev/null and b/static/images/templates/gengar.png differ
diff --git a/static/images/templates/glalie.png b/static/images/templates/glalie.png
new file mode 100644
index 000000000..c4839fb38
Binary files /dev/null and b/static/images/templates/glalie.png differ
diff --git a/static/images/templates/onyx.png b/static/images/templates/onyx.png
new file mode 100644
index 000000000..d08655a1e
Binary files /dev/null and b/static/images/templates/onyx.png differ
diff --git a/static/images/templates/pikachu.png b/static/images/templates/pikachu.png
new file mode 100644
index 000000000..7b4742319
Binary files /dev/null and b/static/images/templates/pikachu.png differ
diff --git a/tailwind.config.js b/tailwind.config.js
index 2eb6577d2..253dd21a0 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -1,12 +1,26 @@
module.exports = {
- purge: [
- './src/**/*.html',
- './src/**/*.js',
- ],
+ purge: ['./src/**/*.js'],
theme: {
container: {
center: true,
},
+ extend: {
+ cursor: {
+ 'context-menu': 'context-menu',
+ },
+ colors: {
+ 'primary-50': 'var(--color-primary-50)',
+ 'primary-100': 'var(--color-primary-100)',
+ 'primary-200': 'var(--color-primary-200)',
+ 'primary-300': 'var(--color-primary-300)',
+ 'primary-400': 'var(--color-primary-400)',
+ 'primary-500': 'var(--color-primary-500)',
+ 'primary-600': 'var(--color-primary-600)',
+ 'primary-700': 'var(--color-primary-700)',
+ 'primary-800': 'var(--color-primary-800)',
+ 'primary-900': 'var(--color-primary-900)',
+ },
+ },
},
variants: {},
plugins: [],