mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-10 04:22:27 +10:00
Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d01d6a833 | |||
| 1914ebb9ae | |||
| 686dba90c9 | |||
| 95dc3bf571 | |||
| 1c8fdbf848 | |||
| d8357c9959 | |||
| 90e994377b | |||
| 82c6ee6d5d | |||
| 7b615e73c3 | |||
| 268e4a87fe | |||
| 73f8eb84c9 | |||
| a31ef89996 | |||
| d6bca7ebab | |||
| e0a42fd928 | |||
| deb4e0a0de | |||
| a687062866 | |||
| 700439c8a8 | |||
| 77c587681b | |||
| 7ac8b906d9 | |||
| e9a5f86a6a | |||
| 7238a3b50e | |||
| ebe13fa82e | |||
| 6ee290a625 |
@ -13,7 +13,7 @@ export const languages: Language[] = [
|
|||||||
{ code: 'ca', name: 'Catalan', localName: 'Valencian' },
|
{ code: 'ca', name: 'Catalan', localName: 'Valencian' },
|
||||||
{ code: 'cs', name: 'Czech', localName: 'čeština' },
|
{ code: 'cs', name: 'Czech', localName: 'čeština' },
|
||||||
{ code: 'da', name: 'Danish', localName: 'Dansk' },
|
{ code: 'da', name: 'Danish', localName: 'Dansk' },
|
||||||
{ code: 'de', name: 'German', localName: 'Deutsch' },
|
{ code: 'de', name: 'German', localName: 'Deutsch Formell / Sie' },
|
||||||
{ code: 'el', name: 'Greek', localName: 'Ελληνικά' },
|
{ code: 'el', name: 'Greek', localName: 'Ελληνικά' },
|
||||||
{ code: 'en', name: 'English' },
|
{ code: 'en', name: 'English' },
|
||||||
{ code: 'es', name: 'Spanish', localName: 'Español' },
|
{ code: 'es', name: 'Spanish', localName: 'Español' },
|
||||||
|
|||||||
@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
"common": {
|
"common": {
|
||||||
"actions": {
|
"actions": {
|
||||||
"add": "Neue {{token}} hinzufügen",
|
"add": "{{token}} hinzufügen",
|
||||||
"delete": "Löschen {{token}}",
|
"delete": "{{token}} löschen",
|
||||||
"edit": "Bearbeiten {{token}}"
|
"edit": "{{token}} bearbeiten",
|
||||||
|
"duplicate": "Abschnitt duplizieren"
|
||||||
},
|
},
|
||||||
"columns": {
|
"columns": {
|
||||||
"heading": "Spalten",
|
"heading": "Spalten",
|
||||||
@ -17,10 +18,10 @@
|
|||||||
"label": "Beschreibung"
|
"label": "Beschreibung"
|
||||||
},
|
},
|
||||||
"email": {
|
"email": {
|
||||||
"label": "E-Mail Adresse"
|
"label": "E-Mail-Adresse"
|
||||||
},
|
},
|
||||||
"end-date": {
|
"end-date": {
|
||||||
"help-text": "Dieses Feld leer lassen, wenn noch vorhanden",
|
"help-text": "Dieses Feld leer lassen, wenn dieser Eintrag noch kein Enddatum hat.",
|
||||||
"label": "Enddatum"
|
"label": "Enddatum"
|
||||||
},
|
},
|
||||||
"keywords": {
|
"keywords": {
|
||||||
@ -69,7 +70,7 @@
|
|||||||
"empty-text": "Diese Liste ist leer."
|
"empty-text": "Diese Liste ist leer."
|
||||||
},
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"delete-item": "Sind Sie sicher, dass Sie dieses Element löschen möchten? Dies ist eine unumkehrbare Aktion.",
|
"delete-item": "Sind Sie sicher, dass Sie dieses Element löschen möchten? Dies lässt sich nicht rückgängig machen.",
|
||||||
"delete-section": "Abschnitt löschen",
|
"delete-section": "Abschnitt löschen",
|
||||||
"rename-section": "Abschnitt umbenennen",
|
"rename-section": "Abschnitt umbenennen",
|
||||||
"toggle-visibility": "Sichtbarkeit umschalten"
|
"toggle-visibility": "Sichtbarkeit umschalten"
|
||||||
@ -86,7 +87,7 @@
|
|||||||
"zoom-in": "Vergrößern",
|
"zoom-in": "Vergrößern",
|
||||||
"zoom-out": "Verkleinern",
|
"zoom-out": "Verkleinern",
|
||||||
"undo": "Rückgängig machen",
|
"undo": "Rückgängig machen",
|
||||||
"redo": "Redo"
|
"redo": "Wiederholen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"header": {
|
"header": {
|
||||||
@ -96,8 +97,8 @@
|
|||||||
"rename": "Umbenennen",
|
"rename": "Umbenennen",
|
||||||
"share-link": "Link teilen",
|
"share-link": "Link teilen",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"delete": "Sind Sie sicher, dass Sie diesen Lebenslauf löschen möchten? Dies ist eine unumkehrbare Aktion.",
|
"delete": "Sind Sie sicher, dass Sie diesen Lebenslauf löschen möchten? Dies lässt sich nicht rückgängig machen.",
|
||||||
"share-link": "Du musst die Sichtbarkeit deines Lebenslaufs in die Öffentlichkeit ändern, um ihn für andere sichtbar zu machen."
|
"share-link": "Sie müssen die Sichtbarkeit Ihres Lebenslaufs in Öffentlich ändern, um ihn für andere sichtbar zu machen."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -106,7 +107,7 @@
|
|||||||
"awards": {
|
"awards": {
|
||||||
"form": {
|
"form": {
|
||||||
"awarder": {
|
"awarder": {
|
||||||
"label": "Auszeichnung"
|
"label": "Auszeichner"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -119,7 +120,7 @@
|
|||||||
"label": "Überschrift"
|
"label": "Überschrift"
|
||||||
},
|
},
|
||||||
"name": {
|
"name": {
|
||||||
"label": "Voller Name"
|
"label": "Vollständiger Name"
|
||||||
},
|
},
|
||||||
"birthdate": {
|
"birthdate": {
|
||||||
"label": "Geburtsdatum"
|
"label": "Geburtsdatum"
|
||||||
@ -127,7 +128,7 @@
|
|||||||
"photo-filters": {
|
"photo-filters": {
|
||||||
"effects": {
|
"effects": {
|
||||||
"border": {
|
"border": {
|
||||||
"label": "Grenze"
|
"label": "Rahmen"
|
||||||
},
|
},
|
||||||
"grayscale": {
|
"grayscale": {
|
||||||
"label": "Graustufen"
|
"label": "Graustufen"
|
||||||
@ -158,13 +159,13 @@
|
|||||||
"education": {
|
"education": {
|
||||||
"form": {
|
"form": {
|
||||||
"area-study": {
|
"area-study": {
|
||||||
"label": "Studienbereich"
|
"label": "Studienfach"
|
||||||
},
|
},
|
||||||
"courses": {
|
"courses": {
|
||||||
"label": "Kurse"
|
"label": "Kurse"
|
||||||
},
|
},
|
||||||
"degree": {
|
"degree": {
|
||||||
"label": "Grad"
|
"label": "Abschluss"
|
||||||
},
|
},
|
||||||
"grade": {
|
"grade": {
|
||||||
"label": "Note"
|
"label": "Note"
|
||||||
@ -176,7 +177,7 @@
|
|||||||
},
|
},
|
||||||
"location": {
|
"location": {
|
||||||
"address": {
|
"address": {
|
||||||
"label": "Adresse"
|
"label": "Straße"
|
||||||
},
|
},
|
||||||
"city": {
|
"city": {
|
||||||
"label": "Stadt"
|
"label": "Stadt"
|
||||||
@ -184,12 +185,12 @@
|
|||||||
"country": {
|
"country": {
|
||||||
"label": "Land"
|
"label": "Land"
|
||||||
},
|
},
|
||||||
"heading": "Standort",
|
"heading": "Anschrift",
|
||||||
"postal-code": {
|
"postal-code": {
|
||||||
"label": "Postleitzahl"
|
"label": "Postleitzahl"
|
||||||
},
|
},
|
||||||
"region": {
|
"region": {
|
||||||
"label": "Region"
|
"label": "Bundesland"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"profiles": {
|
"profiles": {
|
||||||
@ -201,7 +202,7 @@
|
|||||||
"label": "Benutzername"
|
"label": "Benutzername"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"heading": "Profiles",
|
"heading": "Soziale Netzwerke",
|
||||||
"heading_one": "Profil"
|
"heading_one": "Profil"
|
||||||
},
|
},
|
||||||
"publications": {
|
"publications": {
|
||||||
@ -239,16 +240,16 @@
|
|||||||
"heading": "Exportieren",
|
"heading": "Exportieren",
|
||||||
"json": {
|
"json": {
|
||||||
"primary": "JSON",
|
"primary": "JSON",
|
||||||
"secondary": "Laden Sie eine JSON-Version Ihres Lebenslaufs herunter, die Sie wieder in Reaktives Lebenslauf importieren können."
|
"secondary": "Laden Sie eine JSON-Version Ihres Lebenslaufs herunter, die Sie wieder in Reactive Resume importieren können."
|
||||||
},
|
},
|
||||||
"pdf": {
|
"pdf": {
|
||||||
"loading": {
|
"loading": {
|
||||||
"primary": "PDF wird erstellt",
|
"primary": "PDF wird erstellt",
|
||||||
"secondary": "Bitte warten Sie, wenn Ihr PDF generiert wird, dies kann bis zu 15 Sekunden dauern."
|
"secondary": "Bitte warten Sie, während Ihr PDF generiert wird. Dies kann bis zu 15 Sekunden dauern."
|
||||||
},
|
},
|
||||||
"normal": {
|
"normal": {
|
||||||
"primary": "PDF",
|
"primary": "PDF",
|
||||||
"secondary": "Laden Sie sich ein PDF Ihres Lebenslaufs herunter, das Sie ausdrucken und an Ihren Traumjob senden können. Diese Datei kann nicht zur weiteren Bearbeitung importiert werden."
|
"secondary": "Laden Sie sich ein PDF Ihres Lebenslaufs herunter, dass Sie ausdrucken oder an Ihren Traumarbeitgeber senden können. Diese Datei kann nicht zur weiteren Bearbeitung importiert werden."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -256,18 +257,20 @@
|
|||||||
"heading": "Layout",
|
"heading": "Layout",
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"reset-layout": "Layout zurücksetzen"
|
"reset-layout": "Layout zurücksetzen"
|
||||||
}
|
},
|
||||||
|
"main": "Hauptteil",
|
||||||
|
"sidebar": "Seitenleiste"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
"bugs-features": {
|
"bugs-features": {
|
||||||
"body": "Hält Sie etwas davon ab, einen Lebenslauf zu erstellen? Oder haben Sie eine tolle Idee, die Sie hinzufügen möchten? Erhöhen Sie einen Eintrag auf GitHub, um loszulegen.",
|
"body": "Sind Sie bei der Erstellung Ihres Lebenslaufs auf ein Problem gestoßen? Oder haben Sie eine tolle Idee, die Sie hinzufügen möchten? Erstellen Sie ein Ticket auf GitHub.",
|
||||||
"button": "GitHub Themen",
|
"button": "GitHub Issues",
|
||||||
"heading": "Fehler? Feature-Anfragen?"
|
"heading": "Fehler? Verbesserungsvorschläge?"
|
||||||
},
|
},
|
||||||
"donate": {
|
"donate": {
|
||||||
"body": "Wenn Ihnen Reactive Resume gefallen hat, denken Sie bitte darüber nach, so viel wie möglich zu spenden, damit die App für immer kostenlos und werbefrei bleibt.",
|
"body": "Sollte Ihnen Reactive Resume gefallen, möchte ich Sie bitten, etwas zu spenden, damit die App für immer kostenlos und werbefrei bleibt.",
|
||||||
"button": "Kaufe mir einen Kaffee",
|
"button": "Kaufe mir einen Kaffee",
|
||||||
"heading": "Spenden an Reaktives Lebenslauf"
|
"heading": "Spenden Sie an Reactive Resume."
|
||||||
},
|
},
|
||||||
"github": "Quellcode",
|
"github": "Quellcode",
|
||||||
"docs": "Dokumentation",
|
"docs": "Dokumentation",
|
||||||
@ -277,43 +280,44 @@
|
|||||||
"global": {
|
"global": {
|
||||||
"date": {
|
"date": {
|
||||||
"primary": "Datum",
|
"primary": "Datum",
|
||||||
"secondary": "Datumsformat für die gesamte App"
|
"secondary": "Datumsformat für die gesamte App.",
|
||||||
|
"prefix": "Z.B."
|
||||||
},
|
},
|
||||||
"heading": "Globale",
|
"heading": "Global",
|
||||||
"language": {
|
"language": {
|
||||||
"primary": "Sprache",
|
"primary": "Sprache",
|
||||||
"secondary": "Sprache anzeigen, die in der gesamten App verwendet wird"
|
"secondary": "Anzeigesprache, die in der gesamten App verwendet wird."
|
||||||
},
|
},
|
||||||
"theme": {
|
"theme": {
|
||||||
"primary": "Thema"
|
"primary": "App Design"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"heading": "Einstellungen",
|
"heading": "Einstellungen",
|
||||||
"page": {
|
"page": {
|
||||||
"format": {
|
"format": {
|
||||||
"primary": "Papier größe",
|
"primary": "Papiergröße",
|
||||||
"secondary": "Legt die Abmessungen Ihrer Lebenslaufseiten fest"
|
"secondary": "Legt die Seitenabmessungen Ihres Lebenslaufs fest."
|
||||||
},
|
},
|
||||||
"break-line": {
|
"break-line": {
|
||||||
"primary": "Linie anhalten",
|
"primary": "Seitenumbruch anzeigen",
|
||||||
"secondary": "Zeile auf allen Seiten anzeigen, um die Höhe einer A4-Seite zu markieren"
|
"secondary": "Zeigt den Seitenumbruch als Linie auf allen Seiten an."
|
||||||
},
|
},
|
||||||
"heading": "Seite",
|
"heading": "Seite",
|
||||||
"orientation": {
|
"orientation": {
|
||||||
"disabled": "Hat keine Auswirkung, wenn nur eine Seite vorhanden ist",
|
"disabled": "Hat keine Auswirkung, wenn nur eine Seite vorhanden ist.",
|
||||||
"primary": "Ausrichtung",
|
"primary": "Ausrichtung",
|
||||||
"secondary": "Ob Seiten horizontal oder vertikal angezeigt werden sollen"
|
"secondary": "Legt fest, ob Seiten horizontal oder vertikal angezeigt werden sollen."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"resume": {
|
"resume": {
|
||||||
"heading": "Lebenslauf",
|
"heading": "Lebenslauf",
|
||||||
"reset": {
|
"reset": {
|
||||||
"primary": "Alles zurücksetzen",
|
"primary": "Alles zurücksetzen",
|
||||||
"secondary": "Zu viele Fehler gemacht? Klicken Sie hier, um alle Änderungen zurückzusetzen und bei Null zu beginnen. Sei vorsichtig, diese Aktion kann nicht rückgängig gemacht werden."
|
"secondary": "Zu viele Fehler gemacht? Klicken Sie hier, um alle Änderungen zurückzusetzen und von vorne zu beginnen. Vorsicht! Diese Aktion kann nicht rückgängig gemacht werden."
|
||||||
},
|
},
|
||||||
"sample": {
|
"sample": {
|
||||||
"primary": "Beispieldaten laden",
|
"primary": "Beispieldaten laden",
|
||||||
"secondary": "Nicht sicher, wo man anfangen soll? Klicken Sie hier, um ein paar Beispieldaten zu laden, um zu sehen, wie ein vollständiger Lebenslauf aussieht."
|
"secondary": "Sie sind nicht sicher, wo Sie anfangen sollen? Klicken Sie hier, um Beispieldaten zu laden. So können Sie sich ansehen, wie ein vollständiger Lebenslauf aussieht."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -323,8 +327,8 @@
|
|||||||
"label": "Kurze URL bevorzugen"
|
"label": "Kurze URL bevorzugen"
|
||||||
},
|
},
|
||||||
"visibility": {
|
"visibility": {
|
||||||
"subtitle": "Erlaube jemandem mit einem Link deinen Lebenslauf anzusehen",
|
"subtitle": "Erlaubt jedem, dem Sie diesen Link schicken, Ihren Lebenslauf anzusehen.",
|
||||||
"title": "Öffentlich"
|
"title": "Öffentlich zugänglich"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"templates": {
|
"templates": {
|
||||||
@ -333,16 +337,16 @@
|
|||||||
"theme": {
|
"theme": {
|
||||||
"form": {
|
"form": {
|
||||||
"background": {
|
"background": {
|
||||||
"label": "Hintergrund"
|
"label": "Hintergrundfarbe"
|
||||||
},
|
},
|
||||||
"primary": {
|
"primary": {
|
||||||
"label": "Primär"
|
"label": "Primärfarbe"
|
||||||
},
|
},
|
||||||
"text": {
|
"text": {
|
||||||
"label": "Text"
|
"label": "Textfarbe"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"heading": "Thema"
|
"heading": "Lebenslauf Design"
|
||||||
},
|
},
|
||||||
"typography": {
|
"typography": {
|
||||||
"form": {
|
"form": {
|
||||||
|
|||||||
@ -13,14 +13,14 @@
|
|||||||
"help-text": "Dieser Abschnitt unterstützt <1>Markdown</1> Formatierung."
|
"help-text": "Dieser Abschnitt unterstützt <1>Markdown</1> Formatierung."
|
||||||
},
|
},
|
||||||
"date": {
|
"date": {
|
||||||
"present": "gegenwärtig"
|
"present": "Heute"
|
||||||
},
|
},
|
||||||
"subtitle": "Ein freier und Open-Source-Lebenslauf-Builder.",
|
"subtitle": "Ein kostenloser Open Source Lebenslauf-Baukasten.",
|
||||||
"title": "Reaktives Lebenslauf",
|
"title": "Reactive Resume",
|
||||||
"toast": {
|
"toast": {
|
||||||
"error": {
|
"error": {
|
||||||
"upload-file-size": "Bitte laden Sie nur Dateien unter 2 Megabytes hoch.",
|
"upload-file-size": "Bitte laden Sie nur Dateien unter 2 Megabytes hoch.",
|
||||||
"upload-photo-size": "Bitte laden Sie nur Fotos unter 2 Megabytes hoch, vorzugsweise quadratisch."
|
"upload-photo-size": "Bitte laden Sie nur Fotos unter 2 Megabytes hoch, am besten in einem quadratischen Format."
|
||||||
},
|
},
|
||||||
"success": {
|
"success": {
|
||||||
"resume-link-copied": "Ein Link zu deinem Lebenslauf wurde in deine Zwischenablage kopiert."
|
"resume-link-copied": "Ein Link zu deinem Lebenslauf wurde in deine Zwischenablage kopiert."
|
||||||
|
|||||||
@ -1,25 +1,25 @@
|
|||||||
{
|
{
|
||||||
"create-resume": {
|
"create-resume": {
|
||||||
"subtitle": "Bei Null anfangen",
|
"subtitle": "Mit einem leeren Lebenslauf starten",
|
||||||
"title": "Neuen Lebenslauf erstellen"
|
"title": "Neuen Lebenslauf erstellen"
|
||||||
},
|
},
|
||||||
"import-external": {
|
"import-external": {
|
||||||
"subtitle": "LinkedIn, JSON Resume, Reaktives Lebenslauf",
|
"subtitle": "LinkedIn, JSON Lebenslauf, Reactive Resume",
|
||||||
"title": "Aus externen Quellen importieren"
|
"title": "Aus externer Quelle importieren"
|
||||||
},
|
},
|
||||||
"resume": {
|
"resume": {
|
||||||
"menu": {
|
"menu": {
|
||||||
"delete": "Löschen",
|
"delete": "Löschen",
|
||||||
"duplicate": "Duplikat",
|
"duplicate": "Duplizieren",
|
||||||
"open": "Öffnen",
|
"open": "Öffnen",
|
||||||
"rename": "Umbenennen",
|
"rename": "Umbenennen",
|
||||||
"share-link": "Einen Link teilen",
|
"share-link": "Link teilen",
|
||||||
"tooltips": {
|
"tooltips": {
|
||||||
"delete": "Möchten Sie diesen Lebenslauf wirklich löschen? Dies ist eine irreversible Aktion.",
|
"delete": "Möchten Sie diesen Lebenslauf wirklich löschen? Dies lässt sich nicht rückgängig machen.",
|
||||||
"share-link": "Sie müssen die Sichtbarkeit Ihres Lebenslaufs auf öffentlich ändern, um ihn für andere sichtbar zu machen."
|
"share-link": "Sie müssen die Sichtbarkeit Ihres Lebenslaufs auf öffentlich ändern, um ihn für andere sichtbar zu machen."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"timestamp": "Zuletzt vor {{timestamp}} aktualisiert"
|
"timestamp": "Zuletzt vor {{timestamp}} geändert."
|
||||||
},
|
},
|
||||||
"title": "Dashboard"
|
"title": "Dashboard"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"actions": {
|
"actions": {
|
||||||
"app": "Gehe zu App",
|
"app": "Gehe zur App",
|
||||||
"login": "Anmelden",
|
"login": "Anmelden",
|
||||||
"logout": "Ausloggen",
|
"logout": "Ausloggen",
|
||||||
"register": "Registrieren"
|
"register": "Registrieren"
|
||||||
@ -9,16 +9,16 @@
|
|||||||
"heading": "Eigenschaften",
|
"heading": "Eigenschaften",
|
||||||
"list": {
|
"list": {
|
||||||
"ads": "Keine Werbung",
|
"ads": "Keine Werbung",
|
||||||
"export": "Exportieren Sie Ihren Lebenslauf in JSON oder PDF Format",
|
"export": "Exportieren Sie Ihren Lebenslauf als JSON oder PDF Format",
|
||||||
"free": "Frei, für immer",
|
"free": "Kostenlos, für immer",
|
||||||
"import": "Importiere Daten von LinkedIn, JSON Lebenslauf",
|
"import": "Importieren Sie Ihre Daten von LinkedIn oder als JSON Lebenslauf",
|
||||||
"languages": "In mehreren Sprachen zugänglich",
|
"languages": "In mehreren Sprachen verfügbar",
|
||||||
"more": "Und viel mehr aufregende Features, <1>lesen Sie alles hier</1>",
|
"more": "Und viele weitere aufregende Features. <1>Hier gibt es mehr informationen (in englischer Sprache)</1>",
|
||||||
"tracking": "Keine Benutzerverfolgung"
|
"tracking": "Kein Benutzertracking"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
"heading": "Verknüpfungen",
|
"heading": "Links",
|
||||||
"links": {
|
"links": {
|
||||||
"donate": "Spenden",
|
"donate": "Spenden",
|
||||||
"github": "Quellcode",
|
"github": "Quellcode",
|
||||||
@ -32,11 +32,11 @@
|
|||||||
},
|
},
|
||||||
"testimonials": {
|
"testimonials": {
|
||||||
"heading": "Referenzen",
|
"heading": "Referenzen",
|
||||||
"body": "Gut oder schlecht, ich würde gerne Ihre Meinung über Reactive Resume und wie die Erfahrung war für Sie.<br/>Hier sind einige der Nachrichten, die von Benutzern auf der ganzen Welt gesendet werden.",
|
"body": "Egal ob gut oder schlecht - ich würde gerne Ihre Meinung über Reactive Resume hören und welche Erfahrungen Sie gemacht haben.<br/>Hier sind einige der Nachrichten, die mir von Benutzern auf der ganzen Welt zugesandt wurden.",
|
||||||
"contact": "Du kannst mich über <1>meine E-Mail</1> oder über das Kontaktformular auf <3>meiner Website</3>erreichen."
|
"contact": "Sie können mich über <1>meine E-Mail</1> oder über das Kontaktformular auf <3>meiner Website</3> erreichen."
|
||||||
},
|
},
|
||||||
"summary": {
|
"summary": {
|
||||||
"body": "Reaktives Lebenslauf ist ein freier und Open-Source-Lebenslauf-Builder, der gebaut wurde, um die weltlichen Aufgaben zu machen, zu erstellen, Aktualisieren und teilen Sie Ihren Lebenslauf so einfach wie 1, 2, 3. Mit dieser App kannst du mehrere Bewerbungen erstellen, sie mit Recruitern oder Freunden über einen einzigartigen Link teilen und sie als PDF ausdrucken. alle kostenlos, keine Werbung, keine Verfolgung, ohne die Integrität und Privatsphäre Ihrer Daten zu verlieren.",
|
"body": "Reactive Resume ist ein kostenloser Open Source Lebenslauf-Builder, der gebaut wurde, um die langweilige Aufgabe einen Lebenslauf zu erstellen, aktuell zu halten und zu teilen so einfach wie möglich zu machen. Mit dieser App können Sie mehrere Lebensläufe erstellen, sie mit Recruitern oder Freunden über einen einzigartigen Link teilen und als PDF exportieren. Kostenlos, ohne Werbung, kein Tracking, ohne die Integrität und Privatsphäre Ihrer Daten zu verlieren.",
|
||||||
"heading": "Zusammenfassung"
|
"heading": "Zusammenfassung"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,16 +2,16 @@
|
|||||||
"auth": {
|
"auth": {
|
||||||
"forgot-password": {
|
"forgot-password": {
|
||||||
"actions": {
|
"actions": {
|
||||||
"send-email": "Passwort zurücksetzen E-Mail senden"
|
"send-email": "Passwort zurücksetzen E-Mail senden."
|
||||||
},
|
},
|
||||||
"body": "Geben Sie einfach die E-Mail-Adresse ein, die mit dem Konto verknüpft ist, das Sie wiederherstellen möchten.",
|
"body": "Geben Sie die E-Mail-Adresse des Benutzerkontos ein, dass Sie wiederherstellen möchten.",
|
||||||
"form": {
|
"form": {
|
||||||
"email": {
|
"email": {
|
||||||
"label": "E-Mail-Addresse"
|
"label": "E-Mail-Addresse"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"heading": "Passwort vergessen?",
|
"heading": "Passwort vergessen?",
|
||||||
"help-text": "Wenn das Konto existiert, erhalten Sie eine E-Mail mit einem Link zum Zurücksetzen Ihres Passworts."
|
"help-text": "Sollte das Konto existieren, erhalten Sie eine E-Mail mit einem Link zum Zurücksetzen des Passworts."
|
||||||
},
|
},
|
||||||
"login": {
|
"login": {
|
||||||
"actions": {
|
"actions": {
|
||||||
@ -24,12 +24,12 @@
|
|||||||
},
|
},
|
||||||
"username": {
|
"username": {
|
||||||
"help-text": "Sie können auch Ihre E-Mail-Adresse eingeben",
|
"help-text": "Sie können auch Ihre E-Mail-Adresse eingeben",
|
||||||
"label": "Nutzername"
|
"label": "Benutzername"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"heading": "Bei Ihrem Konto anmelden",
|
"heading": "Bei Ihrem Konto anmelden",
|
||||||
"recover-text": "Falls Sie Ihr Passwort vergessen haben, können Sie <1>Ihr Konto wiederherstellen</1> hier einrichten.",
|
"recover-text": "Falls Sie Ihr Passwort vergessen haben, können Sie es <1>hier zurücksetzen</1>.",
|
||||||
"register-text": "Wenn Sie keinen haben, können Sie hier <1>ein Konto erstellen</1> anlegen."
|
"register-text": "Sollten Sie kein Benutzerkonto haben, können Sie <1>hier ein Konto anlegen</1>."
|
||||||
},
|
},
|
||||||
"register": {
|
"register": {
|
||||||
"actions": {
|
"actions": {
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
import env from '@beam-australia/react-env';
|
||||||
import { Resume } from '@reactive-resume/schema';
|
import { Resume } from '@reactive-resume/schema';
|
||||||
import { AxiosResponse } from 'axios';
|
import { AxiosResponse } from 'axios';
|
||||||
|
|
||||||
@ -62,9 +63,10 @@ export const fetchResumeByIdentifier = async ({
|
|||||||
options = { secretKey: '' },
|
options = { secretKey: '' },
|
||||||
}: FetchResumeByIdentifierParams) => {
|
}: FetchResumeByIdentifierParams) => {
|
||||||
if (!isBrowser) {
|
if (!isBrowser) {
|
||||||
|
const serverUrl = env('SERVER_URL');
|
||||||
const secretKey = options.secretKey;
|
const secretKey = options.secretKey;
|
||||||
|
|
||||||
return axios.get<Resume>(`/resume/${username}/${slug}`, { params: { secretKey } }).then((res) => res.data);
|
return fetch(`${serverUrl}/resume/${username}/${slug}?secretKey=${secretKey}`).then((response) => response.json());
|
||||||
}
|
}
|
||||||
|
|
||||||
return axios.get<Resume>(`/resume/${username}/${slug}`).then((res) => res.data);
|
return axios.get<Resume>(`/resume/${username}/${slug}`).then((res) => res.data);
|
||||||
|
|||||||
@ -83,7 +83,7 @@ export const MastheadSidebar: React.FC = () => {
|
|||||||
icon={getProfileIcon(network)}
|
icon={getProfileIcon(network)}
|
||||||
link={url && addHttp(url)}
|
link={url && addHttp(url)}
|
||||||
className="!gap-2 text-xs"
|
className="!gap-2 text-xs"
|
||||||
textClassName="invert"
|
textClassName={clsx({ invert: contrast === 'light' })}
|
||||||
>
|
>
|
||||||
{username}
|
{username}
|
||||||
</DataDisplay>
|
</DataDisplay>
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import { useAppSelector } from '@/store/hooks';
|
|||||||
import { SectionProps } from '@/templates/sectionMap';
|
import { SectionProps } from '@/templates/sectionMap';
|
||||||
import DataDisplay from '@/templates/shared/DataDisplay';
|
import DataDisplay from '@/templates/shared/DataDisplay';
|
||||||
import { formatDateString } from '@/utils/date';
|
import { formatDateString } from '@/utils/date';
|
||||||
import { addHttp, parseListItemPath } from '@/utils/template';
|
import { parseListItemPath } from '@/utils/template';
|
||||||
|
|
||||||
import Heading from './Heading';
|
import Heading from './Heading';
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ const Section: React.FC<SectionProps> = ({
|
|||||||
{summary && <Markdown>{summary}</Markdown>}
|
{summary && <Markdown>{summary}</Markdown>}
|
||||||
|
|
||||||
{url && (
|
{url && (
|
||||||
<DataDisplay icon={<Link />} link={addHttp(url)}>
|
<DataDisplay icon={<Link />} link={url}>
|
||||||
{url}
|
{url}
|
||||||
</DataDisplay>
|
</DataDisplay>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { Email, Phone } from '@mui/icons-material';
|
import { Email, Link, Phone } from '@mui/icons-material';
|
||||||
import { ListItem, Section as SectionType } from '@reactive-resume/schema';
|
import { ListItem, Section as SectionType } from '@reactive-resume/schema';
|
||||||
import get from 'lodash/get';
|
import get from 'lodash/get';
|
||||||
import isArray from 'lodash/isArray';
|
import isArray from 'lodash/isArray';
|
||||||
@ -8,8 +8,9 @@ import { useMemo } from 'react';
|
|||||||
import Markdown from '@/components/shared/Markdown';
|
import Markdown from '@/components/shared/Markdown';
|
||||||
import { useAppSelector } from '@/store/hooks';
|
import { useAppSelector } from '@/store/hooks';
|
||||||
import { SectionProps } from '@/templates/sectionMap';
|
import { SectionProps } from '@/templates/sectionMap';
|
||||||
|
import DataDisplay from '@/templates/shared/DataDisplay';
|
||||||
import { formatDateString } from '@/utils/date';
|
import { formatDateString } from '@/utils/date';
|
||||||
import { addHttp, parseListItemPath } from '@/utils/template';
|
import { parseListItemPath } from '@/utils/template';
|
||||||
|
|
||||||
import BadgeDisplay from './BadgeDisplay';
|
import BadgeDisplay from './BadgeDisplay';
|
||||||
import Heading from './Heading';
|
import Heading from './Heading';
|
||||||
@ -87,9 +88,9 @@ const Section: React.FC<SectionProps> = ({
|
|||||||
|
|
||||||
{url && (
|
{url && (
|
||||||
<div className="inline-flex justify-center">
|
<div className="inline-flex justify-center">
|
||||||
<a href={addHttp(url)} target="_blank" rel="noreferrer">
|
<DataDisplay link={url} icon={<Link />}>
|
||||||
{url}
|
{url}
|
||||||
</a>
|
</DataDisplay>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import { useAppSelector } from '@/store/hooks';
|
|||||||
import { SectionProps } from '@/templates/sectionMap';
|
import { SectionProps } from '@/templates/sectionMap';
|
||||||
import DataDisplay from '@/templates/shared/DataDisplay';
|
import DataDisplay from '@/templates/shared/DataDisplay';
|
||||||
import { formatDateString } from '@/utils/date';
|
import { formatDateString } from '@/utils/date';
|
||||||
import { addHttp, parseListItemPath } from '@/utils/template';
|
import { parseListItemPath } from '@/utils/template';
|
||||||
|
|
||||||
import Heading from './Heading';
|
import Heading from './Heading';
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ const Section: React.FC<SectionProps> = ({
|
|||||||
{summary && <Markdown>{summary}</Markdown>}
|
{summary && <Markdown>{summary}</Markdown>}
|
||||||
|
|
||||||
{url && (
|
{url && (
|
||||||
<DataDisplay icon={<Link />} link={addHttp(url)} className="text-xs">
|
<DataDisplay icon={<Link />} link={url} className="text-xs">
|
||||||
{url}
|
{url}
|
||||||
</DataDisplay>
|
</DataDisplay>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
import isEmpty from 'lodash/isEmpty';
|
import isEmpty from 'lodash/isEmpty';
|
||||||
|
|
||||||
|
import { addHttp } from '@/utils/template';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
icon?: JSX.Element;
|
icon?: JSX.Element;
|
||||||
link?: string;
|
link?: string;
|
||||||
@ -11,11 +13,16 @@ type Props = {
|
|||||||
const DataDisplay: React.FC<React.PropsWithChildren<Props>> = ({ icon, link, className, textClassName, children }) => {
|
const DataDisplay: React.FC<React.PropsWithChildren<Props>> = ({ icon, link, className, textClassName, children }) => {
|
||||||
if (isEmpty(children)) return null;
|
if (isEmpty(children)) return null;
|
||||||
|
|
||||||
if (!isEmpty(link)) {
|
if (link && !isEmpty(link)) {
|
||||||
return (
|
return (
|
||||||
<div className={clsx('inline-flex items-center gap-1', className)}>
|
<div className={clsx('inline-flex items-center gap-1', className)}>
|
||||||
{icon}
|
{icon}
|
||||||
<a href={link} target="_blank" rel="noreferrer" className={textClassName}>
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
|
href={addHttp(link)}
|
||||||
|
className={clsx('underline underline-offset-2', textClassName)}
|
||||||
|
>
|
||||||
{children}
|
{children}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -10,6 +10,7 @@ export const dateFormatOptions: string[] = [
|
|||||||
'DD.MM.YYYY',
|
'DD.MM.YYYY',
|
||||||
'DD/MM/YYYY',
|
'DD/MM/YYYY',
|
||||||
'MM.DD.YYYY',
|
'MM.DD.YYYY',
|
||||||
|
'M.D.YYYY',
|
||||||
'MM/DD/YYYY',
|
'MM/DD/YYYY',
|
||||||
'YYYY.MM.DD',
|
'YYYY.MM.DD',
|
||||||
'YYYY/MM/DD',
|
'YYYY/MM/DD',
|
||||||
|
|||||||
@ -1,14 +1,13 @@
|
|||||||
{
|
{
|
||||||
"name": "reactive-resume",
|
"name": "reactive-resume",
|
||||||
"version": "3.6.13",
|
"version": "3.6.14",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "env-cmd --silent turbo run dev",
|
"dev": "env-cmd --silent turbo run dev",
|
||||||
"lint": "turbo run lint",
|
"lint": "turbo run lint",
|
||||||
"build": "env-cmd --silent turbo run build",
|
"build": "env-cmd --silent turbo run build",
|
||||||
"start": "env-cmd --silent turbo run start",
|
"start": "env-cmd --silent turbo run start",
|
||||||
"format": "prettier --write .",
|
"format": "prettier --write ."
|
||||||
"release": "standard-version --release-as patch"
|
|
||||||
},
|
},
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"schema",
|
"schema",
|
||||||
@ -26,7 +25,6 @@
|
|||||||
"eslint-plugin-import": "^2.26.0",
|
"eslint-plugin-import": "^2.26.0",
|
||||||
"eslint-plugin-simple-import-sort": "^8.0.0",
|
"eslint-plugin-simple-import-sort": "^8.0.0",
|
||||||
"prettier": "^2.8.0",
|
"prettier": "^2.8.0",
|
||||||
"standard-version": "^9.5.0",
|
|
||||||
"typescript": "^4.9.3"
|
"typescript": "^4.9.3"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
|
|||||||
779
pnpm-lock.yaml
generated
779
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user