Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
5dfbc861fb
@ -18,7 +18,7 @@ Akaunting is a free, online and open source accounting software designed for sma
|
||||
|
||||
## Framework
|
||||
|
||||
Akaunting uses [Laravel](http://laravel.com), the best existing PHP framework, as the foundation framework and [Laravel Modules](https://nwidart.com/laravel-modules) package for Apps.
|
||||
Akaunting uses [Laravel](http://laravel.com), the best existing PHP framework, as the foundation framework and [Modules](https://nwidart.com/laravel-modules) package for Apps.
|
||||
|
||||
## Installation
|
||||
|
||||
@ -26,7 +26,7 @@ Akaunting uses [Laravel](http://laravel.com), the best existing PHP framework, a
|
||||
* Download the [repository](https://github.com/akaunting/akaunting/archive/master.zip) and unzip into your server
|
||||
* Open and point your command line to the directory you unzipped Akaunting
|
||||
* Run the following command: `composer install`
|
||||
* Finally, go to the Akaunting folder via your browser
|
||||
* Finally, launch the [installer](https://akaunting.com/docs/installation)
|
||||
|
||||
## Contributing
|
||||
|
||||
@ -48,7 +48,7 @@ Please see [Releases](../../releases) for more information what has changed rece
|
||||
|
||||
## Security
|
||||
|
||||
If you discover any security related issues, please email security[at]akaunting[dot]com instead of using the issue tracker.
|
||||
If you discover any security related issues, please email security@akaunting.com instead of using the issue tracker.
|
||||
|
||||
## Credits
|
||||
|
||||
|
@ -27,7 +27,7 @@ class Kernel extends ConsoleKernel
|
||||
protected function schedule(Schedule $schedule)
|
||||
{
|
||||
// Not installed yet
|
||||
if (env('DB_DATABASE', '') == '') {
|
||||
if (!env('APP_INSTALLED')) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ class Database extends Controller
|
||||
'database' => $request['database'],
|
||||
'username' => $request['username'],
|
||||
'password' => $request['password'],
|
||||
'driver' => 'mysql',
|
||||
'driver' => env('DB_CONNECTION', 'mysql'),
|
||||
'port' => env('DB_PORT', '3306'),
|
||||
]);
|
||||
|
||||
@ -105,18 +105,20 @@ class Database extends Controller
|
||||
],
|
||||
])->save();
|
||||
|
||||
$con = env('DB_CONNECTION', 'mysql');
|
||||
|
||||
// Change current connection
|
||||
$mysql = Config::get('database.connections.mysql');
|
||||
$db = Config::get('database.connections.' . $con);
|
||||
|
||||
$mysql['host'] = $request['hostname'];
|
||||
$mysql['database'] = $request['database'];
|
||||
$mysql['username'] = $request['username'];
|
||||
$mysql['password'] = $request['password'];
|
||||
$mysql['prefix'] = $prefix;
|
||||
$db['host'] = $request['hostname'];
|
||||
$db['database'] = $request['database'];
|
||||
$db['username'] = $request['username'];
|
||||
$db['password'] = $request['password'];
|
||||
$db['prefix'] = $prefix;
|
||||
|
||||
Config::set('database.connections.mysql', $mysql);
|
||||
Config::set('database.connections.' . $con, $db);
|
||||
|
||||
DB::purge('mysql');
|
||||
DB::reconnect('mysql');
|
||||
DB::purge($con);
|
||||
DB::reconnect($con);
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\Install;
|
||||
|
||||
use DotenvEditor;
|
||||
use File;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
||||
class Requirements extends Controller
|
||||
@ -19,7 +20,9 @@ class Requirements extends Controller
|
||||
|
||||
if (empty($requirements)) {
|
||||
// Create the .env file
|
||||
$this->createEnvFile();
|
||||
if (!File::exists(base_path('.env'))) {
|
||||
$this->createEnvFile();
|
||||
}
|
||||
|
||||
redirect('install/language')->send();
|
||||
} else {
|
||||
@ -80,6 +83,10 @@ class Requirements extends Controller
|
||||
$requirements[] = trans('install.requirements.extension', ['extension' => 'cURL']);
|
||||
}
|
||||
|
||||
if (!extension_loaded('xml')) {
|
||||
$requirements[] = trans('install.requirements.extension', ['extension' => 'XML']);
|
||||
}
|
||||
|
||||
if (!extension_loaded('zip')) {
|
||||
$requirements[] = trans('install.requirements.extension', ['extension' => 'ZIP']);
|
||||
}
|
||||
@ -120,13 +127,17 @@ class Requirements extends Controller
|
||||
'key' => 'APP_ENV',
|
||||
'value' => 'production',
|
||||
],
|
||||
[
|
||||
'key' => 'APP_INSTALLED',
|
||||
'value' => 'false',
|
||||
],
|
||||
[
|
||||
'key' => 'APP_KEY',
|
||||
'value' => 'base64:'.base64_encode(random_bytes(32)),
|
||||
],
|
||||
[
|
||||
'key' => 'APP_DEBUG',
|
||||
'value' => 'false',
|
||||
'value' => 'true',
|
||||
],
|
||||
[
|
||||
'key' => 'APP_LOG_LEVEL',
|
||||
|
@ -6,6 +6,7 @@ use Artisan;
|
||||
use App\Http\Requests\Install\Setting as Request;
|
||||
use App\Models\Auth\User;
|
||||
use App\Models\Company\Company;
|
||||
use DotenvEditor;
|
||||
use File;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Setting;
|
||||
@ -85,6 +86,18 @@ class Settings extends Controller
|
||||
//Artisan::call('config:cache');
|
||||
//Artisan::call('route:cache');
|
||||
|
||||
// Update .env file
|
||||
DotenvEditor::setKeys([
|
||||
[
|
||||
'key' => 'APP_INSTALLED',
|
||||
'value' => 'true',
|
||||
],
|
||||
[
|
||||
'key' => 'APP_DEBUG',
|
||||
'value' => 'false',
|
||||
],
|
||||
])->save();
|
||||
|
||||
// Rename the robots.txt file
|
||||
try {
|
||||
File::move(base_path('robots.txt.dist'), base_path('robots.txt'));
|
||||
|
@ -34,7 +34,7 @@ class Kernel extends HttpKernel
|
||||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
\App\Http\Middleware\CheckIfInstalled::class,
|
||||
\App\Http\Middleware\RedirectIfNotInstalled::class,
|
||||
\App\Http\Middleware\LoadSettings::class,
|
||||
],
|
||||
|
||||
|
@ -3,8 +3,9 @@
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use File;
|
||||
|
||||
class CheckIfInstalled
|
||||
class RedirectIfNotInstalled
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
@ -15,8 +16,8 @@ class CheckIfInstalled
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
// DB_DATABASE not empty means installed
|
||||
if (env('DB_DATABASE', '') != '') {
|
||||
// Check if .env file exists
|
||||
if (File::exists(base_path('.env'))) {
|
||||
return $next($request);
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ class All
|
||||
public function compose(View $view)
|
||||
{
|
||||
// Make sure it's installed
|
||||
if (env('DB_DATABASE', '') != '') {
|
||||
if (env('APP_INSTALLED')) {
|
||||
// Share date format
|
||||
$view->with(['date_format' => $this->getCompanyDateFormat()]);
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ class AppServiceProvider extends ServiceProvider
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
if (env('APP_DEBUG')) {
|
||||
if (env('APP_INSTALLED') && env('APP_DEBUG')) {
|
||||
$this->app->register(\Barryvdh\Debugbar\ServiceProvider::class);
|
||||
}
|
||||
|
||||
|
@ -115,7 +115,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'allowed' => ['en-GB', 'de-DE', 'fr-FR', 'pt-BR', 'tr-TR'],
|
||||
'allowed' => ['en-GB', 'de-DE', 'es-ES', 'fr-FR', 'pt-BR', 'tr-TR'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
15
resources/lang/es-ES/accounts.php
Normal file
15
resources/lang/es-ES/accounts.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'account_name' => 'Nombre de Cuenta',
|
||||
'number' => 'Número',
|
||||
'opening_balance' => 'Saldo de apertura',
|
||||
'current_balance' => 'Saldo actual',
|
||||
'bank_name' => 'Nombre del Banco',
|
||||
'bank_phone' => 'Teléfono Banco',
|
||||
'bank_address' => 'Dirección del Banco',
|
||||
'default_account' => 'Cuenta Predeterminada',
|
||||
'all' => 'Todas las cuentas',
|
||||
|
||||
];
|
29
resources/lang/es-ES/auth.php
Normal file
29
resources/lang/es-ES/auth.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'profile' => 'Perfil',
|
||||
'logout' => 'Salir',
|
||||
'login' => 'Iniciar sesión',
|
||||
'login_to' => 'Inicia sesión para empezar',
|
||||
'remember_me' => 'Recordarme',
|
||||
'forgot_password' => 'Olvidé mi contraseña',
|
||||
'reset_password' => 'Restablecer Contraseña',
|
||||
'enter_email' => 'Introduce tu dirección de correo',
|
||||
'current_email' => 'Correo electrónico actual',
|
||||
'reset' => 'Resetear',
|
||||
'never' => 'nunca',
|
||||
'password' => [
|
||||
'current' => 'Actual',
|
||||
'current_confirm' => 'Confirmar contraseña',
|
||||
'new' => 'Nueva contraseña',
|
||||
'new_confirm' => 'Confirmar contraseña',
|
||||
],
|
||||
'error' => [
|
||||
'self_delete' => 'Error: No puede eliminarse usted mismo!'
|
||||
],
|
||||
|
||||
'failed' => 'Estas credenciales no coinciden con nuestros registros.',
|
||||
'throttle' => 'Demasiados intentos fallidos de inicio de sesión. Por favor vuelva a intentarlo después de %s segundos.',
|
||||
|
||||
];
|
36
resources/lang/es-ES/bills.php
Normal file
36
resources/lang/es-ES/bills.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'bill_number' => 'Nº de Recibo',
|
||||
'bill_date' => 'Fecha Recibo',
|
||||
'total_price' => 'Precio Total',
|
||||
'due_date' => 'Fecha de vencimiento',
|
||||
'order_number' => 'Número de pedido',
|
||||
'bill_from' => 'Recibo de',
|
||||
|
||||
'quantity' => 'Cantidad',
|
||||
'price' => 'Precio',
|
||||
'sub_total' => 'Subtotal',
|
||||
'tax_total' => 'Total Impuestos',
|
||||
'total' => 'Total ',
|
||||
|
||||
'item_name' => 'Nombre del artículo | Nombres de artículo',
|
||||
|
||||
'payment_due' => 'Vencimiento de pago',
|
||||
'amount_due' => 'Importe Vencido',
|
||||
'paid' => 'Pagado',
|
||||
'histories' => 'Historial',
|
||||
'payments' => 'Pagos',
|
||||
'add_payment' => 'Añadir pago',
|
||||
'download_pdf' => 'Descargar PDF',
|
||||
'send_mail' => 'Enviar Email',
|
||||
|
||||
'status' => [
|
||||
'new' => 'Nuevo',
|
||||
'updated' => 'Actualizado',
|
||||
'partial' => 'Parcial',
|
||||
'paid' => 'Pagado',
|
||||
],
|
||||
|
||||
];
|
7
resources/lang/es-ES/categories.php
Normal file
7
resources/lang/es-ES/categories.php
Normal file
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'all' => 'Todas las categorías',
|
||||
'all_types' => 'Todos los tipos'
|
||||
];
|
13
resources/lang/es-ES/companies.php
Normal file
13
resources/lang/es-ES/companies.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'domain' => 'Dominio',
|
||||
'logo' => 'Logo',
|
||||
'manage' => 'Gestionar empresas',
|
||||
'all' => 'Todas las empresas',
|
||||
'error' => [
|
||||
'delete_active' => 'Error: No puede eliminar la empresa activa, por favor, cámbiela antes!',
|
||||
],
|
||||
|
||||
];
|
9
resources/lang/es-ES/currencies.php
Normal file
9
resources/lang/es-ES/currencies.php
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'code' => 'Código',
|
||||
'rate' => 'Cotización',
|
||||
'default' => 'Moneda Predeterminada',
|
||||
|
||||
];
|
5
resources/lang/es-ES/customer.php
Normal file
5
resources/lang/es-ES/customer.php
Normal file
@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'all' => 'Todos los clientes',
|
||||
];
|
24
resources/lang/es-ES/dashboard.php
Normal file
24
resources/lang/es-ES/dashboard.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'total_incomes' => 'Total ingresos',
|
||||
'receivables' => 'Cuentas por cobrar',
|
||||
'open_invoices' => 'Facturas pendientes',
|
||||
'overdue_invoices' => 'Facturas vencidas',
|
||||
'total_expenses' => 'Total de gastos',
|
||||
'payables' => 'Cuentas por pagar',
|
||||
'open_bills' => 'Facturas Pendientes',
|
||||
'overdue_bills' => 'Facturas Vencidas',
|
||||
'total_profit' => 'Ingresos Totales',
|
||||
'open_profit' => 'Ingresos Pendientes',
|
||||
'overdue_profit' => 'Ingresos Vencidos',
|
||||
'cash_flow' => 'Flujo de efectivo',
|
||||
'no_profit_loss' => 'No hay pérdidas',
|
||||
'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',
|
||||
|
||||
];
|
17
resources/lang/es-ES/demo.php
Normal file
17
resources/lang/es-ES/demo.php
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'accounts_cash' => 'Efectivo',
|
||||
'categories_uncat' => 'Sin categoría',
|
||||
'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' => 'Normal',
|
||||
'taxes_sales' => 'Impuesto sobre Ventas',
|
||||
|
||||
];
|
9
resources/lang/es-ES/footer.php
Normal file
9
resources/lang/es-ES/footer.php
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'version' => 'Versión',
|
||||
'powered' => 'Powered By Akaunting',
|
||||
'software' => 'Software de Contabilidad Libre',
|
||||
|
||||
];
|
110
resources/lang/es-ES/general.php
Normal file
110
resources/lang/es-ES/general.php
Normal file
@ -0,0 +1,110 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'items' => 'Artículo | Artículos',
|
||||
'incomes' => 'Ingresos | Ingresos',
|
||||
'invoices' => 'Factura | Facturas',
|
||||
'revenues' => 'Ingresos | Ingresos',
|
||||
'customers' => 'Cliente | Clientes',
|
||||
'expenses' => 'Gastos | 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' => 'Beneficio | Beneficios',
|
||||
'taxes' => 'Impuestos | Impuestos',
|
||||
'pictures' => 'Imagen | Imágenes',
|
||||
'types' => 'Tipo | Tipos',
|
||||
'payment_methods' => 'Forma 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',
|
||||
|
||||
'dashboard' => 'Panel de Control',
|
||||
'banking' => 'Banking',
|
||||
'general' => 'General',
|
||||
'no_records' => 'No hay registros.',
|
||||
'date' => 'Fecha',
|
||||
'amount' => 'Importe',
|
||||
'enabled' => 'Activo',
|
||||
'disabled' => 'Deshabilitado',
|
||||
'yes' => 'Sí',
|
||||
'no' => 'No',
|
||||
'na' => 'N/D',
|
||||
'daily' => 'Diario',
|
||||
'monthly' => 'Mensual',
|
||||
'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' => 'CIF/NIF',
|
||||
'phone' => 'Teléfono',
|
||||
'address' => 'Dirección',
|
||||
'website' => 'Página web',
|
||||
'actions' => 'Acciones',
|
||||
'description' => 'Descripción',
|
||||
'manage' => 'Administrar',
|
||||
'code' => 'Código',
|
||||
'alias' => 'Alias',
|
||||
'balance' => 'Saldo',
|
||||
'reference' => 'Referencia',
|
||||
'attachment' => 'Adjunto',
|
||||
'change' => 'Cambiar',
|
||||
'color' => 'Color',
|
||||
'save' => 'Guardar',
|
||||
'cancel' => 'Cancelar',
|
||||
'status' => 'Estado',
|
||||
'from' => 'De ',
|
||||
'to' => 'Para',
|
||||
'print' => 'Imprimir',
|
||||
'search' => 'Buscar',
|
||||
'search_placeholder' => 'Escriba para buscar..',
|
||||
'filter' => 'Filtro',
|
||||
'create_user' => 'Crear Usuario',
|
||||
'created_user' => 'Usuario Creado',
|
||||
'all_statuses' => 'Todos los Estados',
|
||||
'bank' => 'Transferencia Bancaria',
|
||||
'cash' => 'Efectivo',
|
||||
'paypal' => 'PayPal',
|
||||
'help' => 'Ayuda',
|
||||
'all' => 'Todos',
|
||||
'upcoming' => 'Próximos',
|
||||
'created' => 'Creado',
|
||||
|
||||
'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...',
|
||||
],
|
||||
|
||||
];
|
14
resources/lang/es-ES/header.php
Normal file
14
resources/lang/es-ES/header.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'change_language' => 'Cambiar idioma',
|
||||
'last_login' => 'Último ingreso :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 factura vencida|[2,*] :count facturas vencidas',
|
||||
'view_all' => 'Ver todas'
|
||||
],
|
||||
|
||||
];
|
45
resources/lang/es-ES/install.php
Normal file
45
resources/lang/es-ES/install.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'next' => 'Siguiente',
|
||||
'refresh' => 'Actualizar',
|
||||
|
||||
'steps' => [
|
||||
'requirements' => 'Por favor, cumpla los siguientes requisitos!',
|
||||
'language' => 'Paso 1/3: Selección de 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' => 'Seleccione el idioma',
|
||||
],
|
||||
|
||||
'requirements' => [
|
||||
'php_version' => 'Se requiere PHP 5.6.4 o superior!',
|
||||
'enabled' => ':feature debe 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 servidor',
|
||||
'username' => 'Nombre de usuario',
|
||||
'password' => 'Contraseña',
|
||||
'name' => 'Base de datos',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'company_name' => 'Nombre de la empresa',
|
||||
'company_email' => 'Correo electrónico de la Empresa',
|
||||
'admin_email' => 'Correo electrónico del Administrador',
|
||||
'admin_password' => 'Contraseña de Administrador',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'connection' => 'Error: No se pudo conectar a la base de datos! Por favor, asegúrese de que los datos son correctos.',
|
||||
],
|
||||
|
||||
];
|
37
resources/lang/es-ES/invoices.php
Normal file
37
resources/lang/es-ES/invoices.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'invoice_number' => 'Número de Factura',
|
||||
'invoice_date' => 'Fecha de Factura',
|
||||
'total_price' => 'Precio Total',
|
||||
'due_date' => 'Fecha de vencimiento',
|
||||
'order_number' => 'Nº Pedido',
|
||||
'bill_to' => 'Facturar a',
|
||||
|
||||
'quantity' => 'Cantidad',
|
||||
'price' => 'Precio',
|
||||
'sub_total' => 'Subtotal',
|
||||
'tax_total' => 'Total Impuestos',
|
||||
'total' => 'Total ',
|
||||
|
||||
'item_name' => 'Nombre del artículo | Nombres de artículo',
|
||||
|
||||
'payment_due' => 'Vencimiento de pago',
|
||||
'paid' => 'Pagado',
|
||||
'histories' => 'Historias',
|
||||
'payments' => 'Pagos',
|
||||
'add_payment' => 'Añadir pago',
|
||||
'download_pdf' => 'Descargar PDF',
|
||||
'send_mail' => 'Enviar Email',
|
||||
|
||||
'status' => [
|
||||
'draft' => 'Borrador',
|
||||
'sent' => 'Enviado',
|
||||
'viewed' => 'Visto',
|
||||
'approved' => 'Aprobado',
|
||||
'partial' => 'Parcial',
|
||||
'paid' => 'Pagado',
|
||||
],
|
||||
|
||||
];
|
10
resources/lang/es-ES/items.php
Normal file
10
resources/lang/es-ES/items.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'quantities' => 'Cantidad | Cantidades',
|
||||
'sales_price' => 'Precio de Venta',
|
||||
'purchase_price' => 'Precio de Compra',
|
||||
'sku' => 'SKU',
|
||||
|
||||
];
|
17
resources/lang/es-ES/messages.php
Normal file
17
resources/lang/es-ES/messages.php
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'success' => [
|
||||
'added' => ':type creado!',
|
||||
'updated' => ':type actualizado!',
|
||||
'deleted' => ':type borrado!',
|
||||
],
|
||||
'error' => [
|
||||
'not_user_company' => 'Error: No tiene permisos para administrar esta empresa!',
|
||||
],
|
||||
'warning' => [
|
||||
'deleted' => 'Advertencia: No puede borrar :type porque tiene :text',
|
||||
],
|
||||
|
||||
];
|
43
resources/lang/es-ES/modules.php
Normal file
43
resources/lang/es-ES/modules.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'title' => 'API Token',
|
||||
'api_token' => 'Token',
|
||||
'top_paid' => 'Top de pago',
|
||||
'new' => 'Nuevo',
|
||||
'top_free' => 'Top gratis',
|
||||
'free' => 'GRATIS',
|
||||
'install' => 'Instalar',
|
||||
'buy_now' => 'Comprar ahora',
|
||||
'faq' => 'Preguntas frecuentes',
|
||||
'changelog' => 'Historial de cambios',
|
||||
'installed' => 'Instalado',
|
||||
'uninstalled' => 'Desinstalado',
|
||||
'token_link' => 'Haga <a href="https://akaunting.com/tokens" target="_blank">Click aquí</a> para obtener su API token.',
|
||||
|
||||
'enabled' => ':module módulo habilitado',
|
||||
'disabled' => ':module módulo deshabilitado',
|
||||
|
||||
'installation' => [
|
||||
'header' => 'Instalación del módulo',
|
||||
'start' => 'instalando :module .',
|
||||
'download' => 'Descargando archivo :module .',
|
||||
'unzip' => 'Extrayendo archivo :module .',
|
||||
'install' => 'Subiendo archivo :module .',
|
||||
],
|
||||
|
||||
'history' => [
|
||||
'installed' => ':module instalado',
|
||||
'uninstalled' => ':module desinstalado',
|
||||
'updated' => ':module actualizado',
|
||||
'enabled' => ':module habilitado',
|
||||
'disabled' => ':module deshabilitado',
|
||||
],
|
||||
|
||||
'button' => [
|
||||
'uninstall' => 'Desinstalar',
|
||||
'disable' => 'Deshabilitar',
|
||||
'enable' => 'Habilitar',
|
||||
],
|
||||
];
|
9
resources/lang/es-ES/pagination.php
Normal file
9
resources/lang/es-ES/pagination.php
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'previous' => '« Anterior',
|
||||
'next' => 'Siguiente »',
|
||||
'showing' => 'Mostrando :first a :last de :total :type',
|
||||
|
||||
];
|
22
resources/lang/es-ES/passwords.php
Normal file
22
resources/lang/es-ES/passwords.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'password' => 'Los passwords deben tener mínimo 6 caracteres y coincidir.',
|
||||
'reset' => 'Su contraseña ha sido reestablecida!',
|
||||
'sent' => 'Hemos enviado un enlace para resetear su contraseña!',
|
||||
'token' => 'Ese token de contraseña ya no es válido.',
|
||||
'user' => "No podemos encontrar un usuario con esa dirección de correo electrónico.",
|
||||
|
||||
];
|
11
resources/lang/es-ES/reports.php
Normal file
11
resources/lang/es-ES/reports.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'summary' => [
|
||||
'income' => 'Resumen de Ingresos',
|
||||
'expense' => 'Resumen de Gastos',
|
||||
'income_expense' => 'Ingresos vs Gastos',
|
||||
],
|
||||
|
||||
];
|
7
resources/lang/es-ES/roles.php
Normal file
7
resources/lang/es-ES/roles.php
Normal file
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'all' => 'Todos los roles',
|
||||
|
||||
];
|
85
resources/lang/es-ES/settings.php
Normal file
85
resources/lang/es-ES/settings.php
Normal file
@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'company' => [
|
||||
'name' => 'Nombre',
|
||||
'email' => 'Correo electrónico',
|
||||
'phone' => 'Teléfono',
|
||||
'address' => 'Dirección',
|
||||
'logo' => 'Logo',
|
||||
],
|
||||
'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 Factura',
|
||||
'digit' => 'Dígitos del Nº de Factura',
|
||||
'start' => 'Número de Factura Inicial',
|
||||
'logo' => 'Logotipo de la factura',
|
||||
],
|
||||
'default' => [
|
||||
'tab' => 'Por defecto',
|
||||
'account' => 'Cuenta Predeterminada',
|
||||
'currency' => 'Moneda Predeterminada',
|
||||
'tax' => 'Impuesto Predeterminado',
|
||||
'payment' => 'Método de pago Predeterminado',
|
||||
'language' => 'Idioma Predeterminado',
|
||||
],
|
||||
'email' => [
|
||||
'protocol' => 'Protocolo',
|
||||
'php' => 'PHP Mail',
|
||||
'smtp' => [
|
||||
'name' => 'SMTP',
|
||||
'host' => 'SMTP Host',
|
||||
'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',
|
||||
],
|
||||
'scheduling' => [
|
||||
'tab' => 'Programación',
|
||||
'send_invoice' => 'Enviar Recordatorio de Factura',
|
||||
'invoice_days' => 'Enviar después del vencimiento',
|
||||
'send_bill' => 'Enviar Recordatorio de Factura',
|
||||
'bill_days' => 'Enviar Antes del Vencimiento',
|
||||
'cron_command' => 'Comando 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 sesiones',
|
||||
'file' => 'Archivo',
|
||||
'database' => 'Base de datos',
|
||||
],
|
||||
'file_size' => 'Tamaño Máximo (MB)',
|
||||
'file_types' => 'Tipos de Archivo Permitidos',
|
||||
],
|
||||
|
||||
];
|
8
resources/lang/es-ES/taxes.php
Normal file
8
resources/lang/es-ES/taxes.php
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'rate' => 'Tasa',
|
||||
'rate_percent' => 'Tasa (%)',
|
||||
|
||||
];
|
8
resources/lang/es-ES/transfers.php
Normal file
8
resources/lang/es-ES/transfers.php
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'from_account' => 'De Cuenta',
|
||||
'to_account' => 'A Cuenta',
|
||||
|
||||
];
|
13
resources/lang/es-ES/updates.php
Normal file
13
resources/lang/es-ES/updates.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'installed_version' => 'Versión instalada',
|
||||
'latest_version' => 'Última versión',
|
||||
'update' => 'Actualizar Akaunting a 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.',
|
||||
|
||||
];
|
119
resources/lang/es-ES/validation.php
Normal file
119
resources/lang/es-ES/validation.php
Normal file
@ -0,0 +1,119 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines contain the default error messages used by
|
||||
| the validator class. Some of these rules have multiple versions such
|
||||
| as the size rules. Feel free to tweak each of these messages here.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => ':attribute debe ser aceptado.',
|
||||
'active_url' => ':attribute no es una URL correcta.',
|
||||
'after' => ':attribute debe ser posterior a :date.',
|
||||
'after_or_equal' => ':attribute debe ser posterior a :date.',
|
||||
'alpha' => ':attribute solo acepta letras.',
|
||||
'alpha_dash' => ':attribute solo acepta letras, números y guiones.',
|
||||
'alpha_num' => ':attribute solo acepta letras y números.',
|
||||
'array' => ':attribute debe ser un array.',
|
||||
'before' => ':attribute debe ser anterior a :date.',
|
||||
'before_or_equal' => ':attribute debe ser anterior o igual a :date.',
|
||||
'between' => [
|
||||
'numeric' => ':attribute debe estar entre :min - :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 cumple 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álido.',
|
||||
'distinct' => ':attribute tiene un valor duplicado.',
|
||||
'email' => ':attribute debe ser una dirección de email válida.',
|
||||
'exists' => 'El :attribute seleccionado no es correcto.',
|
||||
'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 del tipo: :values.',
|
||||
'mimetypes' => ':attribute debe ser un archivo del tipo: :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 introducido.',
|
||||
'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' => 'mensaje personalizado',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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' => [],
|
||||
|
||||
];
|
@ -133,6 +133,7 @@ Route::group(['middleware' => ['guest', 'language']], function () {
|
||||
});
|
||||
|
||||
Route::group(['prefix' => 'install'], function () {
|
||||
Route::get('/', 'Install\Requirements@show');
|
||||
Route::get('requirements', 'Install\Requirements@show');
|
||||
|
||||
Route::get('language', 'Install\Language@create');
|
||||
|
Loading…
x
Reference in New Issue
Block a user