[ADD] new languages [FIX] PDF export

This commit is contained in:
Amruth Pillai 2020-10-10 12:07:29 +05:30
parent 54b3b649b8
commit c704f8029b
8 changed files with 64 additions and 277 deletions

View File

@ -45,19 +45,28 @@ For those of you familiar with the Crowdin Platform, you could do that too and j
##### Languages Currently Supported
- Arabic (عربى) (by [Ahmad Khatab](https://github.com/A7madXatab))
- Danish (Dansk) (by [RazziaDK](https://crowdin.com/profile/RazziaDK))
- Dutch (Nederlands) (by [Imad Youssoufi](https://github.com/2imad))
- English
- Finnish (Suomalainen) (by Ari Pikkarainen)
- French (Français) (by [MeisterLLD](https://github.com/MeisterLLD))
- German (Deutsche) (by [Kryptand](https://crowdin.com/profile/Kryptand))
- Japanese (日本人) (by [a-thug](https://crowdin.com/profile/a-thug))
- Arabic (عربى)
- Chinese Simplified (简体中文)
- Danish (Dansk)
- Dutch (Nederlands)
- English (US)
- Finnish (Suomalainen)
- French (Français)
- German (Deutsche)
- Hindi (हिंदी)
- Italian (Italiano)
- Japanese (日本人)
- Kannada (ಕನ್ನಡ)
- Norwegian (Norsk) (by [rubjo](https://github.com/rubjo))
- Portuguese (Brazilian) (by [Felipe CG](https://github.com/felcg))
- Spanish (Español) (by [jrgonzalezrios](https://github.com/jrgonzalezrios))
- Turkish (Türkçe) (by [Emirhan Avcı](https://github.com/AtlasFontaine))
- Norwegian (Norsk)
- Polish (Polskie)
- Portuguese (Brazilian)
- Portuguese (Portugal)
- Russian (русский)
- Spanish (Español)
- Swedish (Svenska)
- Turkish (Türkçe)
Thank you to all the amazing people who have contributed to Reactive Resume by translating it into their native language.
### Building from Source
@ -102,12 +111,7 @@ I try to do what I can, but if you found the app helpful, or you're in a better
#### https://www.buymeacoffee.com/AmruthPillai
##### Contributors who have donated to Reactive Resume:
- Leon Yuan ([@LeonY1](https://github.com/LeonY1))
- Benjamin Benni ([@Sensaze](https://twitter.com/Sensaze))
- Anonymous Donor
- Kathy Reid ([@KathyReid](https://github.com/KathyReid))
![Please buy me a coffee](https://i.imgur.com/x7g6kvF.png)
### Appreciation

View File

@ -5,7 +5,7 @@ module.exports = {
title: 'Reactive Resume',
siteUrl: 'https://rxresu.me',
description: 'A free and open source resume builder.',
version: '2.1.4',
version: '2.2.0',
},
plugins: [
'gatsby-plugin-react-helmet',

View File

@ -31,6 +31,7 @@ const Artboard = () => {
</Helmet>
<div
id="page"
className={styles.container}
style={{
transform: `scale(${width / 1680})`,

View File

@ -35,6 +35,14 @@ const languages = [
code: 'de',
name: 'German (Deutsche)',
},
{
code: 'hi',
name: 'Hindi (हिंदी)',
},
{
code: 'it',
name: 'Italian (Italiano)',
},
{
code: 'ja',
name: 'Japanese (日本人)',
@ -47,6 +55,10 @@ const languages = [
code: 'nb',
name: 'Norwegian (Norsk)',
},
{
code: 'pl',
name: 'Polish (Polskie)',
},
{
code: 'ptBr',
name: 'Portuguese (Brazilian)',
@ -55,10 +67,18 @@ const languages = [
code: 'ptPt',
name: 'Portuguese (Portugal)',
},
{
code: 'ru',
name: 'Russian (русский)',
},
{
code: 'es',
name: 'Spanish (Español)',
},
{
code: 'sv',
name: 'Swedish (Svenska)',
},
{
code: 'tr',
name: 'Turkish (Türkçe)',

View File

@ -5,29 +5,39 @@ import en from './en.json';
import es from './es.json';
import fi from './fi.json';
import fr from './fr.json';
import hi from './hi.json';
import it from './it.json';
import ja from './ja.json';
import kn from './kn.json';
import nb from './nb.json';
import nl from './nl.json';
import nb from './nb.json';
import pl from './pl.json';
import ptBr from './pt-br.json';
import ptPt from './pt-pt.json';
import ru from './ru.json';
import sv from './sv.json';
import tr from './tr.json';
import zh from './zh.json';
export default {
ar: { translation: ar },
zh: { translation: zh },
da: { translation: da },
de: { translation: de },
en: { translation: en },
es: { translation: es },
fi: { translation: fi },
fr: { translation: fr },
hi: { translation: hi },
it: { translation: it },
ja: { translation: ja },
kn: { translation: kn },
nb: { translation: nb },
nl: { translation: nl },
nb: { translation: nb },
pl: { translation: pl },
ptBr: { translation: ptBr },
ptPt: { translation: ptPt },
ru: { translation: ru },
sv: { translation: sv },
tr: { translation: tr },
zh: { translation: zh },
};

View File

@ -9,6 +9,7 @@
"required": "påkrevd",
"website": "Hjemmeside",
"date": "Dato",
"present": "NÃ¥tid",
"position": "Stilling",
"startDate": "Startdato",
"endDate": "Sluttdato",
@ -23,8 +24,7 @@
"email": "Dette må være en gyldig e-postadresse.",
"required": "Dette er et obligatorisk felt.",
"url": "Må være en korrekt URL."
},
"present": ""
}
},
"buttons": {
"add": "Legg til",
@ -60,7 +60,8 @@
"toasts": {
"formErrors": "Du må fylle ut alle nødvendige felt før du sender inn skjemaet.",
"doesNotExist": "CV-en du leter etter eksisterer ikke lenger ... eller kanskje den aldri eksisterte?",
"loadDemoData": "Er du i tvil om hvor du skal begynne? Prøv å laste inn demodata for å se hva Reactive Resume har å tilby."
"loadDemoData": "Er du i tvil om hvor du skal begynne? Prøv å laste inn demodata for å se hva Reactive Resume har å tilby.",
"printError": "Skyfunksjonen får problemer, prøv igjen senere eller bruk utskriftsfunksjonen til nettleseren."
},
"sections": {
"heading": "Overskrift",
@ -190,7 +191,7 @@
"sourceCode": {
"heading": "kildekode",
"text": "Vil du kjøre prosjektet fra kildekoden? Er du en utvikler som vil bidra til åpen kildekodeutvikling av dette prosjektet? Klikk på knappen nedenfor.",
"button": "GitHub Repo"
"button": "Github Repo"
},
"footer": "Laget med kjærlighet av <1> Amruth Pillai </1>"
},

View File

@ -1,251 +0,0 @@
{
"shared": {
"appName": "Reactive Resume",
"shortDescription": "En gratis og fritt tilgjengelig løsning for å lage en CV.",
"forms": {
"name": "Navn",
"title": "Tittel",
"subtitle": "Undertittel",
"required": "påkrevd",
"website": "Hjemmeside",
"date": "Dato",
"present": "NÃ¥tid",
"position": "Stilling",
"startDate": "Startdato",
"endDate": "Sluttdato",
"address": "Adresse",
"phone": "Telefonnummer",
"email": "E-postadresse",
"summary": "Oppsummering",
"markdown": "Dette tekstfeltet støtter <1>markdown</1>.",
"validation": {
"min": "Vennligst tast minst {{number}} tegn.",
"dateRange": "Sluttdato må være etter startdato.",
"email": "Dette må være en gyldig e-postadresse.",
"required": "Dette er et obligatorisk felt.",
"url": "Må være en korrekt URL."
}
},
"buttons": {
"add": "Legg til",
"edit": "Rediger",
"cancel": "Avbryt",
"delete": "Slett",
"loading": "Laster...",
"confirmation": "Er du sikker?",
"login": "Logg inn",
"logout": "Logg ut"
}
},
"landing": {
"hero": {
"goToApp": "Gå til app"
}
},
"dashboard": {
"title": "Oversikt",
"createResume": "Opprett CV",
"editResume": "Rediger CV",
"lastUpdated": "Sist oppdatert {{timestamp}}",
"toasts": {
"deleted": "{{name}} ble slettet"
},
"buttons": {
"duplicate": "Dupliser",
"rename": "Endre navn"
},
"helpText": "Du er i ferd med å opprette en ny CV fra start, men la oss først gi den et navn. Det kan være navnet på stillingen du vil søke eller hvis du lager en CV for en venn, så kan du kalle den Runes CV."
},
"builder": {
"toasts": {
"formErrors": "Du må fylle ut alle nødvendige felt før du sender inn skjemaet.",
"doesNotExist": "CV-en du leter etter eksisterer ikke lenger ... eller kanskje den aldri eksisterte?",
"loadDemoData": "Er du i tvil om hvor du skal begynne? Prøv å laste inn demodata for å se hva Reactive Resume har å tilby.",
"printError": "Skyfunksjonen får problemer, prøv igjen senere eller bruk utskriftsfunksjonen til nettleseren."
},
"sections": {
"heading": "Overskrift",
"profile": "Profil",
"social": "Sosialt nettverk",
"objective": "Mål",
"work": "Erfaring",
"education": "Utdanning",
"project": "Prosjekt",
"projects": "prosjekter",
"award": "Priser",
"awards": "Prisene",
"certification": "Sertifisering",
"certifications": "Sertifiseringer",
"skill": "Ferdighet",
"skills": "Ferdigheter",
"hobby": "Hobby",
"hobbies": "Hobbyer",
"language": "Språk",
"languages": "Språk",
"reference": "Referanse",
"references": "Referanser",
"templates": "Maler",
"layout": "Oppsett",
"colors": "Farger",
"fonts": "Skrifttyper",
"actions": "Handlinger",
"settings": "Innstillinger",
"about": "Om"
},
"profile": {
"photograph": "Foto",
"firstName": "Fornavn",
"lastName": "Etternavn",
"address": {
"line1": "Adresselinje 1",
"line2": "Adresselinje 2",
"city": "By",
"pincode": "Postkode"
}
},
"social": {
"network": "Nettverk",
"username": "Brukernavn",
"url": "URL"
},
"work": {
"company": "Firma"
},
"education": {
"institution": "Institusjon",
"field": "Studieprogram",
"degree": "Utdanningsgrad",
"gpa": "Karaktersnitt"
},
"awards": {
"awarder": "Utsteder"
},
"certifications": {
"issuer": "Utsteder"
},
"skills": {
"level": "Nivå"
},
"languages": {
"fluency": "Språkferdighet"
},
"layout": {
"block": "Blokk",
"reset": "Tilbakestill utseende",
"text": "Denne malen støtter {{count}} blokker."
},
"colors": {
"primary": "Primærfarge",
"text": "Tekstfarge",
"background": "Bakgrunnsfarge"
},
"actions": {
"import": {
"heading": "Importer CV-en",
"text": "Du kan importere informasjonen din fra forskjellige kilder som JSON CV eller din LinkedIn-profil for automatisk å fylle ut mesteparten av dataene i CV-en.",
"button": "Importere"
},
"export": {
"heading": "Eksporter CV-en",
"text": "Eksporter CV-en din som PDF for å dele med rekrutterere eller som JSON som lar deg importere den tilbake til denne applikasjonen på en annen datamaskin.",
"button": "Eksport"
},
"share": {
"heading": "Del dette sammendraget",
"text": "Koblingen nedenfor vil være offentlig tilgjengelig hvis du deler den, og besøkende vil alltid se den siste versjonen av sammendraget."
},
"loadDemoData": {
"text": "Er du i tvil om hva du skal gjøre med en blank side? Last inn noen demodata og se hvordan et sammendrag kan se ut, og du kan begynne å redigere herfra.",
"button": "Last inn demodata"
},
"resetEverything": {
"text": "Føler du at du har gjort for mange feil? Ingen bekymringer, fjern alt med bare et klikk, men vær forsiktig hvis du ikke har en kopi.",
"button": "Tilbakestill alt"
}
},
"settings": {
"theme": "Tema",
"language": "Språk",
"translate": "Hvis du vil bidra med å oversette til ditt eget språk, <1> besøk denne siden </1>.",
"dangerZone": {
"heading": "Faresone",
"text": "Hvis du vil lukke kontoen din og slette alle CV-ene dine, er det bare et klikk unna. Vær oppmerksom på at denne handlingen ikke kan angres.",
"button": "Slett konto"
}
},
"about": {
"donate": {
"heading": "Doner til Reactive Resume",
"text": "Jeg prøver å gjøre det jeg kan, men hvis du tror at denne appen hjelper deg, eller at du er i en bedre posisjon enn andre som er avhengige av denne appen for å få sin første jobb, <1> kan du vurdere å donere $5 for å holde liv i prosjektet </1> :-)",
"button": "Kjøp en kopp kaffe til meg!"
},
"bugFeature": {
"heading": "Feil? Ser du etter en ny funksjon?",
"text": "Er det noe som hindrer deg i å gå videre med CV-en? Har du funnet en dum feil som ikke vil forsvinne? Fortell oss om det på GitHub Issues ved å bruke handlingene nedenfor.",
"button": "Reis et problem"
},
"appreciate": {
"heading": "Elsker du Reactive Resume?",
"text": "Jeg blir aldri lei av å høre historier om hvordan denne appen har hjulpet folk, og hvis den har hjulpet deg eller du bare synes Reactive Resume er et flott verktøy, vil jeg gjerne vite det. Du kan nå meg via nettstedet mitt."
},
"sourceCode": {
"heading": "kildekode",
"text": "Vil du kjøre prosjektet fra kildekoden? Er du en utvikler som vil bidra til åpen kildekodeutvikling av dette prosjektet? Klikk på knappen nedenfor.",
"button": "Github Repo"
},
"footer": "Laget med kjærlighet av <1> Amruth Pillai </1>"
},
"tooltips": {
"uploadPhotograph": "Last opp bilde",
"backToDashboard": "Tilbake til oversikt"
},
"emptyList": "Denne listen er tom."
},
"modals": {
"auth": {
"whoAreYou": "Hvem er du?",
"welcome": "Velkommen {{name}}!",
"loggedOutText": "Reactive Resume trenger å vite hvem du er, slik at vi trygt kan bekrefte deg i appen og bare vise deg informasjonen din. Når du er inne, kan du begynne å bygge din CV, redigere den for å legge til nye muligheter eller dele den med verden!",
"loggedInText": "Slik. Nå som du har bekreftet deg selv, kan vi gå videre med den virkelige grunnen til at du er her. Klikk på Gå til-app-knappen for å begynne på CV-en!",
"buttons": {
"google": "Logg inn med Google",
"anonymous": "Logg inn anonymt"
}
},
"import": {
"button": "Velg Fil",
"reactiveResume": {
"heading": "Importer fra Reactive Resume",
"text": "Reactive Resume har sitt eget skjemaformat for å dra nytte av alle alternativene som tilbys. Hvis du vil importere en sikkerhetskopi av CV-en din som er laget med denne appen, kan du laste opp filen med knappen nedenfor."
},
"jsonResume": {
"heading": "Importer fra JSON CV",
"text": "JSON Resume er en åpen standard for CV-struktur. Hvis du er en av de mange ildsjelene som har sin CV klar i dette formatet, tar det bare et enkelt klikk for å komme i gang med Reactive Resume."
},
"linkedIn": {
"heading": "Importer fra LinkedIn",
"text": "Du kan importere JSON eksportert fra Reactive Resume ved å klikke på knappen nedenfor og velge filen."
}
},
"export": {
"printDialog": {
"heading": "Bruk nettleserens utskriftsdialogboks",
"text": "For deg som ønsker en rask løsning, bør du ikke bruke mer enn nettleseren din. Alt du trenger å gjøre er å trykke på Ctrl / Cmd + P og åpne en utskriftsdialogboks i nettleseren og umiddelbart skrive ut CV-en.",
"button": "Skriv ut CV"
},
"downloadPDF": {
"heading": "Last ned PDF",
"text": "Det er mulig å skrive ut en ensidig versjon av CV-en, perfekt for deg som har mye innhold. Alternativt kan du laste ned en flersidig versjon av CV-en med et enkelt klikk.",
"buttons": {
"single": "Sammendrag av én side",
"multi": "Sammendrag av flere sider"
}
},
"jsonFormat": {
"heading": "Eksporter til JSON-format",
"text": "Du kan også eksportere dataene dine i JSON-format for å holde dem trygge, slik at du enkelt kan importere dem til Reactive Resume når du vil endre eller generere en CV.",
"button": "Eksporter JSON"
}
}
}
}

View File

@ -7,10 +7,12 @@ import 'dayjs/locale/en';
import 'dayjs/locale/es';
import 'dayjs/locale/fi';
import 'dayjs/locale/fr';
import 'dayjs/locale/it';
import 'dayjs/locale/ja';
import 'dayjs/locale/kn';
import 'dayjs/locale/nb';
import 'dayjs/locale/nl';
import 'dayjs/locale/pl';
import 'dayjs/locale/pt';
import 'dayjs/locale/tr';
import relativeTime from 'dayjs/plugin/relativeTime';