Skip to content

Commit

Permalink
Merge pull request #87 from blopa/feat/420
Browse files Browse the repository at this point in the history
Feat/420
  • Loading branch information
blopa authored Oct 26, 2024
2 parents 535cc28 + 47c5305 commit 9ff3dc0
Show file tree
Hide file tree
Showing 21 changed files with 1,057 additions and 532 deletions.
2 changes: 1 addition & 1 deletion gatsby-config.plugins.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ module.exports = [
resolve: 'gatsby-plugin-react-intl',
options: {
path: `${__dirname}/src/intl`,
languages: ['en', 'pt-br', 'es'],
languages: ['en', 'pt-br', 'es', 'ja', 'de', 'ru', 'fr'],
defaultLanguage,
redirect: true,
redirectComponent: require.resolve('./src/utils/redirect.js'),
Expand Down
858 changes: 340 additions & 518 deletions package-lock.json

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "resume-builder",
"version": "4.1.0",
"version": "4.2.0",
"description": "Resume Builder",
"main": "index.js",
"author": "Pablo Pirata",
Expand All @@ -21,17 +21,17 @@
},
"dependencies": {
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-function-bind": "^7.24.7",
"@babel/plugin-proposal-function-bind": "^7.25.9",
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@babel/plugin-proposal-private-methods": "^7.18.6",
"@babel/plugin-transform-async-to-generator": "^7.24.7",
"@babel/plugin-transform-async-to-generator": "^7.25.9",
"@material-ui/core": "^4.12.4",
"@material-ui/icons": "^4.11.3",
"@material-ui/lab": "^4.0.0-alpha.61",
"@material-ui/styles": "^4.11.5",
"classnames": "^2.5.1",
"deepmerge": "^4.3.1",
"dompurify": "^3.1.6",
"dompurify": "^3.1.7",
"formik": "^2.4.6",
"gatsby": "^3.15.0",
"gatsby-image": "^3.11.0",
Expand Down Expand Up @@ -63,22 +63,22 @@
"xlsx": "^0.18.5"
},
"devDependencies": {
"@babel/eslint-parser": "^7.25.1",
"@babel/eslint-plugin": "^7.25.1",
"@babel/eslint-parser": "^7.25.9",
"@babel/eslint-plugin": "^7.25.9",
"babel-preset-gatsby": "^2.25.0",
"cross-env": "^7.0.3",
"eslint": "^8.57.0",
"eslint": "^8.57.1",
"eslint-config-prettier": "^8.10.0",
"eslint-plugin-gatsby": "^1.0.2",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.9.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.35.0",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-sonarjs": "^0.25.1",
"eslint-plugin-unused-imports": "^2.0.0",
"gatsby-plugin-eslint": "^4.0.4",
"npm-check-updates": "^17.0.3",
"npm-check-updates": "^17.1.6",
"prettier": "^2.8.8"
},
"repository": {
Expand Down
12 changes: 12 additions & 0 deletions src/components/IconFlagJA.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import SvgIcon from '@material-ui/core/SvgIcon';

const IconFlagJP = (props) => (
<SvgIcon viewBox="-5 -5 30 20" {...props}>
{/* White background */}
<rect fill="#ffffff" x="-5" y="-5" width="30" height="20" />
{/* Red circle */}
<circle fill="#bc002d" cx="10" cy="5" r="6" />
</SvgIcon>
);

export default IconFlagJP;
15 changes: 14 additions & 1 deletion src/components/LanguageSelector.jsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { useCallback, useState } from 'react';
import { MenuItem, Select } from '@material-ui/core';
import { IconFlagBR, IconFlagUS, IconFlagES } from 'material-ui-flags';
import { IconFlagBR, IconFlagUS, IconFlagES, IconFlagFR, IconFlagRU, IconFlagDE } from 'material-ui-flags';
import { makeStyles } from '@material-ui/core/styles';
import { changeLocale } from 'gatsby-plugin-react-intl';
import IconFlagJP from './IconFlagJA';

const useStyles = makeStyles((theme) => ({
selectLanguage: {
Expand Down Expand Up @@ -46,6 +47,18 @@ const LanguageSelector = ({ currentLocale, onLanguageChange }) => {
<MenuItem value="es">
<IconFlagES />
</MenuItem>
<MenuItem value="fr">
<IconFlagFR />
</MenuItem>
<MenuItem value="ru">
<IconFlagRU />
</MenuItem>
<MenuItem value="de">
<IconFlagDE />
</MenuItem>
<MenuItem value="jp">
<IconFlagJP />
</MenuItem>
</Select>
);
};
Expand Down
16 changes: 16 additions & 0 deletions src/components/ResumeTemplates/Compact/intl/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"awards": "Auszeichnungen",
"volunteers": "Freiwillige",
"skills": "Fähigkeiten",
"references": "Referenzen",
"publications": "Veröffentlichungen",
"certificates": "Zertifikate",
"projects": "Projekte",
"languages": "Sprachen",
"interests": "Interessen",
"education": "Bildung",
"summary": "Zusammenfassung",
"experience": "Erfahrung",
"at": "@",
"download_data": "Laden Sie die JSON-Daten für diesen Lebenslauf herunter, indem Sie <a>hier</a> klicken"
}
16 changes: 16 additions & 0 deletions src/components/ResumeTemplates/Compact/intl/fr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"awards": "Récompenses",
"volunteers": "Bénévoles",
"skills": "Compétences",
"references": "Références",
"publications": "Publications",
"certificates": "Certificats",
"projects": "Projets",
"languages": "Langues",
"interests": "Centres d'intérêt",
"education": "Éducation",
"summary": "Résumé",
"experience": "Expérience",
"at": "@",
"download_data": "Téléchargez les données JSON de ce CV en cliquant <a>ici</a>"
}
36 changes: 36 additions & 0 deletions src/components/ResumeTemplates/Compact/intl/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,19 @@ import { createIntl, createIntlCache } from 'gatsby-plugin-react-intl';
import localEn from './en.json';
import localPtBr from './pt-br.json';
import localEs from './es.json';
import localDe from './de.json';
import localFr from './fr.json';
import localJa from './ja.json';
import localRu from './ru.json';

// global translations
import globalEn from '../../../../intl/en.json';
import globalPtBr from '../../../../intl/pt-br.json';
import globalEs from '../../../../intl/es.json';
import globalDe from '../../../../intl/de.json';
import globalFr from '../../../../intl/fr.json';
import globalJa from '../../../../intl/ja.json';
import globalRu from '../../../../intl/ru.json';

const translations = [
{
Expand All @@ -32,6 +40,34 @@ const translations = [
...localEs,
},
},
{
locale: 'de',
messages: {
...globalDe,
...localDe,
},
},
{
locale: 'fr',
messages: {
...globalFr,
...localFr,
},
},
{
locale: 'ja',
messages: {
...globalJa,
...localJa,
},
},
{
locale: 'ru',
messages: {
...globalRu,
...localRu,
},
},
];

export default translations.map((translation) => createIntl(translation, createIntlCache()));
16 changes: 16 additions & 0 deletions src/components/ResumeTemplates/Compact/intl/ja.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"awards": "受賞歴",
"volunteers": "ボランティア",
"skills": "スキル",
"references": "推薦",
"publications": "出版物",
"certificates": "証明書",
"projects": "プロジェクト",
"languages": "言語",
"interests": "興味",
"education": "学歴",
"summary": "概要",
"experience": "経験",
"at": "@",
"download_data": "この履歴書のJSONデータを<a>ここ</a>をクリックしてダウンロードしてください"
}
16 changes: 16 additions & 0 deletions src/components/ResumeTemplates/Compact/intl/ru.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"awards": "Награды",
"volunteers": "Волонтеры",
"skills": "Навыки",
"references": "Рекомендации",
"publications": "Публикации",
"certificates": "Сертификаты",
"projects": "Проекты",
"languages": "Языки",
"interests": "Интересы",
"education": "Образование",
"summary": "Резюме",
"experience": "Опыт",
"at": "@",
"download_data": "Скачать данные JSON для этого резюме, нажав <a>здесь</a>"
}
16 changes: 16 additions & 0 deletions src/components/ResumeTemplates/Default/intl/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"awards": "Auszeichnungen",
"volunteers": "Freiwillige",
"skills": "Fähigkeiten",
"references": "Referenzen",
"publications": "Veröffentlichungen",
"certificates": "Zertifikate",
"projects": "Projekte",
"languages": "Sprachen",
"interests": "Interessen",
"education": "Bildung",
"summary": "Zusammenfassung",
"experience": "Erfahrung",
"at": "@",
"download_data": "Laden Sie die JSON-Daten für diesen Lebenslauf herunter, indem Sie <a>hier</a> klicken"
}
16 changes: 16 additions & 0 deletions src/components/ResumeTemplates/Default/intl/fr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"awards": "Récompenses",
"volunteers": "Bénévoles",
"skills": "Compétences",
"references": "Références",
"publications": "Publications",
"certificates": "Certificats",
"projects": "Projets",
"languages": "Langues",
"interests": "Centres d'intérêt",
"education": "Éducation",
"summary": "Résumé",
"experience": "Expérience",
"at": "@",
"download_data": "Téléchargez les données JSON de ce CV en cliquant <a>ici</a>"
}
36 changes: 36 additions & 0 deletions src/components/ResumeTemplates/Default/intl/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,19 @@ import { createIntl, createIntlCache } from 'gatsby-plugin-react-intl';
import localEn from './en.json';
import localPtBr from './pt-br.json';
import localEs from './es.json';
import localDe from './de.json';
import localFr from './fr.json';
import localJa from './ja.json';
import localRu from './ru.json';

