Release v0.2.10: Update package-lock.json and CI config

This commit is contained in:
Joan
2025-12-30 18:51:21 +01:00
parent 8b31011334
commit 592f38827e
108 changed files with 2755 additions and 1112 deletions

29
pwa/src/i18n/index.ts Normal file
View File

@@ -0,0 +1,29 @@
import i18n from 'i18next'
import { initReactI18next } from 'react-i18next'
import LanguageDetector from 'i18next-browser-languagedetector'
import en from './locales/en.json'
import es from './locales/es.json'
const resources = {
en: { translation: en },
es: { translation: es }
}
i18n
.use(LanguageDetector)
.use(initReactI18next)
.init({
resources,
fallbackLng: 'en',
supportedLngs: ['en', 'es'],
interpolation: {
escapeValue: false // React already escapes
},
detection: {
order: ['localStorage', 'navigator'],
caches: ['localStorage']
}
})
export default i18n

View File

@@ -0,0 +1,136 @@
{
"common": {
"loading": "Loading...",
"error": "Error",
"save": "Save",
"cancel": "Cancel",
"confirm": "Confirm",
"close": "Close",
"yes": "Yes",
"no": "No",
"game": "Game",
"leaderboards": "Leaderboards",
"account": "Account"
},
"auth": {
"login": "Login",
"logout": "Logout",
"register": "Register",
"username": "Username",
"password": "Password",
"email": "Email",
"forgotPassword": "Forgot Password?",
"createAccount": "Create Account",
"alreadyHaveAccount": "Already have an account?",
"dontHaveAccount": "Don't have an account?"
},
"game": {
"travel": "🧭 Travel",
"surroundings": "🌿 Surroundings",
"character": "👤 Character",
"equipment": "⚔️ Equipment",
"inventory": "🎒 Open Inventory",
"workbench": "🔧 Workbench",
"craft": "🔨 Craft",
"repair": "🛠️ Repair",
"salvage": "♻️ Salvage",
"pickUp": "Pick Up",
"drop": "Drop",
"dropAll": "All",
"use": "Use",
"equip": "Equip",
"unequip": "Unequip",
"attack": "Attack",
"flee": "Flee",
"rest": "Rest",
"onlineCount": "{{count}} Online"
},
"stats": {
"hp": "❤️ HP",
"maxHp": "❤️ Max HP",
"stamina": "⚡ Stamina",
"maxStamina": "⚡ Max Stamina",
"xp": "⭐ XP",
"level": "Level",
"unspentPoints": "⭐ Unspent",
"weight": "⚖️ Weight",
"volume": "📦 Volume",
"strength": "💪 STR",
"strengthFull": "Strength",
"strengthDesc": "Increases melee damage and carry capacity",
"agility": "🏃 AGI",
"agilityFull": "Agility",
"agilityDesc": "Improves dodge chance and critical hits",
"endurance": "🛡️ END",
"enduranceFull": "Endurance",
"enduranceDesc": "Increases HP and stamina",
"intellect": "🧠 INT",
"intellectFull": "Intellect",
"intellectDesc": "Enhances crafting and resource gathering",
"armor": "🛡️ Armor",
"damage": "⚔️ Damage",
"durability": "Durability"
},
"combat": {
"inCombat": "In Combat",
"yourTurn": "Your Turn",
"enemyTurn": "Enemy's Turn",
"victory": "Victory!",
"defeat": "Defeat",
"youDied": "You Died",
"respawn": "Respawn",
"fleeSuccess": "You escaped!",
"fleeFailed": "Failed to escape!"
},
"equipment": {
"head": "Head",
"torso": "Torso",
"legs": "Legs",
"feet": "Feet",
"weapon": "Weapon",
"backpack": "Backpack",
"noBackpack": "No Backpack Equipped",
"equipped": "Equipped"
},
"crafting": {
"requirements": "📊 Requirements",
"materials": "Materials",
"tools": "Tools",
"levelRequired": "Level {{level}} Required",
"missingRequirements": "Missing Requirements",
"craftItem": "🔨 Craft Item",
"repairItem": "🛠️ Repair Item",
"salvageItem": "♻️ Salvage Item",
"staminaCost": "⚡ {{cost}} Stamina",
"alreadyFull": "Already Full",
"perfectCondition": "✅ Item is in perfect condition",
"yieldReduced": "⚠️ Yield reduced by {{percent}}% due to damage"
},
"categories": {
"all": "All Items",
"weapon": "Weapons",
"armor": "Armor",
"clothing": "Clothing",
"backpack": "Backpacks",
"tool": "Tools",
"consumable": "Consumables",
"resource": "Resources",
"quest": "Quest",
"misc": "Misc"
},
"messages": {
"notEnoughStamina": "Not enough stamina",
"inventoryFull": "Inventory full",
"itemDropped": "Item dropped",
"itemPickedUp": "Item picked up",
"waitBeforeMoving": "Wait {{seconds}}s before moving",
"cannotTravelInCombat": "Cannot travel during combat",
"cannotInteractInCombat": "Cannot interact during combat"
},
"landing": {
"heroTitle": "Echoes of the Ash",
"heroSubtitle": "A post-apocalyptic survival RPG",
"playNow": "Play Now",
"features": "Features"
}
}

