chore: update lead invitation schedule (#446)

## Summary
- increase scheduled lead invitation batch limit from 100 to 150
- keep Spanish translations sorted with new copy keys

## Tests
- vendor/bin/pint --dirty --format agent
- php -r 'json_decode(file_get_contents("lang/es.json"), true, 512,
JSON_THROW_ON_ERROR); echo "lang/es.json ok\n";'
- php artisan schedule:list --no-interaction
- php artisan test --compact
tests/Feature/Commands/SendUserLeadInvitationsTest.php
tests/Feature/Commands/SendUserLeadReInvitationsTest.php
This commit is contained in:
Víctor Falcón 2026-05-28 14:00:16 +02:00 committed by GitHub
parent cfa61fd23c
commit edb9f1c852
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 21 additions and 16 deletions

View File

@ -280,6 +280,7 @@
"CSV, XLS, XLSX files": "Archivos CSV, XLS, XLSX",
"Cafes, restaurants, bars": "Cafeterías, restaurantes, bares",
"Calculate balances from transactions": "Calcular balances a partir de transacciones",
"Calendar month (1st)": "Mes calendario (día 1)",
"Can I connect my bank accounts directly?": "¿Puedo conectar mis cuentas bancarias directamente?",
"Can I export or delete my data?": "¿Puedo exportar o eliminar mis datos?",
"Canadian Dollar": "Dólar canadiense",
@ -292,6 +293,7 @@
"Cashflow analytics": "Analitica de flujo de caja",
"Cashflow at a Glance": "Flujo de Caja de un Vistazo",
"Cashflow income vs expenses bar chart": "Gráfico de barras de ingresos frente a gastos",
"Cashflow periods and analysis will start on this day.": "Los períodos y análisis de flujo de caja empezarán este día.",
"Cashflow visualization": "Visualización del flujo de caja",
"Categories": "Categorías",
"Categories below 5% of total": "Categorías por debajo del 5% del total",
@ -377,13 +379,13 @@
"Connecting...": "Conectando...",
"Connections": "Conexiones",
"Consider saving more if possible.": "Considera ahorrar más si es posible.",
"Counterparties": "Contrapartes",
"Continue": "Continuar",
"Continue Setup": "Continuar Configuración",
"Continue for free": "Continuar gratis",
"Continue to Import": "Continuar con Importación",
"Copied!": "¡Copiado!",
"Copy link": "Copiar enlace",
"Counterparties": "Contrapartes",
"Counting every penny...": "Contando cada céntimo...",
"Country": "País",
"Create": "Crear",
@ -453,12 +455,13 @@
"Date Format": "Formato de Fecha",
"Date is required": "Se requiere una fecha",
"David K.": "David K.",
"Day :day": "Día :day",
"Day of the month when the period starts (1-31)": "Día del mes en que comienza el período (1-31)",
"Day of week (0=Sunday, 6=Saturday)": "Día de la semana (0=Domingo, 6=Sábado)",
"Debtor": "Deudor",
"Debtor Name": "Nombre del deudor",
"Debtor name": "Nombre del deudor",
"Debtor name (Optional)": "Nombre del deudor (opcional)",
"Day of the month when the period starts (1-31)": "Día del mes en que comienza el período (1-31)",
"Day of week (0=Sunday, 6=Saturday)": "Día de la semana (0=Domingo, 6=Sábado)",
"Define monthly budgets by category. Know exactly how much you can spend.": "Define presupuestos mensuales por categoría. Sabe exactamente cuánto puedes gastar.",
"Delete": "Eliminar",
"Delete :count Transactions": "Borrar :count transacciones",
@ -698,6 +701,7 @@
"Icon": "Ícono",
"Identify categories where you can cut back and save more.": "Identifica las categorías donde puedes gastar menos y ahorrar más.",
"If a transaction repeats with a certain frequency or is recurring, you can create an automatic rule for it by clicking this button.": "Si una transacción se repite con cierta frecuencia o es recurrente, puedes crear una regla automática para ella haciendo clic en este botón.",
"If privacy-first personal finance still sounds useful, your early access is still ready. Whisper Money helps you import transactions, organize spending, and understand your money without selling or sharing your financial data.": "Si una app de finanzas personales centrada en la privacidad sigue sonándote útil, tu acceso anticipado sigue listo. Whisper Money te ayuda a importar transacciones, organizar tus gastos y entender tu dinero sin vender ni compartir tus datos financieros.",
"If there's anything that didn't work well for you, or if you have suggestions for improvement, I'd genuinely love to hear about it. As a solo founder, your feedback is invaluable in making Whisper Money better.": "Si hay algo que no funcionó bien para ti, o si tienes sugerencias para mejorar, me encantaría saberlo. Como fundador en solitario, tus comentarios son invaluables para mejorar Whisper Money.",
"If there's anything that didn't work well for you, or if you have suggestions for improvement, we'd genuinely love to hear about it. As the founders, your feedback is invaluable in making Whisper Money better.": "Si hay algo que no funcionó bien para ti, o si tienes sugerencias para mejorar, nos encantaría saberlo. Como fundadores, tus comentarios son invaluables para mejorar Whisper Money.",
"If you didn't create a Whisper Money account, you can safely ignore this email.": "Si no creaste una cuenta en Whisper Money, puedes ignorar este correo.",
@ -878,12 +882,11 @@
"Money coming into an account from a source (e.g., salary, refunds, interest). Increases your balance.": "Dinero que entra en una cuenta desde una fuente (ej., salario, reembolsos, intereses). Aumenta tu balance.",
"Money going out of an account to pay for something (e.g., groceries, rent, subscriptions). Decreases your balance.": "Dinero que sale de una cuenta para pagar algo (ej., supermercado, alquiler, suscripciones). Disminuye tu balance.",
"Month": "Mes",
"Quarter": "Trimestre",
"Monthly": "Mensual",
"Monthly Payment": "Pago Mensual",
"Monthly code": "Código mensual",
"Monthly income, expenses, and net cashflow over the last 12 months": "Ingresos, gastos y flujo de efectivo neto mensual durante los últimos 12 meses",
"Monthly income, expenses, and net cashflow for the selected period": "Ingresos, gastos y flujo de efectivo neto mensual para el período seleccionado",
"Monthly income, expenses, and net cashflow over the last 12 months": "Ingresos, gastos y flujo de efectivo neto mensual durante los últimos 12 meses",
"Monthly income, expenses, tracked transfers, and net cashflow over the last 12 months": "Ingresos, gastos, transferencias seguidas y flujo de caja neto mensual durante los ultimos 12 meses",
"More": "Más",
"More actions": "Más acciones",
@ -949,6 +952,7 @@
"No matching transactions. Future transactions will still be categorized automatically.": "Sin transacciones coincidentes. Las transacciones futuras se categorizarán automáticamente.",
"No owed amount data available": "No hay datos de monto adeudado disponibles",
"No owed amount records found.": "No se encontraron registros de monto adeudado.",
"No pressure—if now is not the right time, you can ignore this email.": "Sin presión: si ahora no es el momento, puedes ignorar este correo.",
"No results found": "No se encontraron resultados",
"No spending data this month": "Sin datos de gasto este mes",
"No third-party sharing, no AI snooping. Your financial data belongs to you and only you.": "Sin compartir con terceros, sin espionaje de IA. Tus datos financieros te pertenecen a ti y solo a ti.",
@ -1078,6 +1082,8 @@
"Purchase Price": "Precio de Compra",
"Q": "T",
"Quartely": "Cada 4 meses",
"Quarter": "Trimestre",
"Questions or feedback? Reply to this email. We read every message personally.": "¿Tienes preguntas o comentarios? Responde a este correo. Leemos cada mensaje personalmente.",
"Rate limit exceeded. Please wait a few minutes and try again.": "Límite de solicitudes superado. Espera unos minutos e inténtalo de nuevo.",
"Re-evaluate rules": "Reevaluar reglas",
"Reactivate Your Subscription": "Reactiva Tu Suscripción",
@ -1089,11 +1095,11 @@
"Recovery codes": "Códigos de recuperación",
"Recovery codes let you regain access if you lose your 2FA device. Store them in a secure password manager.": "Los códigos de recuperación te permiten recuperar acceso si pierdes tu dispositivo 2FA. Guárdalos en un administrador de contraseñas seguro.",
"Recovery codes let you regain access if you lose your 2FA\\n device. Store them in a secure password manager.": "Los códigos de recuperación te permiten recuperar el acceso si pierdes tu dispositivo 2FA. Guárdalos en un gestor de contraseñas seguro.",
"Redirect progress": "Progreso de redirección",
"Redirecting to your dashboard": "Redirigiendo a tu panel",
"Redirecting...": "Redirigiendo...",
"Regenerate Codes": "Regenerar Códigos",
"Register": "Registrarse",
"Redirect progress": "Progreso de redirección",
"Regular Security Audits:": "Auditorías de Seguridad Regulares:",
"Remaining": "Restante",
"Remaining balance carries over to next period": "El saldo restante se acumula al siguiente período",
@ -1201,6 +1207,7 @@
"Select owed amount column": "Seleccionar columna de monto adeudado",
"Select property type": "Seleccionar tipo de propiedad",
"Select row": "Seleccionar fila",
"Select start of month": "Selecciona el inicio del mes",
"Select the country where your bank is located.": "Selecciona el país donde está ubicado tu banco.",
"Select unit": "Seleccionar unidad",
"Select your bank.": "Selecciona tu banco.",
@ -1273,6 +1280,7 @@
"Start My Financial Journey": "Comenzar Mi Viaje Financiero",
"Start Your Financial Journey": "Comienza Tu Viaje Financiero",
"Start managing your money privately. No credit card required.": "Empieza a gestionar tu dinero de forma privada. No se requiere tarjeta de crédito.",
"Start of month": "Inicio del mes",
"Start with this category and transaction description.": "Empieza con esta categoría y descripción de transacción.",
"Starting day": "Día de inicio",
"Statement": "Extracto",
@ -1281,6 +1289,8 @@
"Step 1: Export from your bank": "Paso 1: Exporta desde tu banco",
"Step 2: Upload to Whisper Money": "Paso 2: Sube a Whisper Money",
"Step 3: Review and confirm": "Paso 3: Revisa y confirma",
"Still interested in Whisper Money?": "¿Sigues interesado en Whisper Money?",
"Still want to try Whisper Money?": "¿Todavía quieres probar Whisper Money?",
"Stocks, ETFs, and portfolios": "Acciones, ETFs y carteras",
"Storage Preference": "Preferencia de Almacenamiento",
"Strict access controls and authentication mechanisms protect against unauthorized access": "Controles de acceso estrictos y mecanismos de autenticación protegen contra acceso no autorizado",
@ -1566,6 +1576,7 @@
"We reserve the right to modify, suspend, or\\n discontinue any part of the service at any time,\\n with or without notice. We will not be liable to\\n you or any third party for any modification,\\n suspension, or discontinuation of the service.": "Nos reservamos el derecho de modificar, suspender o interrumpir cualquier parte del servicio en cualquier momento, con o sin previo aviso. No seremos responsables ante ti ni ante ningún tercero por cualquier modificación, suspensión o interrupción del servicio.",
"We see:": "Vemos:",
"We sent a confirmation link to :email. Click it to reserve your waitlist spot and unlock your referral link.": "Te enviamos un enlace de confirmación a :email. Haz clic para reservar tu puesto en la lista de espera y desbloquear tu enlace de referidos.",
"We sent you an invitation to Whisper Money, but it looks like you have not created your account yet.": "Te enviamos una invitación a Whisper Money, pero parece que aún no has creado tu cuenta.",
"We store encrypted data we can't read. Even if our servers were compromised, your data stays secure.": "Almacenamos datos encriptados que no podemos leer. Incluso si nuestros servidores fueran comprometidos, tus datos permanecen seguros.",
"We support CSV and XLS files. Most banks allow you to export your transaction history in one of these formats. The import process automatically maps columns and categorizes transactions.": "Admitimos archivos CSV y XLS. La mayoría de los bancos permiten exportar el historial de transacciones en uno de estos formatos. El proceso de importación mapea automáticamente las columnas y categoriza las transacciones.",
"We support CSV imports from most banks. Just export your transactions and upload them - it takes less than a minute. If your bank format is different, just let us know and we can help.": "Admitimos importaciones CSV de la mayoría de bancos. Solo exporta tus transacciones y súbelas, toma menos de un minuto. Si el formato de tu banco es diferente, haznos saber y te ayudamos.",
@ -1647,9 +1658,9 @@
"You agree to pay all applicable fees as\\n described at the time of purchase": "Aceptas pagar todas las tarifas aplicables tal como se describen en el momento de la compra",
"You already have accounts set up. Let's continue with the onboarding.": "Ya tienes cuentas configuradas. Continuemos con la configuración.",
"You are always the owner of your data": "Siempre eres el dueño de tus datos",
"You are being redirected in 3 seconds.": "Serás redirigido en 3 segundos.",
"You are currently **#:position** in line for early access.": "Actualmente estás en el puesto **#:position** para el acceso anticipado.",
"You are now **#:position** in line for early access.": "Ahora estás en el puesto **#:position** para el acceso anticipado.",
"You are being redirected in 3 seconds.": "Serás redirigido en 3 segundos.",
"You are responsible for all taxes associated with your purchase": "Eres responsable de todos los impuestos asociados con tu compra",
"You are responsible for all taxes associated\\n with your purchase": "Eres responsable de todos los impuestos asociados con tu compra",
"You are responsible for maintaining backups of your data. While we implement reasonable backup procedures, we recommend you export and save copies of important data regularly.": "Eres responsable de mantener copias de seguridad de tus datos. Aunque implementamos procedimientos razonables de respaldo, recomendamos que exportes y guardes copias de datos importantes regularmente.",
@ -1754,6 +1765,7 @@
"Your gift: Whisper Money Pro, free forever": "Tu regalo: Whisper Money Pro, gratis para siempre",
"Your key will be cleared when you close the browser.": "Tu clave se borrará cuando cierres el navegador.",
"Your key will be stored until you log out.": "Tu clave se almacenará hasta que cierres sesión.",
"Your launch codes are still available:": "Tus códigos de lanzamiento siguen disponibles:",
"Your personal code": "Tu código personal",
"Your place in the queue is reserved.": "Tu lugar en la cola queda reservado.",
"Your position in the queue": "Tu posición en la fila",
@ -1863,12 +1875,5 @@
"yellow": "amarillo",
"— $9/month": "— $9/mes",
"← Back to home": "← Volver al inicio",
"🎉 Get a founder discount •": "🎉 Obtén un descuento de fundador •",
"Still want to try Whisper Money?": "¿Todavía quieres probar Whisper Money?",
"Still interested in Whisper Money?": "¿Sigues interesado en Whisper Money?",
"We sent you an invitation to Whisper Money, but it looks like you have not created your account yet.": "Te enviamos una invitación a Whisper Money, pero parece que aún no has creado tu cuenta.",
"If privacy-first personal finance still sounds useful, your early access is still ready. Whisper Money helps you import transactions, organize spending, and understand your money without selling or sharing your financial data.": "Si una app de finanzas personales centrada en la privacidad sigue sonándote útil, tu acceso anticipado sigue listo. Whisper Money te ayuda a importar transacciones, organizar tus gastos y entender tu dinero sin vender ni compartir tus datos financieros.",
"Your launch codes are still available:": "Tus códigos de lanzamiento siguen disponibles:",
"No pressure—if now is not the right time, you can ignore this email.": "Sin presión: si ahora no es el momento, puedes ignorar este correo.",
"Questions or feedback? Reply to this email. We read every message personally.": "¿Tienes preguntas o comentarios? Responde a este correo. Leemos cada mensaje personalmente."
"🎉 Get a founder discount •": "🎉 Obtén un descuento de fundador •"
}

View File

@ -9,5 +9,5 @@ Schedule::command('banking:cancel-free-enablebanking')->lastDayOfMonth('18:00');
Schedule::command('real-estate:apply-revaluation')->monthlyOn(1, '00:00');
Schedule::command('loans:generate-balances')->monthlyOn(1, '00:00');
Schedule::command('resend:sync-leads')->dailyAt('03:00');
Schedule::command('leads:send-invitations --force --limit=100')->dailyAt('09:00');
Schedule::command('leads:send-invitations --force --limit=150')->dailyAt('09:00');
Schedule::command('leads:send-re-invitations --force')->dailyAt('09:00');