// global translations
import globalEn from '../../../../intl/en.json';
import globalPtBr from '../../../../intl/pt-br.json';
import globalEs from '../../../../intl/es.json';
import globalDe from '../../../../intl/de.json';
import globalFr from '../../../../intl/fr.json';
import globalJa from '../../../../intl/ja.json';
import globalRu from '../../../../intl/ru.json';

const translations = [
{
Expand All @@ -32,6 +40,34 @@ const translations = [
...localEs,
},
},
{
locale: 'de',
messages: {
...globalDe,
...localDe,
},
},
{
locale: 'fr',
messages: {
...globalFr,
...localFr,
},
},
{
locale: 'ja',
messages: {
...globalJa,
...localJa,
},
},
{
locale: 'ru',
messages: {
...globalRu,
...localRu,
},
},
];

export default translations.map((translation) => createIntl(translation, createIntlCache()));
16 changes: 16 additions & 0 deletions src/components/ResumeTemplates/Default/intl/ja.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"awards": "受賞歴",
"volunteers": "ボランティア",
"skills": "スキル",
"references": "推薦",
"publications": "出版物",
"certificates": "証明書",
"projects": "プロジェクト",
"languages": "言語",
"interests": "興味",
"education": "学歴",
"summary": "概要",
"experience": "経験",
"at": "@",
"download_data": "この履歴書のJSONデータを<a>ここ</a>をクリックしてダウンロードしてください"
}
16 changes: 16 additions & 0 deletions src/components/ResumeTemplates/Default/intl/ru.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"awards": "Награды",
"volunteers": "Волонтеры",
"skills": "Навыки",
"references": "Рекомендации",
"publications": "Публикации",
"certificates": "Сертификаты",
"projects": "Проекты",
"languages": "Языки",
"interests": "Интересы",
"education": "Образование",
"summary": "Резюме",
"experience": "Опыт",
"at": "@",
"download_data": "Скачать данные JSON для этого резюме, нажав <a>здесь</a>"
}
Loading

0 comments on commit 9ff3dc0

Please sign in to comment.