feat: rebrand project and improve SEO/PWA setup

- Renamed project with new branding
- Added new logo and favicon assets
- Integrated full favicon + PWA icon setup
- Enhanced Next.js layout metadata (SEO, OpenGraph, Twitter cards)
- Added theme color support (light/dark mode)
- Improved multilingual metadata handling with next-intl
- Cleaned and structured generateMetadata for production readiness
This commit is contained in:
Puechberty Arthur
2026-04-22 18:39:53 +02:00
parent 25a1a03692
commit 3d6a5c6a0f
26 changed files with 276 additions and 116 deletions
+84 -9
View File
@@ -1,4 +1,4 @@
import type { Metadata } from "next";
import type { Metadata, Viewport } from "next";
import { IBM_Plex_Mono, Space_Grotesk } from "next/font/google";
import { hasLocale, NextIntlClientProvider } from "next-intl";
import { getMessages, getTranslations } from "next-intl/server";
@@ -23,35 +23,105 @@ export function generateStaticParams() {
return routing.locales.map((locale) => ({ locale }));
}
/**
* SEO + i18n + PWA + Social metadata
*/
export async function generateMetadata({
params,
}: {
params: Promise<{ locale: string }>;
}): Promise<Metadata> {
const { locale: candidateLocale } = await params;
const locale = hasLocale(routing.locales, candidateLocale)
? candidateLocale
: routing.defaultLocale;
const t = await getTranslations({ locale, namespace: "metadata" });
const languages = routing.locales.reduce<Record<string, string>>(
(accumulator, currentLocale) => {
accumulator[currentLocale] = `/${currentLocale}`;
return accumulator;
(acc, currentLocale) => {
acc[currentLocale] = `/${currentLocale}`;
return acc;
},
{},
);
const title = t("title");
const description = t("description");
return {
title: t("title"),
description: t("description"),
title,
description,
metadataBase: new URL("https://flint.arthurp.fr"),
alternates: {
canonical: `/${locale}`,
languages,
},
// Theme (mobile browser bar color)
themeColor: [
{ media: "(prefers-color-scheme: light)", color: "#ffffff" },
{ media: "(prefers-color-scheme: dark)", color: "#0a0a0a" },
],
// Icons / Favicons / PWA
icons: {
icon: [
{ url: "/favicon.ico" },
{ url: "/favicon-16x16.png", sizes: "16x16", type: "image/png" },
{ url: "/favicon-32x32.png", sizes: "32x32", type: "image/png" },
{ url: "/android-chrome-192x192.png", sizes: "192x192" },
{ url: "/android-chrome-512x512.png", sizes: "512x512" },
],
apple: "/apple-touch-icon.png",
},
// PWA / iOS App mode
appleWebApp: {
capable: true,
title,
statusBarStyle: "default",
},
applicationName: title,
// OpenGraph (Discord / WhatsApp / Twitter preview)
openGraph: {
type: "website",
locale,
url: `/${locale}`,
title,
description,
siteName: title,
},
// Twitter card
twitter: {
card: "summary_large_image",
title,
description,
},
// SEO control
robots: {
index: true,
follow: true,
},
};
}
/**
* Viewport (important mobile)
*/
export const viewport: Viewport = {
width: "device-width",
initialScale: 1,
themeColor: "#ffffff",
};
export default async function LocaleLayout({
children,
params,
@@ -66,10 +136,15 @@ export default async function LocaleLayout({
}
const messages = await getMessages();
const direction = RTL_LOCALES.includes(locale as (typeof RTL_LOCALES)[number]) ? "rtl" : "ltr";
const direction = RTL_LOCALES.includes(
locale as (typeof RTL_LOCALES)[number],
)
? "rtl"
: "ltr";
return (
<html dir={direction} lang={locale}>
<html lang={locale} dir={direction}>
<body className={`${headingFont.variable} ${monoFont.variable} antialiased`}>
<NextIntlClientProvider locale={locale} messages={messages}>
{children}
@@ -77,4 +152,4 @@ export default async function LocaleLayout({
</body>
</html>
);
}
}
+3 -27
View File
@@ -1,41 +1,17 @@
import { getT } from "../i18n/server";
import { Link } from "../i18n/navigation";
import { cn } from "./ui/cn";
export default async function Logo({ className = "" }: { className?: string }) {
const t = await getT();
return (
<Link
className={cn("inline-flex items-center gap-3", className)}
href="/"
>
<svg
aria-hidden
className="h-9 w-9"
viewBox="0 0 48 48"
xmlns="http://www.w3.org/2000/svg"
>
<defs>
<linearGradient id="shadow-gradient" x1="0" x2="1" y1="0" y2="1">
<stop offset="0%" stopColor="#4f8cff" />
<stop offset="100%" stopColor="#2dd4bf" />
</linearGradient>
</defs>
<rect width="48" height="48" rx="10" fill="url(#shadow-gradient)" />
<path
d="M13 31c5.5-5.5 10-9.5 21-12"
stroke="rgba(255,255,255,0.95)"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="3"
/>
</svg>
<Link className={cn("inline-flex items-center gap-3", className)} href="/">
<img src="/logo.svg" alt="Logo" className="h-9 w-9" />
<span className="text-lg font-semibold tracking-tight text-[var(--foreground)]">
{t("common.brand")}
</span>
</Link>
);
}
}
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - استضافة بوتات Discord (ابتداءً من 2 يورو/شهريًا لكل بوت)",
"title": "Flint - استضافة بوتات Discord (ابتداءً من 2 يورو/شهريًا لكل بوت)",
"description": "منصة SaaS متعددة المستخدمين لاستضافة وإدارة بوتات Discord الخاصة بك مع أوامر تلقائية، components v2، دعم متعدد اللغات ومتغيرات ديناميكية."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "الرئيسية",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "منصة SaaS لبوتات Discord",
"title": "Shadow - استضف بوتات Discord الخاصة بك (ابتداءً من 2 يورو/شهريًا لكل بوت)",
"title": "Flint - استضف بوتات Discord الخاصة بك (ابتداءً من 2 يورو/شهريًا لكل بوت)",
"description": "استضف وأدر بوتاتك باستخدام أوامر تلقائية (prefix و slash)، components v2، مساعدة تلقائية، دعم متعدد اللغات ومتغيرات ديناميكية.",
"ctaStart": "ابدأ - 2 يورو/شهريًا",
"ctaLogin": "تسجيل الدخول",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "إضافة بوت",
"description": "قم بربط تطبيق Discord الخاص بك عبر OAuth وقم بتسجيله في Shadow."
"description": "قم بربط تطبيق Discord الخاص بك عبر OAuth وقم بتسجيله في Flint."
},
"dashboard": {
"title": "الإدارة من لوحة التحكم",
@@ -109,7 +109,7 @@
"copyright": "حقوق النشر {year} {brand}"
},
"login": {
"eyebrow": "Shadow - استضافة بوتات Discord",
"eyebrow": "Flint - استضافة بوتات Discord",
"title": "قم بربط حساب Discord الخاص بك",
"description": "قم بتسجيل الدخول عبر OAuth2 للوصول إلى مساحتك واستضافة بوتاتك.",
"cta": "المتابعة باستخدام Discord"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - ডিসকর্ড বট হোস্টিং (প্রতি বট প্রতি মাসে ২ ইউরো থেকে)",
"title": "Flint - ডিসকর্ড বট হোস্টিং (প্রতি বট প্রতি মাসে ২ ইউরো থেকে)",
"description": "আপনার ডিসকর্ড বট হোস্ট এবং পরিচালনা করার জন্য মাল্টি-টেন্যান্ট SaaS প্ল্যাটফর্ম, যেখানে স্বয়ংক্রিয় কমান্ড, components v2, বহু-ভাষা এবং ডায়নামিক ভেরিয়েবল রয়েছে।"
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "হোম",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "ডিসকর্ড বটের জন্য SaaS প্ল্যাটফর্ম",
"title": "Shadow - আপনার ডিসকর্ড বট হোস্ট করুন (প্রতি বট প্রতি মাসে ২ ইউরো থেকে)",
"title": "Flint - আপনার ডিসকর্ড বট হোস্ট করুন (প্রতি বট প্রতি মাসে ২ ইউরো থেকে)",
"description": "স্বয়ংক্রিয় কমান্ড (prefix এবং slash), components v2, স্বয়ংক্রিয় সাহায্য, বহু-ভাষা সমর্থন এবং ডায়নামিক ভেরিয়েবলসহ আপনার বট হোস্ট এবং পরিচালনা করুন।",
"ctaStart": "শুরু করুন - ২ ইউরো/মাস",
"ctaLogin": "লগইন",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "একটি বট যোগ করুন",
"description": "OAuth এর মাধ্যমে আপনার Discord অ্যাপ সংযুক্ত করুন এবং Shadow-এ নিবন্ধন করুন।"
"description": "OAuth এর মাধ্যমে আপনার Discord অ্যাপ সংযুক্ত করুন এবং Flint-এ নিবন্ধন করুন।"
},
"dashboard": {
"title": "ড্যাশবোর্ড থেকে পরিচালনা করুন",
@@ -109,7 +109,7 @@
"copyright": "কপিরাইট {year} {brand}"
},
"login": {
"eyebrow": "Shadow - ডিসকর্ড বট হোস্টিং",
"eyebrow": "Flint - ডিসকর্ড বট হোস্টিং",
"title": "আপনার Discord অ্যাকাউন্ট সংযুক্ত করুন",
"description": "OAuth2 এর মাধ্যমে লগইন করে আপনার ড্যাশবোর্ডে প্রবেশ করুন এবং বট হোস্ট করুন।",
"cta": "Discord দিয়ে চালিয়ে যান"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Hosting von Discord-Bots (ab 2 EUR/Monat pro Bot)",
"title": "Flint - Hosting von Discord-Bots (ab 2 EUR/Monat pro Bot)",
"description": "Multi-Tenant-SaaS-Plattform zum Hosten und Verwalten deiner Discord-Bots mit automatischen Befehlen, Components V2, Mehrsprachigkeit und dynamischen Variablen."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Startseite",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "SaaS-Plattform für Discord-Bots",
"title": "Shadow - Hoste deine Discord-Bots (ab 2 EUR/Monat pro Bot)",
"title": "Flint - Hoste deine Discord-Bots (ab 2 EUR/Monat pro Bot)",
"description": "Hoste und verwalte deine Bots mit automatischen Befehlen (Prefix und Slash), Components V2, automatischer Hilfe, Mehrsprachigkeit und dynamischen Variablen.",
"ctaStart": "Starten - 2 EUR/Monat",
"ctaLogin": "Anmelden",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Bot hinzufügen",
"description": "Verbinde deine Discord-Anwendung über OAuth und registriere sie in Shadow."
"description": "Verbinde deine Discord-Anwendung über OAuth und registriere sie in Flint."
},
"dashboard": {
"title": "Im Dashboard verwalten",
@@ -109,7 +109,7 @@
"copyright": "Copyright {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Hosting von Discord-Bots",
"eyebrow": "Flint - Hosting von Discord-Bots",
"title": "Verbinde dein Discord-Konto",
"description": "Authentifiziere dich über OAuth2, um auf deinen Bereich zuzugreifen und deine Bots zu hosten.",
"cta": "Mit Discord fortfahren"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Discord bot hosting (from €2/month per bot)",
"title": "Flint - Discord bot hosting (from €2/month per bot)",
"description": "Multi-tenant SaaS platform to host and manage your Discord bots with automatic commands, components v2, multi-language support, and dynamic variables."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Home",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "SaaS platform for Discord bots",
"title": "Shadow - Host your Discord bots (from €2/month per bot)",
"title": "Flint - Host your Discord bots (from €2/month per bot)",
"description": "Host and manage your bots with automatic commands (prefix and slash), components v2, automatic help, multi-language support, and dynamic variables.",
"ctaStart": "Get started - €2/month",
"ctaLogin": "Log in",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Add a bot",
"description": "Connect your Discord application via OAuth and register it in Shadow."
"description": "Connect your Discord application via OAuth and register it in Flint."
},
"dashboard": {
"title": "Manage from the dashboard",
@@ -109,7 +109,7 @@
"copyright": "Copyright {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Discord bot hosting",
"eyebrow": "Flint - Discord bot hosting",
"title": "Connect your Discord account",
"description": "Authenticate via OAuth2 to access your workspace and host your bots.",
"cta": "Continue with Discord"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Alojamiento de bots de Discord (desde 2 EUR/mes por bot)",
"title": "Flint - Alojamiento de bots de Discord (desde 2 EUR/mes por bot)",
"description": "Plataforma SaaS multi-tenant para alojar y gestionar tus bots de Discord con comandos automáticos, components v2, multi-idioma y variables dinámicas."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Inicio",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "Plataforma SaaS para bots de Discord",
"title": "Shadow - Aloja tus bots de Discord (desde 2 EUR/mes por bot)",
"title": "Flint - Aloja tus bots de Discord (desde 2 EUR/mes por bot)",
"description": "Aloja y gestiona tus bots con comandos automáticos (prefix y slash), components v2, ayuda automática, soporte multi-idioma y variables dinámicas.",
"ctaStart": "Empezar - 2 EUR/mes",
"ctaLogin": "Iniciar sesión",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Añadir un bot",
"description": "Conecta tu aplicación de Discord mediante OAuth y regístrala en Shadow."
"description": "Conecta tu aplicación de Discord mediante OAuth y regístrala en Flint."
},
"dashboard": {
"title": "Gestionar desde el panel",
@@ -109,7 +109,7 @@
"copyright": "Copyright {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Alojamiento de bots de Discord",
"eyebrow": "Flint - Alojamiento de bots de Discord",
"title": "Conecta tu cuenta de Discord",
"description": "Autentícate mediante OAuth2 para acceder a tu espacio y alojar tus bots.",
"cta": "Continuar con Discord"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Hébergement de bots Discord (à partir de 2 € / mois par bot)",
"title": "Flint - Hébergement de bots Discord (à partir de 2 € / mois par bot)",
"description": "Plateforme SaaS multi-tenant pour héberger et gérer vos bots Discord avec commandes automatiques, components v2, multi-langue et variables dynamiques."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Accueil",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "Plateforme SaaS pour bots Discord",
"title": "Shadow - Hébergez vos bots Discord (à partir de 2 € / mois par bot)",
"title": "Flint - Hébergez vos bots Discord (à partir de 2 € / mois par bot)",
"description": "Hébergez et gérez vos bots avec commandes automatiques (préfixe et slash), components v2, aide automatique, support multi-langue et variables dynamiques.",
"ctaStart": "Commencer - 2 € / mois",
"ctaLogin": "Se connecter",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Ajouter un bot",
"description": "Connectez votre application Discord via OAuth et enregistrez-la dans Shadow."
"description": "Connectez votre application Discord via OAuth et enregistrez-la dans Flint."
},
"dashboard": {
"title": "Gérer depuis le tableau de bord",
@@ -109,7 +109,7 @@
"copyright": "Copyright {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Hébergement de bots Discord",
"eyebrow": "Flint - Hébergement de bots Discord",
"title": "Connectez votre compte Discord",
"description": "Authentifiez-vous via OAuth2 pour accéder à votre espace et héberger vos bots.",
"cta": "Continuer avec Discord"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Discord बॉट होस्टिंग (प्रति बॉट 2 EUR/माह से शुरू)",
"title": "Flint - Discord बॉट होस्टिंग (प्रति बॉट 2 EUR/माह से शुरू)",
"description": "अपने Discord बॉट्स को होस्ट और प्रबंधित करने के लिए मल्टी-टेनेंट SaaS प्लेटफ़ॉर्म, जिसमें ऑटोमैटिक कमांड्स, components v2, मल्टी-भाषा सपोर्ट और डायनामिक वेरिएबल्स शामिल हैं।"
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "मुखपृष्ठ",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "Discord बॉट्स के लिए SaaS प्लेटफ़ॉर्म",
"title": "Shadow - अपने Discord बॉट्स होस्ट करें (प्रति बॉट 2 EUR/माह से शुरू)",
"title": "Flint - अपने Discord बॉट्स होस्ट करें (प्रति बॉट 2 EUR/माह से शुरू)",
"description": "अपने बॉट्स को ऑटोमैटिक कमांड्स (prefix और slash), components v2, स्वचालित सहायता, मल्टी-भाषा सपोर्ट और डायनामिक वेरिएबल्स के साथ होस्ट और प्रबंधित करें।",
"ctaStart": "शुरू करें - 2 EUR/माह",
"ctaLogin": "लॉगिन करें",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "बॉट जोड़ें",
"description": "OAuth के माध्यम से अपना Discord एप्लिकेशन कनेक्ट करें और Shadow में जोड़ें।"
"description": "OAuth के माध्यम से अपना Discord एप्लिकेशन कनेक्ट करें और Flint में जोड़ें।"
},
"dashboard": {
"title": "डैशबोर्ड से प्रबंधन करें",
@@ -109,7 +109,7 @@
"copyright": "Copyright {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Discord बॉट होस्टिंग",
"eyebrow": "Flint - Discord बॉट होस्टिंग",
"title": "अपने Discord खाते से लॉगिन करें",
"description": "अपने बॉट्स को होस्ट और प्रबंधित करने के लिए OAuth2 के माध्यम से लॉगिन करें।",
"cta": "Discord के साथ जारी रखें"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Hosting bot Discord (mulai dari 2 EUR/bulan per bot)",
"title": "Flint - Hosting bot Discord (mulai dari 2 EUR/bulan per bot)",
"description": "Platform SaaS multi-tenant untuk meng-host dan mengelola bot Discord Anda dengan perintah otomatis, components v2, multi-bahasa, dan variabel dinamis."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Beranda",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "Platform SaaS untuk bot Discord",
"title": "Shadow - Hosting bot Discord Anda (mulai dari 2 EUR/bulan per bot)",
"title": "Flint - Hosting bot Discord Anda (mulai dari 2 EUR/bulan per bot)",
"description": "Hosting dan kelola bot Anda dengan perintah otomatis (prefix dan slash), components v2, bantuan otomatis, dukungan multi-bahasa, dan variabel dinamis.",
"ctaStart": "Mulai - 2 EUR/bulan",
"ctaLogin": "Masuk",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Tambah bot",
"description": "Hubungkan aplikasi Discord Anda melalui OAuth dan daftarkan di Shadow."
"description": "Hubungkan aplikasi Discord Anda melalui OAuth dan daftarkan di Flint."
},
"dashboard": {
"title": "Kelola dari dashboard",
@@ -109,7 +109,7 @@
"copyright": "Hak cipta {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Hosting bot Discord",
"eyebrow": "Flint - Hosting bot Discord",
"title": "Hubungkan akun Discord Anda",
"description": "Login melalui OAuth2 untuk mengakses dashboard dan meng-host bot Anda.",
"cta": "Lanjutkan dengan Discord"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Hosting di bot Discord (a partire da 2 EUR/mese per bot)",
"title": "Flint - Hosting di bot Discord (a partire da 2 EUR/mese per bot)",
"description": "Piattaforma SaaS multi-tenant per ospitare e gestire i tuoi bot Discord con comandi automatici, componenti v2, multi-lingua e variabili dinamiche."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Home",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "Piattaforma SaaS per bot Discord",
"title": "Shadow - Ospita i tuoi bot Discord (a partire da 2 EUR/mese per bot)",
"title": "Flint - Ospita i tuoi bot Discord (a partire da 2 EUR/mese per bot)",
"description": "Ospita e gestisci i tuoi bot con comandi automatici (prefix e slash), componenti v2, assistenza automatica, supporto multi-lingua e variabili dinamiche.",
"ctaStart": "Inizia - 2 EUR/mese",
"ctaLogin": "Accedi",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Aggiungi un bot",
"description": "Collega la tua applicazione Discord tramite OAuth e registrala in Shadow."
"description": "Collega la tua applicazione Discord tramite OAuth e registrala in Flint."
},
"dashboard": {
"title": "Gestisci dal dashboard",
@@ -109,7 +109,7 @@
"copyright": "Copyright {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Hosting di bot Discord",
"eyebrow": "Flint - Hosting di bot Discord",
"title": "Collega il tuo account Discord",
"description": "Autenticati tramite OAuth2 per accedere al tuo spazio e ospitare i tuoi bot.",
"cta": "Continua con Discord"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Discordボットホスティング(ボット1台あたり月額2EURから)",
"title": "Flint - Discordボットホスティング(ボット1台あたり月額2EURから)",
"description": "Discordボットをホスティング・管理するためのマルチテナントSaaSプラットフォーム。自動コマンド、v2コンポーネント、多言語対応、動的変数をサポート。"
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "ホーム",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "Discordボット向けSaaSプラットフォーム",
"title": "Shadow - Discordボットをホスティング(ボット1台あたり月額2EURから)",
"title": "Flint - Discordボットをホスティング(ボット1台あたり月額2EURから)",
"description": "自動コマンド(プレフィックス・スラッシュ)、v2コンポーネント、自動ヘルプ、多言語対応、動的変数でボットをホスティング・管理できます。",
"ctaStart": "開始 - 月額2EUR",
"ctaLogin": "ログイン",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "ボットを追加",
"description": "DiscordアプリをOAuthで接続し、Shadowに登録します。"
"description": "DiscordアプリをOAuthで接続し、Flintに登録します。"
},
"dashboard": {
"title": "ダッシュボードで管理",
@@ -109,7 +109,7 @@
"copyright": "著作権 {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Discordボットホスティング",
"eyebrow": "Flint - Discordボットホスティング",
"title": "Discordアカウントに接続",
"description": "OAuth2で認証してダッシュボードにアクセスし、ボットをホスティングします。",
"cta": "Discordで続行"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Hosting van Discord-bots (vanaf 2 EUR/maand per bot)",
"title": "Flint - Hosting van Discord-bots (vanaf 2 EUR/maand per bot)",
"description": "Multi-tenant SaaS-platform om je Discord-bots te hosten en te beheren met automatische commando's, components v2, meertaligheid en dynamische variabelen."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Home",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "SaaS-platform voor Discord-bots",
"title": "Shadow - Host je Discord-bots (vanaf 2 EUR/maand per bot)",
"title": "Flint - Host je Discord-bots (vanaf 2 EUR/maand per bot)",
"description": "Host en beheer je bots met automatische commando's (prefix en slash), components v2, automatische hulp, meertalige ondersteuning en dynamische variabelen.",
"ctaStart": "Begin - 2 EUR/maand",
"ctaLogin": "Inloggen",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Bot toevoegen",
"description": "Koppel je Discord-app via OAuth en registreer deze in Shadow."
"description": "Koppel je Discord-app via OAuth en registreer deze in Flint."
},
"dashboard": {
"title": "Beheer via dashboard",
@@ -109,7 +109,7 @@
"copyright": "Copyright {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Hosting van Discord-bots",
"eyebrow": "Flint - Hosting van Discord-bots",
"title": "Verbind je Discord-account",
"description": "Authenticeer via OAuth2 om toegang te krijgen tot je omgeving en je bots te hosten.",
"cta": "Doorgaan met Discord"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Hosting botów Discord (od 2 EUR/miesiąc za bota)",
"title": "Flint - Hosting botów Discord (od 2 EUR/miesiąc za bota)",
"description": "Wielodostępna platforma SaaS do hostowania i zarządzania botami Discord z automatycznymi komendami, komponentami v2, wielojęzycznością i dynamicznymi zmiennymi."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Strona główna",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "Platforma SaaS dla botów Discord",
"title": "Shadow - Hostuj swoje boty Discord (od 2 EUR/miesiąc za bota)",
"title": "Flint - Hostuj swoje boty Discord (od 2 EUR/miesiąc za bota)",
"description": "Hostuj i zarządzaj swoimi botami z automatycznymi komendami (prefix i slash), komponentami v2, automatyczną pomocą, wsparciem wielojęzycznym i dynamicznymi zmiennymi.",
"ctaStart": "Rozpocznij - 2 EUR/miesiąc",
"ctaLogin": "Zaloguj się",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Dodaj bota",
"description": "Połącz swoją aplikację Discord przez OAuth i zarejestruj ją w Shadow."
"description": "Połącz swoją aplikację Discord przez OAuth i zarejestruj ją w Flint."
},
"dashboard": {
"title": "Zarządzaj z panelu",
@@ -109,7 +109,7 @@
"copyright": "Prawa autorskie {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Hosting botów Discord",
"eyebrow": "Flint - Hosting botów Discord",
"title": "Połącz swoje konto Discord",
"description": "Zaloguj się przez OAuth2, aby uzyskać dostęp do swojego panelu i hostować boty.",
"cta": "Kontynuuj z Discordem"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Hospedagem de bots Discord (a partir de 2 EUR/mês por bot)",
"title": "Flint - Hospedagem de bots Discord (a partir de 2 EUR/mês por bot)",
"description": "Plataforma SaaS multi-tenant para hospedar e gerenciar seus bots Discord com comandos automáticos, components v2, multi-idioma e variáveis dinâmicas."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Início",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "Plataforma SaaS para bots Discord",
"title": "Shadow - Hospede seus bots Discord (a partir de 2 EUR/mês por bot)",
"title": "Flint - Hospede seus bots Discord (a partir de 2 EUR/mês por bot)",
"description": "Hospede e gerencie seus bots com comandos automáticos (prefixo e slash), components v2, ajuda automática, suporte multi-idioma e variáveis dinâmicas.",
"ctaStart": "Começar - 2 EUR/mês",
"ctaLogin": "Entrar",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Adicionar um bot",
"description": "Conecte sua aplicação Discord via OAuth e registre-a no Shadow."
"description": "Conecte sua aplicação Discord via OAuth e registre-a no Flint."
},
"dashboard": {
"title": "Gerenciar pelo painel",
@@ -109,7 +109,7 @@
"copyright": "Direitos autorais {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Hospedagem de bots Discord",
"eyebrow": "Flint - Hospedagem de bots Discord",
"title": "Conecte sua conta Discord",
"description": "Autentique-se via OAuth2 para acessar seu espaço e hospedar seus bots.",
"cta": "Continuar com Discord"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Хостинг Discord-ботов (от 2 EUR/месяц за бота)",
"title": "Flint - Хостинг Discord-ботов (от 2 EUR/месяц за бота)",
"description": "Мультиарендная SaaS-платформа для хостинга и управления вашими Discord-ботами с автоматическими командами, компонентами v2, поддержкой нескольких языков и динамическими переменными."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Главная",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "SaaS-платформа для Discord-ботов",
"title": "Shadow - размещайте своих Discord-ботов (от 2 EUR/месяц за бота)",
"title": "Flint - размещайте своих Discord-ботов (от 2 EUR/месяц за бота)",
"description": "Размещайте и управляйте ботами с автоматическими командами (prefix и slash), компонентами v2, автоматической помощью, поддержкой нескольких языков и динамическими переменными.",
"ctaStart": "Начать - 2 EUR/месяц",
"ctaLogin": "Войти",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Добавить бота",
"description": "Подключите Discord-приложение через OAuth и зарегистрируйте его в Shadow."
"description": "Подключите Discord-приложение через OAuth и зарегистрируйте его в Flint."
},
"dashboard": {
"title": "Управление через панель",
@@ -109,7 +109,7 @@
"copyright": "Авторские права {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Хостинг Discord-ботов",
"eyebrow": "Flint - Хостинг Discord-ботов",
"title": "Подключите свой аккаунт Discord",
"description": "Войдите через OAuth2, чтобы получить доступ к панели и размещать ботов.",
"cta": "Продолжить с Discord"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Discord bot barındırma (bot başına ayda 2 EURdan itibaren)",
"title": "Flint - Discord bot barındırma (bot başına ayda 2 EURdan itibaren)",
"description": "Discord botlarınızı barındırmak ve yönetmek için çok kiracılı SaaS platformu; otomatik komutlar, v2 bileşenleri, çoklu dil ve dinamik değişkenler içerir."
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "Ana sayfa",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "Discord botları için SaaS platformu",
"title": "Shadow - Discord botlarınızı barındırın (bot başına ayda 2 EURdan itibaren)",
"title": "Flint - Discord botlarınızı barındırın (bot başına ayda 2 EURdan itibaren)",
"description": "Botlarınızı otomatik komutlar (prefix ve slash), v2 bileşenleri, otomatik yardım, çoklu dil desteği ve dinamik değişkenlerle barındırın ve yönetin.",
"ctaStart": "Başla - 2 EUR/ay",
"ctaLogin": "Giriş yap",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "Bot ekle",
"description": "Discord uygulamanızı OAuth ile bağlayın ve Shadowa kaydedin."
"description": "Discord uygulamanızı OAuth ile bağlayın ve Flinta kaydedin."
},
"dashboard": {
"title": "Panelden yönetin",
@@ -109,7 +109,7 @@
"copyright": "Telif hakkı {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Discord bot barındırma",
"eyebrow": "Flint - Discord bot barındırma",
"title": "Discord hesabınızla giriş yapın",
"description": "Botlarınızı barındırmak ve panelinize erişmek için OAuth2 ile kimlik doğrulaması yapın.",
"cta": "Discord ile devam et"
+5 -5
View File
@@ -1,10 +1,10 @@
{
"metadata": {
"title": "Shadow - Discord 机器人托管(每个机器人每月 2 欧元起)",
"title": "Flint - Discord 机器人托管(每个机器人每月 2 欧元起)",
"description": "多租户 SaaS 平台,用于托管和管理你的 Discord 机器人,支持自动命令、v2 组件、多语言和动态变量。"
},
"common": {
"brand": "Shadow"
"brand": "Flint"
},
"nav": {
"home": "首页",
@@ -34,7 +34,7 @@
},
"hero": {
"kicker": "Discord 机器人 SaaS 平台",
"title": "Shadow - 托管你的 Discord 机器人(每个机器人每月 2 欧元起)",
"title": "Flint - 托管你的 Discord 机器人(每个机器人每月 2 欧元起)",
"description": "托管并管理你的机器人,支持自动命令(前缀与斜杠)、v2 组件、自动帮助、多语言支持和动态变量。",
"ctaStart": "开始使用 - 每月 2 欧元",
"ctaLogin": "登录",
@@ -91,7 +91,7 @@
"steps": {
"addBot": {
"title": "添加机器人",
"description": "通过 OAuth 连接你的 Discord 应用并注册到 Shadow。"
"description": "通过 OAuth 连接你的 Discord 应用并注册到 Flint。"
},
"dashboard": {
"title": "在控制面板管理",
@@ -109,7 +109,7 @@
"copyright": "版权所有 {year} {brand}"
},
"login": {
"eyebrow": "Shadow - Discord 机器人托管",
"eyebrow": "Flint - Discord 机器人托管",
"title": "连接你的 Discord 账号",
"description": "通过 OAuth2 登录以访问你的空间并托管机器人。",
"cta": "使用 Discord 继续"
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

+90
View File
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg1"
width="592.12524"
height="617.29657"
viewBox="0 0 592.12525 617.29657"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1">
<linearGradient
id="linearGradient206807">
<stop
style="stop-color:#ff5500;stop-opacity:1;"
offset="0"
id="stop206806" />
<stop
style="stop-color:#ffaa00;stop-opacity:1;"
offset="1"
id="stop206807" />
</linearGradient>
<linearGradient
id="linearGradient206805">
<stop
style="stop-color:#ff8000;stop-opacity:1;"
offset="0"
id="stop206804" />
<stop
style="stop-color:#ffd400;stop-opacity:1;"
offset="1"
id="stop206805" />
</linearGradient>
<linearGradient
id="linearGradient206803">
<stop
style="stop-color:#ff9501;stop-opacity:1;"
offset="0"
id="stop206802" />
<stop
style="stop-color:#ffaa00;stop-opacity:1;"
offset="1"
id="stop206803" />
</linearGradient>
<linearGradient
xlink:href="#linearGradient206803"
id="linearGradient206778"
x1="97.018051"
y1="299.11411"
x2="97.018051"
y2="414.93875"
gradientUnits="userSpaceOnUse" />
<linearGradient
xlink:href="#linearGradient206805"
id="linearGradient206779"
x1="253.93118"
y1="251.12585"
x2="253.93118"
y2="588.44159"
gradientUnits="userSpaceOnUse" />
<linearGradient
xlink:href="#linearGradient206807"
id="linearGradient206780"
x1="296.65967"
y1="-135.14021"
x2="296.65967"
y2="456.98505"
gradientUnits="userSpaceOnUse" />
</defs>
<g
id="g1"
style="display:inline"
transform="translate(-0.59703415)">
<path
style="opacity:1;fill:url(#linearGradient206780);fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
d="M 168.86676,0 0.59703415,321.84482 221.21545,124.9614 461.00625,123.27273 592.72232,1.6886676 Z"
id="path206691" />
<path
style="opacity:1;fill:url(#linearGradient206779);fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
d="m 220.5822,222.27087 202.00686,0.84434 -116.20143,108.81351 102.32554,5.86041 -323.43985,279.50741 167.71019,-290.1172 -87.91625,-3.79949 z"
id="path206692" />
<path
style="opacity:1;fill:url(#linearGradient206778);fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
d="m 94.629913,293.14377 c 4.868743,37.83487 20.963677,58.70126 60.300447,62.9871 -39.54659,3.83789 -54.2267,25.37786 -60.598964,64.77821 -5.167027,-39.84223 -20.919004,-60.83468 -55.225659,-64.18118 33.6881,-9.55827 50.338301,-24.9071 55.524176,-63.58413 z"
id="path206697" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+19
View File
@@ -0,0 +1,19 @@
{
"name": "Your App Name",
"short_name": "Your App",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}