- Members roster avatars render 230px tall (full body); NMSR size bumped to 256 and tiles widened to fit the portrait. - Features section is now two columns: the 4 feature cards stacked on the left, a Minecraft goat image on the right (public/Goat_JE1_BE1.webp). Stacks on narrow screens. - Header nav links trimmed to How to Join + Status; the auth CTA cluster is now Register / Account / Play (the old "Log in" button relabeled Account → Cuenta/Kontua). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
729 lines
27 KiB
TypeScript
729 lines
27 KiB
TypeScript
// Translatable UI copy for the landing page. Structure is identical across
|
||
// locales; the page (src/pages/[...lang].astro) renders against it.
|
||
//
|
||
// Conventions:
|
||
// - "{name}" is replaced with the launcher name at render time.
|
||
// - Sentences containing links/kbd/literals are split into parts (a/b/pre/
|
||
// post/link) so the markup stays in the template, not in the strings.
|
||
// - Product / in-game literals (authlib-injector, Multiplayer, Add Server)
|
||
// live in site.ts LITERALS and are never translated.
|
||
|
||
export type Lang = "en" | "es" | "eu";
|
||
export const LANGS: Lang[] = ["en", "es", "eu"];
|
||
export const LANG_LABEL: Record<Lang, string> = { en: "EN", es: "ES", eu: "EU" };
|
||
// URL path per locale (es is default, served at root; en moves to /en/).
|
||
export const LANG_PATH: Record<Lang, string> = { es: "/", en: "/en/", eu: "/eu/" };
|
||
// Register page path per locale (mirrors LANG_PATH: es at /register).
|
||
export const LANG_REGISTER_PATH: Record<Lang, string> = {
|
||
es: "/register",
|
||
en: "/en/register",
|
||
eu: "/eu/register",
|
||
};
|
||
// Fjord (alternative path) page path per locale (mirrors LANG_REGISTER_PATH).
|
||
export const LANG_FJORD_PATH: Record<Lang, string> = {
|
||
es: "/fjord",
|
||
en: "/en/fjord",
|
||
eu: "/eu/fjord",
|
||
};
|
||
// Account page path per locale (mirrors LANG_REGISTER_PATH).
|
||
export const LANG_ACCOUNT_PATH: Record<Lang, string> = {
|
||
es: "/account",
|
||
en: "/en/account",
|
||
eu: "/eu/account",
|
||
};
|
||
|
||
export interface UI {
|
||
htmlLang: string;
|
||
copied: string; // transient copy-button feedback
|
||
nav: { status: string; members: string; features: string; mods: string; join: string; play: string; register: string; login: string };
|
||
hero: {
|
||
eyebrow: string; // "Modded LAN · NeoForge" — version appended at render
|
||
tagline: string;
|
||
sub: string;
|
||
copyIp: string;
|
||
howToJoin: string;
|
||
metaModpack: string;
|
||
metaLan: string;
|
||
};
|
||
status: {
|
||
eyebrow: string;
|
||
title: string;
|
||
lead: string;
|
||
modded: string;
|
||
motd: string;
|
||
upTo: string;
|
||
};
|
||
statLabels: [string, string, string, string];
|
||
members: {
|
||
eyebrow: string;
|
||
title: string;
|
||
lead: string;
|
||
empty: string; // shown when the roster is empty or unreachable
|
||
};
|
||
features: {
|
||
eyebrow: string;
|
||
title: string;
|
||
lead: string;
|
||
items: { h: string; p: string }[];
|
||
};
|
||
mods: {
|
||
eyebrow: string;
|
||
title: string;
|
||
lead: string;
|
||
empty: string; // shown when the catalogue is absent/empty (not yet generated)
|
||
};
|
||
join: {
|
||
eyebrow: string;
|
||
title: string;
|
||
lead: string;
|
||
s1: {
|
||
kicker: string;
|
||
h: string;
|
||
pa: string; // before the register link
|
||
pb: string; // after it
|
||
registerLink: string;
|
||
};
|
||
s2: { kicker: string; h: string; p: string };
|
||
};
|
||
fjord: {
|
||
navHome: string; // "← Home" link in nav
|
||
eyebrow: string;
|
||
title: string;
|
||
lead: string;
|
||
s1: { kicker: string; h: string; p: string };
|
||
s2: {
|
||
kicker: string;
|
||
h: string;
|
||
pa: string; // before the authlib-injector literal
|
||
pb: string; // after it
|
||
copy: string;
|
||
};
|
||
s3: { kicker: string; h: string; p: string };
|
||
s4: {
|
||
kicker: string;
|
||
h: string;
|
||
pa: string; // before the Multiplayer/Add Server kbds
|
||
pb: string; // after them
|
||
copy: string;
|
||
};
|
||
noPack: string; // shown when fjordPack is missing from the manifest
|
||
};
|
||
footer: { join: string; status: string; disc: string };
|
||
register: {
|
||
navHome: string; // "← Home" link in nav
|
||
eyebrow: string;
|
||
title: string;
|
||
lead: string;
|
||
usernameLabel: string;
|
||
usernamePlaceholder: string;
|
||
passwordLabel: string;
|
||
passwordPlaceholder: string;
|
||
inviteLabel: string;
|
||
invitePlaceholder: string;
|
||
inviteHint: string; // where to get a code
|
||
submit: string;
|
||
submitting: string;
|
||
haveAccount: string; // "Already have an account?"
|
||
loginLink: string; // links to the account page
|
||
successTitle: string;
|
||
successBody: string; // {name} = player name
|
||
uuidLabel: string;
|
||
skinTitle: string;
|
||
skinLead: string;
|
||
skinChoose: string;
|
||
modelLabel: string;
|
||
modelClassic: string;
|
||
modelSlim: string;
|
||
skinUpload: string;
|
||
skinUploading: string;
|
||
skinOk: string;
|
||
finish: string; // proceed to How to Join
|
||
errFields: string;
|
||
errSkinType: string;
|
||
errNetwork: string;
|
||
};
|
||
account: {
|
||
navHome: string; // "← Home" link in nav
|
||
eyebrow: string;
|
||
title: string;
|
||
lead: string;
|
||
// Login form
|
||
usernameLabel: string;
|
||
usernamePlaceholder: string;
|
||
passwordLabel: string;
|
||
passwordPlaceholder: string;
|
||
submit: string;
|
||
submitting: string;
|
||
noAccount: string; // "No account yet?"
|
||
registerLink: string; // links to /register
|
||
// Skin panel
|
||
refresh: string; // re-fetch the NMSR avatar
|
||
playerLabel: string; // "Logged in as"
|
||
skinTitle: string;
|
||
skinLead: string; // reuses register.skinLead concept
|
||
skinChoose: string;
|
||
modelLabel: string;
|
||
modelClassic: string;
|
||
modelSlim: string;
|
||
skinUpload: string;
|
||
skinUploading: string;
|
||
skinOk: string;
|
||
skinPreviewNote: string; // "NMSR takes ~1 min to update" hint
|
||
resetSkin: string;
|
||
resetConfirm: string; // window.confirm text
|
||
resetOk: string;
|
||
// Errors
|
||
errFields: string;
|
||
errSkinType: string;
|
||
errNetwork: string;
|
||
};
|
||
}
|
||
|
||
export const ui: Record<Lang, UI> = {
|
||
en: {
|
||
htmlLang: "en",
|
||
copied: "Copied!",
|
||
nav: { status: "Status", members: "Members", features: "Features", mods: "Mods", join: "How to Join", play: "Play", register: "Register", login: "Account" },
|
||
hero: {
|
||
eyebrow: "Modded LAN · NeoForge",
|
||
tagline: "Kitchen-sink survival, built to outlast the weekend.",
|
||
sub:
|
||
"A self-hosted modded server for the crew — a curated tech + magic + " +
|
||
"exploration pack, your own skins, one-click setup. Grab the address, " +
|
||
"import the pack, dig in.",
|
||
copyIp: "Copy IP",
|
||
howToJoin: "How to Join",
|
||
metaModpack: "NeoForge modpack",
|
||
metaLan: "LAN-only",
|
||
},
|
||
status: {
|
||
eyebrow: "Server",
|
||
title: "This is what you'll see.",
|
||
lead: "Exactly the entry that shows up in your multiplayer list.",
|
||
modded: "Modded",
|
||
motd: "NeoForge modpack · Simple Voice Chat · LAN-only",
|
||
upTo: "up to",
|
||
},
|
||
statLabels: ["Mods", "NeoForge", "Player slots", "World backups"],
|
||
members: {
|
||
eyebrow: "The crew",
|
||
title: "Who's on the server.",
|
||
lead: "Everyone registered on Ulicraft, with their own self-hosted skin.",
|
||
empty: "No members yet — be the first to register.",
|
||
},
|
||
features: {
|
||
eyebrow: "What makes it Ulicraft",
|
||
title: "Built for the crew.",
|
||
lead:
|
||
"Self-hosted, curated, and persistent — a modded server that respects " +
|
||
"your time and outlives the LAN.",
|
||
items: [
|
||
{
|
||
h: "Kitchen-sink pack",
|
||
p: "~50–100 hand-picked mods — tech, magic, exploration and QoL. NeoForge 1.21.1, curated, no bloat.",
|
||
},
|
||
{
|
||
h: "Your identity, self-hosted",
|
||
p: "Drasl runs accounts and skins on the LAN. No Mojang login needed — your skin and cape just work.",
|
||
},
|
||
{
|
||
h: "One-click setup",
|
||
p: "The Ulicraft Launcher installs and updates the whole modpack from our distribution, so everyone stays in sync.",
|
||
},
|
||
{
|
||
h: "Built to last",
|
||
p: "Not a weekend throwaway — it runs on the homelab with 6-hour world backups. Your base survives.",
|
||
},
|
||
],
|
||
},
|
||
mods: {
|
||
eyebrow: "The pack",
|
||
title: "Every mod in the pack.",
|
||
lead: "The full client modset, installed automatically by the launcher. No hunting, no version mismatches.",
|
||
empty: "Mod list not generated yet — check back soon.",
|
||
},
|
||
join: {
|
||
eyebrow: "How to Join · 2 Steps",
|
||
title: "From zero to spawning in.",
|
||
lead: "One-time setup. After this, the launcher keeps you in sync.",
|
||
s1: {
|
||
kicker: "Account",
|
||
h: "Register",
|
||
pa: "Create your Ulicraft account at",
|
||
pb: "— one username and password for the server and your skin.",
|
||
registerLink: "Register",
|
||
},
|
||
s2: {
|
||
kicker: "Launcher",
|
||
h: "Download {name}",
|
||
p: "Grab {name}, log in with your Ulicraft credentials, and hit play. Everything else — the modpack, the server address, updates — is handled inside the launcher.",
|
||
},
|
||
},
|
||
fjord: {
|
||
navHome: "← Home",
|
||
eyebrow: "Alternative · Fjord Launcher",
|
||
title: "Play with Fjord Launcher.",
|
||
lead: "Prefer a vanilla Prism-based launcher? Set it up manually with Fjord and import the Ulicraft pack.",
|
||
s1: {
|
||
kicker: "Launcher",
|
||
h: "Download Fjord",
|
||
p: "Grab Fjord Launcher for your system — a Prism-based launcher with authlib-injector support built in.",
|
||
},
|
||
s2: {
|
||
kicker: "Account",
|
||
h: "Add your account",
|
||
pa: "In Fjord, add an",
|
||
pb: "account using this URL, then log in with your Ulicraft credentials.",
|
||
copy: "Copy",
|
||
},
|
||
s3: {
|
||
kicker: "Modpack",
|
||
h: "Import the Ulicraft pack",
|
||
p: "Download the Ulicraft modpack and import it into Fjord as a new instance — it installs the whole pack.",
|
||
},
|
||
s4: {
|
||
kicker: "Connect",
|
||
h: "Join the server",
|
||
pa: "Launch the instance, open",
|
||
pb: ", paste the address, and join.",
|
||
copy: "Copy IP",
|
||
},
|
||
noPack: "The pack download isn't available yet — check back soon.",
|
||
},
|
||
footer: {
|
||
join: "How to Join",
|
||
status: "Server status",
|
||
disc: "Not affiliated with Mojang or Microsoft. Minecraft is a trademark of Mojang AB.",
|
||
},
|
||
register: {
|
||
navHome: "← Home",
|
||
eyebrow: "Account",
|
||
title: "Create your Ulicraft account.",
|
||
lead: "One username and password for the server, your skin, and your cape. Takes a minute.",
|
||
usernameLabel: "Username",
|
||
usernamePlaceholder: "your in-game name",
|
||
passwordLabel: "Password",
|
||
passwordPlaceholder: "choose a password",
|
||
inviteLabel: "Invite code",
|
||
invitePlaceholder: "paste your invite code",
|
||
inviteHint: "Ask an admin for an invite code.",
|
||
submit: "Create account",
|
||
submitting: "Creating…",
|
||
haveAccount: "Already have an account?",
|
||
loginLink: "Manage it here",
|
||
successTitle: "Account created.",
|
||
successBody: "Welcome, {name}. You can set a skin now, or head straight to How to Join.",
|
||
uuidLabel: "Player UUID",
|
||
skinTitle: "Set your skin (optional)",
|
||
skinLead: "Upload a Minecraft skin PNG. You can always change it later in the account page.",
|
||
skinChoose: "Choose PNG…",
|
||
modelLabel: "Model",
|
||
modelClassic: "Classic",
|
||
modelSlim: "Slim",
|
||
skinUpload: "Upload skin",
|
||
skinUploading: "Uploading…",
|
||
skinOk: "Skin set!",
|
||
finish: "Continue to How to Join",
|
||
errFields: "Fill in every field.",
|
||
errSkinType: "Pick a PNG image.",
|
||
errNetwork: "Network error — try again.",
|
||
},
|
||
account: {
|
||
navHome: "← Home",
|
||
eyebrow: "Account",
|
||
title: "Manage your skin.",
|
||
lead: "Log in to upload or reset your Minecraft skin.",
|
||
usernameLabel: "Username",
|
||
usernamePlaceholder: "your in-game name",
|
||
passwordLabel: "Password",
|
||
passwordPlaceholder: "your password",
|
||
submit: "Log in",
|
||
submitting: "Logging in…",
|
||
noAccount: "No account yet?",
|
||
registerLink: "Register here",
|
||
refresh: "Refresh",
|
||
playerLabel: "Logged in as",
|
||
skinTitle: "Your skin",
|
||
skinLead: "Upload a Minecraft skin PNG. The 3D preview below updates instantly; the in-game avatar takes ~1 minute.",
|
||
skinChoose: "Choose PNG…",
|
||
modelLabel: "Model",
|
||
modelClassic: "Classic",
|
||
modelSlim: "Slim",
|
||
skinUpload: "Upload skin",
|
||
skinUploading: "Uploading…",
|
||
skinOk: "Skin updated!",
|
||
skinPreviewNote: "Avatar updates in ~1 min.",
|
||
resetSkin: "Reset to default",
|
||
resetConfirm: "Reset your skin to the default? This cannot be undone.",
|
||
resetOk: "Skin reset to default.",
|
||
errFields: "Fill in every field.",
|
||
errSkinType: "Pick a PNG image.",
|
||
errNetwork: "Network error — try again.",
|
||
},
|
||
},
|
||
|
||
es: {
|
||
htmlLang: "es",
|
||
copied: "¡Copiado!",
|
||
nav: { status: "Estado", members: "Miembros", features: "Características", mods: "Mods", join: "Cómo entrar", play: "Jugar", register: "Registro", login: "Cuenta" },
|
||
hero: {
|
||
eyebrow: "LAN con mods · NeoForge",
|
||
tagline: "Supervivencia todo incluido, para durar más que el finde.",
|
||
sub:
|
||
"Un servidor con mods autoalojado para la cuadrilla: un pack curado de " +
|
||
"tecnología, magia y exploración, tus propias skins y configuración en un " +
|
||
"clic. Copia la dirección, importa el pack y a cavar.",
|
||
copyIp: "Copiar IP",
|
||
howToJoin: "Cómo entrar",
|
||
metaModpack: "Pack NeoForge",
|
||
metaLan: "Solo LAN",
|
||
},
|
||
status: {
|
||
eyebrow: "Servidor",
|
||
title: "Esto es lo que verás.",
|
||
lead: "La misma entrada que aparece en tu lista de multijugador.",
|
||
modded: "Con mods",
|
||
motd: "Pack NeoForge · Simple Voice Chat · Solo LAN",
|
||
upTo: "hasta",
|
||
},
|
||
statLabels: ["Mods", "NeoForge", "Plazas", "Copias del mundo"],
|
||
members: {
|
||
eyebrow: "La cuadrilla",
|
||
title: "Quién está en el servidor.",
|
||
lead: "Todos los registrados en Ulicraft, cada uno con su skin autoalojada.",
|
||
empty: "Aún no hay miembros — sé el primero en registrarte.",
|
||
},
|
||
features: {
|
||
eyebrow: "Qué hace especial a Ulicraft",
|
||
title: "Hecho para la cuadrilla.",
|
||
lead:
|
||
"Autoalojado, curado y persistente: un servidor con mods que respeta tu " +
|
||
"tiempo y sobrevive a la LAN.",
|
||
items: [
|
||
{
|
||
h: "Pack todo incluido",
|
||
p: "~50–100 mods elegidos a mano: tecnología, magia, exploración y QoL. NeoForge 1.21.1, curado y sin relleno.",
|
||
},
|
||
{
|
||
h: "Tu identidad, autoalojada",
|
||
p: "Drasl gestiona cuentas y skins en la LAN. Sin login de Mojang: tu skin y tu capa funcionan sin más.",
|
||
},
|
||
{
|
||
h: "Configuración en un clic",
|
||
p: "El Ulicraft Launcher instala y actualiza todo el modpack desde nuestra distribución, así todos vais sincronizados.",
|
||
},
|
||
{
|
||
h: "Hecho para durar",
|
||
p: "No es de usar y tirar: corre en el homelab con copias del mundo cada 6 horas. Tu base sobrevive.",
|
||
},
|
||
],
|
||
},
|
||
mods: {
|
||
eyebrow: "El pack",
|
||
title: "Todos los mods del pack.",
|
||
lead: "El modset completo del cliente, instalado automáticamente por el launcher. Sin búsquedas ni versiones incompatibles.",
|
||
empty: "La lista de mods aún no está generada — vuelve pronto.",
|
||
},
|
||
join: {
|
||
eyebrow: "Cómo entrar · 2 pasos",
|
||
title: "De cero a aparecer en el mundo.",
|
||
lead: "Configuración única. Después, el launcher te mantiene sincronizado.",
|
||
s1: {
|
||
kicker: "Cuenta",
|
||
h: "Regístrate",
|
||
pa: "Crea tu cuenta de Ulicraft en",
|
||
pb: "— un usuario y contraseña para el servidor y tu skin.",
|
||
registerLink: "Registro",
|
||
},
|
||
s2: {
|
||
kicker: "Launcher",
|
||
h: "Descarga {name}",
|
||
p: "Coge {name}, inicia sesión con tus credenciales de Ulicraft y dale a jugar. Todo lo demás — el modpack, la dirección del servidor, las actualizaciones — se gestiona dentro del launcher.",
|
||
},
|
||
},
|
||
fjord: {
|
||
navHome: "← Inicio",
|
||
eyebrow: "Alternativa · Fjord Launcher",
|
||
title: "Juega con Fjord Launcher.",
|
||
lead: "¿Prefieres un launcher vanilla basado en Prism? Configúralo a mano con Fjord e importa el pack de Ulicraft.",
|
||
s1: {
|
||
kicker: "Launcher",
|
||
h: "Descarga Fjord",
|
||
p: "Coge Fjord Launcher para tu sistema: un launcher basado en Prism con soporte authlib-injector integrado.",
|
||
},
|
||
s2: {
|
||
kicker: "Cuenta",
|
||
h: "Añade tu cuenta",
|
||
pa: "En Fjord, añade una cuenta",
|
||
pb: "con esta URL y luego inicia sesión con tus credenciales de Ulicraft.",
|
||
copy: "Copiar",
|
||
},
|
||
s3: {
|
||
kicker: "Modpack",
|
||
h: "Importa el pack de Ulicraft",
|
||
p: "Descarga el modpack de Ulicraft e impórtalo en Fjord como instancia nueva: instala todo el pack.",
|
||
},
|
||
s4: {
|
||
kicker: "Conectar",
|
||
h: "Entra al servidor",
|
||
pa: "Lanza la instancia, abre",
|
||
pb: ", pega la dirección y entra.",
|
||
copy: "Copiar IP",
|
||
},
|
||
noPack: "La descarga del pack aún no está disponible — vuelve pronto.",
|
||
},
|
||
footer: {
|
||
join: "Cómo entrar",
|
||
status: "Estado del servidor",
|
||
disc: "No afiliado a Mojang ni Microsoft. Minecraft es una marca de Mojang AB.",
|
||
},
|
||
register: {
|
||
navHome: "← Inicio",
|
||
eyebrow: "Cuenta",
|
||
title: "Crea tu cuenta de Ulicraft.",
|
||
lead: "Un usuario y contraseña para el servidor, tu skin y tu capa. Cosa de un minuto.",
|
||
usernameLabel: "Usuario",
|
||
usernamePlaceholder: "tu nombre en el juego",
|
||
passwordLabel: "Contraseña",
|
||
passwordPlaceholder: "elige una contraseña",
|
||
inviteLabel: "Código de invitación",
|
||
invitePlaceholder: "pega tu código de invitación",
|
||
inviteHint: "Pide un código de invitación a un admin.",
|
||
submit: "Crear cuenta",
|
||
submitting: "Creando…",
|
||
haveAccount: "¿Ya tienes cuenta?",
|
||
loginLink: "Gestiónala aquí",
|
||
successTitle: "Cuenta creada.",
|
||
successBody: "Bienvenido, {name}. Puedes poner una skin ahora o ir directo a Cómo entrar.",
|
||
uuidLabel: "UUID del jugador",
|
||
skinTitle: "Pon tu skin (opcional)",
|
||
skinLead: "Sube un PNG de skin de Minecraft. Siempre puedes cambiarla luego en tu cuenta.",
|
||
skinChoose: "Elegir PNG…",
|
||
modelLabel: "Modelo",
|
||
modelClassic: "Clásico",
|
||
modelSlim: "Fino",
|
||
skinUpload: "Subir skin",
|
||
skinUploading: "Subiendo…",
|
||
skinOk: "¡Skin puesta!",
|
||
finish: "Continuar a Cómo entrar",
|
||
errFields: "Rellena todos los campos.",
|
||
errSkinType: "Elige una imagen PNG.",
|
||
errNetwork: "Error de red: inténtalo de nuevo.",
|
||
},
|
||
account: {
|
||
navHome: "← Inicio",
|
||
eyebrow: "Cuenta",
|
||
title: "Gestiona tu skin.",
|
||
lead: "Inicia sesión para subir o restablecer tu skin de Minecraft.",
|
||
usernameLabel: "Usuario",
|
||
usernamePlaceholder: "tu nombre en el juego",
|
||
passwordLabel: "Contraseña",
|
||
passwordPlaceholder: "tu contraseña",
|
||
submit: "Iniciar sesión",
|
||
submitting: "Entrando…",
|
||
noAccount: "¿Aún no tienes cuenta?",
|
||
registerLink: "Regístrate aquí",
|
||
refresh: "Actualizar",
|
||
playerLabel: "Sesión iniciada como",
|
||
skinTitle: "Tu skin",
|
||
skinLead: "Sube un PNG de skin de Minecraft. La vista previa 3D se actualiza al instante; el avatar en el juego tarda ~1 minuto.",
|
||
skinChoose: "Elegir PNG…",
|
||
modelLabel: "Modelo",
|
||
modelClassic: "Clásico",
|
||
modelSlim: "Fino",
|
||
skinUpload: "Subir skin",
|
||
skinUploading: "Subiendo…",
|
||
skinOk: "¡Skin actualizada!",
|
||
skinPreviewNote: "El avatar se actualiza en ~1 min.",
|
||
resetSkin: "Restablecer skin",
|
||
resetConfirm: "¿Restablecer tu skin a la predeterminada? Esta acción no se puede deshacer.",
|
||
resetOk: "Skin restablecida.",
|
||
errFields: "Rellena todos los campos.",
|
||
errSkinType: "Elige una imagen PNG.",
|
||
errNetwork: "Error de red: inténtalo de nuevo.",
|
||
},
|
||
},
|
||
|
||
eu: {
|
||
htmlLang: "eu",
|
||
copied: "Kopiatuta!",
|
||
nav: { status: "Egoera", members: "Kideak", features: "Ezaugarriak", mods: "Mods", join: "Nola sartu", play: "Jolastu", register: "Erregistroa", login: "Kontua" },
|
||
hero: {
|
||
eyebrow: "Mod-dun LANa · NeoForge",
|
||
tagline: "Mod ugariko biziraupena, irauteko egina.",
|
||
sub:
|
||
"Koadrilarentzako mod-dun zerbitzari auto-ostatatua: teknologia, magia eta " +
|
||
"esplorazio pack zaindua, zure azalak eta konfigurazioa klik bakarrean. " +
|
||
"Hartu helbidea, inportatu packa eta hasi zulatzen.",
|
||
copyIp: "Kopiatu IPa",
|
||
howToJoin: "Nola sartu",
|
||
metaModpack: "NeoForge packa",
|
||
metaLan: "LAN soilik",
|
||
},
|
||
status: {
|
||
eyebrow: "Zerbitzaria",
|
||
title: "Hau ikusiko duzu.",
|
||
lead: "Zure multijokalari-zerrendan agertzen den sarrera bera.",
|
||
modded: "Mod-duna",
|
||
motd: "NeoForge packa · Simple Voice Chat · LAN soilik",
|
||
upTo: "gehienez",
|
||
},
|
||
statLabels: ["Modak", "NeoForge", "Plazak", "Munduaren babeskopiak"],
|
||
members: {
|
||
eyebrow: "Koadrila",
|
||
title: "Nor dago zerbitzarian.",
|
||
lead: "Ulicraft-en erregistratutako guztiak, bakoitza bere azal auto-ostatatuarekin.",
|
||
empty: "Oraindik ez dago kiderik — izan zaitez lehena erregistratzen.",
|
||
},
|
||
features: {
|
||
eyebrow: "Zerk egiten du Ulicraft berezi",
|
||
title: "Koadrilarentzat eginda.",
|
||
lead:
|
||
"Auto-ostatatua, zaindua eta iraunkorra: zure denbora errespetatzen duen " +
|
||
"eta LANa gainditzen duen mod-dun zerbitzaria.",
|
||
items: [
|
||
{
|
||
h: "Pack osoa",
|
||
p: "Eskuz aukeratutako ~50–100 mod: teknologia, magia, esplorazioa eta QoL. NeoForge 1.21.1, zaindua eta betegarririk gabe.",
|
||
},
|
||
{
|
||
h: "Zure nortasuna, auto-ostatatua",
|
||
p: "Draslek kontuak eta azalak LANean kudeatzen ditu. Mojang loginik gabe: zure azalak eta kapak besterik gabe dabiltza.",
|
||
},
|
||
{
|
||
h: "Konfigurazioa klik batean",
|
||
p: "Ulicraft Launcher-ek modpack osoa instalatu eta eguneratzen du gure banaketatik, denok sinkronizatuta egoteko.",
|
||
},
|
||
{
|
||
h: "Irauteko eginda",
|
||
p: "Ez da behin erabili eta botatzekoa: homelab-ean dabil, munduaren babeskopiak 6 orduro. Zure basea bizirik.",
|
||
},
|
||
],
|
||
},
|
||
mods: {
|
||
eyebrow: "Packa",
|
||
title: "Packeko mod guztiak.",
|
||
lead: "Bezeroaren mod-multzo osoa, launcherrak automatikoki instalatua. Bilaketarik gabe, bertsio-gatazkarik gabe.",
|
||
empty: "Mod zerrenda oraindik ez da sortu — itzuli laster.",
|
||
},
|
||
join: {
|
||
eyebrow: "Nola sartu · 2 urrats",
|
||
title: "Zerotik mundura agertzera.",
|
||
lead: "Behin bakarrik konfiguratu. Gero, launcherrak sinkronizatuta mantenduko zaitu.",
|
||
s1: {
|
||
kicker: "Kontua",
|
||
h: "Erregistratu",
|
||
pa: "Sortu zure Ulicraft kontua hemen:",
|
||
pb: "— erabiltzaile eta pasahitz bat zerbitzarirako eta zure azalerako.",
|
||
registerLink: "Erregistroa",
|
||
},
|
||
s2: {
|
||
kicker: "Launcherra",
|
||
h: "Deskargatu {name}",
|
||
p: "Hartu {name}, hasi saioa zure Ulicraft kredentzialekin eta sakatu jolastu. Gainerako guztia — modpacka, zerbitzariaren helbidea, eguneraketak — launcherraren barruan kudeatzen da.",
|
||
},
|
||
},
|
||
fjord: {
|
||
navHome: "← Hasiera",
|
||
eyebrow: "Alternatiba · Fjord Launcher",
|
||
title: "Jokatu Fjord Launcher-ekin.",
|
||
lead: "Prism-en oinarritutako launcher vanilla nahiago duzu? Konfiguratu eskuz Fjord-ekin eta inportatu Ulicraft packa.",
|
||
s1: {
|
||
kicker: "Launcherra",
|
||
h: "Deskargatu Fjord",
|
||
p: "Hartu Fjord Launcher zure sistemarako: Prism-en oinarritutako launcherra, authlib-injector euskarriarekin.",
|
||
},
|
||
s2: {
|
||
kicker: "Kontua",
|
||
h: "Gehitu zure kontua",
|
||
pa: "Fjord-en, gehitu",
|
||
pb: "kontu bat URL honekin, eta gero hasi saioa zure Ulicraft kredentzialekin.",
|
||
copy: "Kopiatu",
|
||
},
|
||
s3: {
|
||
kicker: "Modpacka",
|
||
h: "Inportatu Ulicraft packa",
|
||
p: "Deskargatu Ulicraft modpacka eta inportatu Fjord-en instantzia berri gisa: pack osoa instalatzen du.",
|
||
},
|
||
s4: {
|
||
kicker: "Konektatu",
|
||
h: "Sartu zerbitzarira",
|
||
pa: "Abiarazi instantzia, ireki",
|
||
pb: ", itsatsi helbidea eta sartu.",
|
||
copy: "Kopiatu IPa",
|
||
},
|
||
noPack: "Packaren deskarga ez dago oraindik eskuragarri — itzuli laster.",
|
||
},
|
||
footer: {
|
||
join: "Nola sartu",
|
||
status: "Zerbitzariaren egoera",
|
||
disc: "Ez dago Mojang edo Microsoft-ekin lotuta. Minecraft Mojang AB-ren marka da.",
|
||
},
|
||
register: {
|
||
navHome: "← Hasiera",
|
||
eyebrow: "Kontua",
|
||
title: "Sortu zure Ulicraft kontua.",
|
||
lead: "Erabiltzaile eta pasahitz bat zerbitzarirako, zure azalerako eta kaparako. Minutu batean.",
|
||
usernameLabel: "Erabiltzailea",
|
||
usernamePlaceholder: "zure jokoko izena",
|
||
passwordLabel: "Pasahitza",
|
||
passwordPlaceholder: "aukeratu pasahitz bat",
|
||
inviteLabel: "Gonbidapen-kodea",
|
||
invitePlaceholder: "itsatsi zure gonbidapen-kodea",
|
||
inviteHint: "Eskatu gonbidapen-kode bat admin bati.",
|
||
submit: "Sortu kontua",
|
||
submitting: "Sortzen…",
|
||
haveAccount: "Baduzu kontua?",
|
||
loginLink: "Kudeatu hemen",
|
||
successTitle: "Kontua sortuta.",
|
||
successBody: "Ongi etorri, {name}. Azala orain jar dezakezu, edo zuzenean Nola sartu atalera joan.",
|
||
uuidLabel: "Jokalariaren UUIDa",
|
||
skinTitle: "Jarri zure azala (aukerakoa)",
|
||
skinLead: "Igo Minecraft azal PNG bat. Beti alda dezakezu gero zure kontuan.",
|
||
skinChoose: "Aukeratu PNGa…",
|
||
modelLabel: "Eredua",
|
||
modelClassic: "Klasikoa",
|
||
modelSlim: "Mehea",
|
||
skinUpload: "Igo azala",
|
||
skinUploading: "Igotzen…",
|
||
skinOk: "Azala jarrita!",
|
||
finish: "Jarraitu Nola sartura",
|
||
errFields: "Bete eremu guztiak.",
|
||
errSkinType: "Aukeratu PNG irudi bat.",
|
||
errNetwork: "Sare-errorea: saiatu berriro.",
|
||
},
|
||
account: {
|
||
navHome: "← Hasiera",
|
||
eyebrow: "Kontua",
|
||
title: "Kudeatu zure azala.",
|
||
lead: "Hasi saioa zure Minecraft azala igotzeko edo berrezartzeko.",
|
||
usernameLabel: "Erabiltzailea",
|
||
usernamePlaceholder: "zure jokoko izena",
|
||
passwordLabel: "Pasahitza",
|
||
passwordPlaceholder: "zure pasahitza",
|
||
submit: "Hasi saioa",
|
||
submitting: "Sartzen…",
|
||
noAccount: "Oraindik konturik ez?",
|
||
registerLink: "Erregistratu hemen",
|
||
refresh: "Eguneratu",
|
||
playerLabel: "Saioa hasita:",
|
||
skinTitle: "Zure azala",
|
||
skinLead: "Igo Minecraft azal PNG bat. 3D aurrebista berehala eguneratzen da; jokoko avatarra ~1 minutuan.",
|
||
skinChoose: "Aukeratu PNGa…",
|
||
modelLabel: "Eredua",
|
||
modelClassic: "Klasikoa",
|
||
modelSlim: "Mehea",
|
||
skinUpload: "Igo azala",
|
||
skinUploading: "Igotzen…",
|
||
skinOk: "Azala eguneratuta!",
|
||
skinPreviewNote: "Avatarra ~1 min barru eguneratzen da.",
|
||
resetSkin: "Berrezarri azala",
|
||
resetConfirm: "Zure azala lehenetsi nahi duzu? Ezin da desegin.",
|
||
resetOk: "Azala berrezarrita.",
|
||
errFields: "Bete eremu guztiak.",
|
||
errSkinType: "Aukeratu PNG irudi bat.",
|
||
errNetwork: "Sare-errorea: saiatu berriro.",
|
||
},
|
||
},
|
||
};
|