diff --git a/config/language.php b/config/language.php
index c9baaabb7..a8a29e940 100644
--- a/config/language.php
+++ b/config/language.php
@@ -115,7 +115,7 @@ return [
|
*/
- 'allowed' => ['en-GB', 'ar-SA', 'cs-CZ', 'de-DE', 'es-ES', 'fa-IR', 'fr-FR', 'hr-HR', 'id-ID', 'it-IT', 'nl-NL', 'pt-BR', 'ru-RU', 'sq-AL', 'tr-TR', 'vi-VN', 'zh-TW'],
+ 'allowed' => ['en-GB', 'ar-SA', 'cs-CZ', 'de-DE', 'es-ES', 'es-MX', 'fa-IR', 'fr-FR', 'hr-HR', 'id-ID', 'it-IT', 'nl-NL', 'pt-BR', 'ru-RU', 'sq-AL', 'tr-TR', 'vi-VN', 'zh-TW'],
/*
|--------------------------------------------------------------------------
diff --git a/resources/lang/es-MX/accounts.php b/resources/lang/es-MX/accounts.php
new file mode 100644
index 000000000..855e537bb
--- /dev/null
+++ b/resources/lang/es-MX/accounts.php
@@ -0,0 +1,14 @@
+ 'Nombre de la Cuenta',
+ 'number' => 'Número',
+ 'opening_balance' => 'Saldo de Apertura',
+ 'current_balance' => 'Saldo Actual',
+ 'bank_name' => 'Nombre del Banco',
+ 'bank_phone' => 'Teléfono del Banco',
+ 'bank_address' => 'Dirección del Banco',
+ 'default_account' => 'Cuenta Predeterminada',
+
+];
diff --git a/resources/lang/es-MX/auth.php b/resources/lang/es-MX/auth.php
new file mode 100644
index 000000000..164104f49
--- /dev/null
+++ b/resources/lang/es-MX/auth.php
@@ -0,0 +1,30 @@
+ 'Perfil',
+ 'logout' => 'Cerrar sesión',
+ 'login' => 'Iniciar sesión',
+ 'login_to' => 'Inicia sesión para comenzar',
+ 'remember_me' => 'Recordarme',
+ 'forgot_password' => 'Olvidé mi contraseña',
+ 'reset_password' => 'Restablecer Contraseña',
+ 'enter_email' => 'Introduce tu Dirección de Correo Electrónico',
+ 'current_email' => 'Dirección de Correo electrónico Actual',
+ 'reset' => 'Resetear',
+ 'never' => 'nunca',
+ 'password' => [
+ 'current' => 'Contraseña',
+ 'current_confirm' => 'Confirmar Contraseña',
+ 'new' => 'Nueva Contraseña',
+ 'new_confirm' => 'Confirmar Nueva Contraseña',
+ ],
+ 'error' => [
+ 'self_delete' => 'Error: ¡No puede eliminarse usted mismo!'
+ ],
+
+ 'failed' => 'Estas credenciales no coinciden con nuestros registros.',
+ 'disabled' => 'Esta cuenta está deshabilitada. Por favor, póngase en contacto con el administrador del sistema.',
+ 'throttle' => 'Demasiados intentos fallidos de inicio de sesión. Por favor, vuelva a intentarlo después de :seconds segundos.',
+
+];
diff --git a/resources/lang/es-MX/bills.php b/resources/lang/es-MX/bills.php
new file mode 100644
index 000000000..c2cc647b5
--- /dev/null
+++ b/resources/lang/es-MX/bills.php
@@ -0,0 +1,41 @@
+ 'Número de Recibo',
+ 'bill_date' => 'Fecha del Recibo',
+ 'total_price' => 'Precio Total',
+ 'due_date' => 'Fecha de Vencimiento',
+ 'order_number' => 'Número de Orden',
+ 'bill_from' => 'Recibo De',
+
+ 'quantity' => 'Cantidad',
+ 'price' => 'Precio',
+ 'sub_total' => 'Subtotal',
+ 'tax_total' => 'Total de Impuestos',
+ 'total' => 'Total ',
+
+ 'item_name' => 'Nombre del producto/servicio | Nombres de los productos/servicos',
+
+ 'payment_due' => 'Vencimiento del Pago',
+ 'amount_due' => 'Importe Vencido',
+ 'paid' => 'Pagado',
+ 'histories' => 'Historial',
+ 'payments' => 'Pagos',
+ 'add_payment' => 'Añadir pago',
+ 'mark_received' => 'Marcar como Recibido',
+ 'download_pdf' => 'Descargar archivo PDF',
+ 'send_mail' => 'Enviar Correo Electrónico',
+
+ 'status' => [
+ 'draft' => 'Borrador',
+ 'received' => 'Recibido',
+ 'partial' => 'Parcial',
+ 'paid' => 'Pagado',
+ ],
+
+ 'messages' => [
+ 'received' => '¡Recibo marcado como recibido con exitosamente!',
+ ],
+
+];
diff --git a/resources/lang/es-MX/companies.php b/resources/lang/es-MX/companies.php
new file mode 100644
index 000000000..dee3ed954
--- /dev/null
+++ b/resources/lang/es-MX/companies.php
@@ -0,0 +1,13 @@
+ 'Sitio Web',
+ 'logo' => 'Logotipo',
+ 'manage' => 'Gestionar Empresas',
+ 'all' => 'Todas las Empresas',
+ 'error' => [
+ 'delete_active' => 'Error: ¡No puede eliminar la empresa activa. Por favor, cámbiela antes!',
+ ],
+
+];
diff --git a/resources/lang/es-MX/currencies.php b/resources/lang/es-MX/currencies.php
new file mode 100644
index 000000000..a357a66e1
--- /dev/null
+++ b/resources/lang/es-MX/currencies.php
@@ -0,0 +1,18 @@
+ 'Código',
+ 'rate' => 'Tasa',
+ 'default' => 'Moneda Predeterminada',
+ 'decimal_mark' => 'Punto Decimal',
+ 'thousands_separator' => 'Separador de Miles',
+ 'precision' => 'Precisión',
+ 'symbol' => [
+ 'symbol' => 'Símbolo',
+ 'position' => 'Posición del Símbolo',
+ 'before' => 'Antes del Monto',
+ 'after' => 'Después del Monto',
+ ]
+
+];
diff --git a/resources/lang/es-MX/customers.php b/resources/lang/es-MX/customers.php
new file mode 100644
index 000000000..2ed8399ab
--- /dev/null
+++ b/resources/lang/es-MX/customers.php
@@ -0,0 +1,11 @@
+ '¿Permitir Inicio de Sesión?',
+ 'user_created' => 'Usuario Creado',
+
+ 'error' => [
+ 'email' => 'La dirección de correo electrónico ya está en uso.'
+ ]
+];
diff --git a/resources/lang/es-MX/dashboard.php b/resources/lang/es-MX/dashboard.php
new file mode 100644
index 000000000..2d1111555
--- /dev/null
+++ b/resources/lang/es-MX/dashboard.php
@@ -0,0 +1,24 @@
+ 'Total de Ingresos',
+ 'receivables' => 'Cuentas por Cobrar',
+ 'open_invoices' => 'Facturas Abiertas',
+ 'overdue_invoices' => 'Facturas Vencidas',
+ 'total_expenses' => 'Total de Gastos',
+ 'payables' => 'Cuentas por Pagar',
+ 'open_bills' => 'Recibos Abiertos',
+ 'overdue_bills' => 'Recibos Vencidos',
+ 'total_profit' => 'Ganancias Totales',
+ 'open_profit' => 'Ganancias Pendientes',
+ 'overdue_profit' => 'Ganancias Vencidas',
+ 'cash_flow' => 'Flujo de Efectivo',
+ 'no_profit_loss' => 'No hay Perdida de Ganancias',
+ 'incomes_by_category' => 'Ingresos por Categoría',
+ 'expenses_by_category' => 'Gastos por Categoría',
+ 'account_balance' => 'Saldo de la Cuenta',
+ 'latest_incomes' => 'Últimos Ingresos',
+ 'latest_expenses' => 'Últimos Gastos',
+
+];
diff --git a/resources/lang/es-MX/demo.php b/resources/lang/es-MX/demo.php
new file mode 100644
index 000000000..177c195a4
--- /dev/null
+++ b/resources/lang/es-MX/demo.php
@@ -0,0 +1,17 @@
+ 'Efectivo',
+ 'categories_uncat' => 'Sin Categorizar',
+ 'categories_deposit' => 'Depósito',
+ 'categories_sales' => 'Ventas',
+ 'currencies_usd' => 'Dólar EEUU',
+ 'currencies_eur' => 'Euro',
+ 'currencies_gbp' => 'Libra Esterlina',
+ 'currencies_try' => 'Libra Turca',
+ 'taxes_exempt' => 'Exentos de Impuestos',
+ 'taxes_normal' => 'Impuesto Normal',
+ 'taxes_sales' => 'Impuesto sobre Ventas',
+
+];
diff --git a/resources/lang/es-MX/footer.php b/resources/lang/es-MX/footer.php
new file mode 100644
index 000000000..1a535edb4
--- /dev/null
+++ b/resources/lang/es-MX/footer.php
@@ -0,0 +1,9 @@
+ 'Versión',
+ 'powered' => 'Powered By Akaunting',
+ 'software' => 'Software de Contabilidad Libre',
+
+];
diff --git a/resources/lang/es-MX/general.php b/resources/lang/es-MX/general.php
new file mode 100644
index 000000000..e11acce49
--- /dev/null
+++ b/resources/lang/es-MX/general.php
@@ -0,0 +1,110 @@
+ 'Producto/Servicio | Productos/Servicios',
+ 'incomes' => 'Ingreso | Ingresos',
+ 'invoices' => 'Factura | Facturas',
+ 'revenues' => 'Ingreso | Ingresos',
+ 'customers' => 'Cliente | Clientes',
+ 'expenses' => 'Gasto | Gastos',
+ 'bills' => 'Recibo | Recibos',
+ 'payments' => 'Pago | Pagos',
+ 'vendors' => 'Proveedor | Proveedores',
+ 'accounts' => 'Cuenta | Cuentas',
+ 'transfers' => 'Transferencia | Transferencias',
+ 'transactions' => 'Transacción | Transacciones',
+ 'reports' => 'Informe | Informes',
+ 'settings' => 'Ajuste | Ajustes',
+ 'categories' => 'Categoría | Categorías',
+ 'currencies' => 'Moneda | Monedas',
+ 'tax_rates' => 'Tasa de Impuestos | Tasas de Impuestos',
+ 'users' => 'Usuario | Usuarios',
+ 'roles' => 'Rol|Roles',
+ 'permissions' => 'Permiso | Permisos',
+ 'modules' => 'App|Apps',
+ 'companies' => 'Empresa | Empresas',
+ 'profits' => 'Ganancia | Ganancias',
+ 'taxes' => 'Impuesto | Impuestos',
+ 'pictures' => 'Imagen | Imágenes',
+ 'types' => 'Tipo | Tipos',
+ 'payment_methods' => 'Método de Pago | Métodos de Pago',
+ 'compares' => 'Ingreso vs Gasto | Ingresos vs Gastos',
+ 'notes' => 'Nota | Notas',
+ 'totals' => 'Total | Totales',
+ 'languages' => 'Idioma | Idiomas',
+ 'updates' => 'Actualización | Actualizaciones',
+ 'numbers' => 'Número | Números',
+ 'statuses' => 'Estado|Estados',
+
+ 'dashboard' => 'Panel de Control',
+ 'banking' => 'Bancos',
+ 'general' => 'General',
+ 'no_records' => 'No hay registros.',
+ 'date' => 'Fecha',
+ 'amount' => 'Importe',
+ 'enabled' => 'Activado',
+ 'disabled' => 'Desactivado',
+ 'yes' => 'Sí',
+ 'no' => 'No',
+ 'na' => 'N/A',
+ 'daily' => 'Diario',
+ 'monthly' => 'Mensual',
+ 'quarterly' => 'Trimestral',
+ 'yearly' => 'Anual',
+ 'add' => 'Añadir',
+ 'add_new' => 'Agregar Nuevo',
+ 'show' => 'Mostrar',
+ 'edit' => 'Editar',
+ 'delete' => 'Borrar',
+ 'send' => 'Envíar',
+ 'download' => 'Descargar',
+ 'delete_confirm' => 'Confirma el borrado de :name :type?',
+ 'name' => 'Nombre',
+ 'email' => 'Correo Electrónico',
+ 'tax_number' => 'RFC/CIF/NIF',
+ 'phone' => 'Teléfono',
+ 'address' => 'Dirección',
+ 'website' => 'Sitio Web',
+ 'actions' => 'Acciones',
+ 'description' => 'Descripción',
+ 'manage' => 'Administrar',
+ 'code' => 'Código',
+ 'alias' => 'Alias',
+ 'balance' => 'Saldo',
+ 'reference' => 'Referencia',
+ 'attachment' => 'Adjunto',
+ 'change' => 'Cambiar',
+ 'switch' => 'Cambiar',
+ 'color' => 'Color',
+ 'save' => 'Guardar',
+ 'cancel' => 'Cancelar',
+ 'from' => 'De ',
+ 'to' => 'Para',
+ 'print' => 'Imprimir',
+ 'search' => 'Buscar',
+ 'search_placeholder' => 'Escriba para buscar..',
+ 'filter' => 'Filtrar',
+ 'help' => 'Ayuda',
+ 'all' => 'Todos',
+ 'all_type' => 'Todos :type',
+ 'upcoming' => 'Próximos',
+ 'created' => 'Creado',
+ 'id' => 'ID',
+ 'more_actions' => 'Más Acciones',
+ 'duplicate' => 'Duplicar',
+
+ 'title' => [
+ 'new' => 'Nuevo :type',
+ 'edit' => 'Editar :type',
+ ],
+ 'form' => [
+ 'enter' => 'Ingrese :field',
+ 'select' => [
+ 'field' => '- Seleccione :field -',
+ 'file' => 'Seleccionar Archivo',
+ ],
+ 'no_file_selected' => 'Ningún archivo seleccionado...',
+ ],
+
+];
diff --git a/resources/lang/es-MX/header.php b/resources/lang/es-MX/header.php
new file mode 100644
index 000000000..3524464fb
--- /dev/null
+++ b/resources/lang/es-MX/header.php
@@ -0,0 +1,15 @@
+ 'Cambiar Idioma',
+ 'last_login' => 'Último inicio de sesión :time',
+ 'notifications' => [
+ 'counter' => '{0} No tiene notificaciones | {1} Tiene :count notificación | [2,*] Tiene :count notificaciones',
+ 'overdue_invoices' => '{1} :count factura vencida | [2,*] :count facturas vencidas',
+ 'upcoming_bills' => '{1} :count recibo por vencer | [2,*] :count recibos por vencer',
+ 'items_stock' => '{1} :count producto/servicio sin stock | [2,*] :count productos/servicios sin stock',
+ 'view_all' => 'Ver Todo'
+ ],
+
+];
diff --git a/resources/lang/es-MX/import.php b/resources/lang/es-MX/import.php
new file mode 100644
index 000000000..0f4ed15ff
--- /dev/null
+++ b/resources/lang/es-MX/import.php
@@ -0,0 +1,9 @@
+ 'Importar',
+ 'title' => 'Importar :type',
+ 'message' => 'Formatos permitidos: CSV, XLS. Por favor, descargue el archivo de ejemplo.',
+
+];
diff --git a/resources/lang/es-MX/install.php b/resources/lang/es-MX/install.php
new file mode 100644
index 000000000..12b5f46f5
--- /dev/null
+++ b/resources/lang/es-MX/install.php
@@ -0,0 +1,45 @@
+ 'Siguiente',
+ 'refresh' => 'Actualizar',
+
+ 'steps' => [
+ 'requirements' => 'Por favor, ¡cumpla los siguientes requisitos!',
+ 'language' => 'Paso 1/3: Selección del Idioma',
+ 'database' => 'Paso 2/3: Configuración de la Base de Datos',
+ 'settings' => 'Paso 3/3: Detalles de la Empresa y el Administrador',
+ ],
+
+ 'language' => [
+ 'select' => 'Seleccionar el Idioma',
+ ],
+
+ 'requirements' => [
+ 'php_version' => '¡Se requiere PHP 5.6.4 o superior!',
+ 'enabled' => '¡:feature nencesita estar habilitado!',
+ 'disabled' => '¡:feature debe estar deshabilitado!',
+ 'extension' => '¡La extensión :extension debe estar cargada!',
+ 'directory' => '¡El directorio :directorio necesita tener permiso de escritura!',
+ ],
+
+ 'database' => [
+ 'hostname' => 'Nombre del Host',
+ 'username' => 'Nombre de Usuario',
+ 'password' => 'Contraseña',
+ 'name' => 'Base de Datos',
+ ],
+
+ 'settings' => [
+ 'company_name' => 'Nombre de la Empresa',
+ 'company_email' => 'Dirección de Correo Electrónico de la Empresa',
+ 'admin_email' => 'Dirección de Correo Electrónico del Administrador',
+ 'admin_password' => 'Contraseña del Administrador',
+ ],
+
+ 'error' => [
+ 'connection' => 'Error: ¡No se pudo conectar a la base de datos! Por favor, asegúrese de que los datos son correctos.',
+ ],
+
+];
diff --git a/resources/lang/es-MX/invoices.php b/resources/lang/es-MX/invoices.php
new file mode 100644
index 000000000..b5f5604d1
--- /dev/null
+++ b/resources/lang/es-MX/invoices.php
@@ -0,0 +1,49 @@
+ 'Número de Factura',
+ 'invoice_date' => 'Fecha de la Factura',
+ 'total_price' => 'Precio Total',
+ 'due_date' => 'Fecha de Vencimiento',
+ 'order_number' => 'Número de Orden',
+ 'bill_to' => 'Facturar a',
+
+ 'quantity' => 'Cantidad',
+ 'price' => 'Precio',
+ 'sub_total' => 'Subtotal',
+ 'tax_total' => 'Total de Impuestos',
+ 'total' => 'Total ',
+
+ 'item_name' => 'Nombre del producto/servicio | Nombres de los productos/servicos',
+
+ 'payment_due' => 'Vencimiento del Pago',
+ 'paid' => 'Pagado',
+ 'histories' => 'Historial',
+ 'payments' => 'Pagos',
+ 'add_payment' => 'Añadir Pago',
+ 'mark_paid' => 'Marcar Como Pagada',
+ 'mark_sent' => 'Marcar Como Enviada',
+ 'download_pdf' => 'Descargar archivo PDF',
+ 'send_mail' => 'Enviar Correo Electrónico',
+
+ 'status' => [
+ 'draft' => 'Borrador',
+ 'sent' => 'Enviado',
+ 'viewed' => 'Visto',
+ 'approved' => 'Aprobado',
+ 'partial' => 'Parcial',
+ 'paid' => 'Pagado',
+ ],
+
+ 'messages' => [
+ 'email_sent' => '¡El correo electrónico de la factura se ha enviado correctamente!',
+ 'marked_sent' => '¡Factura marcada como enviada con éxito!',
+ ],
+
+ 'notification' => [
+ 'message' => 'Estimado :cliente, usted está recibiendo este correo electrónico debido a que tiene una factura pendiente de pago por la cantidad de :amount, es de suma importancia que se contacte de inmediato con nosotros. Evite la suspensión de los servicios que tiene contratados o la entrega de los productos solicitados, además de posibles recargos y gastos de cobranza.',
+ 'button' => 'Realizar el Pago Ahora',
+ ],
+
+];
diff --git a/resources/lang/es-MX/items.php b/resources/lang/es-MX/items.php
new file mode 100644
index 000000000..588f1831b
--- /dev/null
+++ b/resources/lang/es-MX/items.php
@@ -0,0 +1,15 @@
+ 'Cantidad | Cantidades',
+ 'sales_price' => 'Precio de Venta',
+ 'purchase_price' => 'Precio de Compra',
+ 'sku' => 'SKU/Código/Clave',
+
+ 'notification' => [
+ 'message' => 'Usted está recibiendo este correo electrónico porque el producto/servicio :name se está quedando sin inventario',
+ 'button' => 'Ver Ahora',
+ ],
+
+];
diff --git a/resources/lang/es-MX/messages.php b/resources/lang/es-MX/messages.php
new file mode 100644
index 000000000..f83903af0
--- /dev/null
+++ b/resources/lang/es-MX/messages.php
@@ -0,0 +1,23 @@
+ [
+ 'added' => '¡:type agregado!',
+ 'updated' => '¡:type actualizado!',
+ 'deleted' => '¡:type eliminado!',
+ 'duplicated' => '¡:type duplicado!',
+ 'imported' => '¡:type importado!',
+ ],
+ 'error' => [
+ 'payment_add' => 'Error: ¡No puede agregar el pago! Usted debe comprobar cantidad agregada.',
+ 'not_user_company' => 'Error: ¡No tiene permisos para administrar esta empresa!',
+ 'customer' => 'Error: ¡No se puede crear el usuario! :name usa esta dirección de correo electrónico.',
+ 'no_file' => 'Error: ¡Ningún archivo se ha seleccionado!',
+ ],
+ 'warning' => [
+ 'deleted' => 'Advertencia: No puede borrar :name porque tiene :text relacionado.',
+ 'disabled' => 'Advertencia: No se permite desactivar :name porque tiene :text relacionado.',
+ ],
+
+];
diff --git a/resources/lang/es-MX/modules.php b/resources/lang/es-MX/modules.php
new file mode 100644
index 000000000..d0bc76f5a
--- /dev/null
+++ b/resources/lang/es-MX/modules.php
@@ -0,0 +1,47 @@
+ 'Token de API',
+ 'api_token' => 'Token',
+ 'top_paid' => 'Más Pagado',
+ 'new' => 'Nuevo',
+ 'top_free' => 'Top Gratis',
+ 'free' => 'GRATIS',
+ 'install' => 'Instalar',
+ 'buy_now' => 'Comprar Ahora',
+ 'token_link' => 'Haga Haga click aquí para obtener su token de API.',
+ 'no_apps' => 'No hay aplicaciones en esta categoría, aún.',
+ 'developer' => '¿Eres un desarrollador? Aquí puedes aprender cómo crear una aplicación y comenzar a venderla hoy!',
+
+ 'about' => 'Acerca de',
+
+ 'added' => 'Agregado',
+ 'updated' => 'Actualizado',
+ 'compatibility' => 'Compatibilidad',
+
+ 'installed' => ':module instalado',
+ 'uninstalled' => ':module desinstalado',
+ //'updated' => ':module updated',
+ 'enabled' => ':module activado',
+ 'disabled' => ':module desactivado',
+
+ 'tab' => [
+ 'installation' => 'Instalación',
+ 'faq' => 'Preguntas Frecuentes',
+ 'changelog' => 'Historial de Cambios',
+ ],
+
+ 'installation' => [
+ 'header' => 'Instalación de Aplicación',
+ 'download' => 'Descargando archivo :module .',
+ 'unzip' => 'Extrayendo archivo :module .',
+ 'install' => 'Instalando archivos de :module .',
+ ],
+
+ 'button' => [
+ 'uninstall' => 'Desinstalar',
+ 'disable' => 'Deshabilitar',
+ 'enable' => 'Habilitar',
+ ],
+];
diff --git a/resources/lang/es-MX/pagination.php b/resources/lang/es-MX/pagination.php
new file mode 100644
index 000000000..e1dbac6d5
--- /dev/null
+++ b/resources/lang/es-MX/pagination.php
@@ -0,0 +1,9 @@
+ '« Anterior',
+ 'next' => 'Siguiente »',
+ 'showing' => 'Mostrando :first a :last de :total :type',
+
+];
diff --git a/resources/lang/es-MX/passwords.php b/resources/lang/es-MX/passwords.php
new file mode 100644
index 000000000..31d8cd656
--- /dev/null
+++ b/resources/lang/es-MX/passwords.php
@@ -0,0 +1,22 @@
+ 'Las contraseñas deben tener mínimo seis (6) caracteres y coincidir con la confirmación.',
+ 'reset' => '¡Su contraseña ha sido restablecida!',
+ 'sent' => '¡Hemos enviado via correo electrónico un enlace para resetear su contraseña!',
+ 'token' => 'Este token de reseteo de contraseña ya no es válido.',
+ 'user' => "No podemos encontrar un usuario con esa dirección de correo electrónico.",
+
+];
diff --git a/resources/lang/es-MX/reports.php b/resources/lang/es-MX/reports.php
new file mode 100644
index 000000000..4bc26fb0d
--- /dev/null
+++ b/resources/lang/es-MX/reports.php
@@ -0,0 +1,17 @@
+ 'Este Año',
+ 'previous_year' => 'Año Anterior',
+ 'this_quarter' => 'Este Trimestre',
+ 'previous_quarter' => 'Trimestre Anterior',
+ 'last_12_months' => 'Últimos 12 Meses',
+
+ 'summary' => [
+ 'income' => 'Resumen de Ingresos',
+ 'expense' => 'Resumen de Gastos',
+ 'income_expense' => 'Ingresos vs Gastos',
+ ],
+
+];
diff --git a/resources/lang/es-MX/settings.php b/resources/lang/es-MX/settings.php
new file mode 100644
index 000000000..7688e5b0a
--- /dev/null
+++ b/resources/lang/es-MX/settings.php
@@ -0,0 +1,85 @@
+ [
+ 'name' => 'Nombre',
+ 'email' => 'Correo Electrónico',
+ 'phone' => 'Teléfono',
+ 'address' => 'Dirección',
+ 'logo' => 'Logotipo',
+ ],
+ 'localisation' => [
+ 'tab' => 'Localización',
+ 'date' => [
+ 'format' => 'Formato de Fecha',
+ 'separator' => 'Separador de Fecha',
+ 'dash' => 'Guión (-)',
+ 'dot' => 'Punto (.)',
+ 'comma' => 'Coma (,)',
+ 'slash' => 'Barra (/)',
+ 'space' => 'Espacio ( )',
+ ],
+ 'timezone' => 'Zona Horaria',
+ ],
+ 'invoice' => [
+ 'tab' => 'Factura',
+ 'prefix' => 'Prefijo de Número',
+ 'digit' => 'Número de Dígitos',
+ 'next' => 'Siguiente Número',
+ 'logo' => 'Logotipo',
+ ],
+ 'default' => [
+ 'tab' => 'Valores Predeterminados',
+ 'account' => 'Cuenta Predeterminada',
+ 'currency' => 'Moneda Predeterminada',
+ 'tax' => 'Tasa de Impuesto Predeterminado',
+ 'payment' => 'Método de Pago Predeterminado',
+ 'language' => 'Idioma Predeterminado',
+ ],
+ 'email' => [
+ 'protocol' => 'Protocolo',
+ 'php' => 'PHP Mail',
+ 'smtp' => [
+ 'name' => 'SMTP',
+ 'host' => 'Host SMTP',
+ 'port' => 'Puerto SMTP',
+ 'username' => 'Nombre de Usuario SMTP',
+ 'password' => 'Contraseña SMTP',
+ 'encryption' => 'Seguridad SMTP',
+ 'none' => 'Ninguna',
+ ],
+ 'sendmail' => 'Sendmail',
+ 'sendmail_path' => 'Ruta de acceso de Sendmail',
+ 'log' => 'Registrar Correos Electrónicos',
+ ],
+ 'scheduling' => [
+ 'tab' => 'Programación',
+ 'send_invoice' => 'Enviar Recordatorio de Factura',
+ 'invoice_days' => 'Enviar Después del vencimiento',
+ 'send_bill' => 'Enviar Recordatorio de Recibo',
+ 'bill_days' => 'Enviar Antes del Vencimiento',
+ 'cron_command' => 'Comando de Cron',
+ 'schedule_time' => 'Hora de Ejecución',
+ ],
+ 'appearance' => [
+ 'tab' => 'Apariencia',
+ 'theme' => 'Tema',
+ 'light' => 'Claro',
+ 'dark' => 'Oscuro',
+ 'list_limit' => 'Registros por Página',
+ 'use_gravatar' => 'Usar Gravatar',
+ ],
+ 'system' => [
+ 'tab' => 'Sistema',
+ 'session' => [
+ 'lifetime' => 'Duración de la Sesión (Minutos)',
+ 'handler' => 'Gestor de Sesión',
+ 'file' => 'Archivo',
+ 'database' => 'Base de Datos',
+ ],
+ 'file_size' => 'Tamaño Máximo de Archivo (MB)',
+ 'file_types' => 'Tipos de Archivo Permitidos',
+ ],
+
+];
diff --git a/resources/lang/es-MX/taxes.php b/resources/lang/es-MX/taxes.php
new file mode 100644
index 000000000..7365b2ea5
--- /dev/null
+++ b/resources/lang/es-MX/taxes.php
@@ -0,0 +1,8 @@
+ 'Tasa',
+ 'rate_percent' => 'Tasa (%)',
+
+];
diff --git a/resources/lang/es-MX/transfers.php b/resources/lang/es-MX/transfers.php
new file mode 100644
index 000000000..657054b41
--- /dev/null
+++ b/resources/lang/es-MX/transfers.php
@@ -0,0 +1,8 @@
+ 'De la Cuenta',
+ 'to_account' => 'A la Cuenta',
+
+];
diff --git a/resources/lang/es-MX/updates.php b/resources/lang/es-MX/updates.php
new file mode 100644
index 000000000..b2b73856c
--- /dev/null
+++ b/resources/lang/es-MX/updates.php
@@ -0,0 +1,15 @@
+ 'Versión Instalada',
+ 'latest_version' => 'Última Versión',
+ 'update' => 'Actualizar Akaunting a la Versión :version',
+ 'changelog' => 'Historial de Cambios',
+ 'check' => 'Comprobar',
+ 'new_core' => 'Una versión actualizada de Akaunting está disponible.',
+ 'latest_core' => '¡Felicidades! Tienes la última versión de Akaunting. Las actualizaciones de seguridad futuras se aplicarán automáticamente.',
+ 'success' => 'El proceso de actualización se ha completado con éxito.',
+ 'error' => 'El proceso de actualización ha fallado, por favor inténtelo de nuevo.',
+
+];
diff --git a/resources/lang/es-MX/validation.php b/resources/lang/es-MX/validation.php
new file mode 100644
index 000000000..50559ce66
--- /dev/null
+++ b/resources/lang/es-MX/validation.php
@@ -0,0 +1,119 @@
+ ':attribute debe ser aceptado.',
+ 'active_url' => ':attribute no es una URL válida.',
+ 'after' => ':attribute debe ser posterior a :date.',
+ 'after_or_equal' => ':attribute debe ser una fecha posterior o igual a :date.',
+ 'alpha' => ':attribute solo puede contener letras.',
+ 'alpha_dash' => ':attribute solo puede contener letras, números y guiones.',
+ 'alpha_num' => ':attribute solo puede contener letras y números.',
+ 'array' => ':attribute debe ser un array.',
+ 'before' => ':attribute debe ser una fecha anterior a :date.',
+ 'before_or_equal' => ':attribute debe ser una fecha anterior o igual a :date.',
+ 'between' => [
+ 'numeric' => ':attribute debe estar entre :min y :max.',
+ 'file' => ':attribute debe estar entre :min - :max kilobytes.',
+ 'string' => ':attribute debe estar entre :min - :max caracteres.',
+ 'array' => ':attribute debe tener entre :min y :max items.',
+ ],
+ 'boolean' => ':attribute debe ser verdadero o falso.',
+ 'confirmed' => ':attribute, la confirmación no coincide.',
+ 'date' => ':attribute no es una fecha válida.',
+ 'date_format' => ':attribute no coincide con el formato :format.',
+ 'different' => ':attribute y :other deben ser diferentes.',
+ 'digits' => ':attribute debe tener :digits dígitos.',
+ 'digits_between' => ':attribute debe tener entre :min y :max dígitos.',
+ 'dimensions' => ':attribute tiene dimensiones de imagen no válidas.',
+ 'distinct' => ':attribute tiene un valor duplicado.',
+ 'email' => ':attribute debe ser una dirección de correo electrónico válida.',
+ 'exists' => 'El :attribute seleccionado es inválido.',
+ 'file' => ':attribute debe ser un archivo.',
+ 'filled' => ':attribute debe tener un valor.',
+ 'image' => ':attribute debe ser una imagen.',
+ 'in' => 'El :attribute seleccionado es inválido.',
+ 'in_array' => ':attribute no existe en :other.',
+ 'integer' => ':attribute debe ser un número entero.',
+ 'ip' => ':attribute debe ser una dirección IP válida.',
+ 'json' => ':attribute debe ser una cadena JSON válida.',
+ 'max' => [
+ 'numeric' => ':attribute no debe ser mayor que :max.',
+ 'file' => ':attribute no debe ser mayor que :max kilobytes.',
+ 'string' => ':attribute no debe tener como máximo :max caracteres.',
+ 'array' => ':attribute no debe tener más de :max items.',
+ ],
+ 'mimes' => ':attribute debe ser un archivo de los tipos: :values.',
+ 'mimetypes' => ':attribute debe ser un archivo de los tipos: :values.',
+ 'min' => [
+ 'numeric' => ':attribute debe ser como mínimo :min.',
+ 'file' => ':attribute debe ser como mínimo de :min kilobytes.',
+ 'string' => ':attribute debe contener como mínimo :min caracteres.',
+ 'array' => ':attribute debe contener como mínimo :min items.',
+ ],
+ 'not_in' => 'El :attribute seleccionado es inválido.',
+ 'numeric' => ':attribute debe ser un número.',
+ 'present' => ':attribute debe tener un valor.',
+ 'regex' => ':attribute tiene un formato incorrecto.',
+ 'required' => ':attribute es obligatorio.',
+ 'required_if' => ':attribute es obligatorio cuando :other es :value.',
+ 'required_unless' => ':attribute es obligatorio a menos que :other esté en :values.',
+ 'required_with' => ':attribute es obligatorio cuando :values está presente.',
+ 'required_with_all' => ':attribute es obligatorio cuando :values está presente.',
+ 'required_without' => ':attribute es obligatorio cuando :values no está presente.',
+ 'required_without_all' => ':attribute es obligatorio cuando ningún :values está presente.',
+ 'same' => ':attribute y :other deben coincidir.',
+ 'size' => [
+ 'numeric' => ':attribute debe ser :size.',
+ 'file' => ':attribute debe tener :size kilobytes.',
+ 'string' => ':attribute debe tener :size caracteres.',
+ 'array' => ':attribute debe tener al menos :size items.',
+ ],
+ 'string' => ':attribute debe ser una cadena de caracteres.',
+ 'timezone' => ':attribute debe ser una zona válida.',
+ 'unique' => ':attribute ya ha sido tomado.',
+ 'uploaded' => ':attribute no se pudo cargar.',
+ 'url' => ':attribute tiene un formato incorrecto.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];