Test internationalization

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
This commit is contained in:
Joshua Castle committed 2024-03-03 14:46:48 -08:00
1 parent d69a5e015f
commit 201c034da3
8 files changed
+133 -119

No files matched your search

+5 -1
View File
@@ -26,7 +26,7 @@ const config: Config = {
// may want to replace "en" with "zh-Hans".
i18n: {
defaultLocale: 'en',
locales: ['en'],
locales: ['en', 'de'],
},
presets: [
@@ -102,6 +102,10 @@ const config: Config = {
position: 'right',
className: 'header-discord-link'
},
{
type: 'localeDropdown',
position: 'right',
},
],
},
footer: {
+2 -2
View File
@@ -9,8 +9,8 @@ export const Collapsibles = ({ children }) => {
};
interface CollapsibleProps {
title: string;
subtitle?: string;
title: React.ReactNode;
subtitle?: React.ReactNode;
inner: React.ReactNode;
}
+5 -4
View File
@@ -4,6 +4,7 @@ import styles from './styles.module.css';
import Crossplatform0Img from '@site/static/img/site/crossplatform_0.png';
import Crossplatform1Img from '@site/static/img/site/crossplatform_1.png';
import Crossplatform2Img from '@site/static/img/site/crossplatform_2.png';
import Translate from '@docusaurus/Translate';
type FeatureItem = {
title: string;
@@ -18,7 +19,7 @@ const FeatureList: FeatureItem[] = [
image: Crossplatform2Img,
description: (
<>
Geyser is a program that allows Minecraft: Bedrock Edition clients to join Minecraft: Java Edition servers, allowing for true crossplay between both editions of the game. The ultimate goal of this project is to allow Minecraft: Bedrock Edition users to join Minecraft: Java Edition servers as seamlessly as possible.
<Translate>Geyser is a program that allows Minecraft: Bedrock Edition clients to join Minecraft: Java Edition servers, allowing for true crossplay between both editions of the game. The ultimate goal of this project is to allow Minecraft: Bedrock Edition users to join Minecraft: Java Edition servers as seamlessly as possible.</Translate>
</>
),
},
@@ -27,7 +28,7 @@ const FeatureList: FeatureItem[] = [
image: Crossplatform1Img,
description: (
<>
Geyser acts as a translator which sits between the Bedrock client and the Java server. It takes data from the Bedrock client and translates it into a format the Java server understands and vice versa. Geyser works with any modern Minecraft version and can be installed either as a plugin or ran as a standalone program.
<Translate>Geyser acts as a translator which sits between the Bedrock client and the Java server. It takes data from the Bedrock client and translates it into a format the Java server understands and vice versa. Geyser works with any modern Minecraft version and can be installed either as a plugin or ran as a standalone program.</Translate>
</>
),
},
@@ -36,9 +37,9 @@ const FeatureList: FeatureItem[] = [
image: Crossplatform0Img,
description: (
<>
Geyser can be joined from Bedrock clients on Windows 10/11, iOS, Android, and even consoles (more info here). Geyser works with a wide array of hosting providers, but can also be used as its own standalone proxy to join any Minecraft server!
<Translate>Geyser can be joined from Bedrock clients on Windows 10/11, iOS, Android, and even consoles (more info here). Geyser works with a wide array of hosting providers, but can also be used as its own standalone proxy to join any Minecraft server!</Translate>
If you are a server owner, you can install our Floodgate plugin which allows Xbox Live authenticated Bedrock users to join without a Java Edition account!
<Translate>If you are a server owner, you can install our Floodgate plugin which allows Xbox Live authenticated Bedrock users to join without a Java Edition account!</Translate>
</>
),
},
+2 -2
View File
@@ -7,10 +7,10 @@ import { Grid } from './Grid';
interface ProjectDownloadProps {
projectId: string;
description: string;
description?: React.ReactNode;
setup?: string;
downloadsInfo: {
[key: string]: string;
[key: string]: string | React.ReactNode;
};
gridColumns?: number;
}
+4 -1
View File
@@ -2,6 +2,7 @@ import type { Providers, HostingProvider, ProviderType } from "@site/src/types/p
import ReactMarkdown from "react-markdown";
import Admonition from '@theme/Admonition';
import React, { useState } from 'react';
import Translate from "@docusaurus/Translate";
export const noP = (props: { children: any; }) => {
const { children } = props;
@@ -66,7 +67,9 @@ export const ProviderSelector = () => {
{selectedProvider ? (
<ReactMarkdown>{selectedProvider.description}</ReactMarkdown>
) : (
<p>Select a provider to see specific installation instructions</p>
<p>
<Translate>Select a provider to see specific installation instructions</Translate>
</p>
)}
</Admonition>
</div>
-104
View File
@@ -1,104 +0,0 @@
---
title: Download
description: Choose which platform to download Geyser or Floodgate for.
hide_table_of_contents: true
---
import Admonition from '@theme/Admonition';
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import { faTowerCell, faFileZipper } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import HeroBanner from '@site/src/components/HeroBanner';
import HeroBackground from '@site/static/img/site/split-background.png';
import PaperSpigot from '@site/docs/geyser/setup/provider/paper-spigot.mdx';
import PaperSpigotSelf from '@site/docs/geyser/setup/self/paper-spigot.mdx';
import FloodgatePaperSpigot from '@site/docs/floodgate/setup/paper-spigot.mdx';
import PlatformIcon from '@site/src/components/PlatformIcon';
import PaperSpigotIcon from '@site/static/img/icons/paper.png';
import VelocityIcon from '@site/static/img/icons/velocity.png';
import WaterfallBungeeCordIcon from '@site/static/img/icons/waterfall.svg';
import FabricIcon from '@site/static/img/icons/fabric.png';
import NeoForgeIcon from '@site/static/img/icons/neoforge.png';
import ViaProxyIcon from '@site/static/img/icons/viaproxy.png';
import StandaloneIcon from '@site/static/img/icons/geyser.png';
import { Columns, Column } from '@site/src/components/Columns';
import { ProviderSelector } from '@site/src/components/Provider';
import { ProjectDownload } from '@site/src/components/ProjectDownload';
import { Collapsibles, Collapsible } from '@site/src/components/Collapsibles';
<HeroBanner
title="Download"
subheading="Download the latest versions of our various projects."
backgroundImage={HeroBackground}
/>
<Tabs>
<TabItem value="geyser" label="Geyser" default>
<ProjectDownload
projectId="geyser"
description="A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition."
setup="/geyser/setup"
downloadsInfo={{
bungeecord: <PlatformIcon svg={WaterfallBungeeCordIcon} text="BungeeCord"/>,
fabric: <PlatformIcon img={FabricIcon} text="Fabric"/>,
neoforge: <PlatformIcon img={NeoForgeIcon} text="NeoForge"/>,
spigot: <PlatformIcon img={PaperSpigotIcon} text="Spigot/Paper"/>,
standalone: <PlatformIcon img={StandaloneIcon} text="Standalone"/>,
velocity: <PlatformIcon img={VelocityIcon} text="Velocity"/>,
viaproxy: <PlatformIcon img={ViaProxyIcon} text="ViaProxy"/>,
}}
/>
</TabItem>
<TabItem value="floodgate" label="Floodgate">
<ProjectDownload
projectId="floodgate"
description="Hybrid mode plugin to allow for connections from Geyser to join online mode servers."
setup="/floodgate/setup"
downloadsInfo={{
bungee: <PlatformIcon svg={WaterfallBungeeCordIcon} text="BungeeCord"/>,
spigot: <PlatformIcon img={PaperSpigotIcon} text="Spigot/Paper"/>,
velocity: <PlatformIcon img={VelocityIcon} text="Velocity"/>,
}}
/>
</TabItem>
<TabItem value="other-projects" label="Other Projects">
<Collapsibles>
<Collapsible
title='GeyserConnect'
subtitle='A plugin to allow for Geyser players to connect to your server without needing to use a proxy.'
inner={
<ProjectDownload
projectId="geyserconnect"
setup='/other/geyserconnect'
downloadsInfo={{
geyserconnect: <><FontAwesomeIcon icon={faTowerCell}/> GeyserConnect</>,
}}
gridColumns={1}
/>
}
/>
<Collapsible
title='GeyserOptionalPack'
subtitle='An optional Bedrock resource pack to extend Geyser functionality.'
inner={
<ProjectDownload
projectId="geyseroptionalpack"
setup='/other/geyseroptionalpack'
downloadsInfo={{
geyseroptionalpack: <><FontAwesomeIcon icon={faFileZipper}/> GeyserOptionalPack</>,
}}
gridColumns={1}
/>
}
/>
</Collapsibles>
</TabItem>
</Tabs>
+110
View File
@@ -0,0 +1,110 @@
import React from 'react';
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import { faTowerCell, faFileZipper } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import HeroBanner from '@site/src/components/HeroBanner';
import HeroBackground from '@site/static/img/site/split-background.png';
import PaperSpigotIcon from '@site/static/img/icons/paper.png';
import VelocityIcon from '@site/static/img/icons/velocity.png';
import WaterfallBungeeCordIcon from '@site/static/img/icons/waterfall.svg';
import FabricIcon from '@site/static/img/icons/fabric.png';
import NeoForgeIcon from '@site/static/img/icons/neoforge.png';
import ViaProxyIcon from '@site/static/img/icons/viaproxy.png';
import StandaloneIcon from '@site/static/img/icons/geyser.png';
import PlatformIcon from '@site/src/components/PlatformIcon';
import { ProjectDownload } from '@site/src/components/ProjectDownload';
import { Collapsibles, Collapsible } from '@site/src/components/Collapsibles';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import Layout from '@theme/Layout';
import Translate from '@docusaurus/Translate';
const DownloadPage: React.FC = () => (
<>
<HeroBanner
title="Download"
subheading="Download the latest versions of our various projects."
backgroundImage={HeroBackground}
/>
<Tabs>
<TabItem value="geyser" label="Geyser" default>
<ProjectDownload
projectId="geyser"
description={<Translate>A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.</Translate>}
setup="/geyser/setup"
downloadsInfo={{
bungeecord: <PlatformIcon svg={WaterfallBungeeCordIcon} text="BungeeCord" />,
fabric: <PlatformIcon img={FabricIcon} text="Fabric" />,
neoforge: <PlatformIcon img={NeoForgeIcon} text="NeoForge" />,
spigot: <PlatformIcon img={PaperSpigotIcon} text="Spigot/Paper" />,
standalone: <PlatformIcon img={StandaloneIcon} text="Standalone" />,
velocity: <PlatformIcon img={VelocityIcon} text="Velocity" />,
viaproxy: <PlatformIcon img={ViaProxyIcon} text="ViaProxy" />,
}}
/>
</TabItem>
<TabItem value="floodgate" label="Floodgate">
<ProjectDownload
projectId="floodgate"
description={<Translate>Hybrid mode plugin to allow for connections from Geyser to join online mode servers.</Translate>}
setup="/floodgate/setup"
downloadsInfo={{
bungee: <PlatformIcon svg={WaterfallBungeeCordIcon} text="BungeeCord" />,
spigot: <PlatformIcon img={PaperSpigotIcon} text="Spigot/Paper" />,
velocity: <PlatformIcon img={VelocityIcon} text="Velocity" />,
}}
/>
</TabItem>
<TabItem value="other-projects" label="Other Projects">
<Collapsibles>
<Collapsible
title='GeyserConnect'
subtitle={<Translate>A plugin to allow for Geyser players to connect to your server without needing to use a proxy.</Translate>}
inner={
<ProjectDownload
projectId="geyserconnect"
setup='/other/geyserconnect'
downloadsInfo={{
geyserconnect: <><FontAwesomeIcon icon={faTowerCell} /> GeyserConnect</>,
}}
gridColumns={1}
/>
}
/>
<Collapsible
title='GeyserOptionalPack'
subtitle={<Translate>An optional Bedrock resource pack to extend Geyser functionality.</Translate>}
inner={
<ProjectDownload
projectId="geyseroptionalpack"
setup='/other/geyseroptionalpack'
downloadsInfo={{
geyseroptionalpack: <><FontAwesomeIcon icon={faFileZipper} /> GeyserOptionalPack</>,
}}
gridColumns={1}
/>
}
/>
</Collapsibles>
</TabItem>
</Tabs>
</>
);
export default function Download(): JSX.Element {
const { siteConfig } = useDocusaurusContext();
return (
<Layout
title={`Download from ${siteConfig.title}`}
description="Download the latest versions of our various projects."
>
<main>
<div className="container container--fluid margin-vert--lg">
<DownloadPage />
</div>
</main>
</Layout>
)
}
+5 -5
View File
@@ -6,10 +6,9 @@ import Heading from '@theme/Heading';
import HeroImage from '@site/static/img/site/geyser.png';
import styles from './index.module.css';
import Translate from '@docusaurus/Translate';
function HomepageHeader() {
const { siteConfig } = useDocusaurusContext();
return (
<header className={clsx('hero hero--primary', styles.heroBanner)}>
<div className={styles.heroContent}>
@@ -17,10 +16,10 @@ function HomepageHeader() {
<img src={HeroImage} alt="Geyser Logo" className={styles.heroImageBackgroundBlur}/>
<div className={styles.textSection}>
<Heading as="h1" className="hero__title">
{siteConfig.tagline}
<Translate>Revolutionize Your Minecraft Server</Translate>
</Heading>
<p className="hero__subtitle">
Enable clients from Minecraft Bedrock Edition to join your Minecraft Java server.
<Translate>Enable clients from Minecraft Bedrock Edition to join your Minecraft Java server</Translate>
</p>
</div>
</div>
@@ -33,7 +32,8 @@ export default function Home(): JSX.Element {
return (
<Layout
title={`Hello from ${siteConfig.title}`}
description="Description will go into a meta tag in <head />">
description="Description will go into a meta tag in <head />"
>
<HomepageHeader />
<main>
<HomepageFeatures />