Skip to content

Commit 65fbb72

Browse files
committed
Add remaining landing page translations
1 parent 1e333b9 commit 65fbb72

17 files changed

+209
-61
lines changed

src/language/translations.js

Lines changed: 111 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,62 @@ const translations = {
1717
housingBenefit: "Housing benefit",
1818
citizensBenefit: "Citizen's benefit",
1919
vocationalTrainingAllowance: "Vocational training allowance",
20-
manyMore: "Many more",
20+
manyMore: "Many more"
21+
},
22+
mission: {
23+
header: "1 out of 5 households in Germany don't claim social benefits they are entitled to.",
24+
text: "We are on a mission to make social benefits in Germany accessible and easy to understand by everyone. We show you what social benefits you might be eligible for and point you the way to apply for them."
25+
},
26+
howItWorks: {
27+
header: "How it works",
28+
part1Header: "Answer some basic questions",
29+
part1Text: "Do a quick check, create your profile, or browse our list of social benefits by topic. Your choice.",
30+
part2Header: "Get your potential benefits listed",
31+
part2Text: "The more complete your profile is, the more accurate the list of benefits you get.",
32+
part3Header: "Learn about relevant benefits",
33+
part3Text: "Learn about requirements and necessary steps to apply for you benefits.",
34+
},
35+
theBasics: {
36+
header: "The basics",
37+
line1: "FörderFunke is free to use",
38+
line2: "Your data is yours! All the information you fill in is stored only locally on your device",
39+
line3: "No registration, no login needed",
40+
line4: "You can use it on the phone or laptop"
41+
},
42+
feedback: {
43+
header: "Help us improve",
44+
text: "Your feedback is essential for us to understand how we can improve your experience with the application. It helps us improve and add features that allow people to find the right benefits.",
45+
ratePrompt: "How do you rate your overall experience with FörderFunke?",
46+
1: "Worst",
47+
2: "Poor",
48+
3: "Fine",
49+
4: "Good",
50+
5: "Great",
51+
writePrompt: "If you like you can also write us a few lines.",
52+
placeholder: "Enter your text",
53+
submitting: "Submitting...",
54+
submitBtn: "Submit"
55+
},
56+
collaborate: {
57+
header: "Let's collaborate",
58+
text: "Do you know about some benefits or funding schemes that we are still missing? We would be really happy to collaborate and include them in the catalogue. We are also very interested to learn about user groups that could benefit from FörderFunke.",
59+
messagePrompt: "Send us a message. We will get back to you as quickly as we can!"
60+
},
61+
principles: {
62+
header: "Our principles",
63+
part1Header: "Privacy By Design",
64+
part1Text: "It is important to us that you maintain control over your data. That's why your data remains on your end device.",
65+
part2Header: "Open Data",
66+
part2Text: "Important information for citizens about their benefits is all too often difficult to find. We make our catalogue of conditions for social benefits publicly available.",
67+
part3Header: "User Centric Design",
68+
part3Text: "We work in a user-centered and iterative way. We talk with users and constantly improve our product so that it is easy to use, understandable and accessible.",
69+
},
70+
connect: {
71+
header: "Let's connect",
72+
},
73+
supportedBy: {
74+
header: "Supported by",
75+
text: "We were part of the 15th round of the Prototype Fund from March to September 2024. Förderkennzeichen: 01IS24S19."
2176
}
2277
},
2378
de: {
@@ -40,6 +95,61 @@ const translations = {
4095
vocationalTrainingAllowance: "Berufsausbildungsbeihilfe",
4196
manyMore: "Viele Weitere",
4297
},
98+
mission: {
99+
header: "1 von 5 Haushalten in Deutschland beanspruchen keine Sozialleistungen, auf die sie Anspruch haben.",
100+
text: "Wir haben es uns zur Aufgabe gemacht, Sozialleistungen in Deutschland für alle zugänglich und leicht verständlich zu machen. Wir zeigen dir, auf welche Sozialleistungen du Anspruch haben könntest und weisen dir den Weg zur Antragstellung."
101+
},
102+
howItWorks: {
103+
header: "Wie es funktioniert",
104+
part1Header: "Beantworte ein paar grundlegende Fragen",
105+
part1Text: "Mach einen schnellen Check, erstelle dein Profil oder durchsuche unsere Liste der Sozialleistungen nach Themen. Deine Wahl.",
106+
part2Header: "Erhalte eine Liste deiner potenziellen Leistungen",
107+
part2Text: "Je vollständiger dein Profil ist, desto genauer wird die Liste der Leistungen sein, die du erhältst.",
108+
part3Header: "Erfahre mehr über relevante Leistungen",
109+
part3Text: "Erfahre mehr über die Voraussetzungen und notwendigen Schritte, um deine Leistungen zu beantragen."
110+
},
111+
theBasics: {
112+
header: "Die Grundlagen",
113+
line1: "FörderFunke ist kostenlos nutzbar",
114+
line2: "Deine Daten gehören dir! Alle Informationen, die du eingibst, werden nur lokal auf deinem Gerät gespeichert",
115+
line3: "Keine Registrierung, kein Login erforderlich",
116+
line4: "Du kannst es auf dem Handy oder Laptop nutzen"
117+
},
118+
feedback: {
119+
header: "Hilf uns, besser zu werden",
120+
text: "Dein Feedback ist entscheidend für uns, um zu verstehen, wie wir deine Erfahrung mit der Anwendung verbessern können. Es hilft uns, Funktionen hinzuzufügen und zu optimieren, damit Menschen die richtigen Leistungen finden können.",
121+
ratePrompt: "Wie bewertest du deine allgemeine Erfahrung mit FörderFunke?",
122+
1: "Schlecht",
123+
2: "Mangelhaft",
124+
3: "In Ordnung",
125+
4: "Gut",
126+
5: "Großartig",
127+
writePrompt: "Wenn du möchtest, kannst du uns auch ein paar Zeilen schreiben.",
128+
placeholder: "Gib deinen Text ein",
129+
submitting: "Wird gesendet...",
130+
submitBtn: "Absenden"
131+
},
132+
collaborate: {
133+
header: "Lass uns zusammenarbeiten",
134+
text: "Kennst du Sozialleistungen oder Förderprogramme, die wir noch nicht erfasst haben? Wir würden uns sehr freuen, mit dir zusammenzuarbeiten und sie in unseren Katalog aufzunehmen. Wir sind auch sehr daran interessiert, mehr über Nutzergruppen zu erfahren, die von FörderFunke profitieren könnten.",
135+
messagePrompt: "Schick uns eine Nachricht. Wir melden uns so schnell wie möglich zurück!"
136+
},
137+
principles: {
138+
header: "Unsere Prinzipien",
139+
part1Header: "Datenschutz durch Design",
140+
part1Text: "Es ist uns wichtig, dass du die Kontrolle über deine Daten behältst. Deshalb bleiben deine Daten auf deinem Endgerät.",
141+
part2Header: "Offene Daten",
142+
part2Text: "Wichtige Informationen für Bürger über ihre Leistungen sind allzu oft schwer zu finden. Wir machen unseren Katalog der Bedingungen für Sozialleistungen öffentlich zugänglich.",
143+
part3Header: "Nutzerzentriertes Design",
144+
part3Text: "Wir arbeiten nutzerzentriert und iterativ. Wir sprechen mit Nutzern und verbessern unser Produkt ständig, damit es einfach zu bedienen, verständlich und zugänglich ist."
145+
},
146+
connect: {
147+
header: "Lass uns vernetzen",
148+
},
149+
supportedBy: {
150+
header: "Unterstützt von",
151+
text: "Wir waren Teil der 15. Runde des Prototype Fund von März bis September 2024. Förderkennzeichen: 01IS24S19."
152+
}
43153
},
44154
};
45155