View File

@@ -0,0 +1,136 @@
{
"common": {
"loading": "Cargando...",
"error": "Error",
"save": "Guardar",
"cancel": "Cancelar",
"confirm": "Confirmar",
"close": "Cerrar",
"yes": "Sí",
"no": "No",
"game": "Juego",
"leaderboards": "Clasificación",
"account": "Cuenta"
},
"auth": {
"login": "Iniciar Sesión",
"logout": "Cerrar Sesión",
"register": "Registrarse",
"username": "Usuario",
"password": "Contraseña",
"email": "Correo",
"forgotPassword": "¿Olvidaste tu contraseña?",
"createAccount": "Crear Cuenta",
"alreadyHaveAccount": "¿Ya tienes una cuenta?",
"dontHaveAccount": "¿No tienes cuenta?"
},
"game": {
"travel": "🧭 Viajar",
"surroundings": "🌿 Alrededores",
"character": "👤 Personaje",
"equipment": "⚔️ Equipamiento",
"inventory": "🎒 Abrir Inventario",
"workbench": "🔧 Banco de Trabajo",
"craft": "🔨 Fabricar",
"repair": "🛠️ Reparar",
"salvage": "♻️ Desmontar",
"pickUp": "Recoger",
"drop": "Soltar",
"dropAll": "Todo",
"use": "Usar",
"equip": "Equipar",
"unequip": "Desequipar",
"attack": "Atacar",
"flee": "Huir",
"rest": "Descansar",
"onlineCount": "{{count}} En línea"
},
"stats": {
"hp": "❤️ Vida",
"maxHp": "❤️ Vida Máx.",
"stamina": "⚡ Aguante",
"maxStamina": "⚡ Aguante Máx.",
"xp": "⭐ XP",
"level": "Nivel",
"unspentPoints": "⭐ Sin gastar",
"weight": "⚖️ Peso",
"volume": "📦 Volumen",
"strength": "💪 FUE",
"strengthFull": "Fuerza",
"strengthDesc": "Aumenta el daño cuerpo a cuerpo y capacidad de carga",
"agility": "🏃 AGI",
"agilityFull": "Agilidad",
"agilityDesc": "Mejora la esquiva y golpes críticos",
"endurance": "🛡️ RES",
"enduranceFull": "Resistencia",
"enduranceDesc": "Aumenta la vida y energía",
"intellect": "🧠 INT",
"intellectFull": "Intelecto",
"intellectDesc": "Mejora la fabricación y recolección",
"armor": "🛡️ Armadura",
"damage": "⚔️ Daño",
"durability": "Durabilidad"
},
"combat": {
"inCombat": "En Combate",
"yourTurn": "Tu Turno",
"enemyTurn": "Turno del Enemigo",
"victory": "¡Victoria!",
"defeat": "Derrota",
"youDied": "Has Muerto",
"respawn": "Revivir",
"fleeSuccess": "¡Escapaste!",
"fleeFailed": "¡No pudiste escapar!"
},
"equipment": {
"head": "Cabeza",
"torso": "Torso",
"legs": "Piernas",
"feet": "Pies",
"weapon": "Arma",
"backpack": "Mochila",
"noBackpack": "Sin Mochila Equipada",
"equipped": "Equipado"
},
"crafting": {
"requirements": "📊 Requisitos",
"materials": "Materiales",
"tools": "Herramientas",
"levelRequired": "Nivel {{level}} Requerido",
"missingRequirements": "Faltan Requisitos",
"craftItem": "🔨 Fabricar",
"repairItem": "🛠️ Reparar",
"salvageItem": "♻️ Desmontar",
"staminaCost": "⚡ {{cost}} Energía",
"alreadyFull": "Ya está Completo",
"perfectCondition": "✅ El objeto está en perfecto estado",
"yieldReduced": "⚠️ Rendimiento reducido {{percent}}% por daño"
},
"categories": {
"all": "Todos",
"weapon": "Armas",
"armor": "Armadura",
"clothing": "Ropa",
"backpack": "Mochilas",
"tool": "Herramientas",
"consumable": "Consumibles",
"resource": "Recursos",
"quest": "Misión",
"misc": "Varios"
},
"messages": {
"notEnoughStamina": "No tienes suficiente energía",
"inventoryFull": "Inventario lleno",
"itemDropped": "Objeto soltado",
"itemPickedUp": "Objeto recogido",
"waitBeforeMoving": "Espera {{seconds}}s antes de moverte",
"cannotTravelInCombat": "No puedes viajar en combate",
"cannotInteractInCombat": "No puedes interactuar en combate"
},
"landing": {
"heroTitle": "Ecos de la Ceniza",
"heroSubtitle": "Un RPG de supervivencia post-apocalíptico",
"playNow": "Jugar Ahora",
"features": "Características"
}
}