mirror of
https://github.com/Unkn0wnCat/KevinK.dev.js.git
synced 2025-05-10 23:46:57 +02:00
Rework translations
This commit is contained in:
parent
e4ed73c809
commit
de5056c440
15 changed files with 171 additions and 148 deletions
|
@ -24,7 +24,7 @@ export default function LanguageSwitcher() {
|
|||
{languages.map((lng) => (
|
||||
<li key={lng}>
|
||||
<Link to={originalPath} language={lng}>
|
||||
<Trans>{lng}</Trans>
|
||||
<Trans>language.{lng}.name</Trans>
|
||||
</Link>
|
||||
</li>
|
||||
))}
|
||||
|
|
|
@ -88,21 +88,21 @@ const Navigation = ({ isHome }) => {
|
|||
to="/about"
|
||||
activeClassName={styles.active}
|
||||
>
|
||||
<Trans>about</Trans>
|
||||
<Trans>about.title</Trans>
|
||||
</Link>
|
||||
<Link
|
||||
id="navBtnProjects"
|
||||
to="/projects"
|
||||
activeClassName={styles.active}
|
||||
>
|
||||
<Trans>projects</Trans>
|
||||
<Trans>project.plural</Trans>
|
||||
</Link>
|
||||
<Link
|
||||
id="navBtnSocial"
|
||||
to="/social"
|
||||
activeClassName={styles.active}
|
||||
>
|
||||
<Trans>social</Trans>
|
||||
<Trans>social.title</Trans>
|
||||
</Link>
|
||||
<Link
|
||||
id="navBtnBlog"
|
||||
|
|
|
@ -24,14 +24,14 @@ const OffScreenNav = ({ active, close }) => {
|
|||
<Trans>menu</Trans>
|
||||
</span>
|
||||
<Link to="/" activeClassName={styles.active}>
|
||||
<Trans>home</Trans>
|
||||
<Trans>home.title</Trans>
|
||||
</Link>
|
||||
<Link
|
||||
id="osnavBtnProjects"
|
||||
to="/about"
|
||||
activeClassName={styles.active}
|
||||
>
|
||||
<Trans>about</Trans>
|
||||
<Trans>about.title</Trans>
|
||||
</Link>
|
||||
<Link
|
||||
id="osnavBtnProjects"
|
||||
|
|
|
@ -22,7 +22,7 @@ function SEO({ description, meta, title, speakable, image, children }) {
|
|||
`
|
||||
);
|
||||
|
||||
const metaDescription = description || t("siteDescription");
|
||||
const metaDescription = description || t("site.description");
|
||||
|
||||
const siteMeta = useSiteMetadata();
|
||||
const location = useLocation();
|
||||
|
|
|
@ -28,15 +28,15 @@ class Layout extends React.Component {
|
|||
<footer role="contentinfo">
|
||||
CC-BY 4.0 Kevin Kandlbinder,{" "}
|
||||
<Link to="/legal/about" className="spf-link">
|
||||
<Trans i18nKey="imprint">Imprint</Trans>
|
||||
<Trans i18nKey="layout.imprint">Imprint</Trans>
|
||||
</Link>{" "}
|
||||
|{" "}
|
||||
<Link to="/legal/datasec" className="spf-link">
|
||||
<Trans i18nKey="datasec">Data Protection</Trans>
|
||||
<Trans i18nKey="layout.datasec">Data Protection</Trans>
|
||||
</Link>{" "}
|
||||
|{" "}
|
||||
<Link to="/legal/disclaimer" className="spf-link">
|
||||
<Trans i18nKey="disclaimer">Disclaimer</Trans>
|
||||
<Trans i18nKey="layout.disclaimer">Disclaimer</Trans>
|
||||
</Link>{" "}
|
||||
| <a href="#languageChooser">Language</a>
|
||||
</footer>
|
||||
|
|
|
@ -103,8 +103,8 @@ const AboutPage = (props) => {
|
|||
|
||||
return (
|
||||
<Layout
|
||||
title={t("about")}
|
||||
description={t("siteDescription")}
|
||||
title={t("about.title")}
|
||||
description={t("site.description")}
|
||||
image={"/owner.jpg"}
|
||||
speakable={{
|
||||
"@type": "SpeakableSpecification",
|
||||
|
@ -118,7 +118,7 @@ const AboutPage = (props) => {
|
|||
</div>
|
||||
<div className={styles.skills}>
|
||||
<h2>
|
||||
<Trans>mySkills</Trans>
|
||||
<Trans>about.mySkills</Trans>
|
||||
</h2>
|
||||
<div className={styles.skillList}>
|
||||
{props.data.allSkillsJson.nodes.map((skill) => {
|
||||
|
@ -154,7 +154,7 @@ const AboutPage = (props) => {
|
|||
<section>
|
||||
<article>
|
||||
<h1>
|
||||
<Trans>featuredProjects</Trans>
|
||||
<Trans>about.featuredProjects</Trans>
|
||||
</h1>
|
||||
<div className={projectStyles.projectList}>
|
||||
{props.data.allProjectsJson.nodes.map((project) => {
|
||||
|
@ -206,14 +206,14 @@ const AboutPage = (props) => {
|
|||
})}
|
||||
</div>
|
||||
<Link to="/projects" className={styles.seeMoreButton}>
|
||||
<Trans>seeMore</Trans> <ArrowRight />
|
||||
<Trans>about.moreProjects</Trans> <ArrowRight />
|
||||
</Link>
|
||||
</article>
|
||||
</section>
|
||||
<Link className={styles.donationSection} to="/donate">
|
||||
<div>
|
||||
<span>
|
||||
<Trans>donationCatchphrase</Trans>
|
||||
<Trans>about.donationCatchphrase</Trans>
|
||||
</span>
|
||||
<ArrowRight />
|
||||
</div>
|
||||
|
|
|
@ -45,19 +45,22 @@ const DonatePage = (props) => {
|
|||
const { site, file } = props.data;
|
||||
|
||||
return (
|
||||
<Layout title={t("donate")} description={t("donationCatchphrase")}>
|
||||
<Layout
|
||||
title={t("donate.title")}
|
||||
description={t("about.donationCatchphrase")}
|
||||
>
|
||||
<section>
|
||||
<article>
|
||||
<h1>
|
||||
<Trans>donate</Trans>
|
||||
<Trans>donate.title</Trans>
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
<Trans>donateDescription</Trans>
|
||||
<Trans>donate.description</Trans>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<Trans>donateGitHub</Trans>
|
||||
<Trans>donate.gitHub</Trans>
|
||||
</p>
|
||||
|
||||
<p style={{ display: "block", textAlign: "center" }}>
|
||||
|
@ -71,12 +74,12 @@ const DonatePage = (props) => {
|
|||
data-size="large"
|
||||
aria-label="Sponsor @Unkn0wnCat on GitHub"
|
||||
>
|
||||
<Trans>sponsorGitHub</Trans>
|
||||
<Trans>donate.sponsorGitHub</Trans>
|
||||
</GitHubButton>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<Trans>donatePayPal</Trans>
|
||||
<Trans>donate.payPal</Trans>
|
||||
</p>
|
||||
|
||||
<div className={styles.priceAmount}>
|
||||
|
@ -127,7 +130,9 @@ const DonatePage = (props) => {
|
|||
amount
|
||||
}
|
||||
>
|
||||
<span>Donate using PayPal</span>
|
||||
<span>
|
||||
<Trans>donate.donatePayPal</Trans>
|
||||
</span>
|
||||
<ArrowRight />
|
||||
</a>
|
||||
</article>
|
||||
|
|
|
@ -50,15 +50,18 @@ const FriendsPage = ({ data }) => {
|
|||
}*/
|
||||
|
||||
return (
|
||||
<Layout title={t("friends")} description={t("friendsDescription")}>
|
||||
<Layout
|
||||
title={t("friends.title")}
|
||||
description={t("friends.description")}
|
||||
>
|
||||
<section>
|
||||
<article>
|
||||
<h1>
|
||||
<Trans>social</Trans>
|
||||
<Trans>friends.title</Trans>
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
<Trans>friendsDescription</Trans>
|
||||
<Trans>friends.description</Trans>
|
||||
</p>
|
||||
|
||||
<div className={styles.friendsList}>
|
||||
|
|
|
@ -85,7 +85,7 @@ const IndexPage = (props) => {
|
|||
<Layout
|
||||
title="Kevin Kandlbinder"
|
||||
transparentTopbar={true}
|
||||
description={t("siteDescription")}
|
||||
description={t("site.description")}
|
||||
image={"/owner.jpg"}
|
||||
speakable={{
|
||||
"@type": "SpeakableSpecification",
|
||||
|
@ -112,13 +112,13 @@ const IndexPage = (props) => {
|
|||
<div className={styles.profileImageDummy}></div>
|
||||
<div className={styles.profileCard}>
|
||||
<span className={styles.hello}>
|
||||
<Trans>homeHello</Trans>
|
||||
<Trans>home.hello</Trans>
|
||||
</span>
|
||||
<span className={styles.name}>Kevin Kandlbinder</span>
|
||||
<span className={styles.description}>
|
||||
<Trans>homeMe</Trans>{" "}
|
||||
<Trans>home.me</Trans>{" "}
|
||||
<span id="descriptionType">
|
||||
<Trans>homeWebDeveloper</Trans>
|
||||
<Trans>home.webDeveloper</Trans>
|
||||
</span>
|
||||
.
|
||||
</span>
|
||||
|
@ -147,7 +147,7 @@ const IndexPage = (props) => {
|
|||
target="_blank"
|
||||
>
|
||||
<MapPin width={20} />
|
||||
<Trans>homeMyLocation</Trans>
|
||||
<Trans>home.myLocation</Trans>
|
||||
</a>
|
||||
<a
|
||||
className={styles.contactLink}
|
||||
|
@ -177,27 +177,27 @@ const IndexPage = (props) => {
|
|||
<Link to={"/projects"}>
|
||||
<div>
|
||||
<span className={styles.ctaAccent}>
|
||||
{t("explore")}
|
||||
{t("home.explore")}
|
||||
</span>{" "}
|
||||
<span>{t("myProjects")}</span>
|
||||
<span>{t("home.myProjects")}</span>
|
||||
</div>
|
||||
<ArrowRight />
|
||||
</Link>
|
||||
<Link to={"/social"}>
|
||||
<div>
|
||||
<span className={styles.ctaAccent}>
|
||||
{t("discover")}
|
||||
{t("home.discover")}
|
||||
</span>{" "}
|
||||
<span>{t("mySocials")}</span>
|
||||
<span>{t("home.mySocials")}</span>
|
||||
</div>
|
||||
<ArrowRight />
|
||||
</Link>
|
||||
<Link to={"/about"}>
|
||||
<div>
|
||||
<span className={styles.ctaAccent}>
|
||||
{t("learn")}
|
||||
{t("home.learn")}
|
||||
</span>{" "}
|
||||
<span>{t("moreAboutMe")}</span>
|
||||
<span>{t("home.moreAboutMe")}</span>
|
||||
</div>
|
||||
<ArrowRight />
|
||||
</Link>
|
||||
|
@ -211,7 +211,7 @@ const IndexPage = (props) => {
|
|||
>
|
||||
<div>
|
||||
<span>
|
||||
<Camera /> <Trans>homeImageCredit</Trans>
|
||||
<Camera /> <Trans>home.imageCredit</Trans>
|
||||
</span>
|
||||
<ArrowRight />
|
||||
</div>
|
||||
|
|
|
@ -47,8 +47,8 @@ const ProjectsPage = ({ data }) => {
|
|||
const meta = useSiteMetadata();
|
||||
return (
|
||||
<Layout
|
||||
title={t("projects")}
|
||||
description={t("projectsDescription")}
|
||||
title={t("project.plural")}
|
||||
description={t("project.description")}
|
||||
seoAdditional={
|
||||
<script type="application/ld+json">
|
||||
{JSON.stringify({
|
||||
|
@ -76,11 +76,11 @@ const ProjectsPage = ({ data }) => {
|
|||
<section>
|
||||
<article>
|
||||
<h1>
|
||||
<Trans>projects</Trans>
|
||||
<Trans>project.plural</Trans>
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
<Trans>projectsDescription</Trans>
|
||||
<Trans>project.description</Trans>
|
||||
</p>
|
||||
|
||||
<div className={styles.projectList}>
|
||||
|
|
|
@ -36,15 +36,15 @@ export const query = graphql`
|
|||
const SocialPage = ({ data }) => {
|
||||
const { t } = useI18next();
|
||||
return (
|
||||
<Layout title={t("social")} description={t("socialDescription")}>
|
||||
<Layout title={t("social.title")} description={t("social.description")}>
|
||||
<section>
|
||||
<article>
|
||||
<h1>
|
||||
<Trans>social</Trans>
|
||||
<Trans>social.title</Trans>
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
<Trans i18nKey="socialDescriptionWithLink">
|
||||
<Trans i18nKey="social.descriptionWithLink">
|
||||
socialDescriptionWith<Link to="/friends">Link</Link>
|
||||
</Trans>
|
||||
</p>
|
||||
|
|
|
@ -66,7 +66,7 @@ const ProjectTemplate = ({ data }) => {
|
|||
return (
|
||||
<Layout
|
||||
description={project.shortDescription}
|
||||
title={t("project") + ": " + projectName}
|
||||
title={t("project.title") + ": " + projectName}
|
||||
transparentTopbar={true}
|
||||
image={project.image.publicURL}
|
||||
>
|
||||
|
@ -84,7 +84,7 @@ const ProjectTemplate = ({ data }) => {
|
|||
<header>
|
||||
<div className={styles.headerInner}>
|
||||
<h1>
|
||||
<Trans>project</Trans>: {projectName}
|
||||
<Trans>project.title</Trans>: {projectName}
|
||||
</h1>
|
||||
<span>{project.shortDescription}</span>
|
||||
</div>
|
||||
|
@ -111,7 +111,7 @@ const ProjectTemplate = ({ data }) => {
|
|||
rel="noreferrer"
|
||||
>
|
||||
<Github height={15} />{" "}
|
||||
<Trans>projectViewGitHub</Trans>
|
||||
<Trans>project.viewGitHub</Trans>
|
||||
</a>
|
||||
) : null}
|
||||
{project.links.website !== null ? (
|
||||
|
@ -121,7 +121,7 @@ const ProjectTemplate = ({ data }) => {
|
|||
rel="noreferrer"
|
||||
>
|
||||
<ExternalLink height={15} />{" "}
|
||||
<Trans>projectViewWebsite</Trans>
|
||||
<Trans>project.viewWebsite</Trans>
|
||||
</a>
|
||||
) : null}
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue