refactor: reorganize package structure and decouple framework packages (#338)
* refactor: reorganize package structure and decouple framework packages ## Package Structure Reorganization - Reorganized 55 packages into categorized subdirectories: - packages/framework/ - Generic framework (Laya/Cocos compatible) - packages/engine/ - ESEngine core modules - packages/rendering/ - Rendering modules (WASM dependent) - packages/physics/ - Physics modules - packages/streaming/ - World streaming - packages/network-ext/ - Network extensions - packages/editor/ - Editor framework and plugins - packages/rust/ - Rust WASM engine - packages/tools/ - Build tools and SDK ## Framework Package Decoupling - Decoupled behavior-tree and blueprint packages from ESEngine dependencies - Created abstracted interfaces (IBTAssetManager, IBehaviorTreeAssetContent) - ESEngine-specific code moved to esengine/ subpath exports - Framework packages now usable with Cocos/Laya without ESEngine ## CI Configuration - Updated CI to only type-check and lint framework packages - Added type-check:framework and lint:framework scripts ## Breaking Changes - Package import paths changed due to directory reorganization - ESEngine integrations now use subpath imports (e.g., '@esengine/behavior-tree/esengine') * fix: update es-engine file path after directory reorganization * docs: update README to focus on framework over engine * ci: only build framework packages, remove Rust/WASM dependencies * fix: remove esengine subpath from behavior-tree and blueprint builds ESEngine integration code will only be available in full engine builds. Framework packages are now purely engine-agnostic. * fix: move network-protocols to framework, build both in CI * fix: update workflow paths from packages/core to packages/framework/core * fix: exclude esengine folder from type-check in behavior-tree and blueprint * fix: update network tsconfig references to new paths * fix: add test:ci:framework to only test framework packages in CI * fix: only build core and math npm packages in CI * fix: exclude test files from CodeQL and fix string escaping security issue
This commit is contained in:
267
packages/editor/plugins/particle-editor/src/locales/es.ts
Normal file
267
packages/editor/plugins/particle-editor/src/locales/es.ts
Normal file
@@ -0,0 +1,267 @@
|
||||
/**
|
||||
* Spanish translations for Particle Editor
|
||||
* Traducciones en español del editor de partículas
|
||||
*/
|
||||
export const es = {
|
||||
// ========================================
|
||||
// Panel
|
||||
// ========================================
|
||||
panel: {
|
||||
title: 'Editor de Partículas',
|
||||
noFileOpen: 'No hay archivo de partículas abierto',
|
||||
dropToOpen: 'Arrastre un archivo .particle aquí o use el botón Abrir'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Toolbar
|
||||
// ========================================
|
||||
toolbar: {
|
||||
play: 'Reproducir',
|
||||
pause: 'Pausar',
|
||||
restart: 'Reiniciar',
|
||||
save: 'Guardar',
|
||||
open: 'Abrir',
|
||||
maximize: 'Maximizar vista previa',
|
||||
minimize: 'Minimizar vista previa',
|
||||
followMouse: 'Seguir ratón',
|
||||
resetPosition: 'Restablecer posición'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Sections
|
||||
// ========================================
|
||||
sections: {
|
||||
basic: 'Básico',
|
||||
emission: 'Emisión',
|
||||
particle: 'Partícula',
|
||||
color: 'Color',
|
||||
modules: 'Módulos',
|
||||
presets: 'Preajustes'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Basic Properties
|
||||
// ========================================
|
||||
basic: {
|
||||
name: 'Nombre',
|
||||
texture: 'Textura',
|
||||
maxParticles: 'Máx. Partículas',
|
||||
looping: 'Bucle',
|
||||
duration: 'Duración',
|
||||
prewarm: 'Precalentamiento',
|
||||
playSpeed: 'Velocidad',
|
||||
blendMode: 'Modo mezcla',
|
||||
space: 'Espacio',
|
||||
particleSize: 'Tamaño partícula',
|
||||
sortOrder: 'Orden'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Blend Modes
|
||||
// ========================================
|
||||
blendMode: {
|
||||
normal: 'Normal',
|
||||
additive: 'Aditivo',
|
||||
multiply: 'Multiplicar'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Simulation Space
|
||||
// ========================================
|
||||
space: {
|
||||
world: 'Mundo',
|
||||
local: 'Local'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Emission Properties
|
||||
// ========================================
|
||||
emission: {
|
||||
rate: 'Tasa',
|
||||
shape: 'Forma',
|
||||
radius: 'Radio',
|
||||
width: 'Ancho',
|
||||
height: 'Alto',
|
||||
coneAngle: 'Ángulo cono'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Emission Shapes
|
||||
// ========================================
|
||||
shapes: {
|
||||
point: 'Punto',
|
||||
circle: 'Círculo',
|
||||
ring: 'Anillo',
|
||||
rectangle: 'Rectángulo',
|
||||
edge: 'Borde',
|
||||
line: 'Línea',
|
||||
cone: 'Cono'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Particle Properties
|
||||
// ========================================
|
||||
particle: {
|
||||
lifetime: 'Vida',
|
||||
speed: 'Velocidad',
|
||||
direction: 'Dirección',
|
||||
spread: 'Dispersión',
|
||||
scale: 'Escala',
|
||||
gravity: 'Gravedad'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Color Properties
|
||||
// ========================================
|
||||
color: {
|
||||
startColor: 'Color inicial',
|
||||
startAlpha: 'Alfa inicial',
|
||||
endAlpha: 'Alfa final',
|
||||
endScale: 'Escala final'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Module Names
|
||||
// ========================================
|
||||
modules: {
|
||||
colorOverLifetime: 'Color durante vida',
|
||||
sizeOverLifetime: 'Tamaño durante vida',
|
||||
velocityOverLifetime: 'Velocidad durante vida',
|
||||
rotationOverLifetime: 'Rotación durante vida',
|
||||
noise: 'Ruido',
|
||||
collision: 'Colisión',
|
||||
forceField: 'Campo de fuerza'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Velocity Over Lifetime
|
||||
// ========================================
|
||||
velocity: {
|
||||
drag: 'Arrastre',
|
||||
orbital: 'Orbital',
|
||||
radial: 'Radial'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Rotation Over Lifetime
|
||||
// ========================================
|
||||
rotation: {
|
||||
startMult: 'Mult. inicial',
|
||||
endMult: 'Mult. final',
|
||||
additional: 'Adicional'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Noise Module
|
||||
// ========================================
|
||||
noise: {
|
||||
position: 'Posición',
|
||||
velocity: 'Velocidad',
|
||||
rotation: 'Rotación',
|
||||
frequency: 'Frecuencia',
|
||||
scroll: 'Desplazamiento'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Collision Module
|
||||
// ========================================
|
||||
collision: {
|
||||
boundary: 'Límite',
|
||||
behavior: 'Comportamiento',
|
||||
left: 'Izquierda',
|
||||
right: 'Derecha',
|
||||
top: 'Arriba',
|
||||
bottom: 'Abajo',
|
||||
radius: 'Radio',
|
||||
bounce: 'Rebote',
|
||||
lifeLoss: 'Pérdida de vida'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Boundary Types
|
||||
// ========================================
|
||||
boundaryType: {
|
||||
none: 'Ninguno',
|
||||
rectangle: 'Rectángulo',
|
||||
circle: 'Círculo'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Collision Behaviors
|
||||
// ========================================
|
||||
collisionBehavior: {
|
||||
kill: 'Eliminar',
|
||||
bounce: 'Rebotar',
|
||||
wrap: 'Envolver'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Force Field Module
|
||||
// ========================================
|
||||
forceField: {
|
||||
type: 'Tipo',
|
||||
strength: 'Fuerza',
|
||||
directionX: 'Dirección X',
|
||||
directionY: 'Dirección Y',
|
||||
centerX: 'Centro X',
|
||||
centerY: 'Centro Y',
|
||||
range: 'Rango',
|
||||
falloff: 'Caída'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Force Field Types
|
||||
// ========================================
|
||||
forceFieldType: {
|
||||
wind: 'Viento',
|
||||
point: 'Punto',
|
||||
vortex: 'Vórtice',
|
||||
turbulence: 'Turbulencia'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Curve Editor
|
||||
// ========================================
|
||||
curve: {
|
||||
deletePoint: 'Eliminar punto',
|
||||
constant: 'Valor constante',
|
||||
fadeIn: 'Aparecer',
|
||||
fadeOut: 'Desvanecer',
|
||||
bellCurve: 'Curva campana',
|
||||
uCurve: 'Curva U'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Gradient Editor
|
||||
// ========================================
|
||||
gradient: {
|
||||
deleteStop: 'Eliminar parada'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Texture Picker
|
||||
// ========================================
|
||||
texturePicker: {
|
||||
browse: 'Examinar...',
|
||||
clear: 'Limpiar'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Notifications
|
||||
// ========================================
|
||||
notifications: {
|
||||
fileSaved: 'Archivo guardado: {{path}}',
|
||||
fileSaveFailed: 'Error al guardar archivo',
|
||||
fileOpened: 'Archivo abierto: {{path}}',
|
||||
fileOpenFailed: 'Error al abrir archivo'
|
||||
},
|
||||
|
||||
// ========================================
|
||||
// Dialogs
|
||||
// ========================================
|
||||
dialogs: {
|
||||
selectTexture: 'Seleccionar imagen de textura',
|
||||
selectParticleFile: 'Seleccionar archivo de partículas',
|
||||
saveParticleFile: 'Guardar archivo de partículas'
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user