src/screens/landing-page/sections/LandingPageFact.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ import globalStyles from "../../../styles/styles";
55
import LandingPageSectionWrapper from "../components/LandingPageSectionWrapper";
66
import VStack from "../../../components/VStack";
77
import LandingPageSectionGrid from "../components/LandingPageSectionGrid";
8+
import useTranslation from "../../../language/useTranslation";
89

910
const LandingPageFact = ({isDesktop}) => {
11+
const { t } = useTranslation();
12+
1013
return (
1114
<LandingPageSectionWrapper backgroundColor={globalStyles.primaryColor} isDesktop={isDesktop}>
1215
<LandingPageSectionGrid>
1316
<VStack alignItems={'center'}>
1417
<HStack>
15-
<Typography sx={styles.headerSectionTitle}>1 out of 5 households in Germany don’t claim
16-
social benefits they are entitled to.</Typography>
18+
<Typography sx={styles.headerSectionTitle}>{t('mission.header')}</Typography>
1719
</HStack>
1820
<HStack>
19-
<Typography sx={styles.headerSectionText}>We are on a mission to make social benefits in Germany
20-
accessible and easy to understand by everyone. We show you what social benefits you might be
21-
eligible for and point you the way to apply for them. </Typography>
21+
<Typography sx={styles.headerSectionText}>{t('mission.text')}</Typography>
2222
</HStack>
2323
</VStack>
2424
</LandingPageSectionGrid>

src/screens/landing-page/sections/collaboration/LandingPageCollaboration.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@ import {Typography} from "@mui/material";
33
import LandingPageSectionWrapper from "../../components/LandingPageSectionWrapper";
44
import CollaborationBox from "./components/CollaborationBox";
55
import LandingPageSectionGrid from "../../components/LandingPageSectionGrid";
6+
import useTranslation from "../../../../language/useTranslation";
67

78
const LandingPageCollaboration = ({isDesktop}) => {
9+
const { t } = useTranslation();
10+
811
return (
912
<LandingPageSectionWrapper isDesktop={isDesktop}>
10-
<LandingPageSectionGrid title={'Let\'s collaborate'}>
13+
<LandingPageSectionGrid title={t('collaborate.header')}>
1114
<Typography sx={styles.text}>
12-
Do you know about some benefits or funding schemes that we are still missing? We would be really
13-
happy to collaborate and include them in the catalogue. We are also very interested to learn
14-
about user groups that could benefit from FörderFunke.
15+
{t('collaborate.text')}
1516
</Typography>
1617
<CollaborationBox isDesktop={isDesktop}/>
1718
</LandingPageSectionGrid>

src/screens/landing-page/sections/collaboration/components/CollaborationBox.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@ import VStack from "../../../../../components/VStack";
44
import globalStyles from "../../../../../styles/styles";
55
import HStack from "../../../../../components/HStack";
66
import EmailIcon from "@mui/icons-material/Email";
7+
import useTranslation from "../../../../../language/useTranslation";
78

89
const CollaborationBox = () => {
10+
const { t } = useTranslation();
911

1012
return (
1113
<VStack gap={5} sx={styles.collaborationBox}>
1214
<VStack gap={3} alignItems={'center'} sx={{width: "100%"}}>
1315
<Typography sx={styles.text}>
14-
Send us a message. We will get back to you as quickly as we can!
16+
{t('collaborate.messagePrompt')}
1517
</Typography>
1618
<HStack>
1719
<HStack alignItems={'center'} sx={styles.email}>

src/screens/landing-page/sections/feedback/LandingPageFeedback.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@ import {Typography} from "@mui/material";
33
import LandingPageSectionWrapper from "../../components/LandingPageSectionWrapper";
44
import FeedbackBox from "./components/FeedbackBox";
55
import LandingPageSectionGrid from "../../components/LandingPageSectionGrid";
6+
import useTranslation from "../../../../language/useTranslation";
67

78
const LandingPageFeedback = ({isDesktop}) => {
9+
const { t } = useTranslation();
10+
811
return (
912
<LandingPageSectionWrapper isDesktop={isDesktop}>
10-
<LandingPageSectionGrid title={'Help us improve'}>
13+
<LandingPageSectionGrid title={t('feedback.header')}>
1114
<Typography sx={styles.text}>
12-
Your feedback is essential for us to understand how we can improve your experience with the
13-
application. It helps us improve and add features that allow people to find the right benefits.
15+
{t('feedback.text')}
1416
</Typography>
1517
<FeedbackBox isDesktop={isDesktop}/>
1618
</LandingPageSectionGrid>

src/screens/landing-page/sections/feedback/components/FeedbackBox.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ import FeedbackButtonArray from "./FeedbackButtonArray";
55
import HStack from "../../../../../components/HStack";
66
import globalStyles from "../../../../../styles/styles";
77
import useFeedbackHandler from "../hooks/useFeedbackHandler";
8+
import useTranslation from "../../../../../language/useTranslation";
89

910
const FeedbackBox = ({isDesktop}) => {
11+
const { t } = useTranslation();
1012

1113
const {
1214
feedbackText,
@@ -21,16 +23,17 @@ const FeedbackBox = ({isDesktop}) => {
2123
<VStack gap={5} sx={styles.feedbackBox}>
2224
<VStack gap={5} alignItems={'flex-start'} sx={{ width: "100%" }}>
2325
<Typography sx={styles.text}>
24-
How do you rate your overall experience with FörderFunke?
26+
{t('feedback.ratePrompt')}
2527
</Typography>
2628
<FeedbackButtonArray isDesktop={isDesktop} setFeedbackValue={setFeedbackValue} />
2729
</VStack>
2830
<VStack gap={5}>
2931
<Typography sx={styles.text}>
32+
{t('feedback.writePrompt')}
3033
If you like you can also write us a few lines.
3134
</Typography>
3235
<TextField
33-
label="Enter your text"
36+
label={t('feedback.placeholder')}
3437
multiline
3538
variant="filled"
3639
fullWidth
@@ -53,7 +56,7 @@ const FeedbackBox = ({isDesktop}) => {
5356
onClick={submitFeedback}
5457
disabled={isSubmitting}
5558
>
56-
{isSubmitting ? "Submitting..." : "Submit"}
59+
{isSubmitting ? "t('feedback.submitting')..." : t('feedback.submitBtn')}
5760
</Button>
5861
</HStack>
5962
{error && (

src/screens/landing-page/sections/feedback/components/FeedbackButtonArray.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,21 @@ import SentimentSatisfiedIcon from '@mui/icons-material/SentimentSatisfied';
88
import SentimentVerySatisfiedIcon from '@mui/icons-material/SentimentVerySatisfied';
99
import FeedbackButtonMobile from "./FeedbackButtonMobile";
1010
import FeedbackButtonDesktop from "./FeedbackButtonDesktop";
11-
12-
13-
// Array of icon components with corresponding sentiment colors
14-
const icons = [
15-
{Icon: SentimentVeryDissatisfiedIcon, color: '#f44336', label: 'Worst'},
16-
{Icon: SentimentDissatisfiedIcon, color: '#ff9800', label: 'Poor'},
17-
{Icon: SentimentNeutralIcon, color: '#9e9e9e', label: 'Fine'},
18-
{Icon: SentimentSatisfiedIcon, color: '#8bc34a', label: 'Good'},
19-
{Icon: SentimentVerySatisfiedIcon, color: '#4caf50', label: 'Great'},
20-
];
11+
import useTranslation from "../../../../../language/useTranslation";
2112

2213
const FeedbackButtonArray = ({isDesktop, setFeedbackValue}) => {
14+
const { t } = useTranslation();
2315
const [selected, setSelected] = useState(null);
2416

17+
// Array of icon components with corresponding sentiment colors
18+
const icons = [
19+
{Icon: SentimentVeryDissatisfiedIcon, color: '#f44336', label: t('feedback.1')},
20+
{Icon: SentimentDissatisfiedIcon, color: '#ff9800', label: t('feedback.2')},
21+
{Icon: SentimentNeutralIcon, color: '#9e9e9e', label: t('feedback.3')},
22+
{Icon: SentimentSatisfiedIcon, color: '#8bc34a', label: t('feedback.4')},
23+
{Icon: SentimentVerySatisfiedIcon, color: '#4caf50', label: t('feedback.5')},
24+
];
25+
2526
const handleButtonClick = (index) => {
2627
setSelected((prevSelected) => prevSelected === index ? null : index);
2728
};

src/screens/landing-page/sections/how-it-works/LandingPageHowItWorks.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,18 @@ import LandingPageHowItWorksMobile from "./views/LandingPageHowItWorksMobile";
55
import LandingPageSectionWrapper from "../../components/LandingPageSectionWrapper";
66
import LandingPageBasics from "./components/LandingPageBasics";
77
import LandingPageSectionGrid from "../../components/LandingPageSectionGrid";
8+
import useTranslation from "../../../../language/useTranslation";
89

910
const LandingPageHowItWorks = ({isDesktop}) => {
11+
const { t } = useTranslation();
12+
1013
const quick_check = `${process.env.PUBLIC_URL}/assets/images/landing-page/current_quickcheck_page.jpg`;
1114
const benefits_overview = `${process.env.PUBLIC_URL}/assets/images/landing-page/current_overview_page.jpg`;
1215
const benefit_page = `${process.env.PUBLIC_URL}/assets/images/landing-page/current_benefits_page.jpg`;
1316

1417
return (
1518
<LandingPageSectionWrapper isDesktop={isDesktop}>
16-
<LandingPageSectionGrid title={'How it works'}>
19+
<LandingPageSectionGrid title={t("howItWorks.header")}>
1720
<VStack gap={9} alignItems={'center'}>
1821
{isDesktop ?
1922
<LandingPageHowItWorksDesktop quick_check={quick_check} benefits_overview={benefits_overview}

src/screens/landing-page/sections/how-it-works/components/LandingPageBasics.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ import {Typography} from "@mui/material";
44
import CheckCircleIcon from '@mui/icons-material/CheckCircle';
55
import {green} from "@mui/material/colors";
66
import globalStyles from "../../../../../styles/styles";
7+
import useTranslation from "../../../../../language/useTranslation";
78

89
const LandingPageBasics = () => {
10+
const { t } = useTranslation();
11+
912
return (
1013
<VStack alignItems={'center'} sx={{width: "100%"}}>
1114
<VStack
@@ -17,33 +20,32 @@ const LandingPageBasics = () => {
1720
}}>
1821
<HStack>
1922
<Typography sx={styles.titleText}>
20-
The basics
23+
{t('theBasics.header')}
2124
</Typography>
2225
</HStack>
2326
<VStack>
2427
<HStack alignItems={'center'}>
2528
<CheckCircleIcon sx={styles.icon}/>
2629
<Typography sx={styles.itemText}>
27-
FörderFunke is <strong>free to use</strong>
30+
{t('theBasics.line1')}
2831
</Typography>
2932
</HStack>
3033
<HStack alignItems={'center'}>
3134
<CheckCircleIcon sx={styles.icon}/>
3235
<Typography sx={styles.itemText}>
33-
<strong>Your data is yours!</strong> All the information you fill in is stored only
34-
locally on your device
36+
{t('theBasics.line2')}
3537
</Typography>
3638
</HStack>
3739
<HStack alignItems={'center'}>
3840
<CheckCircleIcon sx={styles.icon}/>
3941
<Typography sx={styles.itemText}>
40-
<strong>No registration</strong>, no login needed
42+
{t('theBasics.line3')}
4143
</Typography>
4244
</HStack>
4345
<HStack alignItems={'center'}>
4446
<CheckCircleIcon sx={styles.icon}/>
4547
<Typography sx={styles.itemText}>
46-
You can use it on the <strong>phone or laptop</strong>
48+
{t('theBasics.line4')}
4749
</Typography>
4850
</HStack>
4951
</VStack>

0 commit comments

Comments
 (0)