diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 80ca7a1..c3dd5dc 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -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: { diff --git a/src/components/Collapsibles.tsx b/src/components/Collapsibles.tsx index 328eb6c..6203337 100644 --- a/src/components/Collapsibles.tsx +++ b/src/components/Collapsibles.tsx @@ -9,8 +9,8 @@ export const Collapsibles = ({ children }) => { }; interface CollapsibleProps { - title: string; - subtitle?: string; + title: React.ReactNode; + subtitle?: React.ReactNode; inner: React.ReactNode; } diff --git a/src/components/HomepageFeatures/index.tsx b/src/components/HomepageFeatures/index.tsx index 5f84770..fb9a6a0 100644 --- a/src/components/HomepageFeatures/index.tsx +++ b/src/components/HomepageFeatures/index.tsx @@ -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. + 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. ), }, @@ -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. + 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. ), }, @@ -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! + 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! - 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! + 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! ), }, diff --git a/src/components/ProjectDownload.tsx b/src/components/ProjectDownload.tsx index 4b46fdb..d5f91bb 100644 --- a/src/components/ProjectDownload.tsx +++ b/src/components/ProjectDownload.tsx @@ -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; } diff --git a/src/components/Provider.tsx b/src/components/Provider.tsx index 476dea5..7cb10bf 100644 --- a/src/components/Provider.tsx +++ b/src/components/Provider.tsx @@ -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 ? ( {selectedProvider.description} ) : ( -

Select a provider to see specific installation instructions

+

+ Select a provider to see specific installation instructions +

)} diff --git a/src/pages/download/index.mdx b/src/pages/download/index.mdx deleted file mode 100644 index c7ce7a8..0000000 --- a/src/pages/download/index.mdx +++ /dev/null @@ -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'; - - - - - - , - fabric: , - neoforge: , - spigot: , - standalone: , - velocity: , - viaproxy: , - }} - /> - - - , - spigot: , - velocity: , - }} - /> - - - - GeyserConnect, - }} - gridColumns={1} - /> - } - /> - GeyserOptionalPack, - }} - gridColumns={1} - /> - } - /> - - - diff --git a/src/pages/download/index.tsx b/src/pages/download/index.tsx new file mode 100644 index 0000000..180e8a0 --- /dev/null +++ b/src/pages/download/index.tsx @@ -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 = () => ( + <> + + + + + A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.} + setup="/geyser/setup" + downloadsInfo={{ + bungeecord: , + fabric: , + neoforge: , + spigot: , + standalone: , + velocity: , + viaproxy: , + }} + /> + + + Hybrid mode plugin to allow for connections from Geyser to join online mode servers.} + setup="/floodgate/setup" + downloadsInfo={{ + bungee: , + spigot: , + velocity: , + }} + /> + + + + A plugin to allow for Geyser players to connect to your server without needing to use a proxy.} + inner={ + GeyserConnect, + }} + gridColumns={1} + /> + } + /> + An optional Bedrock resource pack to extend Geyser functionality.} + inner={ + GeyserOptionalPack, + }} + gridColumns={1} + /> + } + /> + + + + +); + +export default function Download(): JSX.Element { + const { siteConfig } = useDocusaurusContext(); + return ( + +
+
+ +
+
+
+ ) +} + diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 4a315fb..63c91ba 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -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 (
@@ -17,10 +16,10 @@ function HomepageHeader() { Geyser Logo
- {siteConfig.tagline} + Revolutionize Your Minecraft Server

- Enable clients from Minecraft Bedrock Edition to join your Minecraft Java server. + Enable clients from Minecraft Bedrock Edition to join your Minecraft Java server

@@ -33,7 +32,8 @@ export default function Home(): JSX.Element { return ( + description="Description will go into a meta tag in " + >