Rework translations

This commit is contained in:
Kevin Kandlbinder 2021-11-07 00:46:06 +00:00 committed by GitHub
parent e4ed73c809
commit de5056c440
15 changed files with 171 additions and 148 deletions

View file

@ -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>
))}

View file

@ -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"

View file

@ -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"

View file

@ -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();

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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}>

View file

@ -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>

View file

@ -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}>

View file

@ -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>

View file

@ -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>