first commit
This commit is contained in:
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
/.phpunit.cache
|
||||
/node_modules
|
||||
/public/build
|
||||
/public/hot
|
||||
/public/storage
|
||||
/public/phpmyadmin
|
||||
/storage/*.key
|
||||
/vendor
|
||||
.env
|
||||
.env.backup
|
||||
.env.production
|
||||
.phpunit.result.cache
|
||||
Homestead.json
|
||||
Homestead.yaml
|
||||
auth.json
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
/.fleet
|
||||
/.idea
|
||||
/.vscode
|
||||
/public/wave/docs
|
||||
composer.lock
|
||||
composer.json
|
||||
25
Dockerfile
Normal file
25
Dockerfile
Normal file
@@ -0,0 +1,25 @@
|
||||
FROM haakco/stage3-ubuntu-20.04-php7.4-lv
|
||||
|
||||
USER www-data
|
||||
|
||||
## Cleanout previous dev just in case
|
||||
RUN rm -rf /var/www/site/*
|
||||
|
||||
ADD --chown=www-data:www-data . /var/www/site
|
||||
|
||||
WORKDIR /var/www/site
|
||||
|
||||
RUN composer install --no-ansi --no-suggest --no-scripts --prefer-dist --no-progress --no-interaction \
|
||||
--optimize-autoloader
|
||||
|
||||
USER root
|
||||
|
||||
RUN find /usr/share/GeoIP -not -user www-data -execdir chown "www-data:" {} \+ && \
|
||||
find /var/www/site -not -user www-data -execdir chown "www-data:" {} \+
|
||||
|
||||
#HEALTHCHECK \
|
||||
# --interval=30s \
|
||||
# --timeout=60s \
|
||||
# --retries=10 \
|
||||
# --start-period=60s \
|
||||
# CMD if [[ "$(curl -f http://127.0.0.1/ | jq -e . >/dev/null 2>&1)" != "0" ]]; then exit 1; else exit 0; fi
|
||||
32
app/Console/Kernel.php
Normal file
32
app/Console/Kernel.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console;
|
||||
|
||||
use Illuminate\Console\Scheduling\Schedule;
|
||||
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
||||
|
||||
class Kernel extends ConsoleKernel
|
||||
{
|
||||
/**
|
||||
* Define the application's command schedule.
|
||||
*
|
||||
* @param \Illuminate\Console\Scheduling\Schedule $schedule
|
||||
* @return void
|
||||
*/
|
||||
protected function schedule(Schedule $schedule)
|
||||
{
|
||||
// $schedule->command('inspire')->hourly();
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the commands for the application.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function commands()
|
||||
{
|
||||
$this->load(__DIR__.'/Commands');
|
||||
|
||||
require base_path('routes/console.php');
|
||||
}
|
||||
}
|
||||
34
app/Events/ChatEvent.php
Normal file
34
app/Events/ChatEvent.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events;
|
||||
|
||||
use Illuminate\Broadcasting\Channel;
|
||||
use Illuminate\Broadcasting\InteractsWithSockets;
|
||||
use Illuminate\Broadcasting\PresenceChannel;
|
||||
use Illuminate\Broadcasting\PrivateChannel;
|
||||
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||
use Illuminate\Foundation\Events\Dispatchable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class ChatEvent implements ShouldBroadcast
|
||||
{
|
||||
use Dispatchable, InteractsWithSockets, SerializesModels;
|
||||
|
||||
public $chatId;
|
||||
public $toAdmin;
|
||||
public $userId;
|
||||
|
||||
public function __construct($chatId, $toAdmin = false, $userId = null)
|
||||
{
|
||||
$this->chatId = $chatId;
|
||||
$this->toAdmin = $toAdmin;
|
||||
$this->userId = $userId;
|
||||
}
|
||||
|
||||
public function broadcastOn(): array
|
||||
{
|
||||
return [
|
||||
new Channel('chat-channel'),
|
||||
];
|
||||
}
|
||||
}
|
||||
73
app/Exceptions/Handler.php
Normal file
73
app/Exceptions/Handler.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exceptions;
|
||||
|
||||
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||
use Tymon\JWTAuth\Exceptions\JWTException;
|
||||
use Tymon\JWTAuth\Exceptions\TokenExpiredException;
|
||||
use Tymon\JWTAuth\Exceptions\TokenInvalidException;
|
||||
use Throwable;
|
||||
use Response;
|
||||
use Exception;
|
||||
|
||||
class Handler extends ExceptionHandler
|
||||
{
|
||||
/**
|
||||
* A list of exception types with their corresponding custom log levels.
|
||||
*
|
||||
* @var array<class-string<\Throwable>, \Psr\Log\LogLevel::*>
|
||||
*/
|
||||
protected $levels = [
|
||||
//
|
||||
];
|
||||
|
||||
/**
|
||||
* A list of the exception types that are not reported.
|
||||
*
|
||||
* @var array<int, class-string<\Throwable>>
|
||||
*/
|
||||
protected $dontReport = [
|
||||
//
|
||||
];
|
||||
|
||||
/**
|
||||
* A list of the inputs that are never flashed to the session on validation exceptions.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $dontFlash = [
|
||||
'current_password',
|
||||
'password',
|
||||
'password_confirmation',
|
||||
];
|
||||
|
||||
/**
|
||||
* Register the exception handling callbacks for the application.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
if (request()->is('api/*')) {
|
||||
$this->renderable(function (Throwable $e) {
|
||||
return Response::json(['error'=>$e->getMessage()],500);
|
||||
});
|
||||
|
||||
$this->renderable(function(TokenInvalidException $e, $request){
|
||||
return Response::json(['error'=>'Invalid token'],401);
|
||||
});
|
||||
$this->renderable(function (TokenExpiredException $e, $request) {
|
||||
return Response::json(['error'=>'Token has Expired'],401);
|
||||
});
|
||||
|
||||
$this->renderable(function (JWTException $e, $request) {
|
||||
return Response::json(['error'=>'Token not parsed'],401);
|
||||
});
|
||||
}
|
||||
else {
|
||||
$this->reportable(function (Throwable $e) {
|
||||
//
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
49
app/Exports/BookkeepingDocumentLibraryExport.php
Normal file
49
app/Exports/BookkeepingDocumentLibraryExport.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Exports;
|
||||
|
||||
use Maatwebsite\Excel\Concerns\FromCollection;
|
||||
use Maatwebsite\Excel\Concerns\WithHeadings;
|
||||
use Maatwebsite\Excel\Concerns\WithMapping;
|
||||
use Storage;
|
||||
|
||||
class BookkeepingDocumentLibraryExport implements FromCollection, WithMapping, WithHeadings
|
||||
{
|
||||
protected $documents;
|
||||
|
||||
public function __construct($documents)
|
||||
{
|
||||
$this->documents = $documents;
|
||||
}
|
||||
|
||||
public function collection()
|
||||
{
|
||||
return $this->documents;
|
||||
}
|
||||
|
||||
public function map($documents): array
|
||||
{
|
||||
return [
|
||||
$documents->file_name,
|
||||
(strtolower(app()->getLocale()) == 'zh_hk' ? $documents->name_chinese : $documents->name_english),
|
||||
$documents->category_name,
|
||||
$documents->user_name,
|
||||
Storage::exists($documents->file_path) ? (round(Storage::size($documents->file_path) / 1000) . 'KB') : '-',
|
||||
$documents->created_at->format('Ymd-H:i'),
|
||||
];
|
||||
}
|
||||
|
||||
public function headings(): array
|
||||
{
|
||||
return [
|
||||
'Document Name',
|
||||
'Company',
|
||||
'Document Category',
|
||||
'Upload User',
|
||||
'Document Size',
|
||||
'Date Uploaded',
|
||||
];
|
||||
}
|
||||
}
|
||||
BIN
app/Http/.DS_Store
vendored
Normal file
BIN
app/Http/.DS_Store
vendored
Normal file
Binary file not shown.
10
app/Http/Controllers/Auth/ForgotPasswordController.php
Normal file
10
app/Http/Controllers/Auth/ForgotPasswordController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use Wave\Http\Controllers\Auth\ForgotPasswordController as AuthForgotPasswordController;
|
||||
|
||||
class ForgotPasswordController extends AuthForgotPasswordController
|
||||
{
|
||||
|
||||
}
|
||||
10
app/Http/Controllers/Auth/LoginController.php
Normal file
10
app/Http/Controllers/Auth/LoginController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use Wave\Http\Controllers\Auth\LoginController as AuthLoginController;
|
||||
|
||||
class LoginController extends AuthLoginController
|
||||
{
|
||||
|
||||
}
|
||||
10
app/Http/Controllers/Auth/RegisterController.php
Normal file
10
app/Http/Controllers/Auth/RegisterController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use Wave\Http\Controllers\Auth\RegisterController as AuthRegisterController;
|
||||
|
||||
class RegisterController extends AuthRegisterController
|
||||
{
|
||||
|
||||
}
|
||||
10
app/Http/Controllers/Auth/ResetPasswordController.php
Normal file
10
app/Http/Controllers/Auth/ResetPasswordController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use Wave\Http\Controllers\Auth\ResetPasswordController as AuthResetPasswordController;
|
||||
|
||||
class ResetPasswordController extends AuthResetPasswordController
|
||||
{
|
||||
|
||||
}
|
||||
13
app/Http/Controllers/Controller.php
Normal file
13
app/Http/Controllers/Controller.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
|
||||
class Controller extends BaseController
|
||||
{
|
||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||
}
|
||||
72
app/Http/Kernel.php
Normal file
72
app/Http/Kernel.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http;
|
||||
|
||||
use Illuminate\Foundation\Http\Kernel as HttpKernel;
|
||||
|
||||
class Kernel extends HttpKernel
|
||||
{
|
||||
/**
|
||||
* The application's global HTTP middleware stack.
|
||||
*
|
||||
* These middleware are run during every request to your application.
|
||||
*
|
||||
* @var array<int, class-string|string>
|
||||
*/
|
||||
protected $middleware = [
|
||||
// \App\Http\Middleware\TrustHosts::class,
|
||||
\App\Http\Middleware\TrustProxies::class,
|
||||
\Illuminate\Http\Middleware\HandleCors::class,
|
||||
\App\Http\Middleware\PreventRequestsDuringMaintenance::class,
|
||||
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
|
||||
\App\Http\Middleware\TrimStrings::class,
|
||||
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||
];
|
||||
|
||||
/**
|
||||
* The application's route middleware groups.
|
||||
*
|
||||
* @var array<string, array<int, class-string|string>>
|
||||
*/
|
||||
protected $middlewareGroups = [
|
||||
'web' => [
|
||||
\App\Http\Middleware\EncryptCookies::class,
|
||||
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||
\Illuminate\Session\Middleware\StartSession::class,
|
||||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
\App\Http\Middleware\Localization::class,
|
||||
],
|
||||
|
||||
'api' => [
|
||||
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
||||
'throttle:api',
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* The application's route middleware.
|
||||
*
|
||||
* These middleware may be assigned to groups or used individually.
|
||||
*
|
||||
* @var array<string, class-string|string>
|
||||
*/
|
||||
protected $routeMiddleware = [
|
||||
'auth' => \App\Http\Middleware\Authenticate::class,
|
||||
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
||||
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
|
||||
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
|
||||
'can' => \Illuminate\Auth\Middleware\Authorize::class,
|
||||
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
|
||||
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
|
||||
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||
'auth.jwt'=>\App\Http\Middleware\JwtMiddleWare::class,
|
||||
'user' => \App\Http\Middleware\CheckIfUserRole::class,
|
||||
'admin' => \App\Http\Middleware\CheckIfAdminRole::class,
|
||||
'route.access' => \App\Http\Middleware\HasRouteAccess::class,
|
||||
];
|
||||
}
|
||||
107
app/Http/Livewire/Wave/DeployToDo.php
Normal file
107
app/Http/Livewire/Wave/DeployToDo.php
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire\Wave;
|
||||
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Livewire\Component;
|
||||
|
||||
class DeployToDo extends Component
|
||||
{
|
||||
public $api_key;
|
||||
public $repo;
|
||||
public $deploy;
|
||||
public $app_id;
|
||||
public $deployments;
|
||||
public $app;
|
||||
|
||||
public function mount(){
|
||||
// get the deploy.json file and convert to object
|
||||
$this->deploy = json_decode(preg_replace('/[\x00-\x1F\x80-\xFF]/', '', file_get_contents(base_path('deploy.json')) ), true);
|
||||
$this->checkForAppDeployment();
|
||||
}
|
||||
|
||||
private function checkForAppDeployment(){
|
||||
if(isset( $this->deploy['wave'] ) && isset( $this->deploy['wave']['app_id'] )){
|
||||
$this->app_id = $this->deploy['wave']['app_id'];
|
||||
$this->api_key = $this->deploy['wave']['api_key'];
|
||||
$this->deployments = $this->getDeployments();
|
||||
$this->app = $this->getAppInfo();
|
||||
}
|
||||
}
|
||||
|
||||
public function getDeployments(){
|
||||
$response = Http::withToken($this->api_key)->get('https://api.digitalocean.com/v2/apps/' . $this->app_id . '/deployments');
|
||||
|
||||
return json_decode($response->body(), true);
|
||||
}
|
||||
|
||||
public function getAppInfo(){
|
||||
$response = Http::withToken($this->api_key)->get('https://api.digitalocean.com/v2/apps/' . $this->app_id);
|
||||
|
||||
return json_decode($response->body(), true);
|
||||
}
|
||||
|
||||
private function writeToDeployFile($id, $key, $deployFileArray){
|
||||
$deployFileArray['wave']['app_id'] = $id;
|
||||
$deployFileArray['wave']['api_key'] = $key;
|
||||
|
||||
|
||||
file_put_contents(base_path('deploy.json'), stripslashes(json_encode($deployFileArray, JSON_PRETTY_PRINT)));
|
||||
$this->deploy = json_decode(preg_replace('/[\x00-\x1F\x80-\xFF]/', '', file_get_contents(base_path('deploy.json')) ), true);
|
||||
}
|
||||
|
||||
public function deploy(){
|
||||
|
||||
if(!isset($this->app_id)){
|
||||
// repo must contain a '/', do a check for that
|
||||
$repoSplit = explode('/', $this->repo);
|
||||
$repoName = (isset($repoSplit[0]) && isset($repoSplit[1])) ? $repoSplit[0] . '-' . $repoSplit[1] : false;
|
||||
if(!$repoName){
|
||||
$this->dispatchBrowserEvent('notify', ['type' => 'error', 'message' => 'Please make sure you enter a valiid repo (ex: user/repo)']);
|
||||
return;
|
||||
}
|
||||
|
||||
if(empty($this->api_key)){
|
||||
$this->dispatchBrowserEvent('notify', ['type' => 'error', 'message' => 'C\'mon, you can\'t leave the API key field empty.']);
|
||||
return;
|
||||
}
|
||||
|
||||
if(is_null($this->deploy)){
|
||||
$this->dispatchBrowserEvent('notify', ['type' => 'error', 'message' => 'Sorry it looks like your deploy.json does not contain valid JSON']);
|
||||
return;
|
||||
}
|
||||
|
||||
// replace values with repoName and Repo url
|
||||
$finalJSONPayload = json_encode($this->deploy);
|
||||
$finalJSONPayload = str_replace('${wave.name}', str_replace('_', '-', $repoName), $finalJSONPayload);
|
||||
//dd($this->repo);
|
||||
$finalJSONPayload = str_replace('${wave.repo}', $this->repo, $finalJSONPayload);
|
||||
|
||||
$response = Http::withToken($this->api_key)->withBody( $finalJSONPayload, 'application/json')
|
||||
->post('https://api.digitalocean.com/v2/apps');
|
||||
|
||||
// if the response is not successful, display the message back from DigitalOcean
|
||||
if(!$response->successful()){
|
||||
$responseBody = json_decode($response->body(), true);
|
||||
$this->dispatchBrowserEvent('notify', ['type' => 'error', 'message' => $responseBody['message']]);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
// get app ID and set it in the JSON
|
||||
$responseBody = json_decode($response->body(), true);
|
||||
|
||||
$this->writeToDeployFile($responseBody['app']['id'], $this->api_key, $this->deploy);
|
||||
|
||||
$this->checkForAppDeployment();
|
||||
|
||||
$this->dispatchBrowserEvent('notify', ['type' => 'success', 'message' => 'Successfully deployed your application!']);
|
||||
//dd('hit');
|
||||
}
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.wave.deploy-to-do');
|
||||
}
|
||||
}
|
||||
21
app/Http/Middleware/Authenticate.php
Normal file
21
app/Http/Middleware/Authenticate.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
||||
|
||||
class Authenticate extends Middleware
|
||||
{
|
||||
/**
|
||||
* Get the path the user should be redirected to when they are not authenticated.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return string|null
|
||||
*/
|
||||
protected function redirectTo($request)
|
||||
{
|
||||
if (! $request->expectsJson()) {
|
||||
return route('login');
|
||||
}
|
||||
}
|
||||
}
|
||||
39
app/Http/Middleware/CheckIfAdminRole.php
Normal file
39
app/Http/Middleware/CheckIfAdminRole.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Models\Role;
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class CheckIfAdminRole
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
// Check status
|
||||
if (auth()->user()->status == 'inactive') {
|
||||
$redirectUrl = auth()->user()->getRedirectRouteIfNotAuthenticated();
|
||||
auth()->logout();
|
||||
return redirect($redirectUrl);
|
||||
}
|
||||
|
||||
// Check role
|
||||
$roles = [
|
||||
Role::IT_PERSONNEL_ROLE,
|
||||
Role::NUMSTATION_MANAGER_ROLE,
|
||||
Role::NUMSTATION_STAFF_ROLE,
|
||||
];
|
||||
if (in_array(auth()->user()->role_id, $roles)) {
|
||||
return $next($request);
|
||||
}
|
||||
return abort(Response::HTTP_FORBIDDEN, '403 Access Forbidden');
|
||||
}
|
||||
}
|
||||
40
app/Http/Middleware/CheckIfUserRole.php
Normal file
40
app/Http/Middleware/CheckIfUserRole.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Models\Role;
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class CheckIfUserRole
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
// Check status
|
||||
if (auth()->user()->status == 'inactive') {
|
||||
$redirectUrl = auth()->user()->getRedirectRoute();
|
||||
auth()->logout();
|
||||
return redirect($redirectUrl);
|
||||
}
|
||||
|
||||
// Check role
|
||||
$roles = [
|
||||
Role::OWNER_ROLE,
|
||||
Role::ADMINISTRATOR_ROLE,
|
||||
Role::BOOKKEEPER_ROLE,
|
||||
Role::COMPANY_SECRETARY_ROLE,
|
||||
];
|
||||
if (in_array(auth()->user()->role_id, $roles)) {
|
||||
return $next($request);
|
||||
}
|
||||
return abort(Response::HTTP_FORBIDDEN, '403 Access Forbidden');
|
||||
}
|
||||
}
|
||||
17
app/Http/Middleware/EncryptCookies.php
Normal file
17
app/Http/Middleware/EncryptCookies.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
|
||||
|
||||
class EncryptCookies extends Middleware
|
||||
{
|
||||
/**
|
||||
* The names of the cookies that should not be encrypted.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
//
|
||||
];
|
||||
}
|
||||
43
app/Http/Middleware/HasRouteAccess.php
Normal file
43
app/Http/Middleware/HasRouteAccess.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
// use App\Models\Permission;
|
||||
// use App\Models\RoleAccess;
|
||||
use Auth;
|
||||
use Closure;
|
||||
use Illuminate\Auth\Access\AuthorizationException;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class HasRouteAccess
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
*
|
||||
* @return mixed
|
||||
*
|
||||
* @throws AuthorizationException
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$action = $request->route()->getActionName();
|
||||
$permissionRoutes = config('permission-routes');
|
||||
$permissionKey = '';
|
||||
foreach ($permissionRoutes as $key => $routes) {
|
||||
if (in_array($action, $routes)) {
|
||||
$permissionKey = $key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($permissionKey == '' || Auth::user()->userRole->hasAccess($permissionKey)) {
|
||||
return $next($request);
|
||||
}
|
||||
return abort(Response::HTTP_FORBIDDEN, '403 Access Forbidden');
|
||||
}
|
||||
}
|
||||
24
app/Http/Middleware/HttpsRedirect.php
Normal file
24
app/Http/Middleware/HttpsRedirect.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
|
||||
class HttpsRedirect
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
if (!$request->secure() && app()->environment('production')) {
|
||||
return redirect()->secure($request->getRequestUri());
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
23
app/Http/Middleware/JWTMiddleWare.php
Normal file
23
app/Http/Middleware/JWTMiddleWare.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use JWTAuth;
|
||||
|
||||
class JWTMiddleWare
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
$user = JWTAuth::parseToken()->authenticate();
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
26
app/Http/Middleware/Localization.php
Normal file
26
app/Http/Middleware/Localization.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
|
||||
class Localization
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
if (Session::has('locale')) {
|
||||
App::setLocale(Session::get('locale'));
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
17
app/Http/Middleware/PreventRequestsDuringMaintenance.php
Normal file
17
app/Http/Middleware/PreventRequestsDuringMaintenance.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance as Middleware;
|
||||
|
||||
class PreventRequestsDuringMaintenance extends Middleware
|
||||
{
|
||||
/**
|
||||
* The URIs that should be reachable while maintenance mode is enabled.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
//
|
||||
];
|
||||
}
|
||||
31
app/Http/Middleware/RedirectIfAuthenticated.php
Normal file
31
app/Http/Middleware/RedirectIfAuthenticated.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class RedirectIfAuthenticated
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||
* @param string|null ...$guards
|
||||
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function handle(Request $request, Closure $next, ...$guards)
|
||||
{
|
||||
$guards = empty($guards) ? [null] : $guards;
|
||||
|
||||
foreach ($guards as $guard) {
|
||||
if (Auth::guard($guard)->check()) {
|
||||
return redirect(Auth::user()->getRedirectRoute());
|
||||
}
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
19
app/Http/Middleware/TrimStrings.php
Normal file
19
app/Http/Middleware/TrimStrings.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
|
||||
|
||||
class TrimStrings extends Middleware
|
||||
{
|
||||
/**
|
||||
* The names of the attributes that should not be trimmed.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
'current_password',
|
||||
'password',
|
||||
'password_confirmation',
|
||||
];
|
||||
}
|
||||
20
app/Http/Middleware/TrustHosts.php
Normal file
20
app/Http/Middleware/TrustHosts.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Http\Middleware\TrustHosts as Middleware;
|
||||
|
||||
class TrustHosts extends Middleware
|
||||
{
|
||||
/**
|
||||
* Get the host patterns that should be trusted.
|
||||
*
|
||||
* @return array<int, string|null>
|
||||
*/
|
||||
public function hosts()
|
||||
{
|
||||
return [
|
||||
$this->allSubdomainsOfApplicationUrl(),
|
||||
];
|
||||
}
|
||||
}
|
||||
28
app/Http/Middleware/TrustProxies.php
Normal file
28
app/Http/Middleware/TrustProxies.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Http\Middleware\TrustProxies as Middleware;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class TrustProxies extends Middleware
|
||||
{
|
||||
/**
|
||||
* The trusted proxies for this application.
|
||||
*
|
||||
* @var array<int, string>|string|null
|
||||
*/
|
||||
protected $proxies;
|
||||
|
||||
/**
|
||||
* The headers that should be used to detect proxies.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $headers =
|
||||
Request::HEADER_X_FORWARDED_FOR |
|
||||
Request::HEADER_X_FORWARDED_HOST |
|
||||
Request::HEADER_X_FORWARDED_PORT |
|
||||
Request::HEADER_X_FORWARDED_PROTO |
|
||||
Request::HEADER_X_FORWARDED_AWS_ELB;
|
||||
}
|
||||
18
app/Http/Middleware/VerifyCsrfToken.php
Normal file
18
app/Http/Middleware/VerifyCsrfToken.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
|
||||
|
||||
class VerifyCsrfToken extends Middleware
|
||||
{
|
||||
/**
|
||||
* The URIs that should be excluded from CSRF verification.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
'/paddle/webhook',
|
||||
'/v1/api/*',
|
||||
];
|
||||
}
|
||||
64
app/Mail/ForgetPasswordOtp.php
Normal file
64
app/Mail/ForgetPasswordOtp.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Mail\Mailables\Content;
|
||||
use Illuminate\Mail\Mailables\Envelope;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class ForgetPasswordOtp extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
|
||||
protected $otp;
|
||||
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($otp)
|
||||
{
|
||||
$this->otp = $otp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the message envelope.
|
||||
*
|
||||
* @return \Illuminate\Mail\Mailables\Envelope
|
||||
*/
|
||||
public function envelope()
|
||||
{
|
||||
return new Envelope(
|
||||
subject: 'Forget Password Otp',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the message content definition.
|
||||
*
|
||||
* @return \Illuminate\Mail\Mailables\Content
|
||||
*/
|
||||
public function content()
|
||||
{
|
||||
return new Content(
|
||||
markdown: 'theme::emails.forgot-password-otp',
|
||||
with: [
|
||||
'otp' => $this->otp,
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the attachments for the message.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function attachments()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
67
app/Mail/SendUserInvite.php
Normal file
67
app/Mail/SendUserInvite.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Mail\Mailables\Content;
|
||||
use Illuminate\Mail\Mailables\Envelope;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class SendUserInvite extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
|
||||
protected $url;
|
||||
protected $companyName;
|
||||
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($url, $companyName)
|
||||
{
|
||||
$this->url = $url;
|
||||
$this->companyName = $companyName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the message envelope.
|
||||
*
|
||||
* @return \Illuminate\Mail\Mailables\Envelope
|
||||
*/
|
||||
public function envelope()
|
||||
{
|
||||
return new Envelope(
|
||||
subject: 'You are invited to ' . $this->companyName,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the message content definition.
|
||||
*
|
||||
* @return \Illuminate\Mail\Mailables\Content
|
||||
*/
|
||||
public function content()
|
||||
{
|
||||
return new Content(
|
||||
markdown: 'theme::emails.send-user-invite',
|
||||
with: [
|
||||
'url' => $this->url,
|
||||
'companyName' => $this->companyName,
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the attachments for the message.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function attachments()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
73
app/Models/BookkeepingDocument.php
Normal file
73
app/Models/BookkeepingDocument.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Storage;
|
||||
|
||||
class BookkeepingDocument extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public const PATH_PREFIX = 'public/bookkeeping';
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'company_id',
|
||||
'user_id',
|
||||
'batch_name',
|
||||
'remark',
|
||||
'file_name',
|
||||
'bookkeeping_document_category_id',
|
||||
'status',
|
||||
'data_molino_status',
|
||||
'data_molino_return_status',
|
||||
'xero_status',
|
||||
'xero_amount',
|
||||
'url',
|
||||
'name',
|
||||
'description',
|
||||
'file_size',
|
||||
];
|
||||
|
||||
public function company()
|
||||
{
|
||||
return $this->belongsTo(Company::class);
|
||||
}
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
|
||||
public function category()
|
||||
{
|
||||
return $this->belongsTo(BookkeepingDocumentCategory::class, 'bookkeeping_document_category_id', 'id');
|
||||
}
|
||||
|
||||
public function getFolderPathAttribute()
|
||||
{
|
||||
return self::PATH_PREFIX . '/' . $this->id;
|
||||
}
|
||||
|
||||
public function getFilePathAttribute()
|
||||
{
|
||||
return ! $this->file_name ? null : $this->getFolderPathAttribute() . "/{$this->file_name}";
|
||||
}
|
||||
|
||||
public function getFileUrlAttribute()
|
||||
{
|
||||
$path = $this->getFilePathAttribute();
|
||||
|
||||
if ($path && Storage::exists($path)) {
|
||||
return env('AWS_ENDPOINT') . env('AWS_BUCKET') . '/' . $path;
|
||||
}
|
||||
|
||||
return '#';
|
||||
}
|
||||
}
|
||||
21
app/Models/BookkeepingDocumentCategory.php
Normal file
21
app/Models/BookkeepingDocumentCategory.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class BookkeepingDocumentCategory extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'status',
|
||||
];
|
||||
}
|
||||
47
app/Models/Company.php
Normal file
47
app/Models/Company.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Company extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'email',
|
||||
'name_english',
|
||||
'name_chinese',
|
||||
'registered_office_address_english',
|
||||
'registered_office_address_chinese',
|
||||
'br_number',
|
||||
'xero_api_key',
|
||||
];
|
||||
|
||||
public function getNameAttribute()
|
||||
{
|
||||
if (strtolower(app()->getLocale()) == 'zh_hk') {
|
||||
return $this->name_chinese;
|
||||
}
|
||||
return $this->name_english;
|
||||
}
|
||||
|
||||
public function getRegisteredOfficeAddressAttribute()
|
||||
{
|
||||
if (strtolower(app()->getLocale()) == 'zh_hk') {
|
||||
return $this->registered_office_address_chinese;
|
||||
}
|
||||
return $this->registered_office_address_english;
|
||||
}
|
||||
|
||||
public function users()
|
||||
{
|
||||
return $this->hasMany(User::class);
|
||||
}
|
||||
}
|
||||
23
app/Models/CompanyDocument.php
Normal file
23
app/Models/CompanyDocument.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CompanyDocument extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'company_id',
|
||||
'member_id',
|
||||
'filename',
|
||||
'url',
|
||||
];
|
||||
}
|
||||
39
app/Models/CompanyMember.php
Normal file
39
app/Models/CompanyMember.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CompanyMember extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'company_id',
|
||||
'position',
|
||||
'title',
|
||||
'name_english',
|
||||
'name_chinese',
|
||||
'phone',
|
||||
'email',
|
||||
'document_type',
|
||||
'document_number',
|
||||
'country',
|
||||
'address_english',
|
||||
'address_chinese',
|
||||
'year_date',
|
||||
'month_date',
|
||||
'day_date',
|
||||
];
|
||||
|
||||
public function documents()
|
||||
{
|
||||
return $this->hasMany(CompanyDocument::class, 'member_id', 'id');
|
||||
}
|
||||
}
|
||||
34
app/Models/CompanySubscription.php
Normal file
34
app/Models/CompanySubscription.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CompanySubscription extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'company_id',
|
||||
'subscription_id',
|
||||
'stripe_subscription_id',
|
||||
'status',
|
||||
'expiration_at',
|
||||
];
|
||||
|
||||
public function company()
|
||||
{
|
||||
return $this->hasOne(Company::class, 'id', 'company_id');
|
||||
}
|
||||
|
||||
public function subscription()
|
||||
{
|
||||
return $this->hasOne(Subscription::class, 'id', 'subscription_id');
|
||||
}
|
||||
}
|
||||
29
app/Models/DocumentActionLogs.php
Normal file
29
app/Models/DocumentActionLogs.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class DocumentActionLogs extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'event',
|
||||
'description',
|
||||
'status',
|
||||
'type',
|
||||
];
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
}
|
||||
24
app/Models/InviteUser.php
Normal file
24
app/Models/InviteUser.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class InviteUser extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'email',
|
||||
'token',
|
||||
'user_id',
|
||||
'company_id',
|
||||
'is_used',
|
||||
];
|
||||
}
|
||||
49
app/Models/OnlineHelp.php
Normal file
49
app/Models/OnlineHelp.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class OnlineHelp extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'title_english',
|
||||
'title_chinese',
|
||||
'details_english',
|
||||
'details_chinese',
|
||||
'category',
|
||||
'sort',
|
||||
];
|
||||
|
||||
public function getTitleAttribute()
|
||||
{
|
||||
if (strtolower(app()->getLocale()) == 'zh_hk') {
|
||||
return $this->title_chinese;
|
||||
}
|
||||
return $this->title_english;
|
||||
}
|
||||
|
||||
public function getDetailsAttribute()
|
||||
{
|
||||
if (strtolower(app()->getLocale()) == 'zh_hk') {
|
||||
return $this->detailss_chinese;
|
||||
}
|
||||
return $this->detailss_english;
|
||||
}
|
||||
|
||||
public function getCategoryNameDisplayAttribute()
|
||||
{
|
||||
if ($this->category == 'faq') {
|
||||
return __("FAQ");
|
||||
}
|
||||
return __("Online Documents");
|
||||
}
|
||||
}
|
||||
16
app/Models/Permission.php
Normal file
16
app/Models/Permission.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Permission extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public function permissionGroup()
|
||||
{
|
||||
return $this->hasOne(PermissionGroup::class, 'id', 'permission_group_id');
|
||||
}
|
||||
}
|
||||
16
app/Models/PermissionGroup.php
Normal file
16
app/Models/PermissionGroup.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class PermissionGroup extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public function permissions()
|
||||
{
|
||||
return $this->hasMany(Permission::class);
|
||||
}
|
||||
}
|
||||
34
app/Models/PermissionRole.php
Normal file
34
app/Models/PermissionRole.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class PermissionRole extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'permission_id',
|
||||
'role_id',
|
||||
'company_id',
|
||||
];
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
public function permission()
|
||||
{
|
||||
return $this->hasOne(Permission::class, 'id', 'permission_id');
|
||||
}
|
||||
|
||||
public function role()
|
||||
{
|
||||
return $this->hasOne(Role::class, 'id', 'role_id');
|
||||
}
|
||||
}
|
||||
50
app/Models/Role.php
Normal file
50
app/Models/Role.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Role extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
// Built In Roles
|
||||
public const ADMIN_ROLE = 1;
|
||||
public const TRIAL_ROLE = 2;
|
||||
public const BASIC_ROLE = 3;
|
||||
public const PRO_ROLE = 4;
|
||||
public const PREMIUM_ROLE = 5;
|
||||
public const CANCELLED_ROLE = 6;
|
||||
|
||||
// Custom Roles
|
||||
// User
|
||||
public const OWNER_ROLE = 7;
|
||||
public const ADMINISTRATOR_ROLE = 8;
|
||||
public const BOOKKEEPER_ROLE = 9;
|
||||
public const COMPANY_SECRETARY_ROLE = 10;
|
||||
// Admin
|
||||
public const IT_PERSONNEL_ROLE = 11;
|
||||
public const NUMSTATION_MANAGER_ROLE = 12;
|
||||
public const NUMSTATION_STAFF_ROLE = 13;
|
||||
|
||||
public function users()
|
||||
{
|
||||
return $this->hasMany(User::class);
|
||||
}
|
||||
|
||||
public function rolePermissions()
|
||||
{
|
||||
return $this->hasMany(PermissionRole::class);
|
||||
}
|
||||
|
||||
public function hasAccess($permissionKey)
|
||||
{
|
||||
$permission = Permission::where('key', $permissionKey)->first();
|
||||
if ($permission) {
|
||||
return $this->rolePermissions()->where('permission_id', $permission->id)->exists();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
44
app/Models/ServiceChat.php
Normal file
44
app/Models/ServiceChat.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class ServiceChat extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public const PATH_PREFIX = 'public/chats';
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'company_id',
|
||||
'user_id',
|
||||
'service_type',
|
||||
];
|
||||
|
||||
public function messages()
|
||||
{
|
||||
return $this->hasMany(ServiceChatMessage::class);
|
||||
}
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
|
||||
public function company()
|
||||
{
|
||||
return $this->belongsTo(Company::class);
|
||||
}
|
||||
|
||||
public function getFolderPathAttribute()
|
||||
{
|
||||
return self::PATH_PREFIX . '/' . $this->id;
|
||||
}
|
||||
}
|
||||
78
app/Models/ServiceChatMessage.php
Normal file
78
app/Models/ServiceChatMessage.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Storage;
|
||||
|
||||
class ServiceChatMessage extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public const PATH_PREFIX = 'public/chats';
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'service_chat_id',
|
||||
'message',
|
||||
'from_user_id',
|
||||
'to_user_id',
|
||||
'to_admin',
|
||||
'is_file',
|
||||
'file_name',
|
||||
'is_read',
|
||||
];
|
||||
|
||||
public function getElapsedTimeAttribute()
|
||||
{
|
||||
$time = time() - $this->created_at->timestamp;
|
||||
$time = $time < 1 ? 1 : $time;
|
||||
$tokens = [
|
||||
31536000 => 'year',
|
||||
2592000 => 'month',
|
||||
604800 => 'week',
|
||||
86400 => 'day',
|
||||
3600 => 'hour',
|
||||
60 => 'min',
|
||||
1 => 'second',
|
||||
];
|
||||
|
||||
foreach ($tokens as $unit => $text) {
|
||||
if ($time < $unit) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$numberOfUnits = floor($time / $unit);
|
||||
|
||||
return $numberOfUnits . ' ' . $text . ($numberOfUnits > 1 ? 's' : '') . ' ago';
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
public function getFolderPathAttribute()
|
||||
{
|
||||
return self::PATH_PREFIX . '/' . $this->service_chat_id;
|
||||
}
|
||||
|
||||
public function getFilePathAttribute()
|
||||
{
|
||||
return ! $this->file_name ? null : $this->getFolderPathAttribute() . "/{$this->file_name}";
|
||||
}
|
||||
|
||||
public function getFileUrlAttribute()
|
||||
{
|
||||
$path = $this->getFilePathAttribute();
|
||||
|
||||
if ($path && Storage::exists($path)) {
|
||||
return env('AWS_ENDPOINT') . env('AWS_BUCKET') . '/' . $path;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
63
app/Models/SiteSetting.php
Normal file
63
app/Models/SiteSetting.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class SiteSetting extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'terms_and_conditions_english',
|
||||
'terms_and_conditions_chinese',
|
||||
'privacy_policy_english',
|
||||
'privacy_policy_chinese',
|
||||
'phone',
|
||||
'whatsapp',
|
||||
'email',
|
||||
'office_hour_english',
|
||||
'office_hour_chinese',
|
||||
'address_english',
|
||||
'address_chinese',
|
||||
'google_drive_api_key',
|
||||
];
|
||||
|
||||
public function getTermsAndConditionsAttribute()
|
||||
{
|
||||
if (strtolower(app()->getLocale()) == 'zh_hk') {
|
||||
return $this->terms_and_conditions_chinese;
|
||||
}
|
||||
return $this->terms_and_conditions_english;
|
||||
}
|
||||
|
||||
public function getPrivacyPolicyAttribute()
|
||||
{
|
||||
if (strtolower(app()->getLocale()) == 'zh_hk') {
|
||||
return $this->privacy_policy_chinese;
|
||||
}
|
||||
return $this->privacy_policy_english;
|
||||
}
|
||||
|
||||
public function getOfficeHourAttribute()
|
||||
{
|
||||
if (strtolower(app()->getLocale()) == 'zh_hk') {
|
||||
return $this->office_hour_chinese;
|
||||
}
|
||||
return $this->office_hour_english;
|
||||
}
|
||||
|
||||
public function getAddressAttribute()
|
||||
{
|
||||
if (strtolower(app()->getLocale()) == 'zh_hk') {
|
||||
return $this->address_chinese;
|
||||
}
|
||||
return $this->address_english;
|
||||
}
|
||||
}
|
||||
38
app/Models/Subscription.php
Normal file
38
app/Models/Subscription.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Subscription extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'service_type',
|
||||
'name_english',
|
||||
'name_chinese',
|
||||
'period_english',
|
||||
'period_chinese',
|
||||
'description_english',
|
||||
'description_chinese',
|
||||
'price',
|
||||
'status',
|
||||
];
|
||||
|
||||
public function basicServices()
|
||||
{
|
||||
return $this->hasMany(SubscriptionBasicService::class);
|
||||
}
|
||||
|
||||
public function optionalServices()
|
||||
{
|
||||
return $this->hasMany(SubscriptionOptionalService::class);
|
||||
}
|
||||
}
|
||||
27
app/Models/SubscriptionBasicService.php
Normal file
27
app/Models/SubscriptionBasicService.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class SubscriptionBasicService extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'subscription_id',
|
||||
'title_english',
|
||||
'title_chinese',
|
||||
];
|
||||
|
||||
public function lists()
|
||||
{
|
||||
return $this->hasMany(SubscriptionBasicServiceList::class);
|
||||
}
|
||||
}
|
||||
22
app/Models/SubscriptionBasicServiceList.php
Normal file
22
app/Models/SubscriptionBasicServiceList.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class SubscriptionBasicServiceList extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'subscription_basic_service_id',
|
||||
'title_english',
|
||||
'title_chinese',
|
||||
];
|
||||
}
|
||||
26
app/Models/SubscriptionOptionalService.php
Normal file
26
app/Models/SubscriptionOptionalService.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class SubscriptionOptionalService extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'subscription_id',
|
||||
'title_english',
|
||||
'title_chinese',
|
||||
'price',
|
||||
'period',
|
||||
'is_custom',
|
||||
'custom_description',
|
||||
];
|
||||
}
|
||||
126
app/Models/User.php
Normal file
126
app/Models/User.php
Normal file
@@ -0,0 +1,126 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Wave\User as Authenticatable;
|
||||
|
||||
class User extends Authenticatable
|
||||
{
|
||||
use Notifiable, SoftDeletes;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'email',
|
||||
'username',
|
||||
'password',
|
||||
'verification_code',
|
||||
'verified',
|
||||
'trial_ends_at',
|
||||
'company_id',
|
||||
'first_name',
|
||||
'last_name',
|
||||
'alias_name',
|
||||
'phone',
|
||||
'forgot_password_otp',
|
||||
'status',
|
||||
'role_id',
|
||||
'api_token',
|
||||
'admin_active_company_id'
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be hidden for serialization.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $hidden = [
|
||||
'password',
|
||||
'remember_token',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be cast.
|
||||
*
|
||||
* @var array<string, string>
|
||||
*/
|
||||
protected $casts = [
|
||||
'trial_ends_at' => 'datetime',
|
||||
];
|
||||
|
||||
public function getRedirectRoute()
|
||||
{
|
||||
switch ($this->role_id) {
|
||||
case Role::OWNER_ROLE:
|
||||
return RouteServiceProvider::USER_HOME;
|
||||
case Role::ADMINISTRATOR_ROLE:
|
||||
return RouteServiceProvider::USER_HOME;
|
||||
case Role::BOOKKEEPER_ROLE:
|
||||
return RouteServiceProvider::USER_HOME;
|
||||
case Role::COMPANY_SECRETARY_ROLE:
|
||||
return RouteServiceProvider::USER_HOME;
|
||||
case Role::IT_PERSONNEL_ROLE:
|
||||
return RouteServiceProvider::ADMIN_HOME;
|
||||
case Role::NUMSTATION_MANAGER_ROLE:
|
||||
return RouteServiceProvider::ADMIN_HOME;
|
||||
case Role::NUMSTATION_STAFF_ROLE:
|
||||
return RouteServiceProvider::ADMIN_HOME;
|
||||
default:
|
||||
return RouteServiceProvider::USER_HOME;
|
||||
}
|
||||
}
|
||||
|
||||
public function getRedirectRouteIfNotAuthenticated()
|
||||
{
|
||||
switch ($this->role_id) {
|
||||
case Role::OWNER_ROLE:
|
||||
return RouteServiceProvider::USER_LOGIN;
|
||||
case Role::ADMINISTRATOR_ROLE:
|
||||
return RouteServiceProvider::USER_LOGIN;
|
||||
case Role::BOOKKEEPER_ROLE:
|
||||
return RouteServiceProvider::USER_LOGIN;
|
||||
case Role::COMPANY_SECRETARY_ROLE:
|
||||
return RouteServiceProvider::USER_LOGIN;
|
||||
case Role::IT_PERSONNEL_ROLE:
|
||||
return RouteServiceProvider::ADMIN_LOGIN;
|
||||
case Role::NUMSTATION_MANAGER_ROLE:
|
||||
return RouteServiceProvider::ADMIN_LOGIN;
|
||||
case Role::NUMSTATION_STAFF_ROLE:
|
||||
return RouteServiceProvider::ADMIN_LOGIN;
|
||||
default:
|
||||
return RouteServiceProvider::USER_LOGIN;
|
||||
}
|
||||
}
|
||||
|
||||
public function company()
|
||||
{
|
||||
return $this->belongsTo(Company::class);
|
||||
}
|
||||
|
||||
public function notificationSettings()
|
||||
{
|
||||
return $this->hasMany(UserNotificationSetting::class);
|
||||
}
|
||||
|
||||
public function userRole()
|
||||
{
|
||||
return $this->hasOne(Role::class, 'id', 'role_id');
|
||||
}
|
||||
|
||||
public function notifications()
|
||||
{
|
||||
return $this->hasMany(UserNotification::class);
|
||||
}
|
||||
|
||||
public function adminActiveCompany()
|
||||
{
|
||||
return $this->hasOne(Company::class, 'id', 'admin_active_company_id');
|
||||
}
|
||||
}
|
||||
23
app/Models/UserAccessLog.php
Normal file
23
app/Models/UserAccessLog.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class UserAccessLog extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'event',
|
||||
'description',
|
||||
'status'
|
||||
];
|
||||
}
|
||||
11
app/Models/UserCompany.php
Normal file
11
app/Models/UserCompany.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class UserCompany extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
}
|
||||
33
app/Models/UserEnquiry.php
Normal file
33
app/Models/UserEnquiry.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class UserEnquiry extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'name',
|
||||
'phone',
|
||||
'email',
|
||||
'title',
|
||||
'message',
|
||||
'category',
|
||||
'status',
|
||||
'reply',
|
||||
];
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
}
|
||||
72
app/Models/UserNotification.php
Normal file
72
app/Models/UserNotification.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class UserNotification extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'title',
|
||||
'description',
|
||||
'category',
|
||||
'target_id',
|
||||
'target_type',
|
||||
'is_read',
|
||||
'is_admin',
|
||||
'status',
|
||||
];
|
||||
|
||||
public function getUrlAttribute()
|
||||
{
|
||||
$url = '';
|
||||
if (strtolower($this->category) == 'service chat') {
|
||||
$url = route('cms.chat');
|
||||
$chat = ServiceChat::find($this->target_id);
|
||||
if ($chat) {
|
||||
$url = $url . '?user_id=' . $chat->user_id . '&company_id=' . $chat->company_id . '&chat_id=' . $this->target_id;
|
||||
}
|
||||
}
|
||||
else if (strtolower($this->category) == 'bookkeeping queue') {
|
||||
$url = route('cms.bookkeepings');
|
||||
}
|
||||
|
||||
return $url;
|
||||
}
|
||||
|
||||
public function getCategoryUrlAttribute()
|
||||
{
|
||||
$url = '';
|
||||
if (strtolower($this->category) == 'service chat') {
|
||||
$url = route('cms.chat');
|
||||
}
|
||||
else if (strtolower($this->category) == 'bookkeeping queue') {
|
||||
$url = route('cms.bookkeepings');
|
||||
}
|
||||
|
||||
return $url;
|
||||
}
|
||||
|
||||
public function getImageUrlAttribute()
|
||||
{
|
||||
$url = '';
|
||||
if (strtolower($this->category) == 'service chat') {
|
||||
$url = asset('themes/tailwind/images/building.svg');
|
||||
}
|
||||
else if (strtolower($this->category) == 'bookkeeping queue') {
|
||||
$ext = pathinfo($this->description, PATHINFO_EXTENSION);
|
||||
$url = $ext == 'pdf' ? asset('themes/tailwind/images/pdf.svg') : asset('themes/tailwind/images/jpg.svg');
|
||||
}
|
||||
|
||||
return $url;
|
||||
}
|
||||
}
|
||||
28
app/Models/UserNotificationSetting.php
Normal file
28
app/Models/UserNotificationSetting.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class UserNotificationSetting extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
//
|
||||
public const USER_PUSH_NOTIFICATION = 'user_push_notification';
|
||||
public const USER_BOOKKEEPING_QUEUE = 'user_bookkeeping_queue';
|
||||
public const USER_COMPANY_SECURTY_QUEUE = 'user_company_securty_queue';
|
||||
public const USER_CHAT_ROOM = 'user_chat_room';
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'notification',
|
||||
'is_active',
|
||||
];
|
||||
}
|
||||
107
app/Providers/AppServiceProvider.php
Normal file
107
app/Providers/AppServiceProvider.php
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Models\Company;
|
||||
// use App\Models\RelationshipUserCompany;
|
||||
use App\Models\User;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\Facades\View;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Register any application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Bootstrap any application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
if ($this->app->environment() == 'production') {
|
||||
$this->app['request']->server->set('HTTPS', true);
|
||||
}
|
||||
|
||||
$this->setSchemaDefaultLength();
|
||||
|
||||
Validator::extend('base64image', function ($attribute, $value, $parameters, $validator) {
|
||||
$explode = explode(',', $value);
|
||||
$allow = ['png', 'jpg', 'svg', 'jpeg'];
|
||||
$format = str_replace(
|
||||
[
|
||||
'data:image/',
|
||||
';',
|
||||
'base64',
|
||||
],
|
||||
[
|
||||
'', '', '',
|
||||
],
|
||||
$explode[0]
|
||||
);
|
||||
|
||||
// check file format
|
||||
if (!in_array($format, $allow)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// check base64 format
|
||||
if (!preg_match('%^[a-zA-Z0-9/+]*={0,2}$%', $explode[1])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
view()->composer('partials.language_switcher', function ($view) {
|
||||
$view->with('current_locale', app()->getLocale());
|
||||
$view->with('available_locales', config('app.available_locales'));
|
||||
});
|
||||
|
||||
|
||||
View::composer(['theme::user.layouts.app'], function ($view) {
|
||||
if (auth()->check()) {
|
||||
$current_user = auth()->user();
|
||||
$current_company = Company::find($current_user->current_active_company);
|
||||
// $userCompanies = RelationshipUserCompany::where('user_id', $current_user->id)->pluck('company_id')->all();
|
||||
// $companies = Company::findMany($userCompanies);
|
||||
|
||||
$view->with([
|
||||
// 'companies' => $companies,
|
||||
// 'userCompanies' => $userCompanies,
|
||||
'current_company' => $current_company,
|
||||
]);
|
||||
}
|
||||
});
|
||||
// View::composer(['theme::layouts.app'], function ($view) {
|
||||
// if (auth()->check()) {
|
||||
// $current_user = auth()->user();
|
||||
// $users = User::where('role_id', '>=', '11')->where('status', 'active')->get();
|
||||
|
||||
// $view->with([
|
||||
// 'users' => $users,
|
||||
// ]);
|
||||
// }
|
||||
// });
|
||||
|
||||
|
||||
}
|
||||
|
||||
private function setSchemaDefaultLength(): void
|
||||
{
|
||||
try {
|
||||
Schema::defaultStringLength(191);
|
||||
}
|
||||
catch (\Exception $exception){}
|
||||
}
|
||||
}
|
||||
30
app/Providers/AuthServiceProvider.php
Normal file
30
app/Providers/AuthServiceProvider.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
|
||||
class AuthServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* The model to policy mappings for the application.
|
||||
*
|
||||
* @var array<class-string, class-string>
|
||||
*/
|
||||
protected $policies = [
|
||||
// 'App\Models\Model' => 'App\Policies\ModelPolicy',
|
||||
];
|
||||
|
||||
/**
|
||||
* Register any authentication / authorization services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
$this->registerPolicies();
|
||||
|
||||
//
|
||||
}
|
||||
}
|
||||
21
app/Providers/BroadcastServiceProvider.php
Normal file
21
app/Providers/BroadcastServiceProvider.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use Illuminate\Support\Facades\Broadcast;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class BroadcastServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Bootstrap any application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
Broadcast::routes();
|
||||
|
||||
require base_path('routes/channels.php');
|
||||
}
|
||||
}
|
||||
42
app/Providers/EventServiceProvider.php
Normal file
42
app/Providers/EventServiceProvider.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use Illuminate\Auth\Events\Registered;
|
||||
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
|
||||
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
|
||||
use Illuminate\Support\Facades\Event;
|
||||
|
||||
class EventServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* The event to listener mappings for the application.
|
||||
*
|
||||
* @var array<class-string, array<int, class-string>>
|
||||
*/
|
||||
protected $listen = [
|
||||
// Registered::class => [
|
||||
// SendEmailVerificationNotification::class,
|
||||
// ],
|
||||
];
|
||||
|
||||
/**
|
||||
* Register any events for your application.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if events and listeners should be automatically discovered.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function shouldDiscoverEvents()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
55
app/Providers/RouteServiceProvider.php
Normal file
55
app/Providers/RouteServiceProvider.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use Illuminate\Cache\RateLimiting\Limit;
|
||||
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\RateLimiter;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
class RouteServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* The path to the "home" route for your application.
|
||||
*
|
||||
* Typically, users are redirected here after authentication.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public const USER_HOME = '/user/dashboard';
|
||||
public const USER_LOGIN = '/login';
|
||||
public const ADMIN_HOME = '/cms/dashboard';
|
||||
public const ADMIN_LOGIN = '/cms/login';
|
||||
|
||||
/**
|
||||
* Define your route model bindings, pattern filters, and other route configuration.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
$this->configureRateLimiting();
|
||||
|
||||
$this->routes(function () {
|
||||
Route::middleware('api')
|
||||
->prefix('api')
|
||||
->group(base_path('routes/api.php'));
|
||||
|
||||
Route::middleware('web')
|
||||
->group(base_path('routes/web.php'));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the rate limiters for the application.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function configureRateLimiting()
|
||||
{
|
||||
RateLimiter::for('api', function (Request $request) {
|
||||
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
|
||||
});
|
||||
}
|
||||
}
|
||||
20
app/helpers.php
Normal file
20
app/helpers.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use App\Models\UserNotification;
|
||||
|
||||
if (! function_exists('storeUserNotification')) {
|
||||
function storeUserNotification($userId, $title, $description = null, $category = null, $isAdmin = false, $targetId = null, $targetType = null, $status = 'success', $isRead = false)
|
||||
{
|
||||
return UserNotification::create([
|
||||
'user_id' => $userId,
|
||||
'title' => $title,
|
||||
'description' => $description,
|
||||
'category' => $category,
|
||||
'target_id' => $targetId,
|
||||
'target_type' => $targetType,
|
||||
'is_read' => $isRead,
|
||||
'is_admin' => $isAdmin,
|
||||
'status' => $status,
|
||||
]);
|
||||
}
|
||||
}
|
||||
55
bootstrap/app.php
Normal file
55
bootstrap/app.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Create The Application
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The first thing we will do is create a new Laravel application instance
|
||||
| which serves as the "glue" for all the components of Laravel, and is
|
||||
| the IoC container for the system binding all of the various parts.
|
||||
|
|
||||
*/
|
||||
|
||||
$app = new Illuminate\Foundation\Application(
|
||||
$_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
|
||||
);
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Bind Important Interfaces
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Next, we need to bind some important interfaces into the container so
|
||||
| we will be able to resolve them when needed. The kernels serve the
|
||||
| incoming requests to this application from both the web and CLI.
|
||||
|
|
||||
*/
|
||||
|
||||
$app->singleton(
|
||||
Illuminate\Contracts\Http\Kernel::class,
|
||||
App\Http\Kernel::class
|
||||
);
|
||||
|
||||
$app->singleton(
|
||||
Illuminate\Contracts\Console\Kernel::class,
|
||||
App\Console\Kernel::class
|
||||
);
|
||||
|
||||
$app->singleton(
|
||||
Illuminate\Contracts\Debug\ExceptionHandler::class,
|
||||
App\Exceptions\Handler::class
|
||||
);
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Return The Application
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This script returns the application instance. The instance is given to
|
||||
| the calling script so we can separate the building of the instances
|
||||
| from the actual running of the application and sending responses.
|
||||
|
|
||||
*/
|
||||
|
||||
return $app;
|
||||
2
bootstrap/cache/.gitignore
vendored
Executable file
2
bootstrap/cache/.gitignore
vendored
Executable file
@@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
||||
1
database/.gitignore
vendored
Normal file
1
database/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.sqlite
|
||||
34
database/factories/UserFactory.php
Normal file
34
database/factories/UserFactory.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class UserFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* The name of the factory's corresponding model.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $model = User::class;
|
||||
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
static $password;
|
||||
|
||||
return [
|
||||
'name' => $this->faker->name,
|
||||
'email' => $this->faker->unique()->safeEmail,
|
||||
'password' => $password ?: $password = bcrypt('secret'),
|
||||
'remember_token' => Str::random(10),
|
||||
];
|
||||
}
|
||||
}
|
||||
424
lang/al/voyager.php
Normal file
424
lang/al/voyager.php
Normal file
@@ -0,0 +1,424 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'Javën e kaluar',
|
||||
'last_year' => 'Viti i kaluar',
|
||||
'this_week' => 'Kjo javë',
|
||||
'this_year' => 'Këtë vit',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'Veprimi',
|
||||
'actions' => 'Veprimet',
|
||||
'add' => 'Shto',
|
||||
'add_folder' => 'Shto Dosje',
|
||||
'add_new' => 'Shto të ri',
|
||||
'all_done' => 'Të gjitha të kryera',
|
||||
'are_you_sure' => 'Jeni i sigurt',
|
||||
'are_you_sure_delete' => 'Jeni i sigurt që doni të fshini',
|
||||
'auto_increment' => 'Rritja automatike',
|
||||
'browse' => 'Shfleto',
|
||||
'builder' => 'Ndërtues',
|
||||
'bulk_delete' => 'Largo bulk',
|
||||
'bulk_delete_confirm' => 'Po, fshini këto',
|
||||
'bulk_delete_nothing' => 'Ju nuk keni zgjedhur ndonjë gjë për të fshirë',
|
||||
'cancel' => 'Anulo',
|
||||
'choose_type' => 'Zgjidhni Lloji',
|
||||
'click_here' => 'Kliko këtu',
|
||||
'close' => 'Mbyll',
|
||||
'compass' => 'Kompasë',
|
||||
'created_at' => 'Krijuar në',
|
||||
'custom' => 'Custom',
|
||||
'dashboard' => 'Dashboard',
|
||||
'database' => 'Baza e të dhënave',
|
||||
'default' => 'Default',
|
||||
'delete' => 'Fshije',
|
||||
'delete_confirm' => 'Po, fshij atë!',
|
||||
'delete_question' => 'Jeni i sigurt që dëshironi të fshini këtë',
|
||||
'delete_this_confirm' => 'Po, fshij këtë',
|
||||
'deselect_all' => 'Deselect All',
|
||||
'download' => 'Shkarko',
|
||||
'edit' => 'Edit',
|
||||
'email' => 'E-mail',
|
||||
'error_deleting' => 'Më vjen keq që duket se ka pasur një problem duke fshirë këtë',
|
||||
'exception' => 'Përjashtim',
|
||||
'featured' => 'Të zgjedhura',
|
||||
'field_does_not_exist' => 'Fusha nuk ekziston',
|
||||
'how_to_use' => 'Si të përdorni',
|
||||
'index' => 'Indeksi',
|
||||
'internal_error' => 'Gabim i brendshëm',
|
||||
'items' => 'artikull (et)',
|
||||
'keep_sidebar_open' => 'Yarr! Hidhni ankorat! (dhe mbani sidebar hapur) ',
|
||||
'key' => 'Çelësi',
|
||||
'last_modified' => 'Modifikuar e fundit',
|
||||
'length' => 'Gjatësia',
|
||||
'login' => 'Login',
|
||||
'media' => 'Media',
|
||||
'menu_builder' => 'Ndërtuesi i menysë',
|
||||
'move' => 'Leviz',
|
||||
'name' => 'Emri',
|
||||
'new' => 'New',
|
||||
'no' => 'Jo',
|
||||
'no_thanks' => 'Jo faleminderit',
|
||||
'not_null' => 'Jo Null',
|
||||
'options' => 'Opsionet',
|
||||
'password' => 'Fjalëkalimi',
|
||||
'permissions' => 'Lejet',
|
||||
'profile' => 'Profili',
|
||||
'public_url' => 'URL publik',
|
||||
'read' => 'Lexo',
|
||||
'rename' => 'Riemërtoj',
|
||||
'required' => 'Required',
|
||||
'return_to_list' => 'Kthehu në listë',
|
||||
'route' => 'Rruga',
|
||||
'save' => 'Ruaj',
|
||||
'search' => 'Kërko',
|
||||
'select_all' => 'Zgjidh të gjitha',
|
||||
'select_group' => 'Zgjidh grupin ekzistues ose Shto të ri',
|
||||
'settings' => 'Cilësimet',
|
||||
'showing_entries' => 'Duke treguar: nga në: të: të gjitha entrie | '
|
||||
.'Showing: from to: të: të gjitha shënimet',
|
||||
'submit' => 'Paraqesë',
|
||||
'successfully_added_new' => 'U shtua me sukses të ri',
|
||||
'successfully_deleted' => 'Deleted me sukses',
|
||||
'successfully_updated' => 'Përditëso me sukses',
|
||||
'timestamp' => 'Timestamp',
|
||||
'title' => 'Titulli',
|
||||
'type' => 'Lloji',
|
||||
'unsigned' => 'Unsigned',
|
||||
'unstick_sidebar' => 'Zhvidhos shiritin anësor',
|
||||
'update' => 'Përditëso',
|
||||
'update_failed' => 'Përditëso dështimi',
|
||||
'upload' => 'Ngarko',
|
||||
'url' => 'URL',
|
||||
'view' => 'Shikoni',
|
||||
'viewing' => 'Duke parë',
|
||||
'yes' => 'Po',
|
||||
'yes_please' => 'Po, Ju lutem',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'Identifikimi',
|
||||
'signin_below' => 'Hyni më poshtë:',
|
||||
'welcome' => 'Mirë se vini në Voyager. Adminja e zhdukur për Laravel ',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Avatari',
|
||||
'edit' => 'Edit My Profile',
|
||||
'edit_user' => 'Edit User',
|
||||
'password' => 'Fjalëkalimi',
|
||||
'password_hint' => 'Lëreni bosh për të mbajtur të njëjtën',
|
||||
'role' => 'Roli',
|
||||
'user_role' => 'Roli i përdoruesit',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'Ju mund të merrni vlerën e çdo cilësie kudo në faqen tuaj duke telefonuar',
|
||||
'save' => 'Save Settings',
|
||||
'new' => 'Vendosja e re',
|
||||
'help_name' => 'Vendosja e emrit ex: Title Admin',
|
||||
'help_key' => 'Vendosja e tastit ex: admin_title',
|
||||
'help_option' => '(opsional, vlen vetëm për lloje të caktuara si kuti dropdown ose radio button)',
|
||||
'add_new' => 'Shto vendosjen e re',
|
||||
'delete_question' => 'A jeni i sigurt që doni të fshini: vendosjen e Vendosjes?',
|
||||
'delete_confirm' => 'Po, fshij këtë cilësim',
|
||||
'successfully_created' => 'Cilësimet e krijuara me sukses',
|
||||
'successfully_saved' => 'Parametrat e ruajtura me sukses',
|
||||
'successfully_deleted' => 'Vendosja me sukses e fshirë',
|
||||
'already_at_top' => 'Kjo është tashmë në krye të listës',
|
||||
'already_at_bottom' => 'Kjo tashmë është në fund të listës',
|
||||
'key_already_exists' => 'Çelësi: çelësi tashmë ekziston',
|
||||
'moved_order_up' => 'Kaluar: emri i vendosjes së rendit lart',
|
||||
'moved_order_down' => 'Moved: rregullimi i emrit të rendit poshtë',
|
||||
'successfully_removed' => 'Hiqet me sukses: vlera e emrit',
|
||||
'group_general' => 'Përgjithshme',
|
||||
'group_admin' => 'Admin',
|
||||
'group_site' => 'Site',
|
||||
'group' => 'Grupi',
|
||||
'help_group' => 'Grupi ky përcaktim është caktuar për',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'Shto një dosje të re',
|
||||
'audio_support' => 'Shfletuesi juaj nuk e mbështet elementin audio.',
|
||||
'create_new_folder' => 'Krijo dosje të re',
|
||||
'delete_folder_question' => 'Fshirja e një dosjeje do të heqë të gjitha skedarët '
|
||||
.' dhe dosjet e përmbajtura brenda',
|
||||
'destination_folder' => 'Folder Destinacioni',
|
||||
'drag_drop_info' => 'Drag dhe rrëzo skedarët ose kliko më poshtë për të ngarkuar',
|
||||
'error_already_exists' => 'Na vjen keq që ekziston një skedar / dosje me atë emër ekzistues në atë dosje.',
|
||||
'error_creating_dir' => 'Duket sikur diçka e keqe ka shkuar keq në krijimin e direktorisë.'
|
||||
.' kontrolloni lejet tuaja',
|
||||
'error_deleting_file' => 'Na duket diçka e keqe që duket se ka shkuar gabim duke fshirë këtë skedar,'
|
||||
.' ju lutem kontrolloni lejet',
|
||||
'error_deleting_folder' => 'Duket sikur diçka e keqe ka shkuar keq kur fshihet'
|
||||
.' kjo dosje kontrolloni lejet tuaja',
|
||||
'error_may_exist' => 'Skedari ose Folderi mund të ekzistojnë tashmë me këtë emër. '
|
||||
.'Ju lutem zgjidhni një emër tjetër ose fshini skedarin tjetër.',
|
||||
'error_moving' => 'Na vjen keq që duket se ka një problem të lëvizë atë '
|
||||
.'skedar / dosje, ju lutemi bëni sigurohuni që keni lejet e duhura.',
|
||||
'error_uploading' => 'Ngarko dështoj: Gabim i panjohur ndodhi!',
|
||||
'folder_exists_already' => 'Na vjen keq se dosja tashmë ekziston, ju lutem'
|
||||
.' fshini atë dosje nëse dëshironi për ta rikrijuar atë',
|
||||
'image_does_not_exist' => 'Imazhi nuk ekziston',
|
||||
'image_removed' => 'Imazhi i hequr',
|
||||
'library' => 'Biblioteka e Medias',
|
||||
'loading' => 'LOADING YOUR MEDIA FILES',
|
||||
'move_file_folder' => 'Move File / Folder',
|
||||
'new_file_folder' => 'Emri i ri i skedarit / folderit',
|
||||
'new_folder_name' => 'Emri i ri i dosjes',
|
||||
'no_files_here' => 'Asnjë fotografi këtu.',
|
||||
'no_files_in_folder' => 'Asnjë fotografi në këtë dosje.',
|
||||
'nothing_selected' => 'Nuk ka skedar ose dosje të zgjedhur',
|
||||
'rename_file_folder' => 'Rename File / Folder',
|
||||
'success_uploaded_file' => 'Skedari i ri i ngarkuar me sukses!',
|
||||
'success_uploading' => 'Ngarkuar me sukses!',
|
||||
'uploading_wrong_type' => 'Ngarko dështoj: Formati i skedarit të '
|
||||
.'pambështetur ose Është tepër i madh për të ngarkuar!',
|
||||
'video_support' => 'Shfletuesi juaj nuk e mbështet videon.',
|
||||
'crop' => 'Crop',
|
||||
'crop_and_create' => 'Crop & Krijo',
|
||||
'crop_override_confirm' => 'Do të anashkalojë imazhin origjinal, a jeni i sigurt?',
|
||||
'crop_image' => 'Imazhi i prerë',
|
||||
'success_crop_image' => 'Kulloni me sukses imazhin',
|
||||
'height' => 'Lartësia:',
|
||||
'width' => 'Gjerësia:',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Ngjyra në RGB ose magji (opsionale)',
|
||||
'color_ph' => 'Ngjyra (ex. #ffffff ose rgb (255, 255, 255)',
|
||||
'create_new_item' => 'Krijo një artikull të ri të menysë',
|
||||
'delete_item_confirm' => 'Po, fshini këtë artikull menu',
|
||||
'delete_item_question' => 'A jeni i sigurt që doni ta fshini këtë artikull të menusë?',
|
||||
'drag_drop_info' => 'Zvarriteni dhe hiqni menunë Artikujt e mëposhtëm për të riorganizuar ato.',
|
||||
'dynamic_route' => 'Rruga dinamike',
|
||||
'edit_item' => 'Modifiko artikullin e menysë',
|
||||
'icon_class' => 'Klasa e Font Icon për Item Menu (Përdorni një',
|
||||
'icon_class2' => 'Klasa e Fonteve Voyager)',
|
||||
'icon_class_ph' => 'Klasa e ikonave (opsionale)',
|
||||
'item_route' => 'Rruga për artikullin e menysë',
|
||||
'item_title' => 'Titulli i artikullit të menysë',
|
||||
'link_type' => 'Lloji i lidhjes',
|
||||
'new_menu_item' => 'Artikulli i ri i menysë',
|
||||
'open_in' => 'Hapni',
|
||||
'open_new' => 'New Tab / Window',
|
||||
'open_same' => 'Same Tab / Window',
|
||||
'route_parameter' => 'Parametrat e rrugës (nëse ka)',
|
||||
'static_url' => 'URL statik',
|
||||
'successfully_created' => 'Krijoi me sukses artikullin e ri të menysë.',
|
||||
'successfully_deleted' => 'U zhduk me sukses artikullin e menysë.',
|
||||
'successfully_updated' => 'U përditësua me sukses artikulli i menusë.',
|
||||
'updated_order' => 'Rendi i menysë i përditësuar me sukses.',
|
||||
'url' => 'URL për artikullin e menysë',
|
||||
'usage_hint' => 'Ju mund të nxjerrni një menu kudo në faqen tuaj duke '
|
||||
.'telefonuar Mund të dalni këtë menu diku në faqen tënde duke telefonuar',
|
||||
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Kategoria postare',
|
||||
'content' => 'Post Content',
|
||||
'details' => 'Detajet e Postës',
|
||||
'excerpt' => 'Ekstrakt <i vogël> Përshkrimi i vogël i këtij postimi </ small>',
|
||||
'image' => 'Imazhi i postës',
|
||||
'meta_description' => 'Meta Description',
|
||||
'meta_keywords' => 'Meta Keywords',
|
||||
'new' => 'Krijo postë të re',
|
||||
'seo_content' => 'Përmbajtja SEO',
|
||||
'seo_title' => 'Titulli i Seo',
|
||||
'slug' => 'Slug URL',
|
||||
'status' => 'Statusi i Postës',
|
||||
'status_draft' => 'draft',
|
||||
'status_pending' => 'në pritje',
|
||||
'status_published' => 'publikuar',
|
||||
'title' => 'Post Titulli',
|
||||
'title_sub' => 'Titulli për postin tuaj',
|
||||
'update' => 'Update Post',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'Shto BREAD në këtë tabelë',
|
||||
'add_new_column' => 'Shto shtyllë të re',
|
||||
'add_softdeletes' => 'Shto butona të fshira',
|
||||
'add_timestamps' => 'Shto Timestamps',
|
||||
'already_exists' => 'ekziston tashmë',
|
||||
'already_exists_table' => 'Tabela: tabela tashmë ekziston',
|
||||
'bread_crud_actions' => 'BREAD / Actions',
|
||||
'bread_info' => 'BREAD info',
|
||||
'column' => 'Column',
|
||||
'composite_warning' => 'Paralajmërim: kjo kolonë është pjesë e një indeksi të përbërë',
|
||||
'controller_name' => 'Emri i Kontrollorit',
|
||||
'controller_name_hint' => 'ex. Kontrolluesi i faqes, nëse bosh do të përdorë kontrollorin e BREAD',
|
||||
'create_bread_for_table' => 'Krijo BREAD për: table table',
|
||||
'create_migration' => 'Krijo migrim për këtë tryezë?',
|
||||
'create_model_table' => 'Krijo model për këtë tabelë?',
|
||||
'create_new_table' => 'Krijo tabelë të re',
|
||||
'create_your_new_table' => 'Krijo tabelën tënde të re',
|
||||
'default' => 'Default',
|
||||
'delete_bread' => 'Fshi BREAD',
|
||||
'delete_bread_before_table' => 'Ju lutemi sigurohuni që të hiqni BREAD në këtë '
|
||||
.'tabelë përpara se të fshini tabelën.',
|
||||
'delete_table_bread_conf' => 'Po, hiq BREAD',
|
||||
'delete_table_bread_quest' => 'Jeni i sigurt që dëshironi të fshini BREAD për: tabelën e tabelës?',
|
||||
'delete_table_confirm' => 'Po, fshij këtë tabelë',
|
||||
'delete_table_question' => 'A jeni i sigurt që doni të fshini: tabelën e tabelës?',
|
||||
'description' => 'Përshkrimi',
|
||||
'display_name' => 'Emri i shfaqjes',
|
||||
'display_name_plural' => 'Shfaq Emri (Plural)',
|
||||
'display_name_singular' => 'Shfaq emrin (Singular)',
|
||||
'edit_bread' => 'Edit BREAD',
|
||||
'edit_bread_for_table' => 'Ndrysho BREAD për: table table',
|
||||
'edit_rows' => 'Redakto rreshtave për: tabelën e tabelës më poshtë',
|
||||
'edit_table' => 'Ndrysho tabelën e tabelës më poshtë',
|
||||
'edit_table_not_exist' => 'Tabela që dëshironi të redaktoni nuk ekziston',
|
||||
'error_creating_bread' => 'Më vjen keq që duket se mund të ketë pasur një '
|
||||
.'problem në krijimin e këtij brezi',
|
||||
'error_removing_bread' => 'Më vjen keq që duket se ka pasur një problem'
|
||||
.' duke hequr këtë BREAME',
|
||||
'error_updating_bread' => 'Më vjen keq që duket se mund të ketë pasur '
|
||||
.'një problem në përditësimin e këtij BREAK ',
|
||||
'extra' => 'Extra',
|
||||
'field' => 'Fusha',
|
||||
'field_safe_failed' => 'Dështoi në ruajtjen e fushës: fushë, ne do të kthehemi prapa!',
|
||||
'generate_permissions' => 'Generate Permissions',
|
||||
'icon_class' => 'Ikona për t\'u përdorur për këtë tabelë',
|
||||
'icon_hint' => 'Icon (opsional) Përdorni një',
|
||||
'icon_hint2' => 'Klasa Font Voyager',
|
||||
'index' => 'INDEKSI',
|
||||
'input_type' => 'Lloji i hyrjes',
|
||||
'key' => 'Çelësi',
|
||||
'model_class' => 'Emri i emrit të modelit',
|
||||
'model_name' => 'Emri i modelit',
|
||||
'model_name_ph' => 'ex. \ App \ User, nëse majtas bosh do të përpiqet dhe '
|
||||
.'të përdorë emrin e tabelës ',
|
||||
'name_warning' => 'Ju lutemi emri kolonën para se të shtoni një indeks',
|
||||
'no_composites_warning' => 'Kjo tabelë ka indekse të përbërë. Ju lutem vini re se ato nuk janë '
|
||||
.'të mbështetura për momentin. Kini kujdes kur përpiqeni të shtoni/hiqni indekset',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'Detajet Opsionale',
|
||||
'policy_class' => 'Emri i klasës së politikës',
|
||||
'policy_name' => 'Emri i politikave',
|
||||
'policy_name_ph' => 'ex. \ App \ Policies \ UserPolicy, nëse bosh bosh '
|
||||
.'do të përpiqet dhe të përdorë parazgjedhjen ',
|
||||
'primary' => 'FILLORE',
|
||||
'server_pagination' => 'Paraqitja në anë të serverit',
|
||||
'success_create_table' => 'Krijohet me sukses: tabela e tabelës',
|
||||
'success_created_bread' => 'Krijoi me sukses krijesën e re',
|
||||
'success_delete_table' => 'fshihet me sukses: tabela e tabelës',
|
||||
'success_remove_bread' => 'U largua me sukses BREAD nga: tipi i të dhënave',
|
||||
'success_update_bread' => 'Azhurohet me sukses: tipi i të dhënave BREAD',
|
||||
'success_update_table' => 'Përditësuar me sukses: tabela e tabelës',
|
||||
'table_actions' => 'Veprimet e tabelave',
|
||||
'table_columns' => 'Kolona e tabelave',
|
||||
'table_has_index' => 'Tabela tashmë ka një indeks primar.',
|
||||
'table_name' => 'Emri i tabelës',
|
||||
'table_no_columns' => 'Tabela nuk ka kollona ...',
|
||||
'type' => 'Lloji',
|
||||
'type_not_supported' => 'Ky lloj nuk është i mbështetur',
|
||||
'unique' => 'UNIKË',
|
||||
'unknown_type' => 'Tip i panjohur',
|
||||
'update_table' => 'Tabela e përditësimit',
|
||||
'url_slug' => 'Slug URL (duhet të jetë unik)',
|
||||
'url_slug_ph' => 'Slug URL (ex posts)',
|
||||
'visibility' => 'Shikueshmëria',
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'Faqe | Faqet',
|
||||
'page_link_text' => 'Shikoni të gjitha faqet',
|
||||
'page_text' => 'Ju keni: count: string në databazën tuaj. Klikoni butonin më poshtë'
|
||||
.' për të parë të gjitha faqet. ',
|
||||
'post' => 'Posta | Postime',
|
||||
'post_link_text' => 'Shiko të gjitha postimet',
|
||||
'post_text' => 'Ju keni: count: string në databazën tuaj. Klikoni butonin '
|
||||
.'më poshtë për të parë të gjitha postimet. ',
|
||||
'user' => 'Përdorues',
|
||||
'user_link_text' => 'Shikoni të gjithë përdoruesit',
|
||||
'user_text' => 'Ju keni: count: string në databazën tuaj. Klikoni butonin'
|
||||
.' më poshtë për të parë të gjithë përdoruesit. ',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Lëreni bosh për të mbajtur të njëjtën',
|
||||
'field_select_dd_relationship' => 'Sigurohuni që të konfiguroni marrëdhënien e '
|
||||
.'duhur në metodën e metodës së klasa e klasës.',
|
||||
'the :class class.',
|
||||
'type_checkbox' => 'Kutia e Kontrollit',
|
||||
'type_codeeditor' => 'Editor Kodi',
|
||||
'type_file' => 'Skedar',
|
||||
'type_image' => 'Image',
|
||||
'type_radiobutton' => 'Radio Button',
|
||||
'type_richtextbox' => 'Rich Textbox',
|
||||
'type_selectdropdown' => 'Zgjidh Dropdown',
|
||||
'type_textarea' => 'Zona e tekstit',
|
||||
'type_textbox' => 'Kutia e tekstit',
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'Nuk ka të dhëna të disponueshme në tabelë',
|
||||
'sInfo' => 'Duke shfaqur _START_ me _END_ të _TOTAL_ entries',
|
||||
'sInfoEmpty' => 'Duke shfaqur 0 deri në 0 nga 0 shënime',
|
||||
'sInfoFiltered' => '(filtruar nga hyrjet totale _MAX_)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => 'Shfaq _MENU_ entries',
|
||||
'sLoadingRecords' => 'Loading ...',
|
||||
'sProcessing' => 'Përpunimi ...',
|
||||
'sSearch' => 'Kërko:',
|
||||
'sZeroRecords' => 'Nuk u gjetën shënime përputhëse',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'Së pari',
|
||||
'sLast' => 'I fundit',
|
||||
'sNext' => 'Tjetra',
|
||||
'sPrevious' => 'I mëparshmi',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': aktivizoni për të renditur kolonën në ngjitje',
|
||||
'sSortDescending' => ': aktivizo për të renditur kolonën zbritëse',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Bërë me <i class = "voyager-heart"> </ i> nga',
|
||||
'footer_copyright2' => 'Bërë me rum dhe rum më shumë',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'Json i pavlefshëm',
|
||||
'invalid_message' => 'Duket sikur keni futur disa JSON të pavlefshëm.',
|
||||
'valid' => 'Valid Json',
|
||||
'validation_errors' => 'Gabimet e validimit',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'Nga pageview',
|
||||
'by_sessions' => 'Nga sesionet',
|
||||
'by_users' => 'Nga përdoruesit',
|
||||
'no_client_id' => 'Për të parë analitikën që do t\'ju nevojitet për të marrë një ID '
|
||||
.'të klientit të analytics google dhe shtoni në cilësimet tuaja për kodin '
|
||||
.'<code>google_analytics_client_id</code>. Merrni çelësin tuaj në tastierën zhvilluese të Google: ',
|
||||
'set_view' => 'Zgjidh një pamje',
|
||||
'this_vs_last_week' => 'Këtë javë ndaj javës së kaluar',
|
||||
'this_vs_last_year' => 'Këtë vit kundër vitit të kaluar',
|
||||
'top_browsers' => 'Shfletuesit kryesorë',
|
||||
'top_countries' => 'Vendet më të mira',
|
||||
'various_visualizations' => 'Vizualizime të ndryshme',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'Ne sapo krijuam linkun që mungon për ju.',
|
||||
'symlink_created_title' => 'Sjellja e humbur e ruajtjes u krijua',
|
||||
'symlink_failed_text' => 'Ne nuk arritëm të gjeneronim simbolin e humbur për aplikacionin tënd.'
|
||||
.' Duket se ofruesi juaj i pritjes nuk e mbështet atë.',
|
||||
'symlink_failed_title' => 'Nuk mundi të krijoj simbolin e ruajtjes së mungesës',
|
||||
'symlink_missing_button' => 'Fix it',
|
||||
'symlink_missing_text' => 'Ne nuk mund të gjejmë një symlink të ruajtjes. '
|
||||
.'Kjo mund të shkaktojë probleme me ngarkimi i skedarëve të medias nga shfletuesi.',
|
||||
'loading media files from the browser.',
|
||||
'symlink_missing_title' => 'Skeda e munguar e ruajtjes',
|
||||
],
|
||||
];
|
||||
376
lang/ar/voyager.php
Normal file
376
lang/ar/voyager.php
Normal file
@@ -0,0 +1,376 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'الأسبوع الماضي',
|
||||
'last_year' => 'السنة الماضية',
|
||||
'this_week' => 'هذا الأسبوع',
|
||||
'this_year' => 'هذا العام',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'إجراء',
|
||||
'actions' => 'الإجراءات',
|
||||
'add' => 'إضافة',
|
||||
'add_folder' => 'إضافة مجلد',
|
||||
'add_new' => 'إضافة جديد',
|
||||
'all_done' => 'تم الكل',
|
||||
'are_you_sure' => 'هل أنت واثق',
|
||||
'are_you_sure_delete' => 'هل أنت متأكد أنك تريد الحذف',
|
||||
'auto_increment' => 'زيادة تلقائية',
|
||||
'browse' => 'استعراض',
|
||||
'builder' => 'البناء',
|
||||
'cancel' => 'إلغاء',
|
||||
'choose_type' => 'اختر النوع',
|
||||
'click_here' => 'اضغط هنا',
|
||||
'close' => 'إغلاق',
|
||||
'compass' => 'البوصلة',
|
||||
'created_at' => 'تاريخ الإنشاء',
|
||||
'custom' => 'معدل',
|
||||
'dashboard' => 'لوحة التحكم',
|
||||
'database' => 'قاعدة البيانات',
|
||||
'default' => 'افتراضي',
|
||||
'delete' => 'حذف',
|
||||
'delete_confirm' => 'نعم، احذفه!',
|
||||
'delete_question' => 'هل أنت متأكد أنك تريد الحذف',
|
||||
'delete_this_confirm' => 'نعم، احذف',
|
||||
'deselect_all' => 'إلغاء تحديد الكل',
|
||||
'download' => 'تحميل',
|
||||
'edit' => 'تعديل',
|
||||
'email' => 'البريد الإلكتروني',
|
||||
'error_deleting' => 'عذرا، يبدو أنه حدثت مشكلة أثناء الحذف',
|
||||
'exception' => 'استثناء',
|
||||
'featured' => 'مميز',
|
||||
'field_does_not_exist' => 'الحقل غير موجود',
|
||||
'how_to_use' => 'كيفة الاستخدام',
|
||||
'index' => 'فهرس',
|
||||
'internal_error' => 'خطأ داخلي',
|
||||
'items' => 'عناصر',
|
||||
'keep_sidebar_open' => 'الحفاظ على فتح الشريط الجانبي',
|
||||
'key' => 'مفتاح',
|
||||
'last_modified' => 'آخر تعديل',
|
||||
'length' => 'الطول',
|
||||
'login' => 'تسجيل الدخول',
|
||||
'media' => 'الوسائط',
|
||||
'menu_builder' => 'منشئ القوائم',
|
||||
'move' => 'نقل',
|
||||
'name' => 'الاسم',
|
||||
'new' => 'جديد',
|
||||
'no' => 'لا',
|
||||
'no_thanks' => 'لا شكراً',
|
||||
'not_null' => 'غير فارغة',
|
||||
'options' => 'خيارات',
|
||||
'password' => 'كلمه السر',
|
||||
'permissions' => 'الصلاحيات',
|
||||
'profile' => 'الملف الشخصي',
|
||||
'public_url' => 'الرابط URL المنشور',
|
||||
'read' => 'معاينة',
|
||||
'rename' => 'إعادة تسمية',
|
||||
'required' => 'مطلوب',
|
||||
'return_to_list' => 'العودة إلى القائمة',
|
||||
'route' => 'Route الرابط',
|
||||
'save' => 'حفظ',
|
||||
'search' => 'بحث',
|
||||
'select_all' => 'تحديد الكل',
|
||||
'settings' => 'الإعدادت',
|
||||
'showing_entries' => 'عرض :from إلى :to من :all عنصر|عرض :from إلى :to من :all عناصر',
|
||||
'submit' => 'إرسال',
|
||||
'successfully_added_new' => 'تمت إضافة جديد بنجاح',
|
||||
'successfully_deleted' => 'تم الحذف بنجاح',
|
||||
'successfully_updated' => 'تم التحديث بنجاح',
|
||||
'timestamp' => 'صيغة التوقيت',
|
||||
'title' => 'العنوان',
|
||||
'type' => 'النوع',
|
||||
'unsigned' => 'غير سالبة',
|
||||
'unstick_sidebar' => 'إلغاء تثبيت الشريط الجانبي',
|
||||
'update' => 'تحديث',
|
||||
'update_failed' => 'فشل التحديث',
|
||||
'upload' => 'رفع',
|
||||
'url' => 'URL الرابط',
|
||||
'view' => 'معاينة',
|
||||
'viewing' => 'معاينة',
|
||||
'yes' => 'نعم',
|
||||
'yes_please' => 'نعم، من فضلك',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'دخول',
|
||||
'signin_below' => 'تسجيل الدخول :',
|
||||
'welcome' => 'مرحبا بكم في Voyager. لوحة التحكم المكملة للارافيل',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'الصورة الرمزية',
|
||||
'edit' => 'تعديل',
|
||||
'edit_user' => 'تعديل المستخدم',
|
||||
'password' => 'كلمه السر',
|
||||
'password_hint' => 'اتركها فارغة إذا لم ترد التعديل عليها',
|
||||
'role' => 'الدور',
|
||||
'user_role' => 'دور المستخدم',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'يمكنك الحصول على قيمة أي إعداد في أي مكان في موقعك عن طريق استخدام',
|
||||
'save' => 'احفظ الإعدادات',
|
||||
'new' => 'إعداد جديد',
|
||||
'help_name' => 'اسم الإعداد مثال : Admin Title',
|
||||
'help_key' => 'مفتاح الإعداد مثال : admin_title',
|
||||
'help_option' => '(اختياري، ينطبق فقط على أنواع معينة مثل القائمة المنسدلة أو زر الاختيار)',
|
||||
'add_new' => 'إضافة إعداد جديد',
|
||||
'delete_question' => 'هل تريد بالتأكيد حذف الإعداد :setting ؟',
|
||||
'delete_confirm' => 'نعم، حذف هذا الإعداد',
|
||||
'successfully_created' => 'تم إنشاء الإعدادات بنجاح',
|
||||
'successfully_saved' => 'تم حفظ الإعدادات بنجاح',
|
||||
'successfully_deleted' => 'تم حذف الإعداد بنجاح',
|
||||
'already_at_top' => 'موجود بالفعل في أعلى القائمة',
|
||||
'already_at_bottom' => 'موجود بالفعل في أسفل القائمة',
|
||||
'moved_order_up' => 'القيمة :name تم نقلها إلى أعلى',
|
||||
'moved_order_down' => 'القيمة :name تم نقلها إلى أسفل',
|
||||
'successfully_removed' => 'تم إزالة :name بنجاح',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'إضافة مجلد جديد',
|
||||
'audio_support' => 'متصفحك لا يدعم عنصر الصوت.',
|
||||
'create_new_folder' => 'إنشاء مجلد جديد',
|
||||
'delete_folder_question' => 'سيؤدي حذف مجلد إلى إزالة جميع الملفات والمجلدات الموجودة في داخله',
|
||||
'destination_folder' => 'مجلد الوجهة',
|
||||
'drag_drop_info' => 'يمكنك سحب الملفات وإفلاتها أو النقر أدناه لرفعها',
|
||||
'error_already_exists' => 'عذراً، يوجد بالفعل ملف/مجلد بهذا الاسم في هذا المجلد.',
|
||||
'error_creating_dir' => 'عذراً يبدو أن هناك خطأ في إنشاء المجلد، يرجى التحقق من صلاحياتك',
|
||||
'error_deleting_file' => 'عذراً، يبدو أنه حدث خطأ عند حذف هذا الملف، يرجى التحقق من صلاحياتك',
|
||||
'error_deleting_folder' => 'عذراً، يبدو أنه حدث خطأ عند حذف هذا المجلد، يرجى التحقق من صلاحياتك',
|
||||
'error_may_exist' => 'قد يكون هناك ملف أو مجلد موجود بالفعل بهذا الاسم. الرجاء اختيار اسم آخر أو حذف الملف الآخر.',
|
||||
'error_moving' => 'عذراً، يبدو أنه حصلت مشكلة أثناء نقل هذا الملف/المجلد، يرجى التأكد من أن لديك الصلاحيات الصحيحة.',
|
||||
'error_uploading' => 'أخفق الرفع: حدث خطأ غير معلوم!',
|
||||
'folder_exists_already' => 'عذراً، هذا المجلد موجود بالفعل، يرجى حذف هذا المجلد إذا كنت ترغب في إعادة إنشائه',
|
||||
'image_does_not_exist' => 'الصورة غير موجودة',
|
||||
'image_removed' => 'تمت إزالة الصورة',
|
||||
'library' => 'مكتبة الوسائط',
|
||||
'loading' => 'تحميل ملفات الوسائط الخاصة بك',
|
||||
'move_file_folder' => 'نقل ملف/مجلد',
|
||||
'new_file_folder' => 'اسم ملف/مجلد جديد',
|
||||
'new_folder_name' => 'اسم مجلد جديد',
|
||||
'no_files_here' => 'لا توجد ملفات هنا.',
|
||||
'no_files_in_folder' => 'لا توجد ملفات في هذا المجلد.',
|
||||
'nothing_selected' => 'لم يتم تحديد ملف أو مجلد',
|
||||
'rename_file_folder' => 'إعادة تسمية ملف/مجلد',
|
||||
'success_uploaded_file' => 'تم رفع ملف جديد بنجاح!',
|
||||
'success_uploading' => 'تم رفع الصورة بنجاح!',
|
||||
'uploading_wrong_type' => 'فشل الرفع: تنسيق الملف غير مدعوم أو أنه كبير جدا لرفعه!',
|
||||
'video_support' => 'متصفحك الحالي لا يدعم تشغيل الفيديو.',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'اللون بصيغة RGB أو hex (اختياري)',
|
||||
'color_ph' => 'اللون (مثل #ffffff أو rgb(255, 255, 255)',
|
||||
'create_new_item' => 'إنشاء عنصر جديد',
|
||||
'delete_item_confirm' => 'نعم، حذف هذا العنصر من القائمة',
|
||||
'delete_item_question' => 'هل تريد بالتأكيد حذف هذا العنصر من القائمة؟',
|
||||
'drag_drop_info' => 'سحب وإسقاط عناصر القائمة أدناه لإعادة ترتيبها.',
|
||||
'dynamic_route' => 'موجه ديناميكي',
|
||||
'edit_item' => 'تعديل عنصر القائمة',
|
||||
'icon_class' => 'المعرف (class) لأيقونة عنصر القائمة (استخدم',
|
||||
'icon_class2' => 'معرفات أيقونات فوياجر</a>)',
|
||||
'icon_class_ph' => 'معرف الأيقونة (اختياري)',
|
||||
'item_route' => 'Route الخاص بعنصر القائمة',
|
||||
'item_title' => 'عنوان عنصر القائمة',
|
||||
'link_type' => 'نوع الرابط',
|
||||
'new_menu_item' => 'عنصر جديد',
|
||||
'open_in' => 'فتح في',
|
||||
'open_new' => 'تبويب/نافذة جديدة',
|
||||
'open_same' => 'نفس التبويب/النافذة',
|
||||
'route_parameter' => 'المتغيرات الخاصة بال Route (إذا وجدت)',
|
||||
'static_url' => 'رابط URL ثابت',
|
||||
'successfully_created' => 'تم إنشاء عنصر جديد فى القائمة بنجاح.',
|
||||
'successfully_deleted' => 'تم حذف عنصر القائمة بنجاح.',
|
||||
'successfully_updated' => 'تم تحديث عنصر فى القائمة بنجاح.',
|
||||
'updated_order' => 'تم تحديث ترتيب القائمة بنجاح.',
|
||||
'url' => 'رابط URL لعنصر القائمة',
|
||||
'usage_hint' => 'يمكنك عرض قائمة في أي مكان في موقعك من طريق استدعاء | يمكنك عرض هذه القائمة في أي مكان على موقعك عن طريق استدعاء',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'قسم المقال',
|
||||
'content' => 'محتويات المقال',
|
||||
'details' => 'تفاصيل المقال',
|
||||
'excerpt' => 'مقتطف <small> وصف صغير لهذا المقال </small>',
|
||||
'image' => 'صورة المقال',
|
||||
'meta_description' => 'وصف',
|
||||
'meta_keywords' => 'كلمات دلالية',
|
||||
'new' => 'إنشاء مقال جديد',
|
||||
'seo_content' => 'محتوى متوافق مع محركات البحث SEO',
|
||||
'seo_title' => 'عنوان SEO',
|
||||
'slug' => 'الرابط URL',
|
||||
'status' => 'حالة المقال',
|
||||
'status_draft' => 'مسودة',
|
||||
'status_pending' => 'معلق',
|
||||
'status_published' => 'منشور',
|
||||
'title' => 'عنوان المقال',
|
||||
'title_sub' => 'عنوان مقالك',
|
||||
'update' => 'تحديث المقال',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'أضف BREAD إلى هذا الجدول',
|
||||
'add_new_column' => 'إضافة عمود جديد',
|
||||
'add_softdeletes' => 'إضافة الحذف الناعم soft Deletes',
|
||||
'add_timestamps' => 'إضافة الطوابع الزمنية Timestamps',
|
||||
'already_exists' => 'موجود بالفعل',
|
||||
'already_exists_table' => 'الجدول :table موجود بالفعل',
|
||||
'bread_crud_actions' => 'إجراءات BREAD/CRUD',
|
||||
'bread_info' => 'معلومات ال BREAD',
|
||||
'column' => 'عمود',
|
||||
'composite_warning' => 'تحذير: هذا العمود جزء من فهرس مركب',
|
||||
'controller_name' => 'اسم وحدة التحكم Controller',
|
||||
'controller_name_hint' => 'مثال PageController, إذا تركت فارغة ستستخدم ال BREAD Controller',
|
||||
'create_bread_for_table' => 'إنشاء ال BREAD للجدول :table',
|
||||
'create_migration' => 'هل تريد إنشاء ملف تحديث قاعدة البيانات لهذا الجدول؟',
|
||||
'create_model_table' => 'إنشاء نموذج Model لهذا الجدول؟',
|
||||
'create_new_table' => 'إنشاء جدول جديد',
|
||||
'create_your_new_table' => 'إنشاء جدولك الجديد',
|
||||
'default' => 'افتراضي',
|
||||
'delete_bread' => 'حذف ال BREAD',
|
||||
'delete_bread_before_table' => 'الرجاء التأكد من إزالة ال BREAD الخاصة بهذا الجدول قبل حذف الجدول.',
|
||||
'delete_table_bread_conf' => 'نعم، إزالة ال BREAD',
|
||||
'delete_table_bread_quest' => 'هل أنت متأكد من حذف ال BREAD للجدول :table ؟',
|
||||
'delete_table_confirm' => 'نعم، احذف هذا الجدول',
|
||||
'delete_table_question' => 'هل تريد بالتأكيد حذف الجدول :table ؟',
|
||||
'description' => 'الوصف',
|
||||
'display_name' => 'اسم العرض',
|
||||
'display_name_plural' => 'اسم العرض (جمع)',
|
||||
'display_name_singular' => 'اسم العرض (مفرد)',
|
||||
'edit_bread' => 'تعديل ال BREAD',
|
||||
'edit_bread_for_table' => 'تعديل ال BREAD للجدول :table',
|
||||
'edit_rows' => 'تعديل الصفوف للجدول :table أدناه',
|
||||
'edit_table' => 'تعديل الجدول :table أدناه',
|
||||
'edit_table_not_exist' => 'الجدول الذي تريد تعديله غير موجود',
|
||||
'error_creating_bread' => 'عذراً، يبدو أن هناك مشكلة في إنشاء هذا ال BREAD',
|
||||
'error_removing_bread' => 'عذراً، يبدو أنه حدثت مشكلة أثناء إزالة ال BREAD',
|
||||
'error_updating_bread' => 'عذرا، يبدو أنه قد حدثت مشكلة أثناء تحديث هذا ال BREAD',
|
||||
'extra' => 'إضافي',
|
||||
'field' => 'حقل',
|
||||
'field_safe_failed' => 'أخفق حفظ :field سيتم التراجع!',
|
||||
'generate_permissions' => 'توليد الصلاحيات',
|
||||
'icon_class' => 'رمز لاستخدامه لهذا الجدول',
|
||||
'icon_hint' => 'رمز (اختياري) استخدم',
|
||||
'icon_hint2' => 'معرفات أيقونات فوياجر',
|
||||
'index' => 'فهرس',
|
||||
'input_type' => 'نوع الإدخال',
|
||||
'key' => 'مفتاح',
|
||||
'model_class' => 'اسم فئة النموذج Model Class',
|
||||
'model_name' => 'اسم النموذج Model',
|
||||
'model_name_ph' => 'مثال. \App\Models\User, إذا تركت فارغة ستستخدم اسم الجدول',
|
||||
'name_warning' => 'يرجى تسمية العمود قبل إضافة فهرس',
|
||||
'no_composites_warning' => 'يحتوي هذا الجدول على فهارس مركبة. يرجى ملاحظة أنها غير معتمدة في الوقت الراهن. كن حذرا عند محاولة إضافة / إزالة الفهارس.',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'تفاصيل اختيارية',
|
||||
'primary' => 'اساسي Primary',
|
||||
'server_pagination' => 'ترقيم الصفحات من جانب الخادم',
|
||||
'success_create_table' => 'تم إنشاء الجدول :table بنجاح',
|
||||
'success_created_bread' => 'تم إنشاء BREAD بنجاح',
|
||||
'success_delete_table' => 'تم حذف الجدول :table بنجاح',
|
||||
'success_remove_bread' => 'تم إزالة ال BREAD من :datatype بنجاح',
|
||||
'success_update_bread' => 'تم تحديث ال BREAD الخاصة ب :datatype بنجاح',
|
||||
'success_update_table' => 'تم تحديث الدول :table بنجاح',
|
||||
'table_actions' => 'إجراءات الجدول',
|
||||
'table_columns' => 'أعمدة الجدول',
|
||||
'table_has_index' => 'يحتوي الجدول بالفعل على فهرس أساسي.',
|
||||
'table_name' => 'اسم الجدول',
|
||||
'table_no_columns' => 'لا يحتوي الجدول على أعمدة ...',
|
||||
'type' => 'النوع',
|
||||
'type_not_supported' => 'هذا النوع غير معتمد',
|
||||
'unique' => 'فريد',
|
||||
'unknown_type' => 'نوع غير معروف',
|
||||
'update_table' => 'تحديث الجدول',
|
||||
'url_slug' => 'رابط URL (يجب أن يكون فريد)',
|
||||
'url_slug_ph' => 'رابط URL (مثل posts)',
|
||||
'visibility' => 'الظهور',
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'صفحة|صفحات',
|
||||
'page_link_text' => 'عرض جميع الصفحات',
|
||||
'page_text' => 'لديك :count :string في قاعدة البيانات الخاصة بك. انقر على الزر أدناه لعرض جميع الصفحات.',
|
||||
'post' => 'مقالة|مقالات',
|
||||
'post_link_text' => 'عرض جميع المقالات',
|
||||
'post_text' => 'لديك :count :string في قاعدة البيانات الخاصة بك. انقر على الزر أدناه لعرض جميع المقالات.',
|
||||
'user' => 'عضو|أعضاء',
|
||||
'user_link_text' => 'عرض جميع المستخدمين',
|
||||
'user_text' => 'لديك :count :string في قاعدة البيانات الخاصة بك. انقر على الزر أدناه لعرض جميع المستخدمين.',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'اتركه فارغ لعدم التعديل',
|
||||
'field_select_dd_relationship' => 'تأكد من إعداد العلاقة المناسبة في الطريقة :method الخاصة بالمعرف :class',
|
||||
'type_checkbox' => 'مربع اختيار Checkbox',
|
||||
'type_codeeditor' => 'محرر أكواد Code Editor',
|
||||
'type_file' => 'ملف',
|
||||
'type_image' => 'صورة',
|
||||
'type_radiobutton' => 'زر اختيار من متعدد Radio Button',
|
||||
'type_richtextbox' => 'مربع نص منسق Rich Textbox',
|
||||
'type_selectdropdown' => 'قائمة تحديد منسدلة Dropdown',
|
||||
'type_textarea' => 'منطقة نص Text Area',
|
||||
'type_textbox' => 'مربع نص Text Box',
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'لا تتوفر بيانات في هذا الجدول',
|
||||
'sInfo' => 'عرض من _START_ إلى _END_ من مجموع _TOTAL_ عنصر',
|
||||
'sInfoEmpty' => 'عرض عناصر 0 إلى 0 من مجموع 0 عنصر',
|
||||
'sInfoFiltered' => '(تمت تصفية من مجموع _MAX_ عناصر)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => 'عرض _MENU_ عنصر',
|
||||
'sLoadingRecords' => 'جار التحميل...',
|
||||
'sProcessing' => 'جار المعالجة...',
|
||||
'sSearch' => 'بحث:',
|
||||
'sZeroRecords' => 'لم يتم العثور على سجلات مطابقة',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'الأول',
|
||||
'sLast' => 'الأخير',
|
||||
'sNext' => 'التالي',
|
||||
'sPrevious' => 'السابق',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': فعل لترتيب العمود تصاعديا',
|
||||
'sSortDescending' => ': فعل لترتيب العمود تنازليا',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'صنعت بـ <i class="voyager-heart"></i> بواسطة',
|
||||
'footer_copyright2' => 'مصنوعة باستخدام الكثير من القهوة والشاي بالنعناع',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'Json غير صالح',
|
||||
'invalid_message' => 'يبدو أنك عرضت بعض Json الغير صالحة.',
|
||||
'valid' => 'Json صالح',
|
||||
'validation_errors' => 'أخطاء أثناء التحقق',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'حسب المشاهدات',
|
||||
'by_sessions' => 'حسب الجلسات',
|
||||
'by_users' => 'حسب المستخدمين',
|
||||
'no_client_id' => 'لعرض التحليلات، ستحتاج إلى الحصول على معرف عميل google analytics وإضافته إلى إعدادات المفتاح <code> google_analytics_client_id </code>. احصل على المفتاح من لوحة تحكم مطوري جوجل:',
|
||||
'set_view' => 'حدد طريقة العرض',
|
||||
'this_vs_last_week' => 'هذا الأسبوع ضد الأسبوع الماضي',
|
||||
'this_vs_last_year' => 'هذا العام ضد العام الماضي',
|
||||
'top_browsers' => 'أفضل المتصفحات',
|
||||
'top_countries' => 'أعلى البلدان',
|
||||
'various_visualizations' => 'تصورات مختلفة',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'لقد أنشأنا للتو الاختصار symlink المفقود.',
|
||||
'symlink_created_title' => 'تم إنشاء الاختصار المفقود symlink إلى storage',
|
||||
'symlink_failed_text' => 'فشلنا في إنشاء الاختصار المفقود في تطبيقك. يبدو أن مزود خدمة الاستضافة لديك لا يدعمه.',
|
||||
'symlink_failed_title' => 'تعذر إنشاء الاختصار المفقود symlink إلى مجلد التخزين',
|
||||
'symlink_missing_button' => 'إصلاح المشكلة',
|
||||
'symlink_missing_text' => 'لم نتمكن من العثور على اختصار symlink الى مجلد التخزين. قد يتسبب هذا في حدوث مشكلات في تحميل ملفات الوسائط من المتصفح.',
|
||||
'symlink_missing_title' => 'الاختصار symlink إلى مجلد التخزين مفقود',
|
||||
],
|
||||
];
|
||||
414
lang/de/voyager.php
Normal file
414
lang/de/voyager.php
Normal file
@@ -0,0 +1,414 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'Letzte Woche',
|
||||
'last_year' => 'Letztes Jahr',
|
||||
'this_week' => 'Diese Woche',
|
||||
'this_year' => 'Dieses Jahr',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'Aktion',
|
||||
'actions' => 'Aktionen',
|
||||
'add' => 'Hinzufügen',
|
||||
'add_folder' => 'Ordner Hinzufügen',
|
||||
'add_new' => 'Neu Hinzufügen',
|
||||
'all_done' => 'Alles erledigt',
|
||||
'are_you_sure' => 'Sind Sie sicher',
|
||||
'are_you_sure_delete' => 'Sind Sie sicher dass sie löschen möchten',
|
||||
'auto_increment' => 'Automatische Werterhöhung',
|
||||
'browse' => 'Browse',
|
||||
'builder' => 'Builder',
|
||||
'bulk_delete' => 'Massenlöschung',
|
||||
'bulk_delete_confirm' => 'Ja, alle löschen',
|
||||
'bulk_delete_nothing' => 'Sie haben nichts ausgewählt',
|
||||
'cancel' => 'Abbruch',
|
||||
'choose_type' => 'Typ auswählen',
|
||||
'click_here' => 'Hier Klicken',
|
||||
'close' => 'Schließen',
|
||||
'compass' => 'Kompass',
|
||||
'created_at' => 'Angelegt',
|
||||
'custom' => 'Custom',
|
||||
'dashboard' => 'Dashboard',
|
||||
'database' => 'Datenbank',
|
||||
'default' => 'Defaultwert',
|
||||
'delete' => 'Löschen',
|
||||
'delete_confirm' => 'Ja, Löschen!',
|
||||
'delete_question' => 'Wirklich Löschen',
|
||||
'delete_this_confirm' => 'Ja, Löschen',
|
||||
'deselect_all' => 'Alles abwählen',
|
||||
'download' => 'Herunterladen',
|
||||
'edit' => 'Editieren',
|
||||
'email' => 'E-Mail',
|
||||
'error_deleting' => 'Es gab ein Problem beim Versuch dies zu Löschen',
|
||||
'exception' => 'Exception',
|
||||
'featured' => 'Featured',
|
||||
'field_does_not_exist' => 'Feld existiert nicht',
|
||||
'how_to_use' => 'Bedieneranleitung',
|
||||
'index' => 'Index',
|
||||
'internal_error' => 'Interner Fehler',
|
||||
'items' => 'Element(e)',
|
||||
'keep_sidebar_open' => 'Yarr! Anker werfen! (und Sidebar geöffnet lassen)',
|
||||
'key' => 'Key',
|
||||
'last_modified' => 'Zuletzt modifiziert',
|
||||
'length' => 'Länge',
|
||||
'login' => 'Login',
|
||||
'media' => 'Medien',
|
||||
'menu_builder' => 'Menü Editor',
|
||||
'move' => 'Verschieben',
|
||||
'name' => 'Name',
|
||||
'new' => 'Neu',
|
||||
'no' => 'Nein',
|
||||
'no_thanks' => 'Nein Danke',
|
||||
'not_null' => 'Not Null',
|
||||
'options' => 'Optionen',
|
||||
'password' => 'Passwort',
|
||||
'permissions' => 'Rechte',
|
||||
'profile' => 'Profil',
|
||||
'public_url' => 'Öffentliche URL',
|
||||
'read' => 'Lesen',
|
||||
'rename' => 'Umbenennen',
|
||||
'required' => 'Notwendig',
|
||||
'return_to_list' => 'Zurück zur Liste',
|
||||
'route' => 'Route',
|
||||
'save' => 'Speichern',
|
||||
'search' => 'Suchen',
|
||||
'select_all' => 'Alles Auswählen',
|
||||
'select_group' => 'Bestehende Gruppe auswählen oder neue Gruppe hinzufügen',
|
||||
'settings' => 'Einstellungen',
|
||||
'showing_entries' => 'Zeige :from bis :to von :all Eintrag|Zeige :from bis :to von :all Einträgen',
|
||||
'submit' => 'Absenden',
|
||||
'successfully_added_new' => 'Erfolgreich neu hinzugefügt',
|
||||
'successfully_deleted' => 'Erfolgreich gelöscht',
|
||||
'successfully_updated' => 'Erfolgreich Editiert',
|
||||
'timestamp' => 'Zeitstempel',
|
||||
'title' => 'Titel',
|
||||
'type' => 'Typ',
|
||||
'unsigned' => 'Unsigned',
|
||||
'unstick_sidebar' => 'Sidebar ablösen',
|
||||
'update' => 'Aktualisierung',
|
||||
'update_failed' => 'Aktualisierung fehlgeschlagen',
|
||||
'upload' => 'Upload',
|
||||
'url' => 'URL',
|
||||
'view' => 'Anzeige',
|
||||
'viewing' => 'Anzeigen',
|
||||
'yes' => 'Ja',
|
||||
'yes_please' => 'Ja, Bitte',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'Einloggen',
|
||||
'signin_below' => 'Unten anmelden:',
|
||||
'welcome' => 'Willkommen bei Voyager. Der fehlende Admin für Laravel',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Avatar',
|
||||
'edit' => 'Mein Profil Editieren',
|
||||
'edit_user' => 'Benutzer Editieren',
|
||||
'password' => 'Passwort',
|
||||
'password_hint' => 'Leer lassen um das Bisherige zu behalten',
|
||||
'role' => 'Rolle',
|
||||
'user_role' => 'Benutzerrolle',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'Sie können den Wert jeder Einstellung überall auf der Seite erhalten durch den Aufruf',
|
||||
'save' => 'Einstellungen Speichern',
|
||||
'new' => 'Neue Einstellung',
|
||||
'help_name' => 'Einstellung Name Beispiel: Admin Titel',
|
||||
'help_key' => 'Einstellung Schlüssel Beispiel: admin_title',
|
||||
'help_option' => '(optional, betrifft lediglich bestimmte Typen wie Dropdown Box oder Radio Button)',
|
||||
'add_new' => 'Neue Einstellung Hinzufügen',
|
||||
'delete_question' => 'Wollen Sie die Einstellung :setting wirklich Löschen?',
|
||||
'delete_confirm' => 'Ja, diese Einstellung Löschen',
|
||||
'successfully_created' => 'Einstellungen erfolgreich erstellt',
|
||||
'successfully_saved' => 'Einstellungen erfolgreich gespeichert',
|
||||
'successfully_deleted' => 'Einstellungen erfolgreich gelöscht',
|
||||
'already_at_top' => 'Dies ist bereits an erster Stelle der Liste',
|
||||
'already_at_bottom' => 'Dies ist bereits an letzter Stelle der Liste',
|
||||
'key_already_exists' => 'Der Schlüssel :key existiert bereits',
|
||||
'moved_order_up' => 'Einstellung :name wurde nach oben geschoben',
|
||||
'moved_order_down' => 'Einstellung :name wurde nach unten geschoben',
|
||||
'successfully_removed' => 'Wert :name wurde erfolgreich gelöscht',
|
||||
'group_general' => 'General',
|
||||
'group_admin' => 'Admin',
|
||||
'group_site' => 'Site',
|
||||
'group' => 'Gruppe',
|
||||
'help_group' => 'Diese Einstellung ist zugewiesen zu',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'Neuen Ordner Hinzufügen',
|
||||
'audio_support' => 'Ihr Browser unterstützt das Audio Element nicht.',
|
||||
'create_new_folder' => 'Neuen Ordner Erstellen',
|
||||
'delete_folder_question' => 'Das Löschen des Ordners wird alle darin enthaltenen Dateien und Ordnder löschen.',
|
||||
'destination_folder' => 'Ziel Ordner',
|
||||
'drag_drop_info' => 'Dateien mit Drag und Drop hineinziehen oder unten klicken um hochzuladen',
|
||||
'error_already_exists' => 'Es ist bereits eine Datei bzw. ein Ordner mit diesem Namen in diesem Ordner enthalten.',
|
||||
'error_creating_dir' => 'Beim Versuch das Verzeichnis Anzulegen ist ein Fehler aufgetreten. '.
|
||||
'Stellen Sie sicher, dass Sie ausreichende Zugriffsrechte dafür haben.',
|
||||
'error_deleting_file' => 'Beim Versuch diese Datei zu Löschen ist ein Fehler aufgetreten. '.
|
||||
'Stellen Sie sicher, dass Sie ausreichende Zugriffsrechte dafür haben.',
|
||||
'error_deleting_folder' => 'Beim Versuch diesen Ordner zu Löschen ist ein Fehler aufgetreten. Stellen Sie'.
|
||||
'sicher, dass Sie ausreichende Zugriffsrechte dafür haben.',
|
||||
'error_may_exist' => 'Datei oder Ordner unter diesem Namen können bereits existieren. Wählen Sie '.
|
||||
'einen anderen Namen oder Löschen Sie die andere Datei.',
|
||||
'error_moving' => 'Beim Versuch diese Datei bzw. Ordner zu Verschieben ist ein Fehler aufgetreten. '.
|
||||
'Stellen Sie sicher, dass Sie ausreichende Zugriffsrechte dafür haben.',
|
||||
'error_uploading' => 'Hochladen Fehlgeschlagen: Unbekannter Fehler aufgetreten!',
|
||||
'folder_exists_already' => 'Dieser Ordner existiert bereits. Bitte Löschen Sie diesen Ordner falls Sie ihn '.
|
||||
'neu Anlegen möchten',
|
||||
'image_does_not_exist' => 'Bild existiert nicht',
|
||||
'image_removed' => 'Bild entfernt',
|
||||
'library' => 'Medien Bibliothek',
|
||||
'loading' => 'LADE IHRE MEDIEN DATEIEN',
|
||||
'move_file_folder' => 'Datei/Ordner Verschieben',
|
||||
'new_file_folder' => 'Datei/Ordner Anlegen',
|
||||
'new_folder_name' => 'Name des neuen Ordners',
|
||||
'no_files_here' => 'Hier sind keine Dateien vorhanden.',
|
||||
'no_files_in_folder' => 'Keine Dateien in diesem Ordner.',
|
||||
'nothing_selected' => 'Keine Datei oder Ordner angewählt',
|
||||
'rename_file_folder' => 'Datei/Ordner Umbenennen',
|
||||
'success_uploaded_file' => 'Neue Datei erfolgreich hochgeladen!',
|
||||
'success_uploading' => 'Bild erfolgreich hochgeladen!',
|
||||
'uploading_wrong_type' => 'Fehler beim Hochladen: Nicht unterstütztes Dateiformat oder Datei zu groß '.
|
||||
'zum Hochladen',
|
||||
'video_support' => 'Ihr Browser unterstützt den Video Tag nicht.',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Farbe in RGB oder hex (optional)',
|
||||
'color_ph' => 'Farbe (z. B. #ffffff oder rgb(255, 255, 255)',
|
||||
'create_new_item' => 'Erstelle einen neues Menü Element',
|
||||
'delete_item_confirm' => 'Ja, Lösche dieses Menü Element',
|
||||
'delete_item_question' => 'Sind Sie sicher dass Sie dieses Menü Element Löschen möchten?',
|
||||
'drag_drop_info' => 'Sie können die Reihenfolge der untenstehenden Menü Elemente durch Drag und Drop '.
|
||||
'um Ihre Reihenfolge zu verändern.',
|
||||
'dynamic_route' => 'Dynamische Route',
|
||||
'edit_item' => 'Menü Element Editieren',
|
||||
'icon_class' => 'Font Icon CSS-Klasse für das Menü Element (Benutze ',
|
||||
'icon_class2' => 'Voyager Font CSS-Klasse</a>)',
|
||||
'icon_class_ph' => 'Icon CSS-Klasse (optional)',
|
||||
'item_route' => 'Route für das Menü Element',
|
||||
'item_title' => 'Titel für das Menü Element',
|
||||
'link_type' => 'Link Typ',
|
||||
'new_menu_item' => 'Neues Menü Element',
|
||||
'open_in' => 'Öffnen in',
|
||||
'open_new' => 'Neuem Tab/Fenster',
|
||||
'open_same' => 'Selber Tab/Fenster',
|
||||
'route_parameter' => 'Route Parameter (falls vorhanden)',
|
||||
'static_url' => 'Statische URL',
|
||||
'successfully_created' => 'Neues Menü Element erfolgreich erstellt.',
|
||||
'successfully_deleted' => 'Menü Element erfolgreich gelöscht.',
|
||||
'successfully_updated' => 'Menü Element erfolgreich aktualisiert.',
|
||||
'updated_order' => 'Menü Reihenfolge erfolgreich aktualisiert.',
|
||||
'url' => 'URL des Menü Elements',
|
||||
'usage_hint' => 'Sie können ein Menü überall auf der Seite ausgeben durch den Aufruf|'.
|
||||
'Sie können dieses Menü überall auf der Seite ausgeben durch den Aufruf',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Post Kategorie',
|
||||
'content' => 'Post Inhalt',
|
||||
'details' => 'Post Details',
|
||||
'excerpt' => 'Excerpt <small>Kurzbeschreibung dieses Posts</small>',
|
||||
'image' => 'Post Bild',
|
||||
'meta_description' => 'Meta Beschreibung',
|
||||
'meta_keywords' => 'Meta Keywords',
|
||||
'new' => 'Post Anlegen',
|
||||
'seo_content' => 'SEO Content',
|
||||
'seo_title' => 'SEO Titel',
|
||||
'slug' => 'URL Slug',
|
||||
'status' => 'Post Status',
|
||||
'status_draft' => 'Entwurf',
|
||||
'status_pending' => 'Warten auf Freigabe',
|
||||
'status_published' => 'veröffentlicht',
|
||||
'title' => 'Post Titel',
|
||||
'title_sub' => 'Der Titel des Posts',
|
||||
'update' => 'Post Aktualisieren',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'BREAD zu Tabelle Hinzufügen',
|
||||
'add_new_column' => 'Neue Spalte Hinzufügen',
|
||||
'add_softdeletes' => 'Soft Deletes Hinzufügen',
|
||||
'add_timestamps' => 'Zeitstempel Hinzufügen',
|
||||
'already_exists' => 'existiert bereits',
|
||||
'already_exists_table' => 'Tabelle :table existiert bereits',
|
||||
'bread_crud_actions' => 'BREAD/CRUD Aktionen',
|
||||
'bread_info' => 'BREAD Info',
|
||||
'browse_bread' => 'BREAD ansehen',
|
||||
'column' => 'Spalte',
|
||||
'composite_warning' => 'Warnung: Diese Spalte ist Teil eines zusammengesetzten indexes',
|
||||
'controller_name' => 'Controller Name',
|
||||
'controller_name_hint' => 'z. B. PageController, falls leer gelassen wird der BREAD Controller verwendet',
|
||||
'create_bread_for_table' => 'BREAD Erstellen für :table Tabelle',
|
||||
'create_migration' => 'Migration Erstellen für diese Tabelle?',
|
||||
'create_model_table' => 'Model für diese Tabelle erstellen?',
|
||||
'create_new_table' => 'Neue Tabelle Erstellen',
|
||||
'create_your_new_table' => 'Erstellen Sie Ihre neue Tabelle',
|
||||
'default' => 'Default',
|
||||
'delete_bread' => 'BREAD Löschen',
|
||||
'delete_bread_before_table' => 'Sie müssen zuerst das BREAD von dieser Tabelle Entfernen '.
|
||||
'bevor Sie die Tabelle Löschen können.',
|
||||
'delete_table_bread_conf' => 'Ja, BREAD Entfernen',
|
||||
'delete_table_bread_quest' => 'Sind Sie sicher, dass Sie das BREAD für Tabelle :table Löschen möchten?',
|
||||
'delete_table_confirm' => 'Ja, diese Tabelle Löschen',
|
||||
'delete_table_question' => 'Sind Sie sicher, dass Sie die Tabelle :table Löschen möchten?',
|
||||
'description' => 'Beschreibung',
|
||||
'display_name' => 'Anzeigename',
|
||||
'display_name_plural' => 'Anzeigename (Plural)',
|
||||
'display_name_singular' => 'Anzeigename (Singular)',
|
||||
'edit_bread' => 'BREAD Bearbeiten',
|
||||
'edit_bread_for_table' => 'Bearbeite BREAD für Tabelle :table',
|
||||
'edit_rows' => 'Bearbeite die Zeilen für untenstehende Tabelle :table',
|
||||
'edit_table' => 'Bearbeite die untenstehende Tabelle :table',
|
||||
'edit_table_not_exist' => 'Die Tabelle welche Sie Bearbeiten möchten existiert nicht',
|
||||
'error_creating_bread' => 'Es ist ein Fehler aufgetreten beim Versuch dieses BREAD anzulegen',
|
||||
'error_removing_bread' => 'Es ist ein Fehler aufgetreten beim Versuch dieses BREAD zu Löschen',
|
||||
'error_updating_bread' => 'Es ist ein Fehler aufgetreten beim Versuch dieses BREAD zu Aktualisieren',
|
||||
'extra' => 'Extra',
|
||||
'field' => 'Feld',
|
||||
'field_safe_failed' => 'Konnte Feld :field nicht speichern, Änderungen zurückgerollt!',
|
||||
'generate_permissions' => 'Zugriffsrechte Generieren',
|
||||
'icon_class' => 'Icon CSS-Klasse für diese Tabelle',
|
||||
'icon_hint' => 'Icon (optional) Benutze',
|
||||
'icon_hint2' => 'Voyager Font CSS-Klasse',
|
||||
'index' => 'INDEX',
|
||||
'input_type' => 'Input Typ',
|
||||
'key' => 'Key',
|
||||
'model_class' => 'Name der Model Klasse',
|
||||
'model_name' => 'Model Name',
|
||||
'model_name_ph' => 'z. B. \App\Models\User, falls leer gelassen wird versucht den Namen der Tabelle '.
|
||||
'zu verwenden',
|
||||
'name_warning' => 'Sie müssen einen Namen für die Spalte vergeben, '.
|
||||
' bevor Sie einen Index hinzufügen',
|
||||
'no_composites_warning' => 'Hinweis: Diese Tabelle hat zusammengesetzte Indexe. '.
|
||||
'Diese werden momentan nicht unterstützt. '.
|
||||
'Seien Sie vorsichtig beim Hinzufügen/Ändern von Indexen.',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'Optionale Details',
|
||||
'policy_class' => 'Policy Klassenname',
|
||||
'policy_name' => 'Policy Name',
|
||||
'policy_name_ph' => 'Bspw. \App\Policies\UserPolicy, falls leer gelassen wird versucht '.
|
||||
'den Default Wert zu Verwenden.',
|
||||
'primary' => 'PRIMARY',
|
||||
'server_pagination' => 'Serverseitige Pagination',
|
||||
'success_create_table' => 'Tabelle :table erfolgreich erstellt',
|
||||
'success_created_bread' => 'Neues BREAD erfolgreich erstellt',
|
||||
'success_delete_table' => 'Tabelle :table erfolgreich erstellt',
|
||||
'success_remove_bread' => 'BREAD erfolgreich von :datatype entfernt',
|
||||
'success_update_bread' => ':datatype BREAD erfolgreich aktualisiert',
|
||||
'success_update_table' => 'Tabelle :table erfolgreich aktualisiert',
|
||||
'table_actions' => 'Tabellen Aktionen',
|
||||
'table_columns' => 'Tabellen Spalten',
|
||||
'table_has_index' => 'Die Tabelle hat bereits einen primären Index.',
|
||||
'table_name' => 'Tabellenname',
|
||||
'table_no_columns' => 'Die Tabelle hat keine Spalten...',
|
||||
'type' => 'Typ',
|
||||
'type_not_supported' => 'Dieser Typ wird nicht unterstützt',
|
||||
'unique' => 'UNIQUE',
|
||||
'unknown_type' => 'Unbekannter Typ',
|
||||
'update_table' => 'Table Aktualisieren',
|
||||
'url_slug' => 'URL Slug (muss unique sein)',
|
||||
'url_slug_ph' => 'URL slug (z. B. posts)',
|
||||
'visibility' => 'Sichtbarkeit',
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'Seite|Seiten',
|
||||
'page_link_text' => 'Alle Seiten Anzeigen',
|
||||
'page_text' => 'Sie haben:count :string in Ihrer Datenbank. Klicken Sie auf untenstehenden Button '.
|
||||
'um alle Seiten zu sehen.',
|
||||
'post' => 'Post|Posts',
|
||||
'post_link_text' => 'Alle Posts Anzeigen',
|
||||
'post_text' => 'Sie haben :count :string in Ihrer Datenbank. Klicken Sie auf untenstehenden Button ',
|
||||
'um alle Posts zu sehen.',
|
||||
'user' => 'Benutzer|Benutzer',
|
||||
'user_link_text' => 'Alle Benutzer Anzeigen',
|
||||
'user_text' => 'Sie haben :count :string in Ihrer Datenbank. Klicken Sie auf untenstehenden Button ',
|
||||
'um alle Benutzer zu sehen.',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Leer lassen um das aktuelle zu Behalten',
|
||||
'field_select_dd_relationship' => 'Stellen Sie sicher, dass Sie die entsprechende Relation in der '.
|
||||
':method Methode der :class Klasse setzen.',
|
||||
'type_checkbox' => 'Check Box',
|
||||
'type_codeeditor' => 'Code Editor',
|
||||
'type_file' => 'Datei',
|
||||
'type_image' => 'Bild',
|
||||
'type_radiobutton' => 'Radio Button',
|
||||
'type_richtextbox' => 'Rich Textbox',
|
||||
'type_selectdropdown' => 'Select Dropdown',
|
||||
'type_textarea' => 'Text Area',
|
||||
'type_textbox' => 'Text Box',
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'Keine Daten vorhanden in dieser Tabelle',
|
||||
'sInfo' => 'Zeige _START_ bis _END_ von _TOTAL_ Einträgen',
|
||||
'sInfoEmpty' => 'Zeige 0 von 0 Einträgen',
|
||||
'sInfoFiltered' => '(gefiltert von _MAX_ Einträgen insgesamt)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => '.',
|
||||
'sLengthMenu' => 'Zeige _MENU_ Einträge',
|
||||
'sLoadingRecords' => 'Laden...',
|
||||
'sProcessing' => 'Verarbeiten...',
|
||||
'sSearch' => 'Suche:',
|
||||
'sZeroRecords' => 'Keine passenden Einträge gefunden',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'Erste',
|
||||
'sLast' => 'Letzte',
|
||||
'sNext' => 'Nächste',
|
||||
'sPrevious' => 'Vorige',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': Aktivieren um Spalte aufsteigend zu sortieren',
|
||||
'sSortDescending' => ': Aktivieren um Spalte absteigend zu sortieren',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Made with <i class="voyager-heart"></i> by',
|
||||
'footer_copyright2' => 'Made with Rum und noch mehr Rum',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'Ungültiges JSON',
|
||||
'invalid_message' => 'Es scheint Sie haben ungültiges JSON eingebracht.',
|
||||
'valid' => 'Gültiges JSON',
|
||||
'validation_errors' => 'Validierungsfehler',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'nach pageview',
|
||||
'by_sessions' => 'nach sessions',
|
||||
'by_users' => 'nach users',
|
||||
'no_client_id' => 'Um Analytics zu sehen müssen Sie im Besitz einer google Analytics client id '.
|
||||
'sein und diese zu Ihren Settings hinzufügen für den Key '.
|
||||
'<code>google_analytics_client_id</code>. '.
|
||||
'Holen Sie sich Ihren Key in Ihrer Google developer console:',
|
||||
'set_view' => 'eine Ansicht wählen',
|
||||
'this_vs_last_week' => 'Diese Woche im Vergleich zu letzter Woche',
|
||||
'this_vs_last_year' => 'Dieses Jahr im Vergleich zum letzten Jahr',
|
||||
'top_browsers' => 'Top Browsers',
|
||||
'top_countries' => 'Top Länder',
|
||||
'various_visualizations' => 'verschiedenartige Visualisierungen',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'Wir haben soeben den fehlenden Symlink für Sie angelegt.',
|
||||
'symlink_created_title' => 'Fehlenden Storage Symlink angelegt',
|
||||
'symlink_failed_text' => 'Fehlender Symlink für Ihre Applikation konnte nicht angelegt werden. '.
|
||||
'Es scheint so als würde Ihr Hosting Provider dies nicht anbieten.',
|
||||
'symlink_failed_title' => 'Fehlender Storage Symlink konnte nicht angelegt werden',
|
||||
'symlink_missing_button' => 'Bereinigen',
|
||||
'symlink_missing_text' => 'Wir konnten keinen Storage Symlink finden. Dies könnte zu Problemen führen '.
|
||||
'beim Laden von Medien Dateien aus dem Browser.',
|
||||
'symlink_missing_title' => 'Fehlender Storage Symlink',
|
||||
],
|
||||
];
|
||||
20
lang/en/auth.php
Normal file
20
lang/en/auth.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used during authentication for various
|
||||
| messages that we need to display to the user. You are free to modify
|
||||
| these language lines according to your application's requirements.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => 'These credentials do not match our records.',
|
||||
'password' => 'The provided password is incorrect.',
|
||||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||
|
||||
];
|
||||
19
lang/en/pagination.php
Normal file
19
lang/en/pagination.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« Previous',
|
||||
'next' => 'Next »',
|
||||
|
||||
];
|
||||
22
lang/en/passwords.php
Normal file
22
lang/en/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.
|
||||
|
|
||||
*/
|
||||
|
||||
'reset' => 'Your password has been reset!',
|
||||
'sent' => 'We have emailed your password reset link!',
|
||||
'throttled' => 'Please wait before retrying.',
|
||||
'token' => 'This password reset token is invalid.',
|
||||
'user' => "We can't find a user with that email address.",
|
||||
|
||||
];
|
||||
169
lang/en/validation.php
Normal file
169
lang/en/validation.php
Normal file
@@ -0,0 +1,169 @@
|
||||
<?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' => 'The :attribute must be accepted.',
|
||||
'accepted_if' => 'The :attribute must be accepted when :other is :value.',
|
||||
'active_url' => 'The :attribute is not a valid URL.',
|
||||
'after' => 'The :attribute must be a date after :date.',
|
||||
'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
|
||||
'alpha' => 'The :attribute must only contain letters.',
|
||||
'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.',
|
||||
'alpha_num' => 'The :attribute must only contain letters and numbers.',
|
||||
'array' => 'The :attribute must be an array.',
|
||||
'before' => 'The :attribute must be a date before :date.',
|
||||
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
|
||||
'between' => [
|
||||
'array' => 'The :attribute must have between :min and :max items.',
|
||||
'file' => 'The :attribute must be between :min and :max kilobytes.',
|
||||
'numeric' => 'The :attribute must be between :min and :max.',
|
||||
'string' => 'The :attribute must be between :min and :max characters.',
|
||||
],
|
||||
'boolean' => 'The :attribute field must be true or false.',
|
||||
'confirmed' => 'The :attribute confirmation does not match.',
|
||||
'current_password' => 'The password is incorrect.',
|
||||
'date' => 'The :attribute is not a valid date.',
|
||||
'date_equals' => 'The :attribute must be a date equal to :date.',
|
||||
'date_format' => 'The :attribute does not match the format :format.',
|
||||
'declined' => 'The :attribute must be declined.',
|
||||
'declined_if' => 'The :attribute must be declined when :other is :value.',
|
||||
'different' => 'The :attribute and :other must be different.',
|
||||
'digits' => 'The :attribute must be :digits digits.',
|
||||
'digits_between' => 'The :attribute must be between :min and :max digits.',
|
||||
'dimensions' => 'The :attribute has invalid image dimensions.',
|
||||
'distinct' => 'The :attribute field has a duplicate value.',
|
||||
'email' => 'The :attribute must be a valid email address.',
|
||||
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
||||
'enum' => 'The selected :attribute is invalid.',
|
||||
'exists' => 'The selected :attribute is invalid.',
|
||||
'file' => 'The :attribute must be a file.',
|
||||
'filled' => 'The :attribute field must have a value.',
|
||||
'gt' => [
|
||||
'array' => 'The :attribute must have more than :value items.',
|
||||
'file' => 'The :attribute must be greater than :value kilobytes.',
|
||||
'numeric' => 'The :attribute must be greater than :value.',
|
||||
'string' => 'The :attribute must be greater than :value characters.',
|
||||
],
|
||||
'gte' => [
|
||||
'array' => 'The :attribute must have :value items or more.',
|
||||
'file' => 'The :attribute must be greater than or equal to :value kilobytes.',
|
||||
'numeric' => 'The :attribute must be greater than or equal to :value.',
|
||||
'string' => 'The :attribute must be greater than or equal to :value characters.',
|
||||
],
|
||||
'image' => 'The :attribute must be an image.',
|
||||
'in' => 'The selected :attribute is invalid.',
|
||||
'in_array' => 'The :attribute field does not exist in :other.',
|
||||
'integer' => 'The :attribute must be an integer.',
|
||||
'ip' => 'The :attribute must be a valid IP address.',
|
||||
'ipv4' => 'The :attribute must be a valid IPv4 address.',
|
||||
'ipv6' => 'The :attribute must be a valid IPv6 address.',
|
||||
'json' => 'The :attribute must be a valid JSON string.',
|
||||
'lt' => [
|
||||
'array' => 'The :attribute must have less than :value items.',
|
||||
'file' => 'The :attribute must be less than :value kilobytes.',
|
||||
'numeric' => 'The :attribute must be less than :value.',
|
||||
'string' => 'The :attribute must be less than :value characters.',
|
||||
],
|
||||
'lte' => [
|
||||
'array' => 'The :attribute must not have more than :value items.',
|
||||
'file' => 'The :attribute must be less than or equal to :value kilobytes.',
|
||||
'numeric' => 'The :attribute must be less than or equal to :value.',
|
||||
'string' => 'The :attribute must be less than or equal to :value characters.',
|
||||
],
|
||||
'mac_address' => 'The :attribute must be a valid MAC address.',
|
||||
'max' => [
|
||||
'array' => 'The :attribute must not have more than :max items.',
|
||||
'file' => 'The :attribute must not be greater than :max kilobytes.',
|
||||
'numeric' => 'The :attribute must not be greater than :max.',
|
||||
'string' => 'The :attribute must not be greater than :max characters.',
|
||||
],
|
||||
'mimes' => 'The :attribute must be a file of type: :values.',
|
||||
'mimetypes' => 'The :attribute must be a file of type: :values.',
|
||||
'min' => [
|
||||
'array' => 'The :attribute must have at least :min items.',
|
||||
'file' => 'The :attribute must be at least :min kilobytes.',
|
||||
'numeric' => 'The :attribute must be at least :min.',
|
||||
'string' => 'The :attribute must be at least :min characters.',
|
||||
],
|
||||
'multiple_of' => 'The :attribute must be a multiple of :value.',
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'not_regex' => 'The :attribute format is invalid.',
|
||||
'numeric' => 'The :attribute must be a number.',
|
||||
'password' => [
|
||||
'letters' => 'The :attribute must contain at least one letter.',
|
||||
'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.',
|
||||
'numbers' => 'The :attribute must contain at least one number.',
|
||||
'symbols' => 'The :attribute must contain at least one symbol.',
|
||||
'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',
|
||||
],
|
||||
'present' => 'The :attribute field must be present.',
|
||||
'prohibited' => 'The :attribute field is prohibited.',
|
||||
'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
|
||||
'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
|
||||
'prohibits' => 'The :attribute field prohibits :other from being present.',
|
||||
'regex' => 'The :attribute format is invalid.',
|
||||
'required' => 'The :attribute field is required.',
|
||||
'required_array_keys' => 'The :attribute field must contain entries for: :values.',
|
||||
'required_if' => 'The :attribute field is required when :other is :value.',
|
||||
'required_unless' => 'The :attribute field is required unless :other is in :values.',
|
||||
'required_with' => 'The :attribute field is required when :values is present.',
|
||||
'required_with_all' => 'The :attribute field is required when :values are present.',
|
||||
'required_without' => 'The :attribute field is required when :values is not present.',
|
||||
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
||||
'same' => 'The :attribute and :other must match.',
|
||||
'size' => [
|
||||
'array' => 'The :attribute must contain :size items.',
|
||||
'file' => 'The :attribute must be :size kilobytes.',
|
||||
'numeric' => 'The :attribute must be :size.',
|
||||
'string' => 'The :attribute must be :size characters.',
|
||||
],
|
||||
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
||||
'string' => 'The :attribute must be a string.',
|
||||
'timezone' => 'The :attribute must be a valid timezone.',
|
||||
'unique' => 'The :attribute has already been taken.',
|
||||
'uploaded' => 'The :attribute failed to upload.',
|
||||
'url' => 'The :attribute must be a valid URL.',
|
||||
'uuid' => 'The :attribute must be a valid UUID.',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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 our attribute placeholder
|
||||
| with something more reader friendly such as "E-Mail Address" instead
|
||||
| of "email". This simply helps us make our message more expressive.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [],
|
||||
|
||||
];
|
||||
437
lang/en/voyager.php
Normal file
437
lang/en/voyager.php
Normal file
@@ -0,0 +1,437 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'Last Week',
|
||||
'last_year' => 'Last Year',
|
||||
'this_week' => 'This Week',
|
||||
'this_year' => 'This Year',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'Action',
|
||||
'actions' => 'Actions',
|
||||
'add' => 'Add',
|
||||
'add_folder' => 'Add Folder',
|
||||
'add_new' => 'Add New',
|
||||
'all_done' => 'All done',
|
||||
'are_you_sure' => 'Are you sure',
|
||||
'are_you_sure_delete' => 'Are you sure you want to delete',
|
||||
'auto_increment' => 'Auto Increment',
|
||||
'browse' => 'Browse',
|
||||
'builder' => 'Builder',
|
||||
'bulk_delete' => 'Bulk delete',
|
||||
'bulk_delete_confirm' => 'Yes, Delete These',
|
||||
'bulk_delete_nothing' => 'You haven\'t selected anything to delete',
|
||||
'cancel' => 'Cancel',
|
||||
'choose_type' => 'Choose Type',
|
||||
'click_here' => 'Click Here',
|
||||
'close' => 'Close',
|
||||
'compass' => 'Compass',
|
||||
'created_at' => 'Created at',
|
||||
'custom' => 'Custom',
|
||||
'dashboard' => 'Dashboard',
|
||||
'database' => 'Database',
|
||||
'default' => 'Default',
|
||||
'delete' => 'Delete',
|
||||
'delete_confirm' => 'Yes, Delete it!',
|
||||
'delete_question' => 'Are you sure you want to delete this',
|
||||
'delete_this_confirm' => 'Yes, Delete This',
|
||||
'deselect_all' => 'Deselect All',
|
||||
'download' => 'Download',
|
||||
'edit' => 'Edit',
|
||||
'email' => 'E-mail',
|
||||
'error_deleting' => 'Sorry it appears there was a problem deleting this',
|
||||
'exception' => 'Exception',
|
||||
'featured' => 'Featured',
|
||||
'field_does_not_exist' => 'Field does not exist',
|
||||
'how_to_use' => 'How To Use',
|
||||
'index' => 'Index',
|
||||
'internal_error' => 'Internal error',
|
||||
'items' => 'item(s)',
|
||||
'keep_sidebar_open' => 'Yarr! Drop the anchors! (and keep the sidebar open)',
|
||||
'key' => 'Key',
|
||||
'last_modified' => 'Last modified',
|
||||
'length' => 'Length',
|
||||
'login' => 'Login',
|
||||
'media' => 'Media',
|
||||
'menu_builder' => 'Menu Builder',
|
||||
'move' => 'Move',
|
||||
'name' => 'Name',
|
||||
'new' => 'New',
|
||||
'no' => 'No',
|
||||
'no_thanks' => 'No Thanks',
|
||||
'not_null' => 'Not Null',
|
||||
'options' => 'Options',
|
||||
'password' => 'Password',
|
||||
'permissions' => 'Permissions',
|
||||
'profile' => 'Profile',
|
||||
'public_url' => 'Public URL',
|
||||
'read' => 'Read',
|
||||
'rename' => 'Rename',
|
||||
'required' => 'Required',
|
||||
'return_to_list' => 'Return to List',
|
||||
'route' => 'Route',
|
||||
'save' => 'Save',
|
||||
'search' => 'Search',
|
||||
'select_all' => 'Select All',
|
||||
'select_group' => 'Select Existing Group or Add New',
|
||||
'settings' => 'Settings',
|
||||
'showing_entries' => 'Showing :from to :to of :all entrie|Showing :from to :to of :all entries',
|
||||
'submit' => 'Submit',
|
||||
'successfully_added_new' => 'Successfully Added New',
|
||||
'successfully_deleted' => 'Successfully Deleted',
|
||||
'successfully_updated' => 'Successfully Updated',
|
||||
'timestamp' => 'Timestamp',
|
||||
'title' => 'Title',
|
||||
'type' => 'Type',
|
||||
'unsigned' => 'Unsigned',
|
||||
'unstick_sidebar' => 'Unstick the sidebar',
|
||||
'update' => 'Update',
|
||||
'update_failed' => 'Update Failed',
|
||||
'upload' => 'Upload',
|
||||
'url' => 'URL',
|
||||
'view' => 'View',
|
||||
'viewing' => 'Viewing',
|
||||
'yes' => 'Yes',
|
||||
'yes_please' => 'Yes, Please',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'Logging in',
|
||||
'signin_below' => 'Sign In Below:',
|
||||
'welcome' => 'Welcome to Voyager. The Missing Admin for Laravel',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Avatar',
|
||||
'edit' => 'Edit My Profile',
|
||||
'edit_user' => 'Edit User',
|
||||
'password' => 'Password',
|
||||
'password_hint' => 'Leave empty to keep the same',
|
||||
'role' => 'Role',
|
||||
'user_role' => 'User Role',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'You can get the value of each setting anywhere on your site by calling',
|
||||
'save' => 'Save Settings',
|
||||
'new' => 'New Setting',
|
||||
'help_name' => 'Setting name ex: Admin Title',
|
||||
'help_key' => 'Setting key ex: admin_title',
|
||||
'help_option' => '(optional, only applies to certain types like dropdown box or radio button)',
|
||||
'add_new' => 'Add New Setting',
|
||||
'delete_question' => 'Are you sure you want to delete the :setting Setting?',
|
||||
'delete_confirm' => 'Yes, Delete This Setting',
|
||||
'successfully_created' => 'Successfully Created Settings',
|
||||
'successfully_saved' => 'Successfully Saved Settings',
|
||||
'successfully_deleted' => 'Successfully Deleted Setting',
|
||||
'already_at_top' => 'This is already at the top of the list',
|
||||
'already_at_bottom' => 'This is already at the bottom of the list',
|
||||
'key_already_exists' => 'The key :key already exists',
|
||||
'moved_order_up' => 'Moved :name setting order up',
|
||||
'moved_order_down' => 'Moved :name setting order down',
|
||||
'successfully_removed' => 'Successfully removed :name value',
|
||||
'group_general' => 'General',
|
||||
'group_admin' => 'Admin',
|
||||
'group_site' => 'Site',
|
||||
'group' => 'Group',
|
||||
'help_group' => 'Group this setting is assigned to',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'Add New Folder',
|
||||
'audio_support' => 'Your browser does not support the audio element.',
|
||||
'create_new_folder' => 'Create New Folder',
|
||||
'delete_folder_question' => 'Deleting a folder will remove all files and folders contained inside',
|
||||
'destination_folder' => 'Destination Folder',
|
||||
'drag_drop_info' => 'Drag and drop files or click below to upload',
|
||||
'error_already_exists' => 'Sorry there is already a file/folder with that existing name in that folder.',
|
||||
'error_creating_dir' => 'Sorry something seems to have gone wrong with creating the directory, '.
|
||||
'please check your permissions',
|
||||
'error_deleting_file' => 'Sorry something seems to have gone wrong deleting this file, please check your '.
|
||||
'permissions',
|
||||
'error_deleting_folder' => 'Sorry something seems to have gone wrong when deleting this folder, '.
|
||||
'please check your permissions',
|
||||
'error_may_exist' => 'File or Folder may already exist with that name. Please choose another name or '.
|
||||
'delete the other file.',
|
||||
'error_moving' => 'Sorry there seems to be a problem moving that file/folder, please make '.
|
||||
'sure you have the correct permissions.',
|
||||
'error_uploading' => 'Upload Fail: Unknown error occurred!',
|
||||
'folder_exists_already' => 'Sorry that folder already exists, please delete that folder if you wish '.
|
||||
'to re-create it',
|
||||
'image_does_not_exist' => 'Image does not exist',
|
||||
'image_removed' => 'Image removed',
|
||||
'library' => 'Media Library',
|
||||
'loading' => 'LOADING YOUR MEDIA FILES',
|
||||
'move_file_folder' => 'Move File/Folder',
|
||||
'new_file_folder' => 'New File/Folder Name',
|
||||
'new_folder_name' => 'New Folder Name',
|
||||
'no_files_here' => 'No files here.',
|
||||
'no_files_in_folder' => 'No files in this folder.',
|
||||
'nothing_selected' => 'No file or folder selected',
|
||||
'rename_file_folder' => 'Rename File/Folder',
|
||||
'success_uploaded_file' => 'Successfully uploaded new file!',
|
||||
'success_uploading' => 'Image successfully uploaded!',
|
||||
'uploading_wrong_type' => 'Upload Fail: Unsupported file format or It is too large to upload!',
|
||||
'video_support' => 'Your browser does not support the video tag.',
|
||||
'crop' => 'Crop',
|
||||
'crop_and_create' => 'Crop & Create',
|
||||
'crop_override_confirm' => 'It will override the original image, are you sure?',
|
||||
'crop_image' => 'Crop Image',
|
||||
'success_crop_image' => 'Successfully crop the image',
|
||||
'height' => 'Height: ',
|
||||
'width' => 'Width: ',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Color in RGB or hex (optional)',
|
||||
'color_ph' => 'Color (ex. #ffffff or rgb(255, 255, 255)',
|
||||
'create_new_item' => 'Create a New Menu Item',
|
||||
'delete_item_confirm' => 'Yes, Delete This Menu Item',
|
||||
'delete_item_question' => 'Are you sure you want to delete this menu item?',
|
||||
'drag_drop_info' => 'Drag and drop the menu Items below to re-arrange them.',
|
||||
'dynamic_route' => 'Dynamic Route',
|
||||
'edit_item' => 'Edit Menu Item',
|
||||
'icon_class' => 'Font Icon class for the Menu Item (Use a',
|
||||
'icon_class2' => 'Voyager Font Class</a>)',
|
||||
'icon_class_ph' => 'Icon Class (optional)',
|
||||
'item_route' => 'Route for the menu item',
|
||||
'item_title' => 'Title of the Menu Item',
|
||||
'link_type' => 'Link type',
|
||||
'new_menu_item' => 'New Menu Item',
|
||||
'open_in' => 'Open In',
|
||||
'open_new' => 'New Tab/Window',
|
||||
'open_same' => 'Same Tab/Window',
|
||||
'route_parameter' => 'Route parameters (if any)',
|
||||
'static_url' => 'Static URL',
|
||||
'successfully_created' => 'Successfully Created New Menu Item.',
|
||||
'successfully_deleted' => 'Successfully Deleted Menu Item.',
|
||||
'successfully_updated' => 'Successfully Updated Menu Item.',
|
||||
'updated_order' => 'Successfully updated menu order.',
|
||||
'url' => 'URL for the Menu Item',
|
||||
'usage_hint' => 'You can output a menu anywhere on your site by calling|You can output '.
|
||||
'this menu anywhere on your site by calling',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Post Category',
|
||||
'content' => 'Post Content',
|
||||
'details' => 'Post Details',
|
||||
'excerpt' => 'Excerpt <small>Small description of this post</small>',
|
||||
'image' => 'Post Image',
|
||||
'meta_description' => 'Meta Description',
|
||||
'meta_keywords' => 'Meta Keywords',
|
||||
'new' => 'Create New Post',
|
||||
'seo_content' => 'SEO Content',
|
||||
'seo_title' => 'Seo Title',
|
||||
'slug' => 'URL slug',
|
||||
'status' => 'Post Status',
|
||||
'status_draft' => 'draft',
|
||||
'status_pending' => 'pending',
|
||||
'status_published' => 'published',
|
||||
'title' => 'Post Title',
|
||||
'title_sub' => 'The title for your post',
|
||||
'update' => 'Update Post',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'Add BREAD to this table',
|
||||
'add_new_column' => 'Add New Column',
|
||||
'add_softdeletes' => 'Add Soft Deletes',
|
||||
'add_timestamps' => 'Add Timestamps',
|
||||
'already_exists' => 'already exists',
|
||||
'already_exists_table' => 'Table :table already exists',
|
||||
'bread_crud_actions' => 'BREAD/CRUD Actions',
|
||||
'bread_info' => 'BREAD info',
|
||||
'browse_bread' => 'Browse BREAD',
|
||||
'column' => 'Column',
|
||||
'composite_warning' => 'Warning: this column is part of a composite index',
|
||||
'controller_name' => 'Controller Name',
|
||||
'controller_name_hint' => 'ex. PageController, if left empty will use the BREAD Controller',
|
||||
'create_bread_for_table' => 'Create BREAD for :table table',
|
||||
'create_migration' => 'Create migration for this table?',
|
||||
'create_model_table' => 'Create model for this table?',
|
||||
'create_new_table' => 'Create New Table',
|
||||
'create_your_new_table' => 'Create Your New Table',
|
||||
'default' => 'Default',
|
||||
'delete_bread' => 'Delete BREAD',
|
||||
'delete_bread_before_table' => 'Please make sure to remove the BREAD on this table before deleting the table.',
|
||||
'delete_table_bread_conf' => 'Yes, remove the BREAD',
|
||||
'delete_table_bread_quest' => 'Are you sure you want to delete the BREAD for the :table table?',
|
||||
'delete_table_confirm' => 'Yes, delete this table',
|
||||
'delete_table_question' => 'Are you sure you want to delete the :table table?',
|
||||
'description' => 'Description',
|
||||
'display_name' => 'Display Name',
|
||||
'display_name_plural' => 'Display Name (Plural)',
|
||||
'display_name_singular' => 'Display Name (Singular)',
|
||||
'edit_bread' => 'Edit BREAD',
|
||||
'edit_bread_for_table' => 'Edit BREAD for :table table',
|
||||
'edit_rows' => 'Edit the rows for the :table table below',
|
||||
'edit_table' => 'Edit the :table table below',
|
||||
'edit_table_not_exist' => 'The table you want to edit doesn\'t exist',
|
||||
'error_creating_bread' => 'Sorry it appears there may have been a problem creating this BREAD',
|
||||
'error_removing_bread' => 'Sorry it appears there was a problem removing this BREAD',
|
||||
'error_updating_bread' => 'Sorry it appears there may have been a problem updating this BREAD',
|
||||
'extra' => 'Extra',
|
||||
'field' => 'Field',
|
||||
'field_safe_failed' => 'Failed to save field :field, we\'re rolling back!',
|
||||
'generate_permissions' => 'Generate Permissions',
|
||||
'icon_class' => 'Icon to use for this Table',
|
||||
'icon_hint' => 'Icon (optional) Use a',
|
||||
'icon_hint2' => 'Voyager Font Class',
|
||||
'index' => 'INDEX',
|
||||
'input_type' => 'Input Type',
|
||||
'key' => 'Key',
|
||||
'model_class' => 'Model Class Name',
|
||||
'model_name' => 'Model Name',
|
||||
'model_name_ph' => 'ex. \App\Models\User, if left empty will try and use the table name',
|
||||
'name_warning' => 'Please name the column before adding an index',
|
||||
'no_composites_warning' => 'This table has composite indexes. Please note that they are not supported at the moment. Be careful when trying to add/remove indexes.',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'Optional Details',
|
||||
'policy_class' => 'Policy Class Name',
|
||||
'policy_name' => 'Policy Name',
|
||||
'policy_name_ph' => 'ex. \App\Policies\UserPolicy, if left empty will try and use the default',
|
||||
'primary' => 'PRIMARY',
|
||||
'server_pagination' => 'Server-side Pagination',
|
||||
'success_create_table' => 'Successfully created :table table',
|
||||
'success_created_bread' => 'Successfully created new BREAD',
|
||||
'success_delete_table' => 'Successfully deleted :table table',
|
||||
'success_remove_bread' => 'Successfully removed BREAD from :datatype',
|
||||
'success_update_bread' => 'Successfully updated the :datatype BREAD',
|
||||
'success_update_table' => 'Successfully updated :table table',
|
||||
'table_actions' => 'Table Actions',
|
||||
'table_columns' => 'Table Columns',
|
||||
'table_has_index' => 'The table already has a primary index.',
|
||||
'table_name' => 'Table Name',
|
||||
'table_no_columns' => 'The table has no columns...',
|
||||
'type' => 'Type',
|
||||
'type_not_supported' => 'This type is not supported',
|
||||
'unique' => 'UNIQUE',
|
||||
'unknown_type' => 'Unknown Type',
|
||||
'update_table' => 'Update Table',
|
||||
'url_slug' => 'URL Slug (must be unique)',
|
||||
'url_slug_ph' => 'URL slug (ex. posts)',
|
||||
'visibility' => 'Visibility',
|
||||
'relationship' => [
|
||||
'relationship' => 'Relationship',
|
||||
'relationships' => 'Relationships',
|
||||
'has_one' => 'Has One',
|
||||
'has_many' => 'Has Many',
|
||||
'belongs_to' => 'Belongs To',
|
||||
'belongs_to_many' => 'Belongs To Many',
|
||||
'which_column_from' => 'Which column from the',
|
||||
'is_used_to_reference' => 'is used to reference the',
|
||||
'pivot_table' => 'Pivot Table',
|
||||
'selection_details' => 'Selection Details',
|
||||
'display_the' => 'Display the',
|
||||
'store_the' => 'Store the',
|
||||
'easy_there' => 'Easy there Captain',
|
||||
'before_create' => 'Before you can create a new relationship you will need to create the BREAD first.<br> Then, return back to edit the BREAD and you will be able to add relationships.<br> Thanks.',
|
||||
'cancel' => 'Cancel',
|
||||
'add_new' => 'Add New relationship',
|
||||
'open' => 'Open',
|
||||
'close' => 'Close',
|
||||
'relationship_details' => 'Relationship Details',
|
||||
'browse' => 'Browse',
|
||||
'read' => 'Read',
|
||||
'edit' => 'Edit',
|
||||
'add' => 'Add',
|
||||
'delete' => 'Delete',
|
||||
'create' => 'Create a Relationship',
|
||||
'namespace' => 'Model Namespace (ex. App\Category)',
|
||||
],
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'Page|Pages',
|
||||
'page_link_text' => 'View all pages',
|
||||
'page_text' => 'You have :count :string in your database. Click on button below to view all pages.',
|
||||
'post' => 'Post|Posts',
|
||||
'post_link_text' => 'View all posts',
|
||||
'post_text' => 'You have :count :string in your database. Click on button below to view all posts.',
|
||||
'user' => 'User|Users',
|
||||
'user_link_text' => 'View all users',
|
||||
'user_text' => 'You have :count :string in your database. Click on button below to view all users.',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Leave empty to keep the same',
|
||||
'field_select_dd_relationship' => 'Make sure to setup the appropriate relationship in the :method method of '.
|
||||
'the :class class.',
|
||||
'type_checkbox' => 'Check Box',
|
||||
'type_codeeditor' => 'Code Editor',
|
||||
'type_file' => 'File',
|
||||
'type_image' => 'Image',
|
||||
'type_radiobutton' => 'Radio Button',
|
||||
'type_richtextbox' => 'Rich Textbox',
|
||||
'type_selectdropdown' => 'Select Dropdown',
|
||||
'type_textarea' => 'Text Area',
|
||||
'type_textbox' => 'Text Box',
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'No data available in table',
|
||||
'sInfo' => 'Showing _START_ to _END_ of _TOTAL_ entries',
|
||||
'sInfoEmpty' => 'Showing 0 to 0 of 0 entries',
|
||||
'sInfoFiltered' => '(filtered from _MAX_ total entries)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => 'Show _MENU_ entries',
|
||||
'sLoadingRecords' => 'Loading...',
|
||||
'sProcessing' => 'Processing...',
|
||||
'sSearch' => 'Search:',
|
||||
'sZeroRecords' => 'No matching records found',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'First',
|
||||
'sLast' => 'Last',
|
||||
'sNext' => 'Next',
|
||||
'sPrevious' => 'Previous',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': activate to sort column ascending',
|
||||
'sSortDescending' => ': activate to sort column descending',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Made with <i class="voyager-heart"></i> by',
|
||||
'footer_copyright2' => 'Made with rum and even more rum',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'Invalid Json',
|
||||
'invalid_message' => 'Seems like you introduced some invalid JSON.',
|
||||
'valid' => 'Valid Json',
|
||||
'validation_errors' => 'Validation errors',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'By pageview',
|
||||
'by_sessions' => 'By sessions',
|
||||
'by_users' => 'By users',
|
||||
'no_client_id' => 'To view analytics you\'ll need to get a google analytics client id and '.
|
||||
'add it to your settings for the key <code>google_analytics_client_id'.
|
||||
'</code>. Get your key in your Google developer console:',
|
||||
'set_view' => 'Select a View',
|
||||
'this_vs_last_week' => 'This Week vs Last Week',
|
||||
'this_vs_last_year' => 'This Year vs Last Year',
|
||||
'top_browsers' => 'Top Browsers',
|
||||
'top_countries' => 'Top Countries',
|
||||
'various_visualizations' => 'Various visualizations',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'We just created the missing symlink for you.',
|
||||
'symlink_created_title' => 'Missing storage symlink created',
|
||||
'symlink_failed_text' => 'We failed to generate the missing symlink for your application. '.
|
||||
'It seems like your hosting provider does not support it.',
|
||||
'symlink_failed_title' => 'Could not create missing storage symlink',
|
||||
'symlink_missing_button' => 'Fix it',
|
||||
'symlink_missing_text' => 'We could not find a storage symlink. This could cause problems with '.
|
||||
'loading media files from the browser.',
|
||||
'symlink_missing_title' => 'Missing storage symlink',
|
||||
],
|
||||
];
|
||||
393
lang/es/voyager.php
Normal file
393
lang/es/voyager.php
Normal file
@@ -0,0 +1,393 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'La semana pasada',
|
||||
'last_year' => 'El año pasado',
|
||||
'this_week' => 'Esta semana',
|
||||
'this_year' => 'Este año',
|
||||
],
|
||||
'generic' => [
|
||||
'action' => 'Acción',
|
||||
'actions' => 'Acciones',
|
||||
'add' => 'Añadir',
|
||||
'add_folder' => 'Añadir carpeta',
|
||||
'add_new' => 'Añadir nuevo',
|
||||
'all_done' => 'Todo listo',
|
||||
'are_you_sure' => 'Estás seguro',
|
||||
'are_you_sure_delete' => 'Estás seguro que quieres borrarlo',
|
||||
'auto_increment' => 'Autoincremento',
|
||||
'browse' => 'Navegar',
|
||||
'builder' => 'Constructor',
|
||||
'bulk_delete' => 'Borrado masivo',
|
||||
'bulk_delete_confirm' => 'Sí, ¡Bórralo!',
|
||||
'bulk_delete_nothing' => 'Debe seleccionar al menos un registro antes de usar el borrado masivo.',
|
||||
'cancel' => 'Cancelar',
|
||||
'choose_type' => 'Elegir tipo',
|
||||
'click_here' => 'Haga clic aquí',
|
||||
'close' => 'Cerrar',
|
||||
'compass' => 'Compás',
|
||||
'created_at' => 'Creado en',
|
||||
'custom' => 'Personalizado',
|
||||
'dashboard' => 'Tablero',
|
||||
'database' => 'Base de datos',
|
||||
'default' => 'Defecto',
|
||||
'delete' => 'Borrar',
|
||||
'delete_confirm' => 'Sí, ¡Bórralo!',
|
||||
'delete_question' => 'Estás seguro que quieres eliminar esto',
|
||||
'delete_this_confirm' => 'Sí, eliminar esto',
|
||||
'deselect_all' => 'Deseleccionar todo',
|
||||
'download' => 'Descargar',
|
||||
'edit' => 'Editar',
|
||||
'email' => 'Email',
|
||||
'error_deleting' => 'Lo siento, parece que se ha producido un problema al eliminar',
|
||||
'exception' => 'Excepción',
|
||||
'featured' => 'Destacados',
|
||||
'field_does_not_exist' => 'El campo no existe',
|
||||
'how_to_use' => 'Cómo utilizar',
|
||||
'index' => 'Índice',
|
||||
'internal_error' => 'Error interno',
|
||||
'items' => 'Ítem(s)',
|
||||
'keep_sidebar_open' => '¡Yarr! ¡Suelta las anclas! (Y mantén la barra lateral abierta) ',
|
||||
'key' => 'Clave',
|
||||
'last_modified' => 'Última modificación',
|
||||
'length' => 'Longitud',
|
||||
'login' => 'Iniciar sesión',
|
||||
'media' => 'Medios',
|
||||
'menu_builder' => 'Constructor de menús',
|
||||
'move' => 'Mover',
|
||||
'name' => 'Nombre',
|
||||
'new' => 'Nuevo',
|
||||
'no' => 'No',
|
||||
'no_thanks' => 'No, gracias',
|
||||
'not_null' => 'No nulo',
|
||||
'options' => 'Opciones',
|
||||
'password' => 'Contraseña',
|
||||
'permissions' => 'Permisos',
|
||||
'profile' => 'Perfil',
|
||||
'public_url' => 'URL pública',
|
||||
'read' => 'Leer',
|
||||
'rename' => 'Renombrar',
|
||||
'required' => 'Necesario',
|
||||
'return_to_list' => 'Volver a la lista',
|
||||
'route' => 'Ruta',
|
||||
'save' => 'Guardar',
|
||||
'search' => 'Buscar',
|
||||
'select_all' => 'Seleccionar todo',
|
||||
'select_group' => 'Seleccione un grupo existente o añada uno',
|
||||
'settings' => 'Ajustes',
|
||||
'showing_entries' => 'Mostrando de :from a :to de :all entradas | Mostrando de :from a :to de todas las entradas',
|
||||
'submit' => 'Enviar',
|
||||
'successfully_added_new' => 'Añadido exitosamente',
|
||||
'successfully_deleted' => 'Eliminado exitosamente',
|
||||
'successfully_updated' => 'Actualizado exitosamente',
|
||||
'timestamp' => 'Timestamp',
|
||||
'title' => 'Título',
|
||||
'type' => 'Tipo',
|
||||
'unsigned' => 'No signado',
|
||||
'unstick_sidebar' => 'Despegar la barra lateral',
|
||||
'update' => 'Actualizar',
|
||||
'update_failed' => 'Actualización fallida',
|
||||
'upload' => 'Subir',
|
||||
'url' => 'URL',
|
||||
'view' => 'Ver',
|
||||
'viewing' => 'Viendo',
|
||||
'yes' => 'Sí',
|
||||
'yes_please' => 'Sí, por favor',
|
||||
],
|
||||
'login' => [
|
||||
'logginign' => 'Iniciando sesión',
|
||||
'signin_below' => 'Ingresar abajo:',
|
||||
'welcome' => 'Bienvenido a Voyager. El administrador desaparecido de Laravel ',
|
||||
],
|
||||
'profile' => [
|
||||
'avatar' => 'Avatar',
|
||||
'edit' => 'Editar mi perfil',
|
||||
'edit_user' => 'Editar usuario',
|
||||
'password' => 'Contraseña',
|
||||
'password_hint' => 'Dejar vacío para mantener el mismo',
|
||||
'role' => 'Rol',
|
||||
'user_role' => 'Rol del usuario',
|
||||
],
|
||||
'settings' => [
|
||||
'usage_help' => 'Puede obtener el valor de cada parámetro en cualquier lugar de su sitio llamando',
|
||||
'save' => 'Guardar parámetro',
|
||||
'new' => 'Nuevo parámetro',
|
||||
'help_name' => 'Nombre del parámetro Ej: Titulo de Pagina',
|
||||
'help_key' => 'Clave del parámetro Ej: pag_titulo',
|
||||
'help_option' => '(Opcional, sólo se aplica a ciertos tipos como cuadro desplegable o botón de opción)',
|
||||
'add_new' => 'Añadir nuevo parámetro',
|
||||
'delete_question' => '¿Está seguro de que desea eliminar el parámetro :setting?',
|
||||
'delete_confirm' => 'Sí, eliminar este parámetro',
|
||||
'successfully_created' => 'Parámetro creado exitosamente',
|
||||
'successfully_saved' => 'Parámetro guardado exitosamente',
|
||||
'successfully_deleted' => 'Parámetro eliminado exitosamente',
|
||||
'already_at_top' => 'Esto ya está en la parte superior de la lista',
|
||||
'already_at_bottom' => 'Esto ya está en la parte inferior de la lista',
|
||||
'key_already_exists' => 'Esta opción ya ha sido creada',
|
||||
'moved_order_up' => 'Orden del parámetro :name aumentado',
|
||||
'moved_order_down' => 'Orden del parámetro :name disminuido',
|
||||
'successfully_removed' => 'Eliminado correctamente parámetro :name ',
|
||||
'group_general' => 'General',
|
||||
'group_admin' => 'Admin',
|
||||
'group_site' => 'Site',
|
||||
'group' => 'Grupo',
|
||||
'help_group' => 'Esta opción está asignada a',
|
||||
],
|
||||
'media' => [
|
||||
'add_new_folder' => 'Añadir nueva carpeta',
|
||||
'audio_support' => 'Su navegador no admite el elemento de audio.',
|
||||
'create_new_folder' => 'Crear nueva carpeta',
|
||||
'delete_folder_question' => 'Eliminar una carpeta eliminará todos los archivos y carpetas contenidos dentro',
|
||||
'destination_folder' => 'Carpeta de destino',
|
||||
'drag_drop_info' => 'Arrastre y suelte archivos o haga clic abajo para cargar',
|
||||
'error_already_exists' => 'Lo siento, ya hay un archivo/carpeta existente con ese nombre en esa carpeta.',
|
||||
'error_creating_dir' => 'Lo siento, algo parece haber ido mal con la creación del directorio,'.
|
||||
'por favor revise sus permisos',
|
||||
'error_deleting_file' => 'Lo siento, algo parece haber ido mal con en el borrado del archivo,'.
|
||||
'por favor revise sus permisos',
|
||||
'error_deleting_folder' => 'Lo siento, algo parece haber fallado al eliminar esta carpeta,'.
|
||||
'por favor revise sus permisos',
|
||||
'error_may_exist' => 'Puede que ya exista un archivo o carpeta con ese nombre. Por favor, elige otro nombre o '.
|
||||
'borre el otro archivo.',
|
||||
'error_moving' => 'Lo siento, parece que hay un problema al mover ese archivo/carpeta, por favor '.
|
||||
'asegúrese de tener los permisos correctos.',
|
||||
'error_uploading' => 'Carga Fallida: Ocurrió un error desconocido!',
|
||||
'folder_exists_already' => 'Lo siento, la carpeta ya existe, por favor, elimine esa carpeta si desea '.
|
||||
'crearla nuevamente',
|
||||
'image_does_not_exist' => 'La imagen no existe',
|
||||
'image_removed' => 'Imagen eliminada',
|
||||
'library' => 'Mediateca',
|
||||
'loading' => 'CARGANDO SUS ARCHIVOS DE MEDIOS',
|
||||
'move_file_folder' => 'Mover Archivo/Carpeta',
|
||||
'new_file_folder' => 'Nuevo nombre de archivo/carpeta',
|
||||
'new_folder_name' => 'Nombre de nueva carpeta',
|
||||
'no_files_here' => 'No hay archivos aquí.',
|
||||
'no_files_in_folder' => 'No hay archivos en esta carpeta.',
|
||||
'nothing_selected' => 'No se ha seleccionado ningún archivo o carpeta',
|
||||
'rename_file_folder' => 'Renombrar archivo/carpeta',
|
||||
'success_uploaded_file' => 'Nuevo archivo subido exitosamente!',
|
||||
'success_uploading' => 'Imagen cargada exitosamente!',
|
||||
'uploading_wrong_type' => 'Falla de carga: formato de archivo no soportado o es demasiado grande para cargar!',
|
||||
'video_support' => 'Su navegador no soporta la etiqueta de vídeo.',
|
||||
'crop' => 'Cortar',
|
||||
'crop_and_create' => 'Cortar & Crear',
|
||||
'crop_override_confirm' => 'Se anulará la imagen original, ¿está seguro?',
|
||||
'crop_image' => 'Recortar imagen',
|
||||
'success_crop_image' => 'Imagen recortada con éxito',
|
||||
'height' => 'Alto: ',
|
||||
'width' => 'Ancho: ',
|
||||
],
|
||||
'menu_builder' => [
|
||||
'color' => 'Color en RGB o hex (opcional)',
|
||||
'color_ph' => 'Color (por ejemplo, #ffffff o rgb (255, 255, 255)',
|
||||
'create_new_item' => 'Crear una nueva opción de menú',
|
||||
'delete_item_confirm' => 'Sí, eliminar esta opción de menú',
|
||||
'delete_item_question' => '¿Está seguro de que desea eliminar esta opción del menú?',
|
||||
'drag_drop_info' => 'Arraste y suelte las opciones de menú para reogranizarlas',
|
||||
'dynamic_route' => 'Ruta Dinámica',
|
||||
'edit_item' => 'Editar opción del menú',
|
||||
'icon_class' => 'Icono para la opción de menú (Use una',
|
||||
'icon_class2' => 'Voyager Font Class</a>)',
|
||||
'icon_class_ph' => 'Icono (opcional)',
|
||||
'item_route' => 'Ruta para la opción de menú',
|
||||
'item_title' => 'Título de la opción de menú',
|
||||
'link_type' => 'Tipo de enlace',
|
||||
'new_menu_item' => 'Nueva opción de menú',
|
||||
'open_in' => 'Ábrelo',
|
||||
'open_new' => 'Nueva pestaña / ventana',
|
||||
'open_same' => 'Misma pestaña / ventana',
|
||||
'route_parameter' => 'Parámetros de ruta (si existen)',
|
||||
'static_url' => 'URL estática',
|
||||
'successfully_created' => 'Se creó una nueva opción de menú.',
|
||||
'successfully_deleted' => 'Opción de menú eliminada exitosamente.',
|
||||
'successfully_updated' => 'Opción de menú actualizada exitosamente.',
|
||||
'updated_order' => 'Orden actualizado exitosamente.',
|
||||
'url' => 'URL para la opción de menú',
|
||||
'usage_hint' => 'Puede emitir un menú en cualquier lugar de su sitio llamando a ',
|
||||
],
|
||||
'post' => [
|
||||
'category' => 'Categoría del Post',
|
||||
'content' => 'Contenido del Post',
|
||||
'details' => 'Detalles del Post',
|
||||
'excerpt' => 'Extracto<small> Pequeña descripción de este post </small>',
|
||||
'image' => 'Publicar imagen',
|
||||
'meta_description' => 'Meta Descripción',
|
||||
'meta_keywords' => 'Meta palabras clave',
|
||||
'new' => 'Crear nuevo post',
|
||||
'seo_content' => 'Contenido SEO',
|
||||
'seo_title' => 'Título Seo',
|
||||
'slug' => 'URL slug',
|
||||
'status' => 'Estado del Post',
|
||||
'status_draft' => 'borrador',
|
||||
'status_pending' => 'pendiente',
|
||||
'status_published' => 'publicado',
|
||||
'title' => 'Título del Post',
|
||||
'title_sub' => 'El título de Post',
|
||||
'update' => 'Actualizar Post',
|
||||
],
|
||||
'database' => [
|
||||
'add_bread' => 'Añadir BREAD a esta tabla',
|
||||
'add_new_column' => 'Añadir nueva columna',
|
||||
'add_softdeletes' => 'Añadir Soft Deletes',
|
||||
'add_timestamps' => 'Añadir Timestamps',
|
||||
'already_exists' => 'ya existe',
|
||||
'already_exists_table' => 'Tabla :table ya existe',
|
||||
'bread_crud_actions' => 'Acciones BREAD / CRUD',
|
||||
'bread_info' => 'Información de BREAD',
|
||||
'column' => 'Columna',
|
||||
'composite_warning' => 'Advertencia: esta columna forma parte de un índice compuesto',
|
||||
'controller_name' => 'Nombre del Controlador',
|
||||
'controller_name_hint' => 'Ejemplo. PageController, si se deja vacío, utilizará el controlador BREAD ',
|
||||
'create_bread_for_table' => 'Crear BREAD para la tabla :table',
|
||||
'create_migration' => '¿Crear migración para esta tabla?',
|
||||
'create_model_table' => '¿Crear un modelo para esta tabla?',
|
||||
'create_new_table' => 'Crear nueva tabla',
|
||||
'create_your_new_table' => 'Cree su nueva tabla',
|
||||
'default' => 'Defecto',
|
||||
'delete_bread' => 'Eliminar BREAD',
|
||||
'delete_bread_before_table' => 'Asegúrese de quitar el BREAD de esta tabla antes de borrar la tabla.',
|
||||
'delete_table_bread_conf' => 'Sí, retire el BREAD',
|
||||
'delete_table_bread_quest' => '¿Está seguro de que desea eliminar el BREAD para la tabla :table?',
|
||||
'delete_table_confirm' => 'Sí, borrar esta tabla',
|
||||
'delete_table_question' => '¿Está seguro de que desea eliminar la tabla :table?',
|
||||
'description' => 'Descripción',
|
||||
'display_name' => 'Nombre para mostrar',
|
||||
'display_name_plural' => 'Nombre de visualización (Plural)',
|
||||
'display_name_singular' => 'Nombre de visualización (Singular)',
|
||||
'edit_bread' => 'Editar BREAD',
|
||||
'edit_bread_for_table' => 'Editar BREAD para la tabla :table',
|
||||
'edit_rows' => 'Editar las filas de la tabla siguiente:',
|
||||
'edit_table' => 'Editar la tabla siguiente:',
|
||||
'edit_table_not_exist' => 'La tabla que desea editar no existe',
|
||||
'error_creating_bread' => 'Lo siento, parece que puede haber habido un problema al crear el BREAD',
|
||||
'error_removing_bread' => 'Lo siento, parece que hubo un problema al eliminar el BREAD',
|
||||
'error_updating_bread' => 'Lo siento, parece que puede haber habido un problema al actualizar el BREAD',
|
||||
'extra' => 'Extra',
|
||||
'field' => 'Campo',
|
||||
'field_safe_failed' => 'No se pudo guardar el campo :field, ¡Estamos retrocediendo! ',
|
||||
'generate_permissions' => 'Generar permisos',
|
||||
'icon_class' => 'Icono a utilizar para esta tabla',
|
||||
'icon_hint' => 'Icono (opcional) Utilice una ',
|
||||
'icon_hint2' => 'Voyager Font Class',
|
||||
'index' => 'ÍNDICE',
|
||||
'input_type' => 'Tipo de entrada',
|
||||
'key' => 'Clave',
|
||||
'model_class' => 'Nombre de clase del modelo',
|
||||
'model_name' => 'Nombre del modelo',
|
||||
'model_name_ph' => 'ej. \App\Models\User, si se deja vacío intentará usar el nombre de la tabla ',
|
||||
'name_warning' => 'Por favor, nombre la columna antes de añadir un índice',
|
||||
'no_composites_warning' => 'Esta tabla tiene índices compuestos. Tenga en cuenta que en este momento'.
|
||||
'no se admiten. Tenga cuidado al intentar agregar/quitar índices.',
|
||||
'null' => 'Nulo',
|
||||
'optional_details' => 'Detalles opcionales',
|
||||
'policy_class' => 'Clase de restricciones',
|
||||
'policy_name' => 'Nombre de restricciones',
|
||||
'policy_name_ph' => 'ej. \App\Policies\UserPolicy, si se deja vacío, intentará usar el valor predeterminado',
|
||||
'primary' => 'PRIMARIO',
|
||||
'server_pagination' => 'Paginación del servidor',
|
||||
'success_create_table' => 'Tabla :table creada exitosamente',
|
||||
'success_created_bread' => 'BREAD creado exitosamente',
|
||||
'success_delete_table' => 'Tabla :table eliminada exitosamente',
|
||||
'success_remove_bread' => 'BREAD de tipo :datatype borrado exitosamente',
|
||||
'success_update_bread' => 'Se actualizó correctamente el BREAD :datatype',
|
||||
'success_update_table' => 'Tabla :table actualizada exitosamente',
|
||||
'table_actions' => 'Acciones de la tabla',
|
||||
'table_columns' => 'Columnas de la tabla',
|
||||
'table_has_index' => 'La tabla ya tiene un índice primario.',
|
||||
'table_name' => 'Nombre de la tabla',
|
||||
'table_no_columns' => 'La tabla no tiene columnas ...',
|
||||
'type' => 'Tipo',
|
||||
'type_not_supported' => 'Este tipo no es compatible',
|
||||
'unique' => 'ÚNICO',
|
||||
'unknown_type' => 'Tipo desconocido',
|
||||
'update_table' => 'Actualizar tabla',
|
||||
'url_slug' => 'URL Slug (debe ser único)',
|
||||
'url_slug_ph' => 'URL slug (ej posts)',
|
||||
'visibility' => 'Visibilidad',
|
||||
],
|
||||
'dimmer' => [
|
||||
'page' => 'Página|Páginas',
|
||||
'page_link_text' => 'Ver todas las páginas',
|
||||
'page_text' => 'Tiene :count :string en su base de datos. Haga clic en el botón de abajo para ver todas las páginas. ',
|
||||
'post' => 'Post|Posts',
|
||||
'post_link_text' => 'Ver todos los posts',
|
||||
'post_text' => 'Tiene :count :string en su base de datos. Haga clic en el botón de abajo para ver todos los posts. ',
|
||||
'user' => 'Usuario|Usuarios',
|
||||
'user_link_text' => 'Ver todos los usuarios',
|
||||
'user_text' => 'Tiene :count :string en su base de datos. Haga clic en el botón de abajo para ver todos los usuarios. ',
|
||||
],
|
||||
'form' => [
|
||||
'field_password_keep' => 'Dejar vacío para mantener el mismo',
|
||||
'field_select_dd_relationship' => 'Asegúrese de configurar la relación apropiada en el método :method de'.
|
||||
'la clase :class.',
|
||||
'type_checkbox' => 'Casilla de verificación',
|
||||
'type_codeeditor' => 'Editor de código',
|
||||
'type_file' => 'Archivo',
|
||||
'type_image' => 'Imagen',
|
||||
'type_radiobutton' => 'Botón de radio',
|
||||
'type_richtextbox' => 'Caja de texto enriquecido',
|
||||
'type_selectdropdown' => 'Seleccionar Desplegable',
|
||||
'type_textarea' => 'Área de texto',
|
||||
'type_textbox' => 'Caja de texto',
|
||||
],
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'No hay datos disponibles en la tabla',
|
||||
'sInfo' => 'Mostrando _START_ a _END_ de _TOTAL_ entradas',
|
||||
'sInfoEmpty' => 'Mostrando 0 a 0 de 0 entradas',
|
||||
'sInfoFiltered' => '(Filtrada de _MAX_ entradas totales)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => 'Mostrar _MENU_ entradas',
|
||||
'sLoadingRecords' => 'Cargando...',
|
||||
'sProcessing' => 'Procesando...',
|
||||
'sSearch' => 'Buscar:',
|
||||
'sZeroRecords' => 'No se encontraron registros coincidentes',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'Primero',
|
||||
'sLast' => 'Último',
|
||||
'sNext' => 'Siguiente',
|
||||
'sPrevious' => 'Anterior',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': Activar para ordenar la columna ascendente',
|
||||
'sSortDescending' => ': Activar para ordenar la columna descendente',
|
||||
],
|
||||
],
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Hecho con <i class = "voyager-heart"> </i> por',
|
||||
'footer_copyright2' => 'Hecho con ron e incluso más ron',
|
||||
],
|
||||
'json' => [
|
||||
'invalid' => 'Json inválido',
|
||||
'invalid_message' => 'Parece que has introducido algún JSON inválido.',
|
||||
'valid' => 'Json Válido',
|
||||
'validation_errors' => 'Errores de validación',
|
||||
],
|
||||
'analytics' => [
|
||||
'by_pageview' => 'Por página',
|
||||
'by_sessions' => 'Por sesiones',
|
||||
'by_users' => 'Por usuarios',
|
||||
'no_client_id' => 'Para ver los análisis, necesitará obtener una ID de cliente de Google Analytics y'.
|
||||
'añadirla a su configuración para la clave <code>google_analytics_client_id'.
|
||||
'</code>. Obtenga su clave en la consola de desarrolladores de Google: ',
|
||||
'set_view' => 'Seleccionar una vista',
|
||||
'this_vs_last_week' => 'Esta semana vs la semana pasada',
|
||||
'this_vs_last_year' => 'Este Año vs el Año pasado',
|
||||
'top_browsers' => 'Principales Navegadores',
|
||||
'top_countries' => 'Principales países',
|
||||
'various_visualizations' => 'Varias visualizaciones',
|
||||
],
|
||||
'error' => [
|
||||
'symlink_created_text' => 'Acabamos de crear el enlace simbólico que faltaba para usted.',
|
||||
'symlink_created_title' => 'Enlace simbólico de almacenamiento faltante creado',
|
||||
'symlink_failed_text' => 'No hemos podido generar el enlace simbólico perdido para su aplicación. '.
|
||||
'Parece que su proveedor de alojamiento no lo admite.',
|
||||
'symlink_failed_title' => 'No se pudo crear un enlace simbólico de almacenamiento faltante',
|
||||
'symlink_missing_button' => 'Arréglalo',
|
||||
'symlink_missing_text' => 'No pudimos encontrar un enlace simbólico de almacenamiento. Esto podría causar problemas con '.
|
||||
'la carga de archivos multimedia desde el navegador.',
|
||||
'symlink_missing_title' => 'Falta el enlace simbólico de almacenamiento',
|
||||
],
|
||||
];
|
||||
399
lang/fr/voyager.php
Normal file
399
lang/fr/voyager.php
Normal file
@@ -0,0 +1,399 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'La semaine dernière',
|
||||
'last_year' => 'L\'année dernière',
|
||||
'this_week' => 'Cette semaine',
|
||||
'this_year' => 'Cette année',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'Action',
|
||||
'actions' => 'Actions',
|
||||
'add' => 'Ajouter',
|
||||
'add_folder' => 'Ajouter un dossier',
|
||||
'add_new' => 'Ajouter nouveau',
|
||||
'all_done' => 'Terminé',
|
||||
'are_you_sure' => 'Etes-vous sûr',
|
||||
'are_you_sure_delete' => 'Etes-vous sûr que vous voulez supprimer',
|
||||
'auto_increment' => 'Incrémentation automatique',
|
||||
'browse' => 'Naviguer',
|
||||
'builder' => 'Constructeur',
|
||||
'bulk_delete' => 'Supprimer la sélection',
|
||||
'bulk_delete_confirm' => 'Oui, supprimer ces',
|
||||
'bulk_delete_nothing' => 'Vous n\'avez sélectionné aucun élément à supprimer',
|
||||
'cancel' => 'Annuler',
|
||||
'choose_type' => 'Choisir le type',
|
||||
'click_here' => 'Cliquez ici',
|
||||
'close' => 'Fermer',
|
||||
'created_at' => 'Créé le',
|
||||
'custom' => 'Personnaliser',
|
||||
'dashboard' => 'Tableau de bord',
|
||||
'database' => 'Base de données',
|
||||
'default' => 'Par défaut',
|
||||
'delete' => 'Supprimer',
|
||||
'delete_confirm' => 'Oui, supprimer !',
|
||||
'delete_question' => 'Êtes-vous sûr de vouloir supprimer',
|
||||
'delete_this_confirm' => 'Oui, le supprimer',
|
||||
'deselect_all' => 'Tout désélectionner',
|
||||
'download' => 'Télécharger',
|
||||
'edit' => 'Editer',
|
||||
'email' => 'Adresse email',
|
||||
'error_deleting' => 'Désolé, il semble qu\'il y ait eu un problème de suppression',
|
||||
'exception' => 'Exception',
|
||||
'featured' => 'Mis en avant',
|
||||
'field_does_not_exist' => 'Le champ n\'existe pas',
|
||||
'how_to_use' => 'Comment utiliser',
|
||||
'index' => 'Index',
|
||||
'internal_error' => 'Erreur interne',
|
||||
'items' => 'élément(s)',
|
||||
'keep_sidebar_open' => 'Lâchez l\'ancre ! (gardez la barre latérale ouverte)',
|
||||
'key' => 'Clé',
|
||||
'last_modified' => 'Dernière modification',
|
||||
'length' => 'longueur',
|
||||
'login' => 'S\'identifier',
|
||||
'media' => 'Média',
|
||||
'menu_builder' => 'Constructeur de menu',
|
||||
'move' => 'Déplacer',
|
||||
'name' => 'Nom',
|
||||
'new' => 'Nouveau',
|
||||
'no' => 'Non',
|
||||
'no_thanks' => 'Non merci',
|
||||
'not_null' => 'Pas nul',
|
||||
'options' => 'Options',
|
||||
'password' => 'Mot de passe',
|
||||
'permissions' => 'Permissions',
|
||||
'profile' => 'Profil',
|
||||
'public_url' => 'URL publique',
|
||||
'read' => 'Lire',
|
||||
'rename' => 'renommer',
|
||||
'required' => 'Obligatoire',
|
||||
'return_to_list' => 'Retourner à la liste',
|
||||
'route' => 'Route',
|
||||
'save' => 'Enregistrer',
|
||||
'search' => 'Chercher',
|
||||
'select_all' => 'Tout sélectionner',
|
||||
'settings' => 'Paramètres',
|
||||
'showing_entries' => 'Affichage :from à :to de :all entrées|Affichage :from à :to de :all entrées',
|
||||
'submit' => 'Soumettre',
|
||||
'successfully_added_new' => 'Ajouté avec succès',
|
||||
'successfully_deleted' => 'Supprimer avec succès',
|
||||
'successfully_updated' => 'Mis à jour avec succès',
|
||||
'timestamp' => 'Timestamp',
|
||||
'title' => 'Titre',
|
||||
'type' => 'Type',
|
||||
'unsigned' => 'Non signé (unsigned)',
|
||||
'unstick_sidebar' => 'Dé-ancrer la barre latérale',
|
||||
'update' => 'Mise à jour',
|
||||
'update_failed' => 'Echèc de la mise à jour',
|
||||
'upload' => 'Télécharger',
|
||||
'url' => 'URL',
|
||||
'view' => 'Vue',
|
||||
'viewing' => 'Affichage',
|
||||
'yes' => 'Oui',
|
||||
'yes_please' => 'Oui, s\'il vous plaît',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'Se connecter',
|
||||
'signin_below' => 'Connectez-vous ci-dessous :',
|
||||
'welcome' => 'Bienvenue dans Voyager, l\' administration qui manquait à Laravel',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Avatar',
|
||||
'edit' => 'Editer mon profil',
|
||||
'edit_user' => 'Editer l\'utilisateur',
|
||||
'password' => 'Mot de passe',
|
||||
'password_hint' => 'Laissez vide pour garder le même',
|
||||
'role' => 'Rôle',
|
||||
'user_role' => 'Rôle utilisateur',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'Vous pouvez obtenir la valeur de chaque paramètre n\'importe où sur votre site en '.
|
||||
'appelant',
|
||||
'save' => 'Enregistrer les paramètres',
|
||||
'new' => 'Nouveau paramètre',
|
||||
'help_name' => 'Nom du paramètre, exemple : Titre de l\'espace d\'administration',
|
||||
'help_key' => 'Clé de paramètre, exemple : titre_admin',
|
||||
'help_option' => '(en option. S\'applique uniquement à certains types, comme un menu déroulant ou un '.
|
||||
'bouton radio)',
|
||||
'add_new' => 'Ajouter un nouveau paramètre',
|
||||
'delete_question' => 'Êtes-vous sûr de vouloir supprimer le paramètre : :setting ?',
|
||||
'delete_confirm' => 'Oui, supprimer ce paramètre',
|
||||
'successfully_created' => 'Paramètres créés avec succès',
|
||||
'successfully_saved' => 'Paramètres enregistrés avec succès',
|
||||
'successfully_deleted' => 'Paramètres supprimés avec succès',
|
||||
'already_at_top' => 'Déjà en haut de la liste',
|
||||
'already_at_bottom' => 'Déjà en bas de la liste',
|
||||
'moved_order_up' => 'Trier le paramètre :name en ordre croissant',
|
||||
'moved_order_down' => 'Trier le paramètre :name en ordre décroissant',
|
||||
'successfully_removed' => 'Valeur :name supprimée avec succès',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'Ajouter un dossier',
|
||||
'audio_support' => 'Votre navigateur ne supporte pas l\'élément audio.',
|
||||
'create_new_folder' => 'Créer un nouveau dossier',
|
||||
'delete_folder_question' => 'La suppression d\'un dossier supprime tout son contenu !',
|
||||
'destination_folder' => 'Dossier de destination',
|
||||
'drag_drop_info' => 'Glissez/déposez des fichiers ou cliquez ci-dessous pour télécharger',
|
||||
'error_already_exists' => 'Désolé, il existe déjà un fichier/dossier avec ce nom dans ce dossier.',
|
||||
'error_creating_dir' => 'Désolé, quelque chose n\'a pas fonctionné lors de la création du dossier, '.
|
||||
'vérifiez les autorisations SVP',
|
||||
'error_deleting_file' => 'Désolé, quelque chose n\'a pas fonctionné lors de la suppression du fichier, '.
|
||||
'vérifiez les autorisations SVP',
|
||||
'error_deleting_folder' => 'Désolé, quelque chose n\'a pas fonctionné lors de la suppression du dossier, '.
|
||||
'vérifiez les autorisations SVP',
|
||||
'error_may_exist' => 'Un fichier ou un dossier avec ce nom existe déjà. Choisissez un autre nom '.
|
||||
'ou supprimez le fichier/dossier existant.',
|
||||
'error_moving' => 'Désolé, il y a un problème pour déplacer ce fichier/dossier, '.
|
||||
'vérifiez les autorisations SVP',
|
||||
'error_uploading' => 'Échec du téléchargement : une erreur inconnue s\'est produite !',
|
||||
'folder_exists_already' => 'Désolé, ce dossier existe déjà. Supprimez-le pour le récréer ou '.
|
||||
'choisissez un autre nom',
|
||||
'image_does_not_exist' => 'L\'image n\'existe pas',
|
||||
'image_removed' => 'Image supprimée',
|
||||
'library' => 'Médiathèque',
|
||||
'loading' => 'CHARGEMENT DES FICHIERS MULTIMEDIA',
|
||||
'move_file_folder' => 'Déplacer fichier/dossier',
|
||||
'new_file_folder' => 'Nouveau nom de fichier/dossier',
|
||||
'new_folder_name' => 'Nouveau nom de dossier',
|
||||
'no_files_here' => 'Nouveau fichier ici.',
|
||||
'no_files_in_folder' => 'Il n\'y a pas de fichier dans ce dossier.',
|
||||
'nothing_selected' => 'Aucun fichier ou dossier sélectionné',
|
||||
'rename_file_folder' => 'renommer le fichier/dossier',
|
||||
'success_uploaded_file' => 'Téléchargement du fichier réussi !',
|
||||
'success_uploading' => 'Image téléchargée avec succès !',
|
||||
'uploading_wrong_type' => 'Échec du téléchargement : format de fichier non pris en charge ou volume trop '.
|
||||
'important !',
|
||||
'video_support' => 'Votre navigateur ne prend pas en charge la balise vidéo.',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Couleur en RVB ou hexadécimal (optionnel)',
|
||||
'color_ph' => 'Couleur (ex. #ffffff ou rgb(255, 255, 255)',
|
||||
'create_new_item' => 'Créer un nouvel élément de menu',
|
||||
'delete_item_confirm' => 'Oui, supprimez cet élément de menu',
|
||||
'delete_item_question' => 'Êtes-vous sûr de vouloir supprimer cet élément de menu ?',
|
||||
'drag_drop_info' => 'Glissez/déposez les éléments du menu ci-dessous pour les réorganiser.',
|
||||
'dynamic_route' => 'Route dynamique',
|
||||
'edit_item' => 'Editer l\'élément du menu',
|
||||
'icon_class' => 'Icône pour l\'élément de menu (utilisez la ',
|
||||
'icon_class2' => 'police d\'icône Voyager</a>)',
|
||||
'icon_class_ph' => 'Classe d\'icône (optionnel)',
|
||||
'item_route' => 'Route pour l\'élément de menu',
|
||||
'item_title' => 'Titre pour l\'élément de menu',
|
||||
'link_type' => 'Type de lien',
|
||||
'new_menu_item' => 'Nouvel élément de menu',
|
||||
'open_in' => 'Ouvrir dans',
|
||||
'open_new' => 'Nouvel onglet/fenêtre',
|
||||
'open_same' => 'Même onglet/fenêtre',
|
||||
'route_parameter' => 'Paramètres de Route (le cas échéant)',
|
||||
'static_url' => 'URL statique',
|
||||
'successfully_created' => 'Nouvel élément de menu créé avec succès.',
|
||||
'successfully_deleted' => 'Elément de menu supprimé avec succès.',
|
||||
'successfully_updated' => 'Elément de menu édité avec succès.',
|
||||
'updated_order' => 'Elément de menu réordonné avec succès.',
|
||||
'url' => 'URL pour l\'élément de menu',
|
||||
'usage_hint' => 'Vous pouvez afficher un menu n\'importe où sur le site en appelant|Vous '.
|
||||
'pouvez afficher ce menu n\'importe où sur le site en appelant',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Catégorie de l\'article',
|
||||
'content' => 'Contenu de l\'article',
|
||||
'details' => 'Détails de l\'article',
|
||||
'excerpt' => 'Extrait <small>courte description de l\'article</small>',
|
||||
'image' => 'Image de l\'article',
|
||||
'meta_description' => 'Meta déscription',
|
||||
'meta_keywords' => 'Meta mots clés',
|
||||
'new' => 'Créé un nouvel article',
|
||||
'seo_content' => 'Contenu SEO',
|
||||
'seo_title' => 'Titre SEO',
|
||||
'slug' => 'Slug URL',
|
||||
'status' => 'Statut de l\'article',
|
||||
'status_draft' => 'brouillon',
|
||||
'status_pending' => 'en attente',
|
||||
'status_published' => 'publié',
|
||||
'title' => 'Titre de l\'article',
|
||||
'title_sub' => 'Le titre de votre article',
|
||||
'update' => 'Mettre à jour l\'article',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'Ajouter le BREAD à cette table',
|
||||
'add_new_column' => 'Ajouter une nouvelle colonne',
|
||||
'add_softdeletes' => 'Ajouter la suppression en cascade (soft deletes)',
|
||||
'add_timestamps' => 'Ajouter les Timestamps',
|
||||
'already_exists' => 'existe déjà',
|
||||
'already_exists_table' => 'La table :table existe déjà',
|
||||
'bread_crud_actions' => 'Actions du BREAD/CRUD',
|
||||
'bread_info' => 'Information du BREAD',
|
||||
'column' => 'Colonne',
|
||||
'composite_warning' => 'Avertissement : cette colonne fait partie d\'un indice composite '.
|
||||
'(composite index)',
|
||||
'controller_name' => 'Nom du controleur',
|
||||
'controller_name_hint' => 'exemple : PageController. Si laissé vide, utilisera le contrôleur BREAD',
|
||||
'create_bread_for_table' => 'Créer un BREAD pour la table :table',
|
||||
'create_migration' => 'Créer une migration pour cette table ?',
|
||||
'create_model_table' => 'Créer un modèle pour cette table ?',
|
||||
'create_new_table' => 'Créer une nouvelle table',
|
||||
'create_your_new_table' => 'Créez votre nouvelle table',
|
||||
'default' => 'Par défaut',
|
||||
'delete_bread' => 'Supprimer le BREAD',
|
||||
'delete_bread_before_table' => 'Assurez-vous de supprimer le BREAD avant de supprimer sa table.',
|
||||
'delete_table_bread_conf' => 'Oui, supprimer le BREAD',
|
||||
'delete_table_bread_quest' => 'Êtes-vous sûr de vouloir supprimer le BREAD de la table : :table ?',
|
||||
'delete_table_confirm' => 'Oui, supprimer cette table',
|
||||
'delete_table_question' => 'Êtes-vous sûr de vouloir supprimer la table : :table ?',
|
||||
'description' => 'Description',
|
||||
'display_name' => 'Nom affiché',
|
||||
'display_name_plural' => 'Nom affiché (au pluriel)',
|
||||
'display_name_singular' => 'Nom affiché (au singulier)',
|
||||
'edit_bread' => 'Editer le BREAD',
|
||||
'edit_bread_for_table' => 'Editer le BREAD de la table : :table',
|
||||
'edit_rows' => 'Modifier les rangs pour la table :table ci-dessous',
|
||||
'edit_table' => 'Editer la table :table ci-dessous',
|
||||
'edit_table_not_exist' => 'La table que vous souhaitez modifier n\'existe pas',
|
||||
'error_creating_bread' => 'Désolé, il semble qu\'il y ait eu un problème pour créer ce BREAD',
|
||||
'error_removing_bread' => 'Désolé, il semble qu\'il y ait eu un problème pour supprimer ce BREAD',
|
||||
'error_updating_bread' => 'Désolé, il semble qu\'il y ait eu un problème pour mettre à jour ce BREAD',
|
||||
'extra' => 'Extra',
|
||||
'field' => 'Champ',
|
||||
'field_safe_failed' => 'Échec de l\'enregistrement du champ : :field. Nous sommes revenu en arrière !',
|
||||
'generate_permissions' => 'Générer les permissions',
|
||||
'icon_class' => 'Icône à utiliser pour cette table',
|
||||
'icon_hint' => 'Icône (optionel), utiliser une',
|
||||
'icon_hint2' => 'police d\'icône Voyager',
|
||||
'index' => 'INDEX',
|
||||
'input_type' => 'Type d\'entrée (input)',
|
||||
'key' => 'Clé',
|
||||
'model_class' => 'Nom de la classe du modèle (model)',
|
||||
'model_name' => 'Nom du modèle (model)',
|
||||
'model_name_ph' => 'exemple : \App\Models\User. Si laissé vide, essayera d\'utiliser le nom de la table',
|
||||
'name_warning' => 'Nommez la colonne avant d\'ajouter un index SVP',
|
||||
'no_composites_warning' => 'Cette table comporte des index composites. Notez qu\'ils ne sont pas pris en '.
|
||||
'charge pour le moment. Faites attention lorsque vous essayez '.
|
||||
'd\'ajouter/supprimer des index.',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'Détails facultatifs',
|
||||
'primary' => 'PRIMARY',
|
||||
'server_pagination' => 'Pagination côté serveur',
|
||||
'success_create_table' => 'Table : :table créée avec succès',
|
||||
'success_created_bread' => 'Nouveau BREAD créé avec succès',
|
||||
'success_delete_table' => 'Table : :table supprimée avec succès',
|
||||
'success_remove_bread' => ':datatype BREAD supprimé avec succès',
|
||||
'success_update_bread' => ':datatype BREAD mis à jour avec succès',
|
||||
'success_update_table' => 'Table :table mise à jour avec succès',
|
||||
'table_actions' => 'Actions sur le tableau',
|
||||
'table_columns' => 'Colonnes de table',
|
||||
'table_has_index' => 'La table comporte déjà un indice primaire (primary index).',
|
||||
'table_name' => 'Nom de la table',
|
||||
'table_no_columns' => 'La table n\a pas de colonnes...',
|
||||
'type' => 'Type',
|
||||
'type_not_supported' => 'Ce type n\'est pas supporté',
|
||||
'unique' => 'UNIQUE',
|
||||
'unknown_type' => 'Type inconnu',
|
||||
'update_table' => 'Mettre la table à jour',
|
||||
'url_slug' => 'URL Slug (doit être unique)',
|
||||
'url_slug_ph' => 'URL slug (exemple : articles)',
|
||||
'visibility' => 'Visibilité',
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'Page|Pages',
|
||||
'page_link_text' => 'Voir toutes les pages',
|
||||
'page_text' => 'Vous avez :count :string enregistrées. Cliquez sur le bouton ci-dessous pour afficher '.
|
||||
'toutes les pages.',
|
||||
'post' => 'Article|Articles',
|
||||
'post_link_text' => 'Voir tous les articles',
|
||||
'post_text' => 'Vous avez :count :string enregistrés. Cliquez sur le bouton ci-dessous pour afficher '.
|
||||
'tous les articles.',
|
||||
'user' => 'Utilisateur|Utilisateur',
|
||||
'user_link_text' => 'Voir tous les utilisateurs',
|
||||
'user_text' => 'Vous avez :count :string enregistrés. Cliquez sur le bouton ci-dessous pour afficher '.
|
||||
'tous les utilisateurs.',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Laissez vide pour garder le même',
|
||||
'field_select_dd_relationship' => 'Assurez-vous de configurer la relation appropriée dans la méthode :method '.
|
||||
'de la classe :class.',
|
||||
'type_checkbox' => 'Case à cocher',
|
||||
'type_codeeditor' => 'Editeur de code',
|
||||
'type_file' => 'Fichier',
|
||||
'type_image' => 'Image',
|
||||
'type_radiobutton' => 'Bouton radio',
|
||||
'type_richtextbox' => 'Champ texte enrichie',
|
||||
'type_selectdropdown' => 'Menu déroulant',
|
||||
'type_textarea' => 'Aire de texte',
|
||||
'type_textbox' => 'Champ texte',
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'Aucune donnée disponible',
|
||||
'sInfo' => 'Affichage _START_ à _END_ de _TOTAL_ entréees',
|
||||
'sInfoEmpty' => 'Affichage 0 à 0 de 0 entréees',
|
||||
'sInfoFiltered' => '(filtré de _MAX_ entréees totales)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ' ',
|
||||
'sLengthMenu' => 'Afficher les entréees : _MENU_',
|
||||
'sLoadingRecords' => 'Chargement...',
|
||||
'sProcessing' => 'En traitement...',
|
||||
'sSearch' => 'Recherche :',
|
||||
'sZeroRecords' => 'Aucun enregistrements correspondants trouvés',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'Premier',
|
||||
'sLast' => 'Dernier',
|
||||
'sNext' => 'Suivant',
|
||||
'sPrevious' => 'Précedent',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': Trier la colonne en ordre croissant',
|
||||
'sSortDescending' => ': Trier la colonne en ordre décroissant',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Fait avec <i class="voyager-heart"></i> par',
|
||||
'footer_copyright2' => 'Fait avec du rhum et encore plus de rhum :p',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'Json non valide',
|
||||
'invalid_message' => 'Il semble que votre JSON soit non valide.',
|
||||
'valid' => 'Json valide',
|
||||
'validation_errors' => 'Erreurs de validation',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'Par pages vues',
|
||||
'by_sessions' => 'Par sessions',
|
||||
'by_users' => 'Par utilisateurs',
|
||||
'no_client_id' => 'Pour afficher Google Analytics, vous devrez obtenir un identifiant et '.
|
||||
'l\'ajouter à vos paramètres clé : <code>google_analytics_client_id</code>. '.
|
||||
'Obtenez une clé dans l\'espace développeur Google :',
|
||||
'set_view' => 'Sélectionner une vue',
|
||||
'this_vs_last_week' => 'Cette semaine contre la semaine dernière',
|
||||
'this_vs_last_year' => 'Cette année contre l\'année dernière',
|
||||
'top_browsers' => 'Top navigateurs',
|
||||
'top_countries' => 'Top pays',
|
||||
'various_visualizations' => 'Visualisations diverses',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'Nous avons créé le lien symbolique manquant pour vous.',
|
||||
'symlink_created_title' => 'Le lien symbolique de stockage manquant a été créé',
|
||||
'symlink_failed_text' => 'Nous n\'avons pu généré le lien symbolique manquant pour votre application. '.
|
||||
'Il semble que votre hébergeur ne supporte pas cette fonction.',
|
||||
'symlink_failed_title' => 'Impossible de créer un lien symbolique de stockage manquant',
|
||||
'symlink_missing_button' => 'Le réparer !',
|
||||
'symlink_missing_text' => 'Nous n\'avons pu trouver le lien symbolique de stockage. '.
|
||||
'Cela pourrait causer des problèmes de chargement des fichiers multimédias.',
|
||||
'symlink_missing_title' => 'Le lien symbolique de stockage est manquant',
|
||||
],
|
||||
];
|
||||
19
lang/it/auth.php
Normal file
19
lang/it/auth.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used during authentication for various
|
||||
| messages that we need to display to the user. You are free to modify
|
||||
| these language lines according to your application's requirements.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => 'Queste credenziali non corrispondono a quelle in archivio.',
|
||||
'throttle' => 'Troppi tentativi di accesso. Riprova tra :seconds secondi.',
|
||||
|
||||
];
|
||||
19
lang/it/pagination.php
Normal file
19
lang/it/pagination.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« Precedente',
|
||||
'next' => 'Successivo »',
|
||||
|
||||
];
|
||||
22
lang/it/passwords.php
Normal file
22
lang/it/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' => 'Le password devono contenere almeno sei caratteri e la conferma deve corrispondere.',
|
||||
'reset' => 'La tua password è stata reimpostata!',
|
||||
'sent' => 'Abbiamo inviato per e-mail il link per reimpostare la password!',
|
||||
'token' => 'Questo token di reimpostazione della password non è valido.',
|
||||
'user' => "Non riusciamo a trovare un utente con questo indirizzo e-mail.",
|
||||
|
||||
];
|
||||
155
lang/it/validation.php
Normal file
155
lang/it/validation.php
Normal file
@@ -0,0 +1,155 @@
|
||||
<?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' => 'Il :attribute deve essere accettato.',
|
||||
'active_url' => 'Il :attribute non è un URL valido.',
|
||||
'after' => 'Il :attribute deve essere una data successiva a :date.',
|
||||
'after_or_equal' => 'Il :attribute deve essere una data uguale o successiva a :date.',
|
||||
'alpha' => 'Il :attribute può contenere solo lettere.',
|
||||
'alpha_dash' => 'Il :attribute può contenere solo lettere, numeri e trattini.',
|
||||
'alpha_num' => 'Il :attribute può contenere solo lettere e numeri.',
|
||||
'array' => 'Il :attribute deve essere un array.',
|
||||
'before' => 'Il :attribute deve essere una data precedente a :date.',
|
||||
'before_or_equal' => 'Il :attribute deve essere una data precedente o uguale a :date.',
|
||||
'between' => [
|
||||
'numeric' => 'Il :attribute deve essere compreso tra :min e :max.',
|
||||
'file' => 'Il :attribute deve essere compreso tra :min e :max kilobyte.',
|
||||
'string' => 'Il :attribute deve essere compreso tra :min e :max caratteri.',
|
||||
'array' => 'Il :attribute deve essere compreso tra :min e :max elementi.',
|
||||
],
|
||||
'boolean' => 'Il campo :attribute deve essere vero o falso.',
|
||||
'confirmed' => 'La conferma di :attribute non corrisponde.',
|
||||
'date' => 'Il :attribute non è una data valida.',
|
||||
'date_equals' => 'Il :attribute deve essere una data uguale a :date.',
|
||||
'date_format' => 'Il :attribute non corrisponde al formato :format.',
|
||||
'different' => 'Il :attribute e :other devono essere differenti.',
|
||||
'digits' => 'Il :attribute deve essere :digits cifre.',
|
||||
'digits_between' => 'Il :attribute deve essere compreso tra :min e :max cifre.',
|
||||
'dimensions' => 'Il :attribute ha dimensioni immagine non valide.',
|
||||
'distinct' => 'Il campo :attribute ha un valore duplicato.',
|
||||
'email' => 'Il :attribute deve essere un indirizzo e-mail valido.',
|
||||
'ends_with' => 'Il :attribute deve finire con uno dei seguenti: :values.',
|
||||
'exists' => 'Il :attribute selezionato non è valido.',
|
||||
'file' => 'Il :attribute deve essere un file.',
|
||||
'filled' => 'Il campo :attribute è richiesto.',
|
||||
'gt' => [
|
||||
'numeric' => 'Il :attribute deve essere maggiore di :value.',
|
||||
'file' => 'Il :attribute deve essere maggiore di :value kilobyte.',
|
||||
'string' => 'Il :attribute deve essere maggiore di :value caratteri.',
|
||||
'array' => 'Il :attribute deve avere più di :value elementi.',
|
||||
],
|
||||
'gte' => [
|
||||
'numeric' => 'Il :attribute deve essere maggiore o uguale a :value.',
|
||||
'file' => 'Il :attribute deve essere maggiore o uguale a :value kilobyte.',
|
||||
'string' => 'Il :attribute deve essere maggiore o uguale a :value caratteri.',
|
||||
'array' => 'Il :attribute deve avere :value items or more.',
|
||||
],
|
||||
'image' => 'Il :attribute deve essere una immagine.',
|
||||
'in' => 'Il :attribute selezionato non è valido.',
|
||||
'in_array' => 'Il campo :attribute non esiste in in :other.',
|
||||
'integer' => 'Il :attribute deve essere un intero.',
|
||||
'ip' => 'Il :attribute deve essere un indirizzo IP valido.',
|
||||
'ipv4' => 'Il :attribute deve essere un indirizzo IPv4 valido.',
|
||||
'ipv6' => 'Il :attribute deve essere un indirizzo IPv6 valido.',
|
||||
'json' => 'Il :attribute deve essere una stringa JSON valida.',
|
||||
'lt' => [
|
||||
'numeric' => 'Il :attribute deve essere meno di :value.',
|
||||
'file' => 'Il :attribute deve essere meno di :value kilobyte.',
|
||||
'string' => 'Il :attribute deve essere meno di :value caratteri.',
|
||||
'array' => 'Il :attribute deve avere meno di :value elementi.',
|
||||
],
|
||||
'lte' => [
|
||||
'numeric' => 'Il :attribute deve essere uguale o minore di :value.',
|
||||
'file' => 'Il :attribute deve essere uguale o minore di :value kilobyte.',
|
||||
'string' => 'Il :attribute deve essere uguale o minore di :value caratteri.',
|
||||
'array' => 'Il :attribute non può avere più di :value elementi.',
|
||||
],
|
||||
'max' => [
|
||||
'numeric' => 'Il :attribute non può essere maggiore di :max.',
|
||||
'file' => 'Il :attribute non può essere maggiore di :max kilobyte.',
|
||||
'string' => 'Il :attribute non può essere maggiore di :max caratteri.',
|
||||
'array' => 'Il :attribute non può avere più di :max elemento.',
|
||||
],
|
||||
'mimes' => 'Il :attribute deve essere un file di tipo: :values.',
|
||||
'mimetypes' => 'Il :attribute must be a file di uno dei seguenti tipi: :values.',
|
||||
'min' => [
|
||||
'numeric' => 'Il :attribute deve essere almeno :min.',
|
||||
'file' => 'Il :attribute deve essere almeno :min kilobyte.',
|
||||
'string' => 'Il :attribute deve essere almeno :min caratteri.',
|
||||
'array' => 'Il :attribute deve avere almeno :min elementi.',
|
||||
],
|
||||
'multiple_of' => 'Il :attribute deve essere un multiplo di :value.',
|
||||
'not_in' => 'Il :attribute selezionato non è valido.',
|
||||
'not_regex' => 'Il formato di :attribute non è valido.',
|
||||
'numeric' => 'Il :attribute deve essere un numero.',
|
||||
'password' => 'La password non è corretta.',
|
||||
'present' => 'Il campo :attribute deve essere presente.',
|
||||
'regex' => 'Il formato di :attribute non è valido.',
|
||||
'required' => 'Il campo :attribute è richiesto.',
|
||||
'required_if' => 'Il campo :attribute è richiesto quando :other è :value.',
|
||||
'required_unless' => 'Il campo :attribute è richiesto a meno che :other è in :values.',
|
||||
'required_with' => 'Il campo :attribute è richiesto quando :values è presente.',
|
||||
'required_with_all' => 'Il campo :attribute è richiesto quando :values sono presenti.',
|
||||
'required_without' => 'Il campo :attribute è richiesto quando :values non sono presenti.',
|
||||
'required_without_all' => 'Il campo :attribute è richiesto quando nessun :values è presente.',
|
||||
'prohibited' => 'Il campo :attribute è proibito.',
|
||||
'prohibited_if' => 'Il campo :attribute è proibito quando :other è :value.',
|
||||
'prohibited_unless' => 'Il campo :attribute è proibito a meno che :other è in :values.',
|
||||
'same' => 'Il :attribute e :other devono corrispondere.',
|
||||
'size' => [
|
||||
'numeric' => 'Il :attribute deve essere :size.',
|
||||
'file' => 'Il :attribute deve essere :size kilobyte.',
|
||||
'string' => 'Il :attribute deve essere :size caratteri.',
|
||||
'array' => 'Il :attribute deve contenere :size elementi.',
|
||||
],
|
||||
'starts_with' => 'Il :attribute deve cominciare con uno dei seguenti: :values.',
|
||||
'string' => 'Il :attribute deve essere una stringa.',
|
||||
'timezone' => 'Il :attribute deve essere una zona valida.',
|
||||
'unique' => 'Il :attribute è già stato preso.',
|
||||
'uploaded' => 'Non è stato possibile caricare :attribute.',
|
||||
'url' => 'Il formato :attribute non è valido.',
|
||||
'uuid' => 'Il :attribute deve essere un UUID valido.',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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 our attribute placeholder
|
||||
| with something more reader friendly such as "E-Mail Address" instead
|
||||
| of "email". This simply helps us make our message more expressive.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [],
|
||||
|
||||
];
|
||||
402
lang/it/voyager.php
Normal file
402
lang/it/voyager.php
Normal file
@@ -0,0 +1,402 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'Ultima Settimana',
|
||||
'last_year' => 'Ultimo Anno',
|
||||
'this_week' => 'Questa Settimana',
|
||||
'this_year' => 'Questo Anno',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'Azione',
|
||||
'actions' => 'Azioni',
|
||||
'add' => 'Aggiungi',
|
||||
'add_folder' => 'Aggiungi Cartella',
|
||||
'add_new' => 'Aggiungi Nuovo',
|
||||
'all_done' => 'Tutto Fatto',
|
||||
'are_you_sure' => 'Sei sicuro',
|
||||
'are_you_sure_delete' => 'Sei sicuro di voler eliminare',
|
||||
'auto_increment' => 'Incremento Automatico',
|
||||
'browse' => 'Sfoglia',
|
||||
'builder' => 'Costruttore',
|
||||
'bulk_delete' => 'Elimina in blocco',
|
||||
'bulk_delete_confirm' => 'Sì, elimina questi',
|
||||
'bulk_delete_nothing' => 'Non hai selezionato nulla da eliminare',
|
||||
'cancel' => 'Annulla',
|
||||
'choose_type' => 'Scegli il tipo',
|
||||
'click_here' => 'Clicca qui',
|
||||
'close' => 'Chiudi',
|
||||
'compass' => 'Bussola',
|
||||
'created_at' => 'Creato il',
|
||||
'custom' => 'Custom',
|
||||
'dashboard' => 'Bacheca',
|
||||
'database' => 'Database',
|
||||
'default' => 'Default',
|
||||
'delete' => 'Elimina',
|
||||
'delete_confirm' => 'Sì, elimina!',
|
||||
'delete_question' => 'Sei sicuro di volerlo eliminare',
|
||||
'delete_this_confirm' => 'Sì, eliminalo',
|
||||
'deselect_all' => 'Deseleziona TUTTO',
|
||||
'download' => 'Scarica',
|
||||
'edit' => 'Modifica',
|
||||
'email' => 'E-mail',
|
||||
'error_deleting' => 'Spiacenti sembra ci sia stato un problema durante l\'eliminazione',
|
||||
'exception' => 'Eccezione',
|
||||
'featured' => 'In primo piano',
|
||||
'field_does_not_exist' => 'Campo non esiste',
|
||||
'how_to_use' => 'Come Usare',
|
||||
'index' => 'Indice',
|
||||
'internal_error' => 'Errore interno',
|
||||
'items' => 'item(s)',
|
||||
'keep_sidebar_open' => 'Yarr! Calate le ancore! (e lascia la barra laterale aperta)',
|
||||
'key' => 'Chiave',
|
||||
'last_modified' => 'Ultima modifica',
|
||||
'length' => 'Lunghezza',
|
||||
'login' => 'Login',
|
||||
'media' => 'Media',
|
||||
'menu_builder' => 'Costruttore del menù',
|
||||
'move' => 'Sposta',
|
||||
'name' => 'Nome',
|
||||
'new' => 'Nuovo',
|
||||
'no' => 'No',
|
||||
'no_thanks' => 'No Grazie',
|
||||
'not_null' => 'Non Null',
|
||||
'options' => 'Opzioni',
|
||||
'password' => 'Password',
|
||||
'permissions' => 'Permessi',
|
||||
'profile' => 'Profilo',
|
||||
'public_url' => 'URL Pubblico',
|
||||
'read' => 'Leggi',
|
||||
'rename' => 'Rinomina',
|
||||
'required' => 'Richiesto',
|
||||
'return_to_list' => 'Torna alla Lista',
|
||||
'route' => 'Percorso',
|
||||
'save' => 'Salva',
|
||||
'search' => 'Cerca',
|
||||
'select_all' => 'Seleziona Tutto',
|
||||
'select_group' => 'Seleziona un Gruppo Esistente o Aggiungi un Nuovo Gruppo',
|
||||
'settings' => 'Impostazioni',
|
||||
'showing_entries' => 'Visualizzazione dei risultati da :from a :to di :all|Visualizzazione dei risultati da :from a :to di :all',
|
||||
'submit' => 'Invia',
|
||||
'successfully_added_new' => 'Aggiunto con successo',
|
||||
'successfully_deleted' => 'Eliminato con successo',
|
||||
'successfully_updated' => 'Aggiornato con successo',
|
||||
'timestamp' => 'Timestamp',
|
||||
'title' => 'Titolo',
|
||||
'type' => 'Tipo',
|
||||
'unsigned' => 'Valore Assoluto',
|
||||
'unstick_sidebar' => 'Sbloccare la barra laterale',
|
||||
'update' => 'Aggiorna',
|
||||
'update_failed' => 'Aggiornamento fallito',
|
||||
'upload' => 'Carica',
|
||||
'url' => 'URL',
|
||||
'view' => 'Visualizza',
|
||||
'viewing' => 'Visualizzando',
|
||||
'yes' => 'Sì',
|
||||
'yes_please' => 'Sì, Per favore',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'Collegati',
|
||||
'signin_below' => 'Accedi Qui Sotto:',
|
||||
'welcome' => 'Benvenuti in Voyager. L\'Admin panel che mancava per Laravel',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Avatar',
|
||||
'edit' => 'Modifica il mio profilo',
|
||||
'edit_user' => 'Modifica Utente',
|
||||
'password' => 'Password',
|
||||
'password_hint' => 'Lasciare vuoto per mantenere lo stesso',
|
||||
'role' => 'Ruolo',
|
||||
'user_role' => 'Ruolo Utente',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'Puoi ottenere il valore di ogni impostazione in qualsiasi punto del tuo sito chiamando',
|
||||
'save' => 'Salva Impostazioni',
|
||||
'new' => 'Nuova Impostazione',
|
||||
'help_name' => 'Es Nome Setting: Titolo Admin',
|
||||
'help_key' => 'Es Chiave Setting: titolo_admin',
|
||||
'help_option' => '(facoltativo, si applica solo a determinati tipi come il riquadro a discesa o il pulsante di scelta rapida)',
|
||||
'add_new' => 'Aggiungi Nuova Impostazione',
|
||||
'delete_question' => 'Sei sicuro di voler eliminare l\'impostazione :setting ?',
|
||||
'delete_confirm' => 'Sì, Elimina questa Impostazione',
|
||||
'successfully_created' => 'Impostazione Creata con Successo',
|
||||
'successfully_saved' => 'Impostazione Salvata con Successo',
|
||||
'successfully_deleted' => 'Impostazione Eliminata con Successo',
|
||||
'already_at_top' => 'Questo è già in cima all\'elenco',
|
||||
'already_at_bottom' => 'Questo è già in fondo all\'elenco',
|
||||
'key_already_exists' => 'La Chiave :key è già esistente',
|
||||
'moved_order_up' => 'Impostazione :name spostato in sù',
|
||||
'moved_order_down' => 'Impostazione :name spostato in giù',
|
||||
'successfully_removed' => 'Il valore dell\'Impostazione :name è stato eliminato',
|
||||
'group_general' => 'Generale',
|
||||
'group_admin' => 'Amministratore',
|
||||
'group_site' => 'Sito',
|
||||
'group' => 'Gruppo',
|
||||
'help_group' => 'Questa impostazione è assegnata a',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'Aggiungi Nuova Cartella',
|
||||
'audio_support' => 'Il tuo browser non supporta l\'elemento audio.',
|
||||
'create_new_folder' => 'Crea Nuova Cartella',
|
||||
'delete_folder_question' => 'Eliminando una cartella verranno eliminati anche i file e le cartelle al suo interno',
|
||||
'destination_folder' => 'Cartella di Destinazione',
|
||||
'drag_drop_info' => 'Trascina e rilascia i file o premi sotto per caricare',
|
||||
'error_already_exists' => 'Spiacenti esiste già un file o una cartella con questo nome in questa cartella.',
|
||||
'error_creating_dir' => 'Spiacenti qualcosa è andato storto nella creazione della cartella, '.
|
||||
'per favore controllate i vostri permessi',
|
||||
'error_deleting_file' => 'Spiacenti qualcosa è andato storto nell\'eliminazione di questo file, per favore controllate i vostri '.
|
||||
'permessi',
|
||||
'error_deleting_folder' => 'Spiacenti qualcosa è andato storto nell\'eliminazione di questa cartella, '.
|
||||
'per favore controllate i vostri permessi',
|
||||
'error_may_exist' => 'Un File o una cartella potrebbero già esistere con quel nome. Scegli un altro nome oppure '.
|
||||
'elimina l\'altro file.',
|
||||
'error_moving' => 'Spiacenti, sembra che ci sia un problema nello spostare quel file / cartella, per favore '.
|
||||
'controllate di avere i permessi corretti.',
|
||||
'error_uploading' => 'Caricamento Fallito: Errore sconosciuto!',
|
||||
'folder_exists_already' => 'Spiacenti questa cartella è già esistente, si prega di eliminarla se si desira '.
|
||||
'ricrearla',
|
||||
'image_does_not_exist' => 'L\'immagine non esiste',
|
||||
'image_removed' => 'Immagine rimossa',
|
||||
'library' => 'Libreria Media',
|
||||
'loading' => 'CARICAMENTO DEI VOSTRI MEDIA FILES',
|
||||
'move_file_folder' => 'Sposta File/Cartella',
|
||||
'new_file_folder' => 'Nuovo nome di File/Cartella',
|
||||
'new_folder_name' => 'Nuovo Nome di Cartella',
|
||||
'no_files_here' => 'Nessun file presente.',
|
||||
'no_files_in_folder' => 'Nessun file in questa cartella.',
|
||||
'nothing_selected' => 'Nessun file o cartella selezionata',
|
||||
'rename_file_folder' => 'Rinomina File/Cartella',
|
||||
'success_uploaded_file' => 'Il nuovo file è stato caricato con successo!',
|
||||
'success_uploading' => 'Immagine caricata con successo!',
|
||||
'uploading_wrong_type' => 'Caricamento Fallito: File non supportato o troppo grande per essere caricato!',
|
||||
'video_support' => 'Il tuo browser non supporta il tag video.',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Colore in RGB o hex (opzionale)',
|
||||
'color_ph' => 'Colore (es. #ffffff o rgb(255, 255, 255)',
|
||||
'create_new_item' => 'Crea un nuovo elemento del Menù',
|
||||
'delete_item_confirm' => 'Sì, Elimina questo elemento del Menù',
|
||||
'delete_item_question' => 'Sei sicuro di voler eliminare questo elemento del menù?',
|
||||
'drag_drop_info' => 'Trascina gli elementi del menù qui sotto per riordinarli.',
|
||||
'dynamic_route' => 'Percorso Dinamico',
|
||||
'edit_item' => 'Modifica Elemento di Menù',
|
||||
'icon_class' => 'Classe Font Icon per l\'elemento del menù (usare una',
|
||||
'icon_class2' => 'Voyager Font Class</a>)',
|
||||
'icon_class_ph' => 'Icon Class (opzionale)',
|
||||
'item_route' => 'Percorso per l\'elemento del menù',
|
||||
'item_title' => 'Titolo dell\'elemento del menù',
|
||||
'link_type' => 'Tipo Link',
|
||||
'new_menu_item' => 'Nuovo Elemento di Menù',
|
||||
'open_in' => 'Apri in',
|
||||
'open_new' => 'Nuova Tab/Finestra',
|
||||
'open_same' => 'Stessa Tab/Finestra',
|
||||
'route_parameter' => 'Parametri percorso (se necessari)',
|
||||
'static_url' => 'URL Statico',
|
||||
'successfully_created' => 'Elemento del Menù Creato con Successo.',
|
||||
'successfully_deleted' => 'Elemento del Menù Eliminato con Successo.',
|
||||
'successfully_updated' => 'Elemento del Menù Aggiornato con Successo.',
|
||||
'updated_order' => 'Ordine menù aggiornato con successo.',
|
||||
'url' => 'URL per l\'Elemento del Menù',
|
||||
'usage_hint' => 'È possibile stampare un menu ovunque nel tuo sito chiamando|Puoi stampare '.
|
||||
'questo menu ovunque nel tuo sito chiamando',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Categoria Articolo',
|
||||
'content' => 'Contenuto Articolo',
|
||||
'details' => 'Dettagli Articolo',
|
||||
'excerpt' => 'Estratto <small>Piccola descrizione di questo articolo</small>',
|
||||
'image' => 'Immagine Articolo',
|
||||
'meta_description' => 'Meta Description',
|
||||
'meta_keywords' => 'Meta Keywords',
|
||||
'new' => 'Crea Nuovo Articolo',
|
||||
'seo_content' => 'Contenuto SEO',
|
||||
'seo_title' => 'Titolo SEO',
|
||||
'slug' => 'URL slug',
|
||||
'status' => 'Stato Articolo',
|
||||
'status_draft' => 'bozza',
|
||||
'status_pending' => 'in attesa',
|
||||
'status_published' => 'pubblicato',
|
||||
'title' => 'Titolo Articolo',
|
||||
'title_sub' => 'Il titolo per il tuo articolo',
|
||||
'update' => 'Aggiorna Articolo',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'Aggiungi BREAD a questa tabella',
|
||||
'add_new_column' => 'Aggiungi Nuova Colonna',
|
||||
'add_softdeletes' => 'Aggiungi Eliminazioni soft',
|
||||
'add_timestamps' => 'Aggiungi Timestamps',
|
||||
'already_exists' => 'già esistente',
|
||||
'already_exists_table' => 'La tabella :table esiste già',
|
||||
'bread_crud_actions' => 'Azioni BREAD/CRUD',
|
||||
'bread_info' => 'Informazioni BREAD',
|
||||
'column' => 'Colonna',
|
||||
'composite_warning' => 'Avviso: questa colonna fa parte di un indice composito',
|
||||
'controller_name' => 'Nome Controller',
|
||||
'controller_name_hint' => 'es. PageController, se lasciato vuoto verrà usato il BREAD Controller',
|
||||
'create_bread_for_table' => 'Crea BREAD per la tabella :table',
|
||||
'create_migration' => 'Creare una migrazione per questa tabella?',
|
||||
'create_model_table' => 'Creare un model per questa tabella?',
|
||||
'create_new_table' => 'Crea Nuova Tabella',
|
||||
'create_your_new_table' => 'Crea la tua Nuova Tabella',
|
||||
'default' => 'Default',
|
||||
'delete_bread' => 'Elimina BREAD',
|
||||
'delete_bread_before_table' => 'Assicurati di eliminare il BREAD in questa tabella prima di eliminare la tabella.',
|
||||
'delete_table_bread_conf' => 'Sì, elimina il BREAD',
|
||||
'delete_table_bread_quest' => 'Sei sicuro di voler eliminare il BREAD per la tabella :table?',
|
||||
'delete_table_confirm' => 'Sì, elimina questa tabella',
|
||||
'delete_table_question' => 'Sei sicuro di voler eliminare la tabella :table?',
|
||||
'description' => 'Descrizione',
|
||||
'display_name' => 'Nome Visualizzato',
|
||||
'display_name_plural' => 'Nome Visualizzato (Plurale)',
|
||||
'display_name_singular' => 'Nome Visualizzato (Singolare)',
|
||||
'edit_bread' => 'Modifica BREAD',
|
||||
'edit_bread_for_table' => 'Modifica BREAD per la tabella :table',
|
||||
'edit_rows' => 'Modifica le righe per la tabella :table qui sotto',
|
||||
'edit_table' => 'Modifica la tabella :table qui sotto',
|
||||
'edit_table_not_exist' => 'La tabella che vuoi modificare non esiste',
|
||||
'error_creating_bread' => 'Spiacenti sembra ci sia stato un problema nel creare questo BREAD',
|
||||
'error_removing_bread' => 'Spiacenti sembra ci sia stato un problema nell\'eliminare questo BREAD',
|
||||
'error_updating_bread' => 'Spiacenti sembra ci sia stato un problema nell\'aggiornare questo BREAD',
|
||||
'extra' => 'Aggiuntivo',
|
||||
'field' => 'Campo',
|
||||
'field_safe_failed' => 'Salvataggio fallito per il campo :field, stiamo tornando indietro!',
|
||||
'generate_permissions' => 'Genera Permessi',
|
||||
'icon_class' => 'Icona da utilizzare per questa Tabella',
|
||||
'icon_hint' => 'Icona (opzionale) Usare una',
|
||||
'icon_hint2' => 'Voyager Font Class',
|
||||
'index' => 'INDICE',
|
||||
'input_type' => 'Tipo input',
|
||||
'key' => 'Chiave',
|
||||
'model_class' => 'Nome della Classe del Model',
|
||||
'model_name' => 'Nome Model',
|
||||
'model_name_ph' => 'es. \App\Models\User, se lasciato vuoto proverà ad utilizzare il nome della tabella',
|
||||
'name_warning' => 'Per favore dare un nome alla colonna prima di inserire un indice',
|
||||
'no_composites_warning' => 'Questa tabella ha indici compositi. Si prega di notare che non sono supportati '.
|
||||
'al momento. Fare attenzione quando si tenta di aggiungere/eliminare gli indici.',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'Dettagli Opzionali',
|
||||
'policy_class' => 'Nome della Classe Policy',
|
||||
'policy_name' => 'Nome Policy',
|
||||
'policy_name_ph' => 'es. \App\Policies\UserPolicy, se lasciato vuoto proverà ad usare quella di default',
|
||||
'primary' => 'PRIMARIA',
|
||||
'server_pagination' => 'Paginazione lato Server',
|
||||
'success_create_table' => 'Tabella :table creata con successo',
|
||||
'success_created_bread' => 'Nuovo BREAD creato con successo',
|
||||
'success_delete_table' => 'Tabella :table eliminata con successo',
|
||||
'success_remove_bread' => 'BREAD rimosso con successo da :datatype',
|
||||
'success_update_bread' => 'Aggiornato con successo :datatype BREAD',
|
||||
'success_update_table' => 'Tabella :table aggiornata con successo',
|
||||
'table_actions' => 'Azioni Tabella',
|
||||
'table_columns' => 'Colonne Tabella',
|
||||
'table_has_index' => 'La tabella ha già un indice primario.',
|
||||
'table_name' => 'Nome Tabella',
|
||||
'table_no_columns' => 'La tabella non ha colonne...',
|
||||
'type' => 'Tipo',
|
||||
'type_not_supported' => 'Questo tipo non è supportato',
|
||||
'unique' => 'UNICA',
|
||||
'unknown_type' => 'Tipo sconosciuto',
|
||||
'update_table' => 'Aggiorna Tabella',
|
||||
'url_slug' => 'URL Slug (deve essere unico)',
|
||||
'url_slug_ph' => 'URL slug (ex. articoli)',
|
||||
'visibility' => 'Visibilità',
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'Pagina|Pagine',
|
||||
'page_link_text' => 'Visualizza tutte le pagine',
|
||||
'page_text' => 'Ci sono :count :string nel tuo database. Premi il bottone qui sotto per vedere tutte le pagine.',
|
||||
'post' => 'Articolo|Articoli',
|
||||
'post_link_text' => 'Visualizza tutti gli articoli',
|
||||
'post_text' => 'Ci sono :count :string nel tuo database. Premi il bottone qui sotto per vedere tutti gli articoli.',
|
||||
'user' => 'Utente|Utenti',
|
||||
'user_link_text' => 'Visualizza tutti gli utenti',
|
||||
'user_text' => 'Ci sono :count :string nel tuo database. Premi il bottone qui sotto per vedere tutti gli utenti.',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Lasciare vuoto per mantenere lo stesso',
|
||||
'field_select_dd_relationship' => 'Assicurarsi di impostare la relazione appropriata nel metodo :method della'.
|
||||
'classe :class .',
|
||||
'type_checkbox' => 'Check Box',
|
||||
'type_codeeditor' => 'Editore del Codice',
|
||||
'type_file' => 'File',
|
||||
'type_image' => 'Immagine',
|
||||
'type_radiobutton' => 'Radio Button',
|
||||
'type_richtextbox' => 'Rich Textbox',
|
||||
'type_selectdropdown' => 'Select Dropdown',
|
||||
'type_textarea' => 'Text Area',
|
||||
'type_textbox' => 'Text Box',
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'Nessun dato disponibile nella tabella',
|
||||
'sInfo' => 'Visualizzazione _START_ a _END_ di _TOTAL_ elementi',
|
||||
'sInfoEmpty' => 'Visualizzazione 0 a 0 di 0 elementi',
|
||||
'sInfoFiltered' => '(filtrati da _MAX_ elementi totali)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => 'Mostra _MENU_ elementi',
|
||||
'sLoadingRecords' => 'Caricando...',
|
||||
'sProcessing' => 'Processando...',
|
||||
'sSearch' => 'Cerca:',
|
||||
'sZeroRecords' => 'Nessun risultato trovato',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'Primo',
|
||||
'sLast' => 'Ultimo',
|
||||
'sNext' => 'Successivo',
|
||||
'sPrevious' => 'Precedente',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': attivare per ordinare la colonna in ordine crescente',
|
||||
'sSortDescending' => ': attivare per ordinare la colonna in ordine decrescente',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Realizzato con <i class="voyager-heart"></i> da',
|
||||
'footer_copyright2' => 'Realizzato con rum, e poi ancora rum',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'Json non valido',
|
||||
'invalid_message' => 'Sembra che tu abbia introdotto qualche JSON non valido.',
|
||||
'valid' => 'Json valido',
|
||||
'validation_errors' => 'Errori di validazione',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'Per pageview',
|
||||
'by_sessions' => 'Per sessioni',
|
||||
'by_users' => 'Per utenti',
|
||||
'no_client_id' => 'Per visualizzare le analisi, dovrai ottenere un client ID per Google Analytics e'.
|
||||
'aggiungerlo alle tue impostazioni per la chiave <code>google_analytics_client_id'.
|
||||
'</code>. ottieni una chiave su Google developer console:',
|
||||
'set_view' => 'Seleziona una Vista',
|
||||
'this_vs_last_week' => 'Questa settimana vs la scorsa settimana',
|
||||
'this_vs_last_year' => 'Quest\'anno vs lo scorso anno',
|
||||
'top_browsers' => 'Browser Top',
|
||||
'top_countries' => 'Paesi Top',
|
||||
'various_visualizations' => 'Varie visualizzazioni',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'Abbiamo appena creato il symlink mancante per te.',
|
||||
'symlink_created_title' => 'Il symlink per lo storage mancante è stato creato',
|
||||
'symlink_failed_text' => 'Non siamo riusciti a generare il symlink mancante per l\'applicazione. '.
|
||||
'Sembra che il tuo provider di hosting non lo supporti.',
|
||||
'symlink_failed_title' => 'Non è possibile creare il symlink mancante per lo storage',
|
||||
'symlink_missing_button' => 'Riparalo',
|
||||
'symlink_missing_text' => 'Non abbiamo trovato un symlink per lo storage. Questo potrebbe causare problemi '.
|
||||
'nel caricare file multimediali dal browser.',
|
||||
'symlink_missing_title' => 'Symlink per lo storage mancante',
|
||||
],
|
||||
];
|
||||
375
lang/pt/voyager.php
Normal file
375
lang/pt/voyager.php
Normal file
@@ -0,0 +1,375 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'Semana Passada',
|
||||
'last_year' => 'Ano Passado',
|
||||
'this_week' => 'Esta Semana',
|
||||
'this_year' => 'Este Ano',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'Ação',
|
||||
'actions' => 'Ações',
|
||||
'add' => 'Adicionar',
|
||||
'add_folder' => 'Adicionar Pasta',
|
||||
'add_new' => 'Adicionar',
|
||||
'all_done' => 'Concluído',
|
||||
'are_you_sure' => 'Tem certeza',
|
||||
'are_you_sure_delete' => 'Tem certeza de que deseja remover',
|
||||
'auto_increment' => 'Incremento automático',
|
||||
'browse' => 'Navegar',
|
||||
'builder' => 'Construtor',
|
||||
'cancel' => 'Cancelar',
|
||||
'choose_type' => 'Escolha o tipo',
|
||||
'click_here' => 'Clique aqui',
|
||||
'close' => 'Fechar',
|
||||
'compass' => 'Bússola',
|
||||
'created_at' => 'Criado em',
|
||||
'custom' => 'Personalizado',
|
||||
'dashboard' => 'Painel de Controle',
|
||||
'database' => 'Base de dados',
|
||||
'default' => 'Padrão',
|
||||
'delete' => 'Remover',
|
||||
'delete_confirm' => 'Sim, Remover!',
|
||||
'delete_question' => 'Tem certeza de que deseja remover isto',
|
||||
'delete_this_confirm' => 'Sim, exclua isto',
|
||||
'deselect_all' => 'Desmarcar todos',
|
||||
'download' => 'Descarregar',
|
||||
'edit' => 'Editar',
|
||||
'email' => 'E-mail',
|
||||
'error_deleting' => 'Oops, ocorreu um problema ao remover',
|
||||
'exception' => 'Exceção',
|
||||
'featured' => 'Destacado',
|
||||
'field_does_not_exist' => 'O campo não existe',
|
||||
'how_to_use' => 'Como usar',
|
||||
'index' => 'Índice',
|
||||
'internal_error' => 'Erro interno',
|
||||
'items' => 'item(s)',
|
||||
'keep_sidebar_open' => 'Arrrgh! Soltem as âncoras! (e mantenha a barra lateral aberta)',
|
||||
'key' => 'Chave',
|
||||
'last_modified' => 'Última modificação',
|
||||
'length' => 'comprimento',
|
||||
'login' => 'Login',
|
||||
'media' => 'Media',
|
||||
'menu_builder' => 'Construtor de Menu',
|
||||
'move' => 'Mover',
|
||||
'name' => 'Nome',
|
||||
'new' => 'Novo',
|
||||
'no' => 'Não',
|
||||
'no_thanks' => 'Não Obrigado',
|
||||
'not_null' => 'Não Nulo',
|
||||
'options' => 'Opções',
|
||||
'password' => 'Password',
|
||||
'permissions' => 'Permissões',
|
||||
'profile' => 'Perfil',
|
||||
'public_url' => 'URL público',
|
||||
'read' => 'Ler',
|
||||
'rename' => 'Renomear',
|
||||
'required' => 'Requerido',
|
||||
'return_to_list' => 'Voltar à lista',
|
||||
'route' => 'Rota',
|
||||
'save' => 'Guardar',
|
||||
'search' => 'Procurar',
|
||||
'select_all' => 'Selecione Todos',
|
||||
'settings' => 'Configurações',
|
||||
'showing_entries' => 'Mostrando :from a :to de :all entrada|Mostrando :from a :to de :all entradas',
|
||||
'submit' => 'Submeter',
|
||||
'successfully_added_new' => 'Adicionado com sucesso',
|
||||
'successfully_deleted' => 'Removido com sucesso',
|
||||
'successfully_updated' => 'Atualizado com sucesso',
|
||||
'timestamp' => 'Timestamp', //todo find suitable translation
|
||||
'title' => 'Título',
|
||||
'type' => 'Tipo',
|
||||
'unsigned' => 'Não assinado',
|
||||
'unstick_sidebar' => 'Descolar a barra lateral',
|
||||
'update' => 'Atualizar',
|
||||
'update_failed' => 'atualização falhou',
|
||||
'upload' => 'Upload',
|
||||
'url' => 'URL',
|
||||
'view' => 'Ver',
|
||||
'viewing' => 'Visualizando',
|
||||
'yes' => 'Sim',
|
||||
'yes_please' => 'Sim, por favor',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'A iniciar sessão',
|
||||
'signin_below' => 'Iniciar sessão abaixo:',
|
||||
'welcome' => 'Bem-vindo ao Voyager. O painel de administração que faltava ao Laravel',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Avatar',
|
||||
'edit' => 'Editar o meu perfil',
|
||||
'edit_user' => 'Editar Utilizador',
|
||||
'password' => 'Password',
|
||||
'password_hint' => 'Deixar vazio para manter o valor atual',
|
||||
'role' => 'Função',
|
||||
'user_role' => 'Função do Utilizador',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'Pode obter o valor de cada configuração em qualquer lugar em seu site, executando',
|
||||
'save' => 'Guardar configurações',
|
||||
'new' => 'Nova configuração',
|
||||
'help_name' => 'Nome da configuração ex: Título do Administrador',
|
||||
'help_key' => 'Chave da configuração ex: title_administrador',
|
||||
'help_option' => '(Opcional, aplica-se apenas a certos tipos, como dropdown ou botão de rádio)',
|
||||
'add_new' => 'Adicionar configuração',
|
||||
'delete_question' => 'Tem certeza de que deseja remover a Configuração :setting?',
|
||||
'delete_confirm' => 'Sim, remover esta configuração',
|
||||
'successfully_created' => 'Configurações criadas com sucesso',
|
||||
'successfully_saved' => 'Configurações guardadas com sucesso',
|
||||
'successfully_deleted' => 'Configuração removida com sucesso',
|
||||
'already_at_top' => 'Já chegou ao topo da lista',
|
||||
'already_at_bottom' => 'Já chegou ao fundo da lista',
|
||||
'moved_order_up' => 'Configuração :name movida para cima',
|
||||
'moved_order_down' => 'Configuração :name movida para baixo',
|
||||
'successfully_removed' => 'Valor :name removido com sucesso',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'Adicionar Pasta',
|
||||
'audio_support' => 'O seu navegador não suporta o elemento de áudio.',
|
||||
'create_new_folder' => 'Criar Pasta',
|
||||
'delete_folder_question' => 'Ao remover uma pasta irá também remover todos os ficheiros e pastas contidos nela',
|
||||
'destination_folder' => 'Destino da Pasta',
|
||||
'drag_drop_info' => 'Arraste e solte ficheiros ou clique abaixo para carregar',
|
||||
'error_already_exists' => 'Oops, já existe um ficheiro / pasta com esse nome nessa pasta.',
|
||||
'error_creating_dir' => 'Oops, ocorreu algo inesperado a criar a pasta, por favor verifique as suas permissões',
|
||||
'error_deleting_file' => 'Oops, ocorreu algo inesperado removendo este ficheiro, por favor verifique as suas permissões',
|
||||
'error_deleting_folder' => 'Oops, ocorreu algo inesperado removendo esta pasta, por favor verifique as suas permissões',
|
||||
'error_may_exist' => 'Talvez um Ficheiro ou Pasta exista com esse nome. Por favor tente com outro nome, ou apague o ficheiro correspondente.',
|
||||
'error_moving' => 'Oops, ocorreu um problema ao mover esse ficheiro / pasta, verifique as suas permissões.',
|
||||
'error_uploading' => 'Falha ao Copiar: Ocorreu um erro desconhecido!',
|
||||
'folder_exists_already' => 'Oops, essa pasta já existe, por favor remova essa pasta se desejar criar uma nova',
|
||||
'image_does_not_exist' => 'A imagem não existe',
|
||||
'image_removed' => 'Imagem removida',
|
||||
'library' => 'Biblioteca de Media',
|
||||
'loading' => 'A CARREGAR OS SEUS FICHEIROS DE MÍDIA',
|
||||
'move_file_folder' => 'Mover Ficheiro/pasta',
|
||||
'new_file_folder' => 'Novo Nome do Ficheiro/Pasta',
|
||||
'new_folder_name' => 'Novo Nome da Pasta',
|
||||
'no_files_here' => 'Não há ficheiros aqui.',
|
||||
'no_files_in_folder' => 'Nenhum ficheiro nesta pasta.',
|
||||
'nothing_selected' => 'Nenhum ficheiro ou pasta selecionada',
|
||||
'rename_file_folder' => 'Renomear Ficheiro/Pasta',
|
||||
'success_uploaded_file' => 'Ficheiro carregado com sucesso!',
|
||||
'success_uploading' => 'Imagem carregada com sucesso!',
|
||||
'uploading_wrong_type' => 'Falha de envio: Formato do ficheiro não suportado ou é muito grande para ser carregado!',
|
||||
'video_support' => 'O seu navegador não suporta a tag de vídeo.',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Cor em RGB ou hex (opcional)',
|
||||
'color_ph' => 'Cor (ex. #ffffff ou rgb(255, 255, 255)',
|
||||
'create_new_item' => 'Criar um novo item de menu',
|
||||
'delete_item_confirm' => 'Sim, Remover este item de menu',
|
||||
'delete_item_question' => 'Tem certeza de que deseja remover este item de menu?',
|
||||
'drag_drop_info' => 'Arraste e solte os itens do menu para os reorganizar.',
|
||||
'dynamic_route' => 'Rota Dinâmica',
|
||||
'edit_item' => 'Editar item de menu',
|
||||
'icon_class' => 'Classe do Ícone da Fonte para o item de menu (Use ',
|
||||
'icon_class2' => 'Classe da Fonte Voyager</a>)',
|
||||
'icon_class_ph' => 'Classe do Ícone (opcional)',
|
||||
'item_route' => 'Rota do item de menu',
|
||||
'item_title' => 'Título do item de menu',
|
||||
'link_type' => 'Tipo de link',
|
||||
'new_menu_item' => 'Novo Item de Menu',
|
||||
'open_in' => 'Abrir em',
|
||||
'open_new' => 'Nova Guia/Janela',
|
||||
'open_same' => 'Mesma Guia/Janela',
|
||||
'route_parameter' => 'Parâmetros de Rotas (se aplicado)',
|
||||
'static_url' => 'URL Estático',
|
||||
'successfully_created' => 'Novo item de menu criado com sucesso.',
|
||||
'successfully_deleted' => 'Item de menu removido com sucesso',
|
||||
'successfully_updated' => 'Item de menu atualizado com sucesso.',
|
||||
'updated_order' => 'Ordem de menu atualizada com sucesso.',
|
||||
'url' => 'URL do item de menu',
|
||||
'usage_hint' => 'Pode apresentar um menu em qualquer lugar no seu site, executando| Pode apresentar este menu em qualquer lugar no seu site, executando',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Categoria da Publicação',
|
||||
'content' => 'Conteúdo da Publicação',
|
||||
'details' => 'Detalhes da Publicação',
|
||||
'excerpt' => 'Excerto <small>Pequena descrição desta publicação</small>',
|
||||
'image' => 'Publicar imagem',
|
||||
'meta_description' => 'Descrição de Meta',
|
||||
'meta_keywords' => 'palavras-chave de Meta',
|
||||
'new' => 'Criar nova publicação',
|
||||
'seo_content' => 'Conteúdo do SEO',
|
||||
'seo_title' => 'Título SEO',
|
||||
'slug' => 'URL slug',
|
||||
'status' => 'Status da Publicação',
|
||||
'status_draft' => 'rascunho',
|
||||
'status_pending' => 'pendente',
|
||||
'status_published' => 'Publicados',
|
||||
'title' => 'Título do cargo',
|
||||
'title_sub' => 'O título da sua Publicação',
|
||||
'update' => 'Alterar Publicação',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'Adicionar BREAD a esta tabela',
|
||||
'add_new_column' => 'Adicionar Novo Campo',
|
||||
'add_softdeletes' => 'Adicionar Soft Deletes',
|
||||
'add_timestamps' => 'Adicionar Timestamps',
|
||||
'already_exists' => 'já existe',
|
||||
'already_exists_table' => 'A Tabela :table já existe',
|
||||
'bread_crud_actions' => 'Ações BREAD/CRUD',
|
||||
'bread_info' => 'Informação do BREAD',
|
||||
'column' => 'Campo',
|
||||
'composite_warning' => 'Atenção: este campo faz parte dos índices compostos',
|
||||
'controller_name' => 'Nome do Controller',
|
||||
'controller_name_hint' => 'ex. PageController, se não preencher irá usar o BREAD Controller',
|
||||
'create_bread_for_table' => 'Criar BREAD para a tabela :table',
|
||||
'create_migration' => 'Criar Migration para esta tabela?',
|
||||
'create_model_table' => 'Criar Model para esta tabela?',
|
||||
'create_new_table' => 'Criar Tabela',
|
||||
'create_your_new_table' => 'Criar a Nova Tabela',
|
||||
'default' => 'Pré-definido',
|
||||
'delete_bread' => 'Remover BREAD',
|
||||
'delete_bread_before_table' => 'Por favor, remova o BREAD desta tabela antes de remover a tabela.',
|
||||
'delete_table_bread_conf' => 'Sim, remover este BREAD',
|
||||
'delete_table_bread_quest' => 'Tem a certeza que deseja remover o BREAD para a tabela :table?',
|
||||
'delete_table_confirm' => 'Sim, remover esta tabela',
|
||||
'delete_table_question' => 'Tem a certeza que deseja remover a tabela :table?',
|
||||
'description' => 'Descrição',
|
||||
'display_name' => 'Nome a Apresentar',
|
||||
'display_name_plural' => 'Nome a Apresentar (Plural)',
|
||||
'display_name_singular' => 'Nome a Apresentar (Singular)',
|
||||
'edit_bread' => 'Alterar BREAD',
|
||||
'edit_bread_for_table' => 'Alterar BREAD da tabela :table',
|
||||
'edit_rows' => 'Alterar as linhas para a tabela :table abaixo',
|
||||
'edit_table' => 'Alterar a tabela :table abaixo',
|
||||
'edit_table_not_exist' => 'A tabela que pretende remover não existe',
|
||||
'error_creating_bread' => 'Oops, ocorreu algo inesperado ao criar este BREAD',
|
||||
'error_removing_bread' => 'Oops, ocorreu algo inesperado ao Remover este BREAD',
|
||||
'error_updating_bread' => 'Oops, ocorreu algo inesperado ao alterar este BREAD',
|
||||
'extra' => 'Extra',
|
||||
'field' => 'Campo',
|
||||
'field_safe_failed' => 'Erro ao gravar o campo :field, voltando atrás!',
|
||||
'generate_permissions' => 'Gerar Permissões',
|
||||
'icon_class' => 'Icon para usar nesta Tabela',
|
||||
'icon_hint' => 'Icon (opcional) Usar a',
|
||||
'icon_hint2' => 'Voyager Font Class',
|
||||
'index' => 'INDEX',
|
||||
'input_type' => 'Tipo de Input',
|
||||
'key' => 'Key',
|
||||
'model_class' => 'Nome da Classe do Model',
|
||||
'model_name' => 'Nome do Model',
|
||||
'model_name_ph' => 'ex. \App\Models\User, se vazio irá tentar usar o nome da tabela',
|
||||
'name_warning' => 'Por favor adicione o nome da coluna para criar o index',
|
||||
'no_composites_warning' => 'Esta tabela tem composite indexes. Nota, eles não são suportados de momento. Tenha atenção ao tentar adicionar/remover indexes.',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'Opções Adicionais',
|
||||
'primary' => 'PRIMARY',
|
||||
'server_pagination' => 'Paginação no Servidor',
|
||||
'success_create_table' => 'Tabela :table criada com sucesso',
|
||||
'success_created_bread' => 'BREAD criado com sucesso',
|
||||
'success_delete_table' => 'Tabela :table removida com sucesso',
|
||||
'success_remove_bread' => 'BREAD :datatype removido com sucesso',
|
||||
'success_update_bread' => 'BREAD :datatype alterado com sucesso',
|
||||
'success_update_table' => 'Tabela :table alterada com sucesso',
|
||||
'table_actions' => 'Ações da Tabela',
|
||||
'table_columns' => 'Campos da Tabela',
|
||||
'table_has_index' => 'A tabela já tem um primary index.',
|
||||
'table_name' => 'Nome da Tabela',
|
||||
'table_no_columns' => 'A tabela não tem campos...',
|
||||
'type' => 'Tipo',
|
||||
'type_not_supported' => 'Este tipo de campo não é suportado',
|
||||
'unique' => 'UNIQUE',
|
||||
'unknown_type' => 'Tipo Desconhecido',
|
||||
'update_table' => 'Alterar Tabela',
|
||||
'url_slug' => 'URL Slug (único)',
|
||||
'url_slug_ph' => 'URL slug (ex. posts)',
|
||||
'visibility' => 'Visibilidade',
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'Página|Páginas',
|
||||
'page_link_text' => 'Ver todas as páginas',
|
||||
'page_text' => 'Tem :count :string na sua base de dados. Clique no botão abaixo para ver todas as páginas.',
|
||||
'post' => 'Publicação|Publicações',
|
||||
'post_link_text' => 'Ver todas as publicações',
|
||||
'post_text' => 'Tem :count :string na sua base de dados. Clique no botão abaixo para ver todas as publicações.',
|
||||
'user' => 'Utilizador|Utilizadores',
|
||||
'user_link_text' => 'Ver todos os utilizadores',
|
||||
'user_text' => 'Tem :count :string na sua base de dados. Clique no botão abaixo para ver todos os utilizadores.',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Deixar vazio para manter o atual',
|
||||
'field_select_dd_relationship' => 'Make sure to setup the appropriate relationship in the :method method of the :class class.',
|
||||
'type_checkbox' => 'Check Box',
|
||||
'type_codeeditor' => 'Editor de Código',
|
||||
'type_file' => 'Ficheiro',
|
||||
'type_image' => 'Imagem',
|
||||
'type_radiobutton' => 'Radio Button',
|
||||
'type_richtextbox' => 'Rich Textbox',
|
||||
'type_selectdropdown' => 'Select Dropdown',
|
||||
'type_textarea' => 'Text Area',
|
||||
'type_textbox' => 'Text Box',
|
||||
],
|
||||
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'Não há registos para apresentar',
|
||||
'sInfo' => 'Mostrando de _START_ até _END_ de _TOTAL_ registos',
|
||||
'sInfoEmpty' => 'Mostrando de 0 até 0 de 0 registos',
|
||||
'sInfoFiltered' => '(filtrado de _MAX_ registos no total)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => 'Mostrar _MENU_ registos',
|
||||
'sLoadingRecords' => 'A Carregar...',
|
||||
'sProcessing' => 'A processar...',
|
||||
'sSearch' => 'Procurar:',
|
||||
'sZeroRecords' => 'Não foram encontrados resultados',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'Primeiro',
|
||||
'sPrevious' => 'Anterior',
|
||||
'sNext' => 'Seguinte',
|
||||
'sLast' => 'Último',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': ativar para ordenar de forma crescente',
|
||||
'sSortDescending' => ': ativar para ordenar de forma decrescente',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Produzido com <i class="voyager-heart"></i> por',
|
||||
'footer_copyright2' => 'Produzido com rum e mais rum',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'JSON Inválido',
|
||||
'invalid_message' => 'Submeteu um JSON inválido.',
|
||||
'valid' => 'JSON Válido',
|
||||
'validation_errors' => 'Erros de validação',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'Por pageview',
|
||||
'by_sessions' => 'Por sessions',
|
||||
'by_users' => 'Por users',
|
||||
'no_client_id' => 'Para aceder ao analytics precisa adicionar nas Configurações do Voyager o key <code>google_analytics_client_id </code> com o código google analytics client id. Obtenha o seu key através do Google developer console:',
|
||||
'set_view' => 'Selecionar Vista',
|
||||
'this_vs_last_week' => 'Esta Semana vs Semana Passada',
|
||||
'this_vs_last_year' => 'Este Ano vs Ano Passado',
|
||||
'top_browsers' => 'Top Browsers',
|
||||
'top_countries' => 'Top Países',
|
||||
'various_visualizations' => 'Visualizações várias',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'We just created the missing symlink for you.',
|
||||
'symlink_created_title' => 'Missing storage symlink created',
|
||||
'symlink_failed_text' => 'We failed to generate the missing symlink for your application. It seems like your hosting provider does not support it.',
|
||||
'symlink_failed_title' => 'Could not create missing storage symlink',
|
||||
'symlink_missing_button' => 'Fix it',
|
||||
'symlink_missing_text' => 'We could not find a storage symlink. This could cause problems with loading media files from the browser.',
|
||||
'symlink_missing_title' => 'Missing storage symlink',
|
||||
],
|
||||
];
|
||||
397
lang/pt_br/voyager.php
Normal file
397
lang/pt_br/voyager.php
Normal file
@@ -0,0 +1,397 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'Semana Passada',
|
||||
'last_year' => 'Ano Passado',
|
||||
'this_week' => 'Esta Semana',
|
||||
'this_year' => 'Este Ano',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'Ação',
|
||||
'actions' => 'Ações',
|
||||
'add' => 'Adicionar',
|
||||
'add_folder' => 'Adicionar Pasta',
|
||||
'add_new' => 'Adicionar',
|
||||
'all_done' => 'Concluído',
|
||||
'are_you_sure' => 'Tem certeza',
|
||||
'are_you_sure_delete' => 'Tem certeza de que deseja remover',
|
||||
'auto_increment' => 'Incremento automático',
|
||||
'browse' => 'Navegar',
|
||||
'builder' => 'Construtor',
|
||||
'bulk_delete' => 'Exclusão em massa',
|
||||
'bulk_delete_confirm' => 'Sim, exclua estes',
|
||||
'bulk_delete_nothing' => 'Você não selecionou nada para excluir',
|
||||
'cancel' => 'Cancelar',
|
||||
'choose_type' => 'Escolha o tipo',
|
||||
'click_here' => 'Clique aqui',
|
||||
'close' => 'Fechar',
|
||||
'compass' => 'Bússola',
|
||||
'created_at' => 'Criado em',
|
||||
'custom' => 'Personalizado',
|
||||
'dashboard' => 'Painel de Controle',
|
||||
'database' => 'Banco de dados',
|
||||
'default' => 'Padrão',
|
||||
'delete' => 'Remover',
|
||||
'delete_confirm' => 'Sim, Remover!',
|
||||
'delete_question' => 'Tem certeza de que deseja remover isto',
|
||||
'delete_this_confirm' => 'Sim, exclua isto',
|
||||
'deselect_all' => 'Desmarcar todos',
|
||||
'download' => 'Baixar',
|
||||
'edit' => 'Editar',
|
||||
'email' => 'E-mail',
|
||||
'error_deleting' => 'Oops, ocorreu um problema ao remover',
|
||||
'exception' => 'Exceção',
|
||||
'featured' => 'Destacado',
|
||||
'field_does_not_exist' => 'O campo não existe',
|
||||
'how_to_use' => 'Como usar',
|
||||
'index' => 'Índice',
|
||||
'internal_error' => 'Erro interno',
|
||||
'items' => 'item(s)',
|
||||
'keep_sidebar_open' => 'Arrrgh! Soltem as âncoras! (e mantenha a barra lateral aberta)',
|
||||
'key' => 'Chave',
|
||||
'last_modified' => 'Última modificação',
|
||||
'length' => 'Comprimento',
|
||||
'login' => 'Login',
|
||||
'media' => 'Mídia',
|
||||
'menu_builder' => 'Construtor de Menu',
|
||||
'move' => 'Mover',
|
||||
'name' => 'Nome',
|
||||
'new' => 'Novo',
|
||||
'no' => 'Não',
|
||||
'no_thanks' => 'Não Obrigado',
|
||||
'not_null' => 'Não Nulo',
|
||||
'options' => 'Opções',
|
||||
'password' => 'Senha',
|
||||
'permissions' => 'Permissões',
|
||||
'profile' => 'Perfil',
|
||||
'public_url' => 'URL público',
|
||||
'read' => 'Ler',
|
||||
'rename' => 'Renomear',
|
||||
'required' => 'Requerido',
|
||||
'return_to_list' => 'Voltar à lista',
|
||||
'route' => 'Rota',
|
||||
'save' => 'Guardar',
|
||||
'search' => 'Procurar',
|
||||
'select_all' => 'Selecione Todos',
|
||||
'select_group' => 'Selecione um grupo existente ou adicione um novo',
|
||||
'settings' => 'Configurações',
|
||||
'showing_entries' => 'Mostrando :from a :to de :all entrada|Mostrando :from a :to de :all entradas',
|
||||
'submit' => 'Submeter',
|
||||
'successfully_added_new' => 'Adicionado com sucesso',
|
||||
'successfully_deleted' => 'Removido com sucesso',
|
||||
'successfully_updated' => 'Atualizado com sucesso',
|
||||
'timestamp' => 'Timestamp',
|
||||
'title' => 'Título',
|
||||
'type' => 'Tipo',
|
||||
'unsigned' => 'Não assinado',
|
||||
'unstick_sidebar' => 'Descolar a barra lateral',
|
||||
'update' => 'Atualizar',
|
||||
'update_failed' => 'Atualização falhou',
|
||||
'upload' => 'Upload',
|
||||
'url' => 'URL',
|
||||
'view' => 'Ver',
|
||||
'viewing' => 'Visualizando',
|
||||
'yes' => 'Sim',
|
||||
'yes_please' => 'Sim, por favor',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'Iniciando sessão',
|
||||
'signin_below' => 'Iniciar sessão abaixo:',
|
||||
'welcome' => 'Bem-vindo ao Voyager. O painel de administração que faltava ao Laravel',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Avatar',
|
||||
'edit' => 'Editar o meu perfil',
|
||||
'edit_user' => 'Editar Utilizador',
|
||||
'password' => 'Senha',
|
||||
'password_hint' => 'Deixar vazio para manter o valor atual',
|
||||
'role' => 'Função',
|
||||
'user_role' => 'Função do Utilizador',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'Pode obter o valor de cada configuração em qualquer lugar em seu site, executando',
|
||||
'save' => 'Guardar configurações',
|
||||
'new' => 'Nova configuração',
|
||||
'help_name' => 'Nome da configuração ex: Título do Administrador',
|
||||
'help_key' => 'Chave da configuração ex: title_administrador',
|
||||
'help_option' => '(opcional, aplica-se apenas a certos tipos, como dropdown ou botão de rádio)',
|
||||
'add_new' => 'Adicionar configuração',
|
||||
'delete_question' => 'Tem certeza de que deseja remover a Configuração :setting?',
|
||||
'delete_confirm' => 'Sim, remover esta configuração',
|
||||
'successfully_created' => 'Configurações criadas com sucesso',
|
||||
'successfully_saved' => 'Configurações guardadas com sucesso',
|
||||
'successfully_deleted' => 'Configuração removida com sucesso',
|
||||
'already_at_top' => 'Já chegou ao topo da lista',
|
||||
'already_at_bottom' => 'Já chegou ao fundo da lista',
|
||||
'key_already_exists' => 'A chave :key já existe',
|
||||
'moved_order_up' => 'Configuração :name movida para cima',
|
||||
'moved_order_down' => 'Configuração :name movida para baixo',
|
||||
'successfully_removed' => 'Valor :name removido com sucesso',
|
||||
'group_general' => 'Geral',
|
||||
'group_admin' => 'Admin',
|
||||
'group_site' => 'Site',
|
||||
'group' => 'Grupo',
|
||||
'help_group' => 'O grupo desta configuração é atribuído a',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'Adicionar Pasta',
|
||||
'audio_support' => 'O seu navegador não suporta o elemento de áudio.',
|
||||
'create_new_folder' => 'Criar Pasta',
|
||||
'delete_folder_question' => 'Ao remover uma pasta irá também remover todos os arquivos e pastas contidos nela',
|
||||
'destination_folder' => 'Destino da Pasta',
|
||||
'drag_drop_info' => 'Arraste e solte arquivo ou clique abaixo para carregar',
|
||||
'error_already_exists' => 'Oops, já existe um arquivo / pasta com esse nome nessa pasta.',
|
||||
'error_creating_dir' => 'Oops, ocorreu algo inesperado a criar a pasta, por favor verifique as suas permissões',
|
||||
'error_deleting_file' => 'Oops, ocorreu algo inesperado removendo este arquivo, por favor verifique as suas permissões',
|
||||
'error_deleting_folder' => 'Oops, ocorreu algo inesperado removendo esta pasta, por favor verifique as suas permissões',
|
||||
'error_may_exist' => 'Talvez um arquivo ou Pasta exista com esse nome. Por favor tente com outro nome, ou apague o arquivo correspondente.',
|
||||
'error_moving' => 'Oops, ocorreu um problema ao mover esse arquivo / pasta, verifique as suas permissões.',
|
||||
'error_uploading' => 'Falha ao Copiar: Ocorreu um erro desconhecido!',
|
||||
'folder_exists_already' => 'Oops, essa pasta já existe, por favor remova essa pasta se desejar criar uma nova',
|
||||
'image_does_not_exist' => 'A imagem não existe',
|
||||
'image_removed' => 'Imagem removida',
|
||||
'library' => 'Biblioteca de Mídia',
|
||||
'loading' => 'A CARREGAR OS SEUS ARQUIVOS DE MÍDIA',
|
||||
'move_file_folder' => 'Mover Arquivo/pasta',
|
||||
'new_file_folder' => 'Novo Nome do Arquivo/Pasta',
|
||||
'new_folder_name' => 'Novo Nome da Pasta',
|
||||
'no_files_here' => 'Não há arquivos aqui.',
|
||||
'no_files_in_folder' => 'Nenhum arquivo nesta pasta.',
|
||||
'nothing_selected' => 'Nenhum arquivo ou pasta selecionada',
|
||||
'rename_file_folder' => 'Renomear Arquivo/Pasta',
|
||||
'success_uploaded_file' => 'Arquivo carregado com sucesso!',
|
||||
'success_uploading' => 'Imagem carregada com sucesso!',
|
||||
'uploading_wrong_type' => 'Falha de envio: Formato do arquivo não suportado ou é muito grande para ser carregado!',
|
||||
'video_support' => 'O seu navegador não suporta a tag de vídeo.',
|
||||
'crop' => 'Cortar',
|
||||
'crop_and_create' => 'Cortar & Criar',
|
||||
'crop_override_confirm' => 'Irá substituir a imagem original, você tem certeza?',
|
||||
'crop_image' => 'Cortar Imagem',
|
||||
'success_crop_image' => 'Imagem cortada com sucesso',
|
||||
'height' => 'Altura: ',
|
||||
'width' => 'Largura: ',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Cor em RGB ou hex (opcional)',
|
||||
'color_ph' => 'Cor (ex. #ffffff ou rgb(255, 255, 255)',
|
||||
'create_new_item' => 'Criar um novo item de menu',
|
||||
'delete_item_confirm' => 'Sim, Remover este item de menu',
|
||||
'delete_item_question' => 'Tem certeza de que deseja remover este item de menu?',
|
||||
'drag_drop_info' => 'Arraste e solte os itens do menu para os reorganizar.',
|
||||
'dynamic_route' => 'Rota Dinâmica',
|
||||
'edit_item' => 'Editar item de menu',
|
||||
'icon_class' => 'Classe do Ícone da Fonte para o item de menu (Use ',
|
||||
'icon_class2' => 'Classe da Fonte Voyager</a>)',
|
||||
'icon_class_ph' => 'Classe do Ícone (opcional)',
|
||||
'item_route' => 'Rota do item de menu',
|
||||
'item_title' => 'Título do item de menu',
|
||||
'link_type' => 'Tipo de link',
|
||||
'new_menu_item' => 'Novo Item de Menu',
|
||||
'open_in' => 'Abrir em',
|
||||
'open_new' => 'Nova Guia/Janela',
|
||||
'open_same' => 'Mesma Guia/Janela',
|
||||
'route_parameter' => 'Parâmetros de Rotas (se aplicado)',
|
||||
'static_url' => 'URL Estático',
|
||||
'successfully_created' => 'Novo item de menu criado com sucesso.',
|
||||
'successfully_deleted' => 'Item de menu removido com sucesso',
|
||||
'successfully_updated' => 'Item de menu atualizado com sucesso.',
|
||||
'updated_order' => 'Ordem de menu atualizada com sucesso.',
|
||||
'url' => 'URL do item de menu',
|
||||
'usage_hint' => 'Pode apresentar um menu em qualquer lugar no seu site, executando| Pode apresentar este menu em qualquer lugar no seu site, executando',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Categoria da Publicação',
|
||||
'content' => 'Conteúdo da Publicação',
|
||||
'details' => 'Detalhes da Publicação',
|
||||
'excerpt' => 'Excerto <small>Pequena descrição desta publicação</small>',
|
||||
'image' => 'Publicar imagem',
|
||||
'meta_description' => 'Meta de Descrição',
|
||||
'meta_keywords' => 'Meta de palavras-chave',
|
||||
'new' => 'Criar nova publicação',
|
||||
'seo_content' => 'Conteúdo do SEO',
|
||||
'seo_title' => 'Título SEO',
|
||||
'slug' => 'URL slug',
|
||||
'status' => 'Status da Publicação',
|
||||
'status_draft' => 'rascunho',
|
||||
'status_pending' => 'pendente',
|
||||
'status_published' => 'publicados',
|
||||
'title' => 'Título da publicação',
|
||||
'title_sub' => 'O título da sua publicação',
|
||||
'update' => 'Alterar Publicação',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'Adicionar BREAD à esta tabela',
|
||||
'add_new_column' => 'Adicionar Nova Coluna',
|
||||
'add_softdeletes' => 'Adicionar Soft Deletes',
|
||||
'add_timestamps' => 'Adicionar Timestamps',
|
||||
'already_exists' => 'já existe',
|
||||
'already_exists_table' => 'A Tabela :table já existe',
|
||||
'bread_crud_actions' => 'Ações BREAD/CRUD',
|
||||
'bread_info' => 'Informação do BREAD',
|
||||
'column' => 'Coluna',
|
||||
'composite_warning' => 'Atenção: esta coluna faz parte de um índice composto',
|
||||
'controller_name' => 'Nome do Controller',
|
||||
'controller_name_hint' => 'ex. PageController, se não preencher irá usar o BREAD Controller',
|
||||
'create_bread_for_table' => 'Criar BREAD para a tabela :table',
|
||||
'create_migration' => 'Criar migration para esta tabela?',
|
||||
'create_model_table' => 'Criar model para esta tabela?',
|
||||
'create_new_table' => 'Criar tabela',
|
||||
'create_your_new_table' => 'Crie sua nova tabela',
|
||||
'default' => 'Pré-definido',
|
||||
'delete_bread' => 'Remover BREAD',
|
||||
'delete_bread_before_table' => 'Por favor, remova o BREAD desta tabela antes de remover a tabela.',
|
||||
'delete_table_bread_conf' => 'Sim, remover este BREAD',
|
||||
'delete_table_bread_quest' => 'Tem certeza que deseja remover o BREAD para a tabela :table?',
|
||||
'delete_table_confirm' => 'Sim, remover esta tabela',
|
||||
'delete_table_question' => 'Tem certeza que deseja remover a tabela :table?',
|
||||
'description' => 'Descrição',
|
||||
'display_name' => 'Nome a ser Apresentado',
|
||||
'display_name_plural' => 'Nome a ser Apresentado (Plural)',
|
||||
'display_name_singular' => 'Nome a ser Apresentado (Singular)',
|
||||
'edit_bread' => 'Alterar BREAD',
|
||||
'edit_bread_for_table' => 'Alterar BREAD da tabela :table',
|
||||
'edit_rows' => 'Alterar as linhas para a tabela :table abaixo',
|
||||
'edit_table' => 'Alterar a tabela :table abaixo',
|
||||
'edit_table_not_exist' => 'A tabela que pretende remover não existe',
|
||||
'error_creating_bread' => 'Oops, ocorreu algo inesperado ao criar este BREAD',
|
||||
'error_removing_bread' => 'Oops, ocorreu algo inesperado ao remover este BREAD',
|
||||
'error_updating_bread' => 'Oops, ocorreu algo inesperado ao alterar este BREAD',
|
||||
'extra' => 'Extra',
|
||||
'field' => 'Campo',
|
||||
'field_safe_failed' => 'Erro ao gravar o campo :field, voltando atrás!',
|
||||
'generate_permissions' => 'Gerar Permissões',
|
||||
'icon_class' => 'Icon para usar nesta Tabela',
|
||||
'icon_hint' => 'Icon (opcional) Usar a',
|
||||
'icon_hint2' => 'Voyager Font Class',
|
||||
'index' => 'INDEX',
|
||||
'input_type' => 'Tipo de Input',
|
||||
'key' => 'Key',
|
||||
'model_class' => 'Nome da Classe do Model',
|
||||
'model_name' => 'Nome do Model',
|
||||
'model_name_ph' => 'ex. \App\Models\User, se vazio irá tentar usar o nome da tabela',
|
||||
'name_warning' => 'Por favor adicione o nome da coluna para criar o index',
|
||||
'no_composites_warning' => 'Esta tabela tem composite indexes. Nota, eles não são suportados de momento. Tenha atenção ao tentar adicionar/remover indexes.',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'Opções Adicionais',
|
||||
'policy_class' => 'Nome da classe Policy',
|
||||
'policy_name' => 'Policy Name', //todo find suitable translation
|
||||
'policy_name_ph' => 'ex. \App\Policies\UserPolicy, se deixado vazio, tentará usar o padrão',
|
||||
'primary' => 'PRIMARY',
|
||||
'server_pagination' => 'Paginação no Servidor',
|
||||
'success_create_table' => 'Tabela :table criada com sucesso',
|
||||
'success_created_bread' => 'BREAD criado com sucesso',
|
||||
'success_delete_table' => 'Tabela :table removida com sucesso',
|
||||
'success_remove_bread' => 'BREAD :datatype removido com sucesso',
|
||||
'success_update_bread' => 'BREAD :datatype alterado com sucesso',
|
||||
'success_update_table' => 'Tabela :table alterada com sucesso',
|
||||
'table_actions' => 'Ações da Tabela',
|
||||
'table_columns' => 'Campos da Tabela',
|
||||
'table_has_index' => 'A tabela já tem um Índice primário.',
|
||||
'table_name' => 'Nome da Tabela',
|
||||
'table_no_columns' => 'A tabela não tem campos...',
|
||||
'type' => 'Tipo',
|
||||
'type_not_supported' => 'Este tipo de campo não é suportado',
|
||||
'unique' => 'ÚNICO',
|
||||
'unknown_type' => 'Tipo Desconhecido',
|
||||
'update_table' => 'Alterar Tabela',
|
||||
'url_slug' => 'URL Slug (único)',
|
||||
'url_slug_ph' => 'URL slug (ex. posts)',
|
||||
'visibility' => 'Visibilidade',
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'Página|Páginas',
|
||||
'page_link_text' => 'Ver todas as páginas',
|
||||
'page_text' => 'Tem :count :string na seu banco de dados. Clique no botão abaixo para ver todas as páginas.',
|
||||
'post' => 'Publicação|Publicações',
|
||||
'post_link_text' => 'Ver todas as publicações',
|
||||
'post_text' => 'Tem :count :string na seu banco de dados. Clique no botão abaixo para ver todas as publicações.',
|
||||
'user' => 'Utilizador|Utilizadores',
|
||||
'user_link_text' => 'Ver todos os utilizadores',
|
||||
'user_text' => 'Tem :count :string na seu banco de dados. Clique no botão abaixo para ver todos os utilizadores.',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Deixar vazio para manter o atual',
|
||||
'field_select_dd_relationship' => 'Certifique-se de configurar o relacionamento apropriado no método :method da classe :class.',
|
||||
'type_checkbox' => 'Check Box', //todo find suitable translation
|
||||
'type_codeeditor' => 'Editor de Código',
|
||||
'type_file' => 'Arquivo',
|
||||
'type_image' => 'Imagem',
|
||||
'type_radiobutton' => 'Radio Button', //todo find suitable translation
|
||||
'type_richtextbox' => 'Rich Textbox', //todo find suitable translation
|
||||
'type_selectdropdown' => 'Selecione Dropdown', //todo find suitable translation
|
||||
'type_textarea' => 'Text Area', //todo find suitable translation
|
||||
'type_textbox' => 'Text Box', //todo find suitable translation
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'Não há registos para apresentar',
|
||||
'sInfo' => 'Mostrando de _START_ até _END_ de _TOTAL_ registos',
|
||||
'sInfoEmpty' => 'Mostrando de 0 até 0 de 0 registos',
|
||||
'sInfoFiltered' => '(filtrado de _MAX_ registos no total)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => 'Mostrar _MENU_ registos',
|
||||
'sLoadingRecords' => 'A Carregar...',
|
||||
'sProcessing' => 'A processar...',
|
||||
'sSearch' => 'Procurar:',
|
||||
'sZeroRecords' => 'Não foram encontrados resultados',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'Primeiro',
|
||||
'sLast' => 'Último',
|
||||
'sNext' => 'Seguinte',
|
||||
'sPrevious' => 'Anterior',
|
||||
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': ativar para ordenar de forma crescente',
|
||||
'sSortDescending' => ': ativar para ordenar de forma decrescente',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Produzido com <i class="voyager-heart"></i> por',
|
||||
'footer_copyright2' => 'Produzido com rum e mais rum',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'JSON Inválido',
|
||||
'invalid_message' => 'Submeteu um JSON inválido.',
|
||||
'valid' => 'JSON Válido',
|
||||
'validation_errors' => 'Erros de validação',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'Por pageview',
|
||||
'by_sessions' => 'Por sessões',
|
||||
'by_users' => 'Por usuário',
|
||||
'no_client_id' => 'Para aceder ao analytics precisa adicionar nas Configurações do Voyager a chave <code>google_analytics_client_id </code> com o código google de identidade do analytics client. Obtenha o sua chave através do Google developer console:',
|
||||
'set_view' => 'Selecionar Vista',
|
||||
'this_vs_last_week' => 'Esta Semana vs Semana Passada',
|
||||
'this_vs_last_year' => 'Este Ano vs Ano Passado',
|
||||
'top_browsers' => 'Top Browsers',
|
||||
'top_countries' => 'Top Países',
|
||||
'various_visualizations' => 'Visualizações várias',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'Acabamos de criar o link simbólico (symlink) faltante para você.',
|
||||
'symlink_created_title' => 'O link simbólico (symlink) de armazenamento faltante foi criado',
|
||||
'symlink_failed_text' => 'Não conseguimos gerar o link simbólico (symlink) faltante para sua aplicação. Parece que seu provedor de hospedagem não o suporta.',
|
||||
'symlink_failed_title' => 'Não foi possível criar o link simbólico (symlink) de armazenamento faltante',
|
||||
'symlink_missing_button' => 'Consertá-lo',
|
||||
'symlink_missing_text' => 'Não foi possível encontrar o link simbólico (symlink) de armazenamento. Isso pode causar problemas ao carregar os arquivos de mídia no navegador.',
|
||||
'symlink_missing_title' => 'Link simbólico (symlink) de armazenamento faltante.',
|
||||
],
|
||||
];
|
||||
415
lang/ro/voyager.php
Normal file
415
lang/ro/voyager.php
Normal file
@@ -0,0 +1,415 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'Săptămâna trecută',
|
||||
'last_year' => 'Anul trecut',
|
||||
'this_week' => 'Săptămâna asta',
|
||||
'this_year' => 'În acest an',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'Acțiune',
|
||||
'actions' => 'Acțiuni',
|
||||
'add' => 'Adaugă',
|
||||
'add_folder' => 'Crează folder',
|
||||
'add_new' => 'Adaugă nou',
|
||||
'all_done' => 'Gata',
|
||||
'are_you_sure' => 'Sunteți sigur',
|
||||
'are_you_sure_delete' => 'Sunteți sigur că doriți să ștergeți',
|
||||
'auto_increment' => 'Auto incrementare',
|
||||
'browse' => 'Răsfoiește',
|
||||
'builder' => 'Constructor',
|
||||
'bulk_delete' => 'Șterge tot',
|
||||
'bulk_delete_confirm' => 'Da, șterge asta',
|
||||
'bulk_delete_nothing' => 'Nu ați ales nimic pentru ștergere',
|
||||
'cancel' => 'Anulare',
|
||||
'choose_type' => 'Alegeți tipul',
|
||||
'click_here' => 'Click aici',
|
||||
'close' => 'Închide',
|
||||
'compass' => 'Busolă',
|
||||
'created_at' => 'Data creării',
|
||||
'custom' => 'Personalizat',
|
||||
'dashboard' => 'Panou de control',
|
||||
'database' => 'Baza de date',
|
||||
'default' => 'Prestabilit',
|
||||
'delete' => 'Șterge',
|
||||
'delete_confirm' => 'Da, Șterge',
|
||||
'delete_question' => 'Sunteți sigur că vreți să ștergeți asta',
|
||||
'delete_this_confirm' => 'Da, șterge asta',
|
||||
'deselect_all' => 'Anulează selecția',
|
||||
'download' => 'Descarcă',
|
||||
'edit' => 'Editare',
|
||||
'email' => 'E-mail',
|
||||
'error_deleting' => 'A apărut o eroare în timpul ștergerii',
|
||||
'exception' => 'Excepție',
|
||||
'featured' => 'Recomandat',
|
||||
'field_does_not_exist' => 'Câmpul nu există',
|
||||
'how_to_use' => 'Cum să folosiți',
|
||||
'index' => 'Index',
|
||||
'internal_error' => 'Eroare internă',
|
||||
'items' => 'Element(e)',
|
||||
'keep_sidebar_open' => 'Yarr! Aruncați ancorele! (și ține-ți bara laterală deschisă)',
|
||||
'key' => 'Cheie',
|
||||
'last_modified' => 'Ultima modificare',
|
||||
'length' => 'Lungime',
|
||||
'login' => 'Login',
|
||||
'media' => 'Media',
|
||||
'menu_builder' => 'Constructor de meniuri',
|
||||
'move' => 'Mutare',
|
||||
'name' => 'Nume',
|
||||
'new' => 'Nou',
|
||||
'no' => 'Nu',
|
||||
'no_thanks' => 'Nu, mulțumesc',
|
||||
'not_null' => 'Nu-i Null',
|
||||
'options' => 'Opțiuni',
|
||||
'password' => 'Parolă',
|
||||
'permissions' => 'Permisiuni',
|
||||
'profile' => 'Profil',
|
||||
'public_url' => 'URL public',
|
||||
'read' => 'Citire',
|
||||
'rename' => 'Redenumire',
|
||||
'required' => 'Obligatoriu',
|
||||
'return_to_list' => 'Întoarcere la listă',
|
||||
'route' => 'Traseu',
|
||||
'save' => 'Salvare',
|
||||
'search' => 'Caută',
|
||||
'select_all' => 'Selectează tot',
|
||||
'settings' => 'Setări',
|
||||
'showing_entries' => 'Publicare afișată de la :from până la :to din :all|Publicări afișate de la :from până la :to din :all',
|
||||
'submit' => 'Trimite',
|
||||
'successfully_added_new' => 'Adăugat cu succes',
|
||||
'successfully_deleted' => 'Șters cu succes',
|
||||
'successfully_updated' => 'Actualizat cu succes',
|
||||
'timestamp' => 'Timestamp-ul',
|
||||
'title' => 'Titlu',
|
||||
'type' => 'Tip',
|
||||
'unsigned' => 'Nesemnat',
|
||||
'unstick_sidebar' => 'Desfaceți bara laterală',
|
||||
'update' => 'Actualizează',
|
||||
'update_failed' => 'Actualizare eșuată',
|
||||
'upload' => 'Încărcare',
|
||||
'url' => 'URL',
|
||||
'view' => 'Vedere',
|
||||
'viewing' => 'Vizualizare',
|
||||
'yes' => 'Da',
|
||||
'yes_please' => 'Da, vă rog',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'Logare în sistem',
|
||||
'signin_below' => 'Conectați-vă mai jos:',
|
||||
'welcome' => 'Bine ați venit la Voyager. Panoul de control ce lipsește în Laravel',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Poza',
|
||||
'edit' => 'Editează profilul',
|
||||
'edit_user' => 'Editează utilizatorul',
|
||||
'password' => 'Parola',
|
||||
'password_hint' => 'Lăsați gol pentru a păstra aceeași',
|
||||
'role' => 'Rol',
|
||||
'user_role' => 'Rolul utilizatorului',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'Puteți folosi valoarea fiecărei setări, oriunde pe site apelând',
|
||||
'save' => 'Salvează setările',
|
||||
'new' => 'Setare nouă',
|
||||
'help_name' => 'Numele setării (ex: Titlu Admin)',
|
||||
'help_key' => 'Cheia setării (ex: admin_title)',
|
||||
'help_option' => '(opțional, se aplică doar la unele tipuri, cum ar fi dropdown sau buton radio)',
|
||||
'add_new' => 'Adăugați setare nouă',
|
||||
'delete_question' => 'Sunteți sigur că doriți să ștergeți setarea :setting?',
|
||||
'delete_confirm' => 'Da, șterge această setare',
|
||||
'successfully_created' => 'Setare creată cu succes',
|
||||
'successfully_saved' => 'Setare salvată cu succes',
|
||||
'successfully_deleted' => 'Setare ștearsă cu succes',
|
||||
'already_at_top' => 'Deja este prima în listă',
|
||||
'already_at_bottom' => 'Deja este ultima în listă',
|
||||
'moved_order_up' => 'Setarea :name a fost mutată mai sus',
|
||||
'moved_order_down' => 'Setarea :name a fost mutată mai jos',
|
||||
'successfully_removed' => 'Valoarea :name a fost ștearsă cu succes',
|
||||
'group_general' => 'General',
|
||||
'group_admin' => 'Admin',
|
||||
'group_site' => 'Site',
|
||||
'group' => 'Grup',
|
||||
'help_group' => 'Atașați această setare la grupul',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'Adaugă un folder nou',
|
||||
'audio_support' => 'Browser-ul dvs. nu suportă elementul audio.',
|
||||
'create_new_folder' => 'Crează un folder nou',
|
||||
'delete_folder_question' => 'Ștergerea folderului va duce la ștergerea fișierelor și folderelor ce se află el.',
|
||||
'destination_folder' => 'Folderul de destinație',
|
||||
'drag_drop_info' => 'Trageți și aruncați fișiere.',
|
||||
'error_already_exists' => 'Există deja fișier/folder cu așa nume în acest folder',
|
||||
'error_creating_dir' => 'Eroare la crearea folderului: verificați permisiunile',
|
||||
'error_deleting_file' => 'Eroare la ștergerea fișierului: verificați permisiunile',
|
||||
'error_deleting_folder' => 'Eroare la ștergerea folderului: verificați permisiunile',
|
||||
'error_may_exist' => 'Există deja un fișier sau un folder cu așa nume: alegeți alt nume sau ștergeți fișierul curent',
|
||||
'error_moving' => 'Eroare la mutarea fișierului/folderului: verificați permisiunile.',
|
||||
'error_uploading' => 'Încărcare eșuată: S-a produs o eroare necunoscută',
|
||||
'folder_exists_already' => 'Folder cu așa nume există deja. Vă rugăm să o ștergeți dacă doriți să creați una cu același nume.',
|
||||
'image_does_not_exist' => 'Imaginea nu există',
|
||||
'image_removed' => 'Imagine ștearsă',
|
||||
'library' => 'Bibliotecă media',
|
||||
'loading' => 'SE ÎNCARCĂ FIȘIERELE DVS. MEDIA',
|
||||
'move_file_folder' => 'Mutare fișier/folder',
|
||||
'new_file_folder' => 'Nume nou fișier/folder',
|
||||
'new_folder_name' => 'Nume nou folder',
|
||||
'no_files_here' => 'Aici nu există fișiere',
|
||||
'no_files_in_folder' => 'În acest folder nu există fișiere',
|
||||
'nothing_selected' => 'Nimic selectat',
|
||||
'rename_file_folder' => 'Redenumire fișier/folder',
|
||||
'success_uploaded_file' => 'Încărcarea fișierului a avut loc cu succes',
|
||||
'success_uploading' => 'Încărcarea imaginii a avut loc cu succes',
|
||||
'uploading_wrong_type' => 'Încărcare eșuată: formatul fișierului nu este suportat sau fișierul este prea mare pentru a fi încărcat!',
|
||||
'video_support' => 'Browser-ul dvs. nu suportă elementul video.',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Culoarea în RGB sau hex (opțional)',
|
||||
'color_ph' => 'Culoarea (ex: #ffffff sau rgb(255, 255, 255)',
|
||||
'create_new_item' => 'Crează un punct de meniu nou',
|
||||
'delete_item_confirm' => 'Da, șterge acest punct de meniu',
|
||||
'delete_item_question' => 'Sunteți sigur, că doriți să ștergeți acest punct de meniu?',
|
||||
'drag_drop_info' => 'Trageți punctul din meniu mai jos, pentru a schimba ordinea lor.',
|
||||
'dynamic_route' => 'Cale(route) dinamică',
|
||||
'edit_item' => 'Editează punct de meniu',
|
||||
'icon_class' => 'Iconiță pentru punctul de meniu (Folosiți ',
|
||||
'icon_class2' => 'Voyager Font Class</a>)',
|
||||
'icon_class_ph' => 'Iconiță (opțional)',
|
||||
'item_route' => 'Calea pentru punctul de meniu',
|
||||
'item_title' => 'Denumirea punctului de meniu',
|
||||
'link_type' => 'Tipul link-ului',
|
||||
'new_menu_item' => 'Punct de meniu nou',
|
||||
'open_in' => 'Deschide în',
|
||||
'open_new' => 'Fereastră/Tab nou',
|
||||
'open_same' => 'aceeași fereastră/tab',
|
||||
'route_parameter' => 'Parametrii rutei (dacă există)',
|
||||
'static_url' => 'URL Static',
|
||||
'successfully_created' => 'Punctul de meniu a fost creat cu succes.',
|
||||
'successfully_deleted' => 'Punctul de meniu a fost șters cu succes.',
|
||||
'successfully_updated' => 'Punctul de meniu a fost actualizat cu succes.',
|
||||
'updated_order' => 'Structura meniului a fost actualizată cu succes.',
|
||||
'url' => 'URL pentru punctul de meniu',
|
||||
'usage_hint' => 'Puteți afișa un meniu oriunde pe site apelând|Puteți afișa acest meniu oriunde pe site apelând',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Categoria postării',
|
||||
'content' => 'Conținutul postării',
|
||||
'details' => 'Detaliile postării',
|
||||
'excerpt' => 'Extras <small>Descrierea scurtă a postării</small>',
|
||||
'image' => 'Imagine',
|
||||
'meta_description' => 'Descriere meta',
|
||||
'meta_keywords' => 'Cuvinte cheie',
|
||||
'new' => 'Creați o postare nouă',
|
||||
'seo_content' => 'Conținut SEO',
|
||||
'seo_title' => 'Titlu SEO',
|
||||
'slug' => 'slug(link)',
|
||||
'status' => 'Starea postării',
|
||||
'status_draft' => 'Ciornă',
|
||||
'status_pending' => 'În așteptare',
|
||||
'status_published' => 'Publicat',
|
||||
'title' => 'Titlu',
|
||||
'title_sub' => 'Titlul postării',
|
||||
'update' => 'Actualizarea postării',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'Adăugați BREAD la acest tabel',
|
||||
'add_new_column' => 'Adăugați o coloană nouă',
|
||||
'add_softdeletes' => 'Adăugați Soft Deletes',
|
||||
'add_timestamps' => 'Adăugați timestamp-uri',
|
||||
'already_exists' => 'deja există',
|
||||
'already_exists_table' => 'Tabelul :table deja există',
|
||||
'bread_crud_actions' => 'Acțiuni BREAD/CRUD',
|
||||
'bread_info' => 'Informații despre BREAD',
|
||||
'column' => 'Coloană',
|
||||
'composite_warning' => 'Avertizare: această coloană face parte din indexul compozit',
|
||||
'controller_name' => 'Numele controller-ului',
|
||||
'controller_name_hint' => 'ex: PageController, dacă lăsați liber se va folosi BREAD Controller',
|
||||
'create_bread_for_table' => 'Creare BREAD pentru tabelul :table',
|
||||
'create_migration' => 'Creare migrare pentru acest tabel?',
|
||||
'create_model_table' => 'Creare model pentru acest tabel?',
|
||||
'create_new_table' => 'Creare tabel nou',
|
||||
'create_your_new_table' => 'Creare tabel nou',
|
||||
'default' => 'Prdefinit',
|
||||
'delete_bread' => 'Șterge BREAD',
|
||||
'delete_bread_before_table' => 'Înainte de a șterge tabelul este necesar să ștergeți BREAD-ul tabelului.',
|
||||
'delete_table_bread_conf' => 'Da, șterge BREAD',
|
||||
'delete_table_bread_quest' => 'Sunteți sigur, că doriți să ștergeți BREAD-ul tabelului :table?',
|
||||
'delete_table_confirm' => 'Da, șterge tabelul',
|
||||
'delete_table_question' => 'Sunteți sigur că doriți să ștergeți tabelul :table?',
|
||||
'description' => 'Descriere',
|
||||
'display_name' => 'Numele afișat',
|
||||
'display_name_plural' => 'Numele afișat (la plural)',
|
||||
'display_name_singular' => 'Numele afișat (la singular)',
|
||||
'edit_bread' => 'Editare BREAD',
|
||||
'edit_bread_for_table' => 'Editare BREAD pentru tabelul :table',
|
||||
'edit_rows' => 'Editați rândurile tabelului :table mai jos',
|
||||
'edit_table' => 'Editați tabelul :table mai jos',
|
||||
'edit_table_not_exist' => 'Tabelul pe care doriți să-l editați nu există',
|
||||
'error_creating_bread' => 'Se pare că a apărut o problemă cu crearea acestui BREAD',
|
||||
'error_removing_bread' => 'Se pare că a apărut o problemă cu ștergerea acestui BREAD',
|
||||
'error_updating_bread' => 'Se pare că a apărut o problemă cu actualizarea acestui BREAD',
|
||||
'extra' => 'Suplimentar',
|
||||
'field' => 'Câmp',
|
||||
'field_safe_failed' => 'Nu s-a reușit savlarea câmpului :field, ne întoarcem la valoarea precedentă.',
|
||||
'generate_permissions' => 'Generare permisiuni',
|
||||
'icon_class' => 'Iconiță pentru acest tabel',
|
||||
'icon_hint' => 'Iconiță pentru (opțional)',
|
||||
'icon_hint2' => 'Voyager Font Class',
|
||||
'index' => 'INDEX',
|
||||
'input_type' => 'Tipul input-ului',
|
||||
'key' => 'Cheie',
|
||||
'model_class' => 'Numele clasei modelului',
|
||||
'model_name' => 'Numele modelului',
|
||||
'model_name_ph' => 'ex: \App\Models\User, dacă lăsați gol, vom încerca și vom folosi numele tabelului',
|
||||
'name_warning' => 'Vă rugăm să indicați numele coloanei înainte de adăugarea indexului',
|
||||
'no_composites_warning' => 'În acest tabel există index compozit. Atrageți atenția că la momentul de față ele nu sunt suportate. Fiți atenți când încercați să adăugați/ștergeți indexuri.',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'Detalii suplimentare',
|
||||
'policy_class' => 'Policy Class Name',
|
||||
'policy_name' => 'Policy Name',
|
||||
'policy_name_ph' => 'ex. \App\Policies\UserPolicy, dacă lăsați gol, vom încerca și vom folosi predefinit',
|
||||
'primary' => 'CHEIE PRIMARĂ',
|
||||
'server_pagination' => 'Paginare pe server',
|
||||
'success_create_table' => 'Tabelul :table a fost creat cu succes',
|
||||
'success_created_bread' => 'BREAD nou a fost creat cu succes',
|
||||
'success_delete_table' => 'Tabelul :table a fost șters cu succes',
|
||||
'success_remove_bread' => 'BREAD a fost șters cu succes din :datatype',
|
||||
'success_update_bread' => 'BREAD a fost actualizat cu succes în :datatype',
|
||||
'success_update_table' => 'Tabelul :table a fost actualizat cu succes',
|
||||
'table_actions' => 'Acțiuni cu tabelul',
|
||||
'table_columns' => 'Coloanele tabelului',
|
||||
'table_has_index' => 'În acest tabel există deja cheia primară.',
|
||||
'table_name' => 'Numele tabelului',
|
||||
'table_no_columns' => 'Acest tabel nu are coloane...',
|
||||
'type' => 'Tip',
|
||||
'type_not_supported' => 'Acest tip nu este suportat',
|
||||
'unique' => 'UNIQUE',
|
||||
'unknown_type' => 'Tip necunoscut',
|
||||
'update_table' => 'Actualizare tabel',
|
||||
'url_slug' => 'URL Slug (trebuie să fie unic)',
|
||||
'url_slug_ph' => 'URL slug (ex:, posts)',
|
||||
'visibility' => 'Vizibilitate',
|
||||
'relationship' => [
|
||||
'relationship' => 'Relație',
|
||||
'relationships' => 'Relații',
|
||||
'has_one' => 'Unu la unu',
|
||||
'has_many' => 'Unu la mulți',
|
||||
'belongs_to' => 'Mulți la unu',
|
||||
'belongs_to_many' => 'Mulți la mulți',
|
||||
'which_column_from' => 'Ce coloană din',
|
||||
'is_used_to_reference' => 'este folosită pentru a face referire la',
|
||||
'pivot_table' => 'Tabel de legătură',
|
||||
'selection_details' => 'Detaliile selecției',
|
||||
'display_the' => 'Afișează',
|
||||
'store_the' => 'Salvează',
|
||||
'easy_there' => 'Ușor, Căpitane',
|
||||
'before_create' => 'Înainte de a crea o relație ai nevoie mai întâi să creezi BREAD-ul.<br> Apoi, te întorci înapoi pentru a edita BREAD-ul și atunci vei putea adăuga o relație nouă.<br> Mulțam.',
|
||||
'cancel' => 'Anulare',
|
||||
'add_new' => 'Adăugare relație nouă',
|
||||
'open' => 'Deschide',
|
||||
'close' => 'Închide',
|
||||
'relationship_details' => 'Detaliile relației',
|
||||
'browse' => 'Răsfoiește',
|
||||
'read' => 'Citește',
|
||||
'edit' => 'Editează',
|
||||
'add' => 'Adaugă',
|
||||
'delete' => 'Șterge',
|
||||
'create' => 'Crează o Relație',
|
||||
'namespace' => 'Model Năimspăis (ex: App\Models\User)',
|
||||
],
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'pagină|pagini',
|
||||
'page_link_text' => 'Toate paginile',
|
||||
'page_text' => 'În baza de date există :count :string',
|
||||
'post' => 'postare|postări',
|
||||
'post_link_text' => 'Toate postările',
|
||||
'post_text' => 'În baza de date există :count :string',
|
||||
'user' => 'utilizator|utilizatori',
|
||||
'user_link_text' => 'Toți utilizatorii',
|
||||
'user_text' => 'În baza de date există :count :string',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Lăsați gol, dacă nu doriți să schimbați parola',
|
||||
'field_select_dd_relationship' => 'Este necesar să setați realțiile (relationship) în metoda :method din clasa :class.',
|
||||
'type_checkbox' => 'Checkbox',
|
||||
'type_codeeditor' => 'Editor de cod',
|
||||
'type_file' => 'Fișier',
|
||||
'type_image' => 'Imagine',
|
||||
'type_radiobutton' => 'Radio buton',
|
||||
'type_richtextbox' => 'Edito vizual',
|
||||
'type_selectdropdown' => 'Listă dropdown',
|
||||
'type_textarea' => 'Câmp text (textarea)',
|
||||
'type_textbox' => 'Câmp text (simplu)',
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'În tabel nu există date',
|
||||
'sInfo' => 'Afișat de la _START_ până la _END_ din _TOTAL_ înregistrări',
|
||||
'sInfoEmpty' => 'Afișat 0 din 0 înregistrări',
|
||||
'sInfoFiltered' => '(sortat din _MAX_ înregitrări)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => 'Afișați _MENU_ înregistrări',
|
||||
'sLoadingRecords' => 'Încărcare înregistrări...',
|
||||
'sProcessing' => 'Așteptați...',
|
||||
'sSearch' => 'Căutare:',
|
||||
'sZeroRecords' => 'Lipsesc înregistrări',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'Prima',
|
||||
'sLast' => 'Ultima',
|
||||
'sNext' => 'Următoarea',
|
||||
'sPrevious' => 'Precedenta',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': activați pentru a sorta coloana crescător',
|
||||
'sSortDescending' => ': activați pentru a sorta coloana descrescător',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Creat cu <i class="voyager-heart"></i> ',
|
||||
'footer_copyright2' => 'Creat cu rom și chiar mai mult rom :) ',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'format JSON invalid',
|
||||
'invalid_message' => 'Ați introdus un format JSON invalid',
|
||||
'valid' => 'Format JSON corect',
|
||||
'validation_errors' => 'Eroare la verificarea datelor',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'După pagini',
|
||||
'by_sessions' => 'După sesiuni',
|
||||
'by_users' => 'După utilizatori',
|
||||
'no_client_id' => 'Pentru a vedea statisticile din analytics aveți nevoie de google analytics cliend id pe care să-l adăugați în setări pentru cheia <code>google_analytics_client_id</code>. Puteți obține cheia(analytics cliend id) în contul dvs. Google developers console:',
|
||||
'set_view' => 'Alegeți modul de vizualizare',
|
||||
'this_vs_last_week' => 'Săptămâna aceasta în comparație cu săptămâna trecută.',
|
||||
'this_vs_last_year' => 'Anul acesta în comparație cu anul trecut',
|
||||
'top_browsers' => 'Top browser-e',
|
||||
'top_countries' => 'Top țări',
|
||||
'various_visualizations' => 'Vizualizări diverse',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'Noi tocmai am creat legătura simbolică(symlink) pentru dvs.',
|
||||
'symlink_created_title' => 'Legătura simbolică a folderului storage ce lipsea, a fost creată.',
|
||||
'symlink_failed_text' => 'Nu am putut genera link-ul simbolic ce lipsește pentru aplicația dvs. Se pare că hosting provider-ul dvs. nu suportă symlinks))).',
|
||||
'symlink_failed_title' => 'Nu am putut crea link-ul simbolic pentru folderul storage.',
|
||||
'symlink_missing_button' => 'Corectați',
|
||||
'symlink_missing_text' => 'Nu am putut găsi un link simbolic pentru folderul storage. Aceasta poate cauza probleme cu încărcarea fișierelor media de către browser.',
|
||||
'symlink_missing_title' => 'Lipsește link-ul simbolic pentru folderul storage.',
|
||||
],
|
||||
];
|
||||
394
lang/ru/voyager.php
Normal file
394
lang/ru/voyager.php
Normal file
@@ -0,0 +1,394 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'На прошлой неделе',
|
||||
'last_year' => 'В прошлом году',
|
||||
'this_week' => 'На этой неделе',
|
||||
'this_year' => 'В этом году',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'Действие',
|
||||
'actions' => 'Доступные действия',
|
||||
'add' => 'Добавить',
|
||||
'add_folder' => 'Создать папку',
|
||||
'add_new' => 'Добавить',
|
||||
'all_done' => 'Готово',
|
||||
'are_you_sure' => 'Вы уверены',
|
||||
'are_you_sure_delete' => 'Вы точно хотите удалить',
|
||||
'auto_increment' => 'Auto Increment',
|
||||
'browse' => 'Просмотр',
|
||||
'builder' => 'Конструктор',
|
||||
'bulk_delete' => 'Удалить всё',
|
||||
'bulk_delete_confirm' => 'Да, удалить это',
|
||||
'bulk_delete_nothing' => 'Вы ничего не выбрали для удаления!',
|
||||
'cancel' => 'Отмена',
|
||||
'choose_type' => 'Выберите тип поля',
|
||||
'click_here' => 'Кликните тут',
|
||||
'close' => 'Закрыть',
|
||||
'compass' => 'Компасс',
|
||||
'created_at' => 'Дата создания',
|
||||
'custom' => 'Пользовательская категория',
|
||||
'dashboard' => 'Панель управления',
|
||||
'database' => 'База данных',
|
||||
'default' => 'По умолчанию',
|
||||
'delete' => 'Удалить',
|
||||
'delete_confirm' => 'Да, удалить!',
|
||||
'delete_question' => 'Вы действительно хотите удалить это?',
|
||||
'delete_this_confirm' => 'Да, удалить это',
|
||||
'deselect_all' => 'Отменить выделение',
|
||||
'download' => 'Загрузка',
|
||||
'edit' => 'Редактирование',
|
||||
'email' => 'E-mail',
|
||||
'error_deleting' => 'Во время удаления возникла ошибка',
|
||||
'exception' => 'Исключение',
|
||||
'featured' => 'Рекомендуемый',
|
||||
'field_does_not_exist' => 'Поля не существует',
|
||||
'how_to_use' => 'Как использовать',
|
||||
'index' => 'Индекс',
|
||||
'internal_error' => 'Внутреняя ошибка',
|
||||
'items' => 'элемент(ы)',
|
||||
'keep_sidebar_open' => 'Раскрывать панель',
|
||||
'key' => 'Ключ',
|
||||
'last_modified' => 'Последнее изменение',
|
||||
'length' => 'Длина',
|
||||
'login' => 'Логин',
|
||||
'media' => 'Медиа',
|
||||
'menu_builder' => 'Конструктор меню',
|
||||
'move' => 'Переместить',
|
||||
'name' => 'Имя',
|
||||
'new' => 'Новинка',
|
||||
'no' => 'Нет',
|
||||
'no_thanks' => 'Нет, спасибо',
|
||||
'not_null' => 'Не Null',
|
||||
'options' => 'Параметры',
|
||||
'password' => 'Пароль',
|
||||
'permissions' => 'Права доступа',
|
||||
'profile' => 'Профиль',
|
||||
'public_url' => 'Общедоступный URL-адрес',
|
||||
'read' => 'Считывание',
|
||||
'rename' => 'Переименовать',
|
||||
'required' => 'Обязательный',
|
||||
'return_to_list' => 'Вернуться к списку',
|
||||
'route' => 'Маршрут',
|
||||
'save' => 'Сохранить',
|
||||
'search' => 'Искать',
|
||||
'select_all' => 'Выбрать все',
|
||||
'settings' => 'Настройки',
|
||||
'showing_entries' => 'Показана от :from до :to из :all запись|Показано от :from до :to из :all записей',
|
||||
'submit' => 'Отправить',
|
||||
'successfully_added_new' => 'Успешное добавление',
|
||||
'successfully_deleted' => 'Успешное удаление',
|
||||
'successfully_updated' => 'Успешное обновление',
|
||||
'timestamp' => 'Временная метка',
|
||||
'title' => 'Название',
|
||||
'type' => 'Тип',
|
||||
'unsigned' => 'Unsigned',
|
||||
'unstick_sidebar' => 'Открепить боковую панель',
|
||||
'update' => 'Обновить',
|
||||
'update_failed' => 'Обновление не удалось',
|
||||
'upload' => 'Загрузка',
|
||||
'url' => 'URL',
|
||||
'view' => 'Вид',
|
||||
'viewing' => 'Просмотр',
|
||||
'yes' => 'Да',
|
||||
'yes_please' => 'Да, пожалуйста',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'Вход в систему',
|
||||
'signin_below' => 'Вход в панель управления',
|
||||
'welcome' => 'Панель управления, которой не хватало в Laravel',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Фото',
|
||||
'edit' => 'Настройки профиля',
|
||||
'edit_user' => 'Изменить профиль',
|
||||
'password' => 'Пароль',
|
||||
'password_hint' => 'Для сохранения того же значения оставьте поле пустым',
|
||||
'role' => 'Группа',
|
||||
'user_role' => 'Группа пользователя',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'Чтобы получить значения параметров, используйте в шаблоне код ',
|
||||
'save' => 'Сохранить настройки',
|
||||
'new' => 'Создать настройку',
|
||||
'help_name' => 'Название параметра (например, Мой параметр)',
|
||||
'help_key' => 'Ключ параметра (например, my_parametr)',
|
||||
'help_option' => '(необязательно, применяется только к выпадающему списку или радио-кнопкам)',
|
||||
'add_new' => 'Добавить новый параметр',
|
||||
'delete_question' => 'Вы уверены, что нужно удалить параметр :setting?',
|
||||
'delete_confirm' => 'Да, удалите этот параметр',
|
||||
'successfully_created' => 'Параметры успешно созданы',
|
||||
'successfully_saved' => 'Параметры успешно сохранены',
|
||||
'successfully_deleted' => 'Параметры успешно удалены',
|
||||
'already_at_top' => 'Уже размещено вверху списка',
|
||||
'already_at_bottom' => 'Уже размещено внизу списка',
|
||||
'moved_order_up' => 'Параметр :name перемещен вверх',
|
||||
'moved_order_down' => 'Параметр :name перемещен вниз',
|
||||
'successfully_removed' => 'Успешно удалено значение параметра :name',
|
||||
'group_general' => 'Основное',
|
||||
'group_admin' => 'Админ',
|
||||
'group_site' => 'Сайт',
|
||||
'group' => 'Группа',
|
||||
'help_group' => 'Привязать эту настройку к группе',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'Добавить новую папку',
|
||||
'audio_support' => 'Ваш браузер не поддерживает элемент audio.',
|
||||
'create_new_folder' => 'Создать новую папку',
|
||||
'delete_folder_question' => 'Удаление папки приведет к удалению всего ее содержимого.',
|
||||
'destination_folder' => 'Папка назначения',
|
||||
'drag_drop_info' => 'Перетащите файлы мышью или нажмите на кнопку внизу для загрузки.',
|
||||
'error_already_exists' => 'Файл/папка с таким именем уже существуют в данном каталоге',
|
||||
'error_creating_dir' => 'Не удалось создать папку: проверьте права доступа',
|
||||
'error_deleting_file' => 'Не удалось удалить файл: проверьте права доступа',
|
||||
'error_deleting_folder' => 'Не удалось удалить папку: проверьте права доступа',
|
||||
'error_may_exist' => 'Файл или папка с таким именем уже существуют: выберите другое имя или удалите существующий файл!',
|
||||
'error_moving' => 'Не удалось переместить файл или папку: проверьте права доступа.',
|
||||
'error_uploading' => 'Ошибка загрузки: Произошла неизвестная ошибка!',
|
||||
'folder_exists_already' => 'Папка с таким именем уже существует: удалите ее, если хотите создать новую с таким же именем.',
|
||||
'image_does_not_exist' => 'Изображения не существует',
|
||||
'image_removed' => 'Изображение удалено',
|
||||
'library' => 'Библиотека медиа',
|
||||
'loading' => 'ИДЕТ ЗАГРУЗКА ВАШИХ ФАЙЛОВ',
|
||||
'move_file_folder' => 'Переместить файл/папку',
|
||||
'new_file_folder' => 'Новое имя файла/папки',
|
||||
'new_folder_name' => 'Новое имя папки',
|
||||
'no_files_here' => 'Тут нет файлов',
|
||||
'no_files_in_folder' => 'Отсутствуют файлы в данной папке',
|
||||
'nothing_selected' => 'Ничего не выбрано',
|
||||
'rename_file_folder' => 'Переименовать файл/папку',
|
||||
'success_uploaded_file' => 'Успешная загрузка файла!',
|
||||
'success_uploading' => 'Успешная загрузка изображения!',
|
||||
'uploading_wrong_type' => 'Ошибка загрузки: неподдерживаемый формат файла или слишком большой размер файла для загрузки!',
|
||||
'video_support' => 'Ваш браузер не поддерживает элемент video.',
|
||||
'crop' => 'Обрезать',
|
||||
'crop_and_create' => 'Создать и Обрезать',
|
||||
'crop_override_confirm' => 'Исходное изображение будет изменено, вы уверены?',
|
||||
'crop_image' => 'Обрезать изображение',
|
||||
'success_crop_image' => 'Изображение успешно обрезано',
|
||||
'height' => 'Высота: ',
|
||||
'width' => 'Ширина: ',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Цвет в RGB или hex (необязательно)',
|
||||
'color_ph' => 'Цвет (например, #ffffff или rgb(255, 255, 255)',
|
||||
'create_new_item' => 'Создать новый пункт меню',
|
||||
'delete_item_confirm' => 'Да, удалить этот пункт меню',
|
||||
'delete_item_question' => 'Вы уверены, что хотите удалить этот пункт меню?',
|
||||
'drag_drop_info' => 'Перетащите пункты меню ниже, чтобы изменить их порядок.',
|
||||
'dynamic_route' => 'Динамический путь',
|
||||
'edit_item' => 'Редактировать пункт меню',
|
||||
'icon_class' => 'Иконка для пункта меню (Используйте ',
|
||||
'icon_class2' => 'Voyager Font Class</a>)',
|
||||
'icon_class_ph' => 'Иконка (необязательно)',
|
||||
'item_route' => 'Путь для пункта меню',
|
||||
'item_title' => 'Название пункта меню',
|
||||
'link_type' => 'Тип ссылки',
|
||||
'new_menu_item' => 'Новый пункт меню',
|
||||
'open_in' => 'Открыть в',
|
||||
'open_new' => 'Новая вкладка/окно',
|
||||
'open_same' => 'Та же вкладка/окно',
|
||||
'route_parameter' => 'Параметры пути (если есть)',
|
||||
'static_url' => 'Статический URL',
|
||||
'successfully_created' => 'Пункт меню успешно создан.',
|
||||
'successfully_deleted' => 'Пункт меню успешно удален.',
|
||||
'successfully_updated' => 'Пункт меню успешно обновлен.',
|
||||
'updated_order' => 'Структура меню успешно обновлена.',
|
||||
'url' => 'URL для пункта меню',
|
||||
'usage_hint' => 'Вы можете вывести меню в любом месте вашего сайта, вызвав |Вы можете вывести это меню в любом месте вашего сайта, вызвав ',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Категория сообщения',
|
||||
'content' => 'Текст сообщения',
|
||||
'details' => 'Свойства',
|
||||
'excerpt' => 'Анонс <small>Краткое описание статьи</small>',
|
||||
'image' => 'Изображение',
|
||||
'meta_description' => 'Описание (meta)',
|
||||
'meta_keywords' => 'Ключевые слова (meta)',
|
||||
'new' => 'Опубликовать',
|
||||
'seo_content' => 'SEO текст',
|
||||
'seo_title' => 'SEO название',
|
||||
'slug' => 'Ссылка',
|
||||
'status' => 'Статус публикации',
|
||||
'status_draft' => 'Черновик',
|
||||
'status_pending' => 'На модерации',
|
||||
'status_published' => 'Опубликовано',
|
||||
'title' => 'Заголовок',
|
||||
'title_sub' => 'Название статьи',
|
||||
'update' => 'Обновить',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'Добавить BREAD к данной таблице',
|
||||
'add_new_column' => 'Добавить новый столбец',
|
||||
'add_softdeletes' => 'Добавить Soft Deletes',
|
||||
'add_timestamps' => 'Добавить метки времени',
|
||||
'already_exists' => 'уже существует',
|
||||
'already_exists_table' => 'Таблица :table уже существует',
|
||||
'bread_crud_actions' => 'BREAD/CRUD действия',
|
||||
'bread_info' => 'BREAD информация',
|
||||
'column' => 'Столбец',
|
||||
'composite_warning' => 'Предупреждение: этот столбец является частью составного индекса',
|
||||
'controller_name' => 'Имя контроллера',
|
||||
'controller_name_hint' => 'например, пустой PageController, будет использовать BREAD Controller',
|
||||
'create_bread_for_table' => 'Создать BREAD для таблицы :table',
|
||||
'create_migration' => 'Создать миграцию для данной таблицы?',
|
||||
'create_model_table' => 'Создать модель для данной таблицы?',
|
||||
'create_new_table' => 'Создать новую таблицу',
|
||||
'create_your_new_table' => 'Создать новую таблицу',
|
||||
'default' => 'По умолчанию',
|
||||
'delete_bread' => 'Удалить BREAD',
|
||||
'delete_bread_before_table' => 'Перед удалением таблицы обязательно удалите BREAD таблицы.',
|
||||
'delete_table_bread_conf' => 'Да, удалить BREAD',
|
||||
'delete_table_bread_quest' => 'Вы уверены, что хотите удалить BREAD для таблицы :table?',
|
||||
'delete_table_confirm' => 'Да, удалить таблицу',
|
||||
'delete_table_question' => 'Вы точно хотите удалить таблицу :table?',
|
||||
'description' => 'Описание',
|
||||
'display_name' => 'Отображаемое имя',
|
||||
'display_name_plural' => 'Отображаемое имя (во множественном числе)',
|
||||
'display_name_singular' => 'Отображаемое имя (в единственном числе)',
|
||||
'edit_bread' => 'Редактировать BREAD',
|
||||
'edit_bread_for_table' => 'Редактировать BREAD для таблицы :table',
|
||||
'edit_rows' => 'Редактировать строки таблицы :table ниже',
|
||||
'edit_table' => 'Редактировать таблицу :table ниже',
|
||||
'edit_table_not_exist' => 'Таблицы, которую вы хотите редактировать, не существует',
|
||||
'error_creating_bread' => 'Похоже, возникла проблема с созданием данного BREAD',
|
||||
'error_removing_bread' => 'Похоже, возникла проблема с удалением данного BREAD',
|
||||
'error_updating_bread' => 'Похоже, возникла проблема с обновлением данного BREAD',
|
||||
'extra' => 'Дополнительно',
|
||||
'field' => 'Поле',
|
||||
'field_safe_failed' => 'Не удалось сохранить поле :field, будет произведен откат к предыдущему значению.',
|
||||
'generate_permissions' => 'Создание прав доступа',
|
||||
'icon_class' => 'Значок для данной таблицы',
|
||||
'icon_hint' => 'Значок для (необязательно)',
|
||||
'icon_hint2' => 'Voyager Font Class',
|
||||
'index' => 'INDEX',
|
||||
'input_type' => 'Тип ввода',
|
||||
'key' => 'Ключ',
|
||||
'model_class' => 'Название класса модели',
|
||||
'model_name' => 'Название модели',
|
||||
'model_name_ph' => 'например \App\Models\User, если оставить пустым - попытается использовать название таблицы',
|
||||
'name_warning' => 'Укажите столбец перед добавлением индекса',
|
||||
'no_composites_warning' => 'В данной таблице присутствует составной индекс. Обратите внимание, что в настоящий момент они не поддерживаются. Будьте осторожны при попытке добавить/удалить индексы.',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'Дополнительные сведения',
|
||||
'policy_class' => 'Имя класса политики',
|
||||
'policy_name' => 'Политика',
|
||||
'policy_name_ph' => 'например \App\Policies\UserPolicy, если оставить пустым - попытается использовать политику по умолчанию',
|
||||
'primary' => 'ПЕРВИЧНЫЙ КЛЮЧ',
|
||||
'server_pagination' => 'Пагинация на стороне сервера',
|
||||
'success_create_table' => 'Таблица :table успешно создана',
|
||||
'success_created_bread' => 'Новый BREAD успешно создан',
|
||||
'success_delete_table' => 'Таблица :table успешно удалена',
|
||||
'success_remove_bread' => 'BREAD успешно удален из :datatype',
|
||||
'success_update_bread' => 'BREAD успешно обновлен в :datatype',
|
||||
'success_update_table' => 'Таблица :table успешно обновлена',
|
||||
'table_actions' => 'Действия с таблицей',
|
||||
'table_columns' => 'Столбцы таблицы',
|
||||
'table_has_index' => 'В данной таблице уже имеется первичный ключ.',
|
||||
'table_name' => 'Название таблицы',
|
||||
'table_no_columns' => 'В таблице отсутствуют столбцы...',
|
||||
'type' => 'Тип',
|
||||
'type_not_supported' => 'Данный тип не поддерживается',
|
||||
'unique' => 'UNIQUE',
|
||||
'unknown_type' => 'Неизвестный тип',
|
||||
'update_table' => 'Обновить таблицу',
|
||||
'url_slug' => 'URL Slug (должен быть уникальным)',
|
||||
'url_slug_ph' => 'URL slug (например, posts)',
|
||||
'visibility' => 'Видимость',
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'страница|страницы',
|
||||
'page_link_text' => 'Все страницы',
|
||||
'page_text' => 'В базе данных :count :string',
|
||||
'post' => 'запись|записи',
|
||||
'post_link_text' => 'Все записи',
|
||||
'post_text' => 'В базе данных :count :string',
|
||||
'user' => 'пользователь|пользователей',
|
||||
'user_link_text' => 'Все пользователи',
|
||||
'user_text' => 'В базе данных :count :string',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Оставьте пустым, если не хотите менять пароль',
|
||||
'field_select_dd_relationship' => 'Обязательно настройте соответствующие отношения (relationship) в методе :method класса :class.',
|
||||
'type_checkbox' => 'Чекбокс',
|
||||
'type_codeeditor' => 'Редактор кода',
|
||||
'type_file' => 'Файл',
|
||||
'type_image' => 'Изображение',
|
||||
'type_radiobutton' => 'Радио-кнопка',
|
||||
'type_richtextbox' => 'Визуальный редактор',
|
||||
'type_selectdropdown' => 'Выпадающий список',
|
||||
'type_textarea' => 'Текстовое поле',
|
||||
'type_textbox' => 'Поле ввода',
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'В таблице нет данных',
|
||||
'sInfo' => 'Показано от _START_ до _END_ из _TOTAL_ записей',
|
||||
'sInfoEmpty' => 'Показано 0 из 0 записей',
|
||||
'sInfoFiltered' => '(выбрано из _MAX_ записей)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => 'Показать _MENU_ записей',
|
||||
'sLoadingRecords' => 'Загрузка записей...',
|
||||
'sProcessing' => 'Подождите...',
|
||||
'sSearch' => 'Поиск:',
|
||||
'sZeroRecords' => 'Записи отсутствуют',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'Первая',
|
||||
'sLast' => 'Последняя',
|
||||
'sNext' => 'Следующая',
|
||||
'sPrevious' => 'Предыдущая',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': активировать для сортировки столбца по возрастанию',
|
||||
'sSortDescending' => ': активировать для сортировки столбца по убыванию',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Сделано с <i class="voyager-heart"></i> ',
|
||||
'footer_copyright2' => 'Сделано под ромом :) ',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'неверный формат JSON',
|
||||
'invalid_message' => 'Введен неверный формат JSON',
|
||||
'valid' => 'Верный формат JSON',
|
||||
'validation_errors' => 'Ошибки при проверке данных',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'По страницам',
|
||||
'by_sessions' => 'По сессиям',
|
||||
'by_users' => 'По пользователям',
|
||||
'no_client_id' => 'Для активации аналитики необходимо получить идентификатор клиента Google Analytics и добавить его в поле <code>google_analytics_client_id</code> меню настроек. Получить код Google Analytics: ',
|
||||
'set_view' => 'Выберите вид',
|
||||
'this_vs_last_week' => 'Текущая неделя в сравнении с прошлой.',
|
||||
'this_vs_last_year' => 'Нынешний год в сравнении с прошлым',
|
||||
'top_browsers' => 'Лучшие браузеры',
|
||||
'top_countries' => 'Лучшие страны',
|
||||
'various_visualizations' => 'Различные визуализации',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'Мы создали ссылку для вас.',
|
||||
'symlink_created_title' => 'Создана недостающая ссылка на хранилище данных.',
|
||||
'symlink_failed_text' => 'Не удалось создать недостающую ссылку: похоже, дело в хостинге.',
|
||||
'symlink_failed_title' => 'Не удалось создать ссылку для хранилища данных.',
|
||||
'symlink_missing_button' => 'Исправьте',
|
||||
'symlink_missing_text' => 'Не найдена ссылка на хранилище данных: это может вызвать проблемы с загрузкой медиафайлов.',
|
||||
'symlink_missing_title' => 'Отсутствует ссылка на хранилище данных.',
|
||||
],
|
||||
];
|
||||
386
lang/tr/voyager.php
Normal file
386
lang/tr/voyager.php
Normal file
@@ -0,0 +1,386 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'Geçen Hafta',
|
||||
'last_year' => 'Geçen Yıl',
|
||||
'this_week' => 'Bu Hafta',
|
||||
'this_year' => 'Bu Yıl',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'İşlem',
|
||||
'actions' => 'İşlemler',
|
||||
'add' => 'Ekle',
|
||||
'add_folder' => 'Klasör ekle',
|
||||
'add_new' => 'Yeni Ekle',
|
||||
'all_done' => 'Hepsi tamam',
|
||||
'are_you_sure' => 'Emin misin',
|
||||
'are_you_sure_delete' => 'Silmek istediğinden emin misin',
|
||||
'auto_increment' => 'Otomatik artan',
|
||||
'browse' => 'Gözden geçirmek',
|
||||
'builder' => 'Kurucu',
|
||||
'cancel' => 'İptal',
|
||||
'choose_type' => 'Tip seçin',
|
||||
'click_here' => 'Buraya tıkla',
|
||||
'close' => 'Kapat',
|
||||
'compass' => 'Sınır',
|
||||
'created_at' => 'Oluşturma zamanı',
|
||||
'custom' => 'Özel',
|
||||
'dashboard' => 'Yönetim',
|
||||
'database' => 'Veritabanı',
|
||||
'default' => 'Varsayılan',
|
||||
'delete' => 'Sil',
|
||||
'delete_confirm' => 'Evet , sil !',
|
||||
'delete_question' => 'Silmek istediğinden emin misin',
|
||||
'delete_this_confirm' => 'Evet , bunu sil !',
|
||||
'deselect_all' => 'Tüm seçimi kaldır',
|
||||
'download' => 'İndir',
|
||||
'edit' => 'Düzenle',
|
||||
'email' => 'E-mail',
|
||||
'error_deleting' => 'Maalesef bunu silmek için bir sorun oluştu',
|
||||
'exception' => 'İstisna',
|
||||
'featured' => 'Öne Çıkan',
|
||||
'field_does_not_exist' => 'Alan bulunamadı',
|
||||
'how_to_use' => 'Nasıl kullanılır',
|
||||
'index' => 'İndeks',
|
||||
'internal_error' => 'İç hata',
|
||||
'items' => 'Eşya(lar)',
|
||||
'keep_sidebar_open' => 'Yarr! Bağları bırak! (ve yan menüyü açık tut)',
|
||||
'key' => 'Anahtar',
|
||||
'last_modified' => 'Son güncellenem',
|
||||
'length' => 'Uzunluk',
|
||||
'login' => 'Giriş',
|
||||
'media' => 'Medya',
|
||||
'menu_builder' => 'Menu kurucusu',
|
||||
'move' => 'Hareket',
|
||||
'name' => 'İsim',
|
||||
'new' => 'New',
|
||||
'no' => 'Hayır',
|
||||
'no_thanks' => 'Hayır teşekkürler',
|
||||
'not_null' => 'Boş değil',
|
||||
'options' => 'Seçenekler',
|
||||
'password' => 'Şifre',
|
||||
'permissions' => 'İzinler',
|
||||
'profile' => 'Profil',
|
||||
'public_url' => 'Açık link',
|
||||
'read' => 'Okuma',
|
||||
'rename' => 'Yeniden adlandır',
|
||||
'required' => 'Gerekli',
|
||||
'return_to_list' => 'Listeye dön',
|
||||
'route' => 'Rota',
|
||||
'save' => 'Kaydet',
|
||||
'search' => 'Bul',
|
||||
'select_all' => 'Tümünü seç',
|
||||
'settings' => 'Ayarlar',
|
||||
'showing_entries' => ':from ile :to arasındaki :all kayıttan göstriliyor | :from ile :to arasındaki :all kayıtlar göstriliyor',
|
||||
'submit' => 'Gönder',
|
||||
'successfully_added_new' => 'Başarılı eklendi',
|
||||
'successfully_deleted' => 'Başarılı dilindi',
|
||||
'successfully_updated' => 'Başarılı güncellendi',
|
||||
'timestamp' => 'Zaman alanı',
|
||||
'title' => 'Başlık',
|
||||
'type' => 'Tip',
|
||||
'unsigned' => 'İmzasız',
|
||||
'unstick_sidebar' => 'Sidebarı açık tut',
|
||||
'update' => 'güncelle',
|
||||
'update_failed' => 'Alan güncellendi',
|
||||
'upload' => 'Yükle',
|
||||
'url' => 'Link',
|
||||
'view' => 'Görünüm',
|
||||
'viewing' => 'Görme',
|
||||
'yes' => 'Evet',
|
||||
'yes_please' => 'Evet, lütfen',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'Giriş yap',
|
||||
'signin_below' => ' Below: oturum aç',
|
||||
'welcome' => "Voyager a hoş geldiniz , Laravel'in aranan yönetim paneli",
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Avatar',
|
||||
'edit' => 'Profilimi düzenle',
|
||||
'edit_user' => 'Kullanıcıyı düzenle',
|
||||
'password' => 'Şifre',
|
||||
'password_hint' => 'Aynı şifre ise boş bırakın',
|
||||
'role' => 'Rol',
|
||||
'user_role' => 'Kullanıcı Rolü',
|
||||
],
|
||||
'settings' => [
|
||||
'usage_help' => 'Her ayarın değerini sitenizdeki herhangi bir yerinden çağırabilirisiniz',
|
||||
'save' => 'Ayarları Kaydet',
|
||||
'new' => 'Yeni Ayarlar',
|
||||
'help_name' => 'Ayar Adı ex: Yönetici paneli',
|
||||
'help_key' => 'Ayar anahtarı ex: yonetici_paneli',
|
||||
'help_option' => '(optional, only applies to certain types like dropdown box or radio button)',
|
||||
'add_new' => 'Yeni Ayar ekle',
|
||||
'delete_question' => ' :setting Bu ayarı silmek istediğinden emin misin?',
|
||||
'delete_confirm' => 'Evet , Bu Ayarı Sil',
|
||||
'successfully_created' => 'Başarılı Ayar Oluşturuldu',
|
||||
'successfully_saved' => 'Başarılı Ayar kaydedildi ',
|
||||
'successfully_deleted' => 'Başarılı Ayar silindi ',
|
||||
'already_at_top' => 'Zaten Listenin en üstünde',
|
||||
'already_at_bottom' => 'Zaten listenin en altında',
|
||||
'moved_order_up' => ' :name ayarı yukarı taşındı',
|
||||
'moved_order_down' => ' :name ayarı aşağı taşındı ',
|
||||
'successfully_removed' => ':name başarılı bir şekilde değeri silindi',
|
||||
'group_general' => 'Genel',
|
||||
'group_admin' => 'Admin',
|
||||
'group_site' => 'Site',
|
||||
'group' => 'Grop',
|
||||
'help_group' => 'Ayarların atandığı grup',
|
||||
],
|
||||
'media' => [
|
||||
'add_new_folder' => 'Yeni dosya ekle',
|
||||
'audio_support' => 'tarıyıcın ses dosyası desteklemiyor.',
|
||||
'create_new_folder' => 'Yeni dosya oluştur',
|
||||
'delete_folder_question' => 'Bu dosyayı silmek içindekileride silmene neden olcak',
|
||||
'destination_folder' => 'Dosya konumu',
|
||||
'drag_drop_info' => 'Sürükle bırakla hızlıca resim yükle',
|
||||
'error_already_exists' => 'Malesef dosya/dizin ile aynı isimde bulunan bir kayıt var',
|
||||
'error_creating_dir' => 'Malesef dizin oluşturuken bir şeyler yolunda girmedi, '.'Lütfen izinlerinizi kontrol ediniz',
|
||||
'error_deleting_file' => 'Bu dosyayı silerken bir sorun oluştu, lütfen izinlerinizi kontrol ediniz ',
|
||||
'error_deleting_folder' => 'Malesef bu dizini silerken bir sorun oluştur, lütfen izinlerinizi kontrol ediniz',
|
||||
'error_may_exist' => 'Malesef dosya/dizin ile aynı isimde bulunan bir kayıt olabilir lütfen ismini değiştirn',
|
||||
'error_moving' => 'Bu dosya/dizini taşırken bir sorun oluştu , lütfen doğru izinlerin olduğuna emin olun',
|
||||
'error_uploading' => 'Yükleme hatası: Unknown bilinmeyen bir hata oluştur',
|
||||
'folder_exists_already' => 'Malesef bu dizinden var ama isterseniz silip tekrar oluşturabilirsiniz ',
|
||||
'image_does_not_exist' => 'Resim bulanamadı',
|
||||
'image_removed' => 'Resim silindi',
|
||||
'library' => 'Medya silindi',
|
||||
'loading' => 'Medya dosyanızı bekleyin',
|
||||
'move_file_folder' => 'Dosya/Dizin taşı',
|
||||
'new_file_folder' => 'Yeni Dosya/Dizin ismi',
|
||||
'new_folder_name' => 'Yeni dizin ismi',
|
||||
'no_files_here' => 'Hiç dosya bulunamadı',
|
||||
'no_files_in_folder' => 'Bu klasörde hiç dosya bulunamadı',
|
||||
'nothing_selected' => 'Hiçbir Dosya/Dizin seçilmedi',
|
||||
'rename_file_folder' => 'yeniden adlanadır Dosya/Dizin',
|
||||
'success_uploaded_file' => 'Başarı bir şekilde yeni dosya yüklendi',
|
||||
'success_uploading' => 'Resim başarılı bir şekilde yüklendi',
|
||||
'uploading_wrong_type' => 'Yükleme hatasu: Desteklenmeyen dosya formatı veya çok büyük dosya!',
|
||||
'video_support' => 'Tarayıcı video etiketini desteklemiyor ',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Renkler RGB veya hex (tercihen)',
|
||||
'color_ph' => 'Renk (örn. #ffffff veya rgb(255, 255, 255)',
|
||||
'create_new_item' => 'Yeni bir kayıt oluşturun',
|
||||
'delete_item_confirm' => 'Evet , Bu menüyü sil',
|
||||
'delete_item_question' => 'Bu menü kaydını silmek istediğinden emin misin ?',
|
||||
'drag_drop_info' => 'Sürükle ve bırak ile menüyü ayarlayın',
|
||||
'dynamic_route' => 'Dinamik rota',
|
||||
'edit_item' => 'Menüyü düzenle',
|
||||
'icon_class' => 'Font Icon sınıfları menü için (Use a',
|
||||
'icon_class2' => 'Voyager Font sınıfları</a>)',
|
||||
'icon_class_ph' => 'Icon sınıfları (tercihen)',
|
||||
'item_route' => 'Menü için rota',
|
||||
'item_title' => 'Menü başlığı',
|
||||
'link_type' => 'Link tipi',
|
||||
'new_menu_item' => 'Yeni menü kaydı',
|
||||
'open_in' => 'Açılış hedefi',
|
||||
'open_new' => 'Yeni Tab/Ekran',
|
||||
'open_same' => 'Aynı Tab/Ekran',
|
||||
'route_parameter' => 'Rota parametresi',
|
||||
'static_url' => 'Statik URL',
|
||||
'successfully_created' => 'Menü kaydı başarılı bir şekilde kaydoldu',
|
||||
'successfully_deleted' => 'Menü kaydı başarılı bir şekilde silindi',
|
||||
'successfully_updated' => 'Menü kaydı başarılı bir şekilde güncellendi',
|
||||
'updated_order' => 'Menü kaydı başarılı bir şekilde sıralandı',
|
||||
'url' => 'Menü kaydının linki',
|
||||
'usage_hint' => 'Bu menüyü istediğiniz yerde çağra bilirsiniz|Şu şekilde '.
|
||||
'Bu menüyü sitenin istediğiniz yerinde çağırmak için',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Yazı kategorisi',
|
||||
'content' => 'Yazı içeriği',
|
||||
'details' => 'Yazı detayı',
|
||||
'excerpt' => 'Alıntı <small>Yazının kısa açıklaması</small>',
|
||||
'image' => 'Yazı resmi',
|
||||
'meta_description' => 'Meta Açıklaması',
|
||||
'meta_keywords' => 'Meta Anahtar kelimesi',
|
||||
'new' => 'Yeni Yazı Oluştur',
|
||||
'seo_content' => 'SEO içeriği',
|
||||
'seo_title' => 'Seo başlığı',
|
||||
'slug' => 'URL link',
|
||||
'status' => 'Yazı durumu',
|
||||
'status_draft' => 'taslak',
|
||||
'status_pending' => 'bekliyor',
|
||||
'status_published' => 'yayınlandı',
|
||||
'title' => 'Yazı başlığı',
|
||||
'title_sub' => 'Yazınız için başlık',
|
||||
'update' => 'Yazıyı güncelle',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'Bu tabloya BREAD ekle',
|
||||
'add_new_column' => 'Yeni kolon ekle',
|
||||
'add_softdeletes' => 'Yazılımsal silme kolonu ekle(soft delete)',
|
||||
'add_timestamps' => 'Zaman kolonları ekle(created_at , updated_at)',
|
||||
'already_exists' => 'Bu kolon var',
|
||||
'already_exists_table' => 'Tablo :table zaten var',
|
||||
'bread_crud_actions' => 'BREAD/CRUD işlemleri',
|
||||
'bread_info' => 'BREAD bilgisi',
|
||||
'column' => 'Kolon',
|
||||
'composite_warning' => 'Warning: bu sütun, bileşik bir dizinin parçasıdır',
|
||||
'controller_name' => 'Kontrol Adı',
|
||||
'controller_name_hint' => 'örn. PageController, eğer boş bırakırsanı BREAD kontrolü kullanır',
|
||||
'create_bread_for_table' => ':table tablosu için BREAD oluştur',
|
||||
'create_migration' => 'Bu tablo için migrasyon oluşturulsun mu ?',
|
||||
'create_model_table' => 'bu tablo için model oluşturulsun mu ?',
|
||||
'create_new_table' => 'Yeni tablo oluştur',
|
||||
'create_your_new_table' => 'Kendine yeni tablo oluştur',
|
||||
'default' => 'Varsayılan',
|
||||
'delete_bread' => 'BREAD sil',
|
||||
'delete_bread_before_table' => "Lütfen tabloyu silmeden önce bu tablodaki BREAD'i kaldırdığınızdan emin olun.",
|
||||
'delete_table_bread_conf' => "Evet,BREAD'i sil",
|
||||
'delete_table_bread_quest' => ":table tablosunda BREAD'i silmek istediğinizden emin misiniz ? ",
|
||||
'delete_table_confirm' => 'Evet bu tabloyu sil',
|
||||
'delete_table_question' => ':table tablosunu silmek istediğinizden emin misiniz ? ',
|
||||
'description' => 'Açıklama',
|
||||
'display_name' => 'Görünüm adı',
|
||||
'display_name_plural' => 'Görünüm adı (Çoğul)',
|
||||
'display_name_singular' => 'Görünüm adı (Tekil)',
|
||||
'edit_bread' => 'BREAD düzenle',
|
||||
'edit_bread_for_table' => ':table tablosu için BREAD düzenle',
|
||||
'edit_rows' => 'Aşağıdaki :table tablolarının satırlarını düzenleyin:',
|
||||
'edit_table' => 'Aşağıdaki :table tablolarını düzenleyin',
|
||||
'edit_table_not_exist' => 'Düzenlemek istediğin tablo mevcut değil',
|
||||
'error_creating_bread' => "Maalesef, bu BREAD'i oluşturmakta bir sorun olabilir gibi görünüyor",
|
||||
'error_removing_bread' => "Maalesef, bu BREAD'i düzenlemekte bir sorun olabilir gibi görünüyor",
|
||||
'error_updating_bread' => "Maalesef, bu BREAD'i güncellemekde bir sorun olabilir gibi görünüyor",
|
||||
'extra' => 'Extra',
|
||||
'field' => 'Alan',
|
||||
'field_safe_failed' => ':field alan kaydedilirken hata oluştur, veri tabanını geri sarıyorum',
|
||||
'generate_permissions' => 'İzinleri oluştur',
|
||||
'icon_class' => 'Bu tablo için İcon',
|
||||
'icon_hint' => 'İcon (isteğe bağlı) kullanın',
|
||||
'icon_hint2' => 'voyager ön yüz sınıfı',
|
||||
'index' => 'İNDEKS',
|
||||
'input_type' => 'Giriş tipi',
|
||||
'key' => 'Anahtar',
|
||||
'model_class' => 'Model Sınıf Adı',
|
||||
'model_name' => 'Model Adı',
|
||||
'model_name_ph' => 'ex. \App\Models\User, Eğer boş ise tablo adını deneyin',
|
||||
'name_warning' => 'Lütfen indeks eklemden önce kolon adı belirleyin',
|
||||
'no_composites_warning' => 'This table has composite indexes. Please note that they are not supported '.
|
||||
'at the moment. Be careful when trying to add/remove indexes.',
|
||||
'null' => 'Boş',
|
||||
'optional_details' => 'İsteğe Bağlı Ayrıntılar',
|
||||
'primary' => 'BİRİNCİL',
|
||||
'server_pagination' => 'Sunucu-taraflı sayfalama',
|
||||
'success_create_table' => 'Başarılı tablo oluşturuldu :table ',
|
||||
'success_created_bread' => 'Başarılı yeni BREAD oluşturuldu',
|
||||
'success_delete_table' => 'Başarılı tablo silindi :table table',
|
||||
'success_remove_bread' => 'Başarılı silindi BREAD şurdan :datatype',
|
||||
'success_update_bread' => 'Başarılı güncellendi :datatype BREAD',
|
||||
'success_update_table' => 'Başarılı tablo güncellendi :table table',
|
||||
'table_actions' => 'Tablo işlemleri',
|
||||
'table_columns' => 'Tablo kolanları',
|
||||
'table_has_index' => 'Tablo zaten birincil anahtarı var.',
|
||||
'table_name' => 'Tablo Adı',
|
||||
'table_no_columns' => 'Tabloda hiç kolan bulunamadı...',
|
||||
'type' => 'Tip',
|
||||
'type_not_supported' => 'Bu tip desteklenöiyor',
|
||||
'unique' => 'BENZERSİZ',
|
||||
'unknown_type' => 'Bilinmeyen Tip',
|
||||
'update_table' => 'Tabloyu güncelle',
|
||||
'url_slug' => 'Link yazısı (benzersiz olmalı)',
|
||||
'url_slug_ph' => 'Link yazısı (ex. gonderi)',
|
||||
'visibility' => 'Görünür',
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'Sayfa|Sayfalar',
|
||||
'page_link_text' => 'Tüm sayfaları Görüntüle',
|
||||
'page_text' => ' :count kadar :string veritabanınızda. Tıklayarak tüm sayfaları görün',
|
||||
'post' => 'Gönderi|Gönderiler',
|
||||
'post_link_text' => 'Tüm Gönderileri Görüntüle',
|
||||
'post_text' => ':count kadar :string veritabanınızda. Tıklayarak tüm Gönderileri görün',
|
||||
'user' => 'Kullanıcı|Kullanıcılar',
|
||||
'user_link_text' => 'Tüm Kullanıcları Görüntüle',
|
||||
'user_text' => ':count kadar :string veritabanınızda. Tıklayarak tüm kullanıcıları görün',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Aynı kalamsı için boş bırakın',
|
||||
'field_select_dd_relationship' => 'Şurada uygun ilişkiyi kurduğunuzdan emin olun. :method methodu ile '.
|
||||
':class sınıfı içinde.',
|
||||
'type_checkbox' => 'Çoklu seçim kutuları',
|
||||
'type_codeeditor' => 'Kod Editörü',
|
||||
'type_file' => 'Dosya',
|
||||
'type_image' => 'Resim',
|
||||
'type_radiobutton' => 'Radio kutular',
|
||||
'type_richtextbox' => 'Metin Editörü',
|
||||
'type_selectdropdown' => 'Seçim Kutusu',
|
||||
'type_textarea' => 'Metin Alanı',
|
||||
'type_textbox' => 'metin Kutusu',
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'Tablo yok',
|
||||
'sInfo' => '_START_ ile _END_ arasında _TOTAL_ kadar kayıt görüntülendi',
|
||||
'sInfoEmpty' => '0 ile 0 arasında 0 kadar kayıt görüntülendi',
|
||||
'sInfoFiltered' => '( _MAX_ toplam bu kadar kayıt filtrelendi)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => ' _MENU_ kayıtlarını göster',
|
||||
'sLoadingRecords' => 'Yükleniyor...',
|
||||
'sProcessing' => 'İşleniyor...',
|
||||
'sSearch' => 'Search:',
|
||||
'sZeroRecords' => 'Eşleşen bir kayıt bulunmamakta',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'İlk',
|
||||
'sLast' => 'Son',
|
||||
'sNext' => 'İleri',
|
||||
'sPrevious' => 'Geri',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': activate artana göre sırala',
|
||||
'sSortDescending' => ': activate azalana göre sırala',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => '<i class="voyager-heart"></i> ile yapıldı',
|
||||
'footer_copyright2' => 'Rom ve daha da fazla romla yapılmış',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'Geçersiz Json',
|
||||
'invalid_message' => 'Doğru olmıyan bir JSON gibi görünüyor',
|
||||
'valid' => 'Doğru Json',
|
||||
'validation_errors' => 'Doğrulama hatası',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'Sayfa görüntülenmeye göre',
|
||||
'by_sessions' => 'Oturuma göre',
|
||||
'by_users' => 'Kullanıcıya göre',
|
||||
'no_client_id' => 'To view analytics you\'ll need to get a google analytics client id and '.
|
||||
'add it to your settings for the key <code>google_analytics_client_id'.
|
||||
'</code>. Get your key in your Google developer console:',
|
||||
'set_view' => 'Görünüm seçin',
|
||||
'this_vs_last_week' => 'Bu Hafta vs Geçen Hafta',
|
||||
'this_vs_last_year' => 'Bu Yıl vs Geçen Yıl',
|
||||
'top_browsers' => 'En çok girilen tarayıcı türü',
|
||||
'top_countries' => 'En çok girilen ülke',
|
||||
'various_visualizations' => 'Çeşitli görünümler',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'Kayıp depolama alanı sembolik bağlantısı sizin için onardık',
|
||||
'symlink_created_title' => 'Kayıp depolama alanı sembolik bağlantısı oluşturuldu',
|
||||
'symlink_failed_text' => 'Kayıp depolama alanı sembolik bağlantısını sizin için oluştururken sorun alıyoruz'.
|
||||
'Sunucunuz bunu desteklemiyor görünüyor.',
|
||||
'symlink_failed_title' => 'Depolama alanı sembolik bağlantısı oluşturulamadı',
|
||||
'symlink_missing_button' => 'Düzelt',
|
||||
'symlink_missing_text' => 'Depolama alanı sembolik bağlantısı bulamadık. Şunun yüzünden olabilir '.
|
||||
'Medya dosyalarını tarayıcıdan yüklerken',
|
||||
'symlink_missing_title' => 'Depolama alanı sembolik bağlantısı eksik',
|
||||
],
|
||||
];
|
||||
394
lang/uk/voyager.php
Normal file
394
lang/uk/voyager.php
Normal file
@@ -0,0 +1,394 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => 'Минулого тижня',
|
||||
'last_year' => 'Минулого року',
|
||||
'this_week' => 'Цього тижня',
|
||||
'this_year' => 'Цього року',
|
||||
],
|
||||
|
||||
'generic' => [
|
||||
'action' => 'Дія',
|
||||
'actions' => 'Дії',
|
||||
'add' => 'Додати',
|
||||
'add_folder' => 'Додати папку',
|
||||
'add_new' => 'Додати',
|
||||
'all_done' => 'Готово',
|
||||
'are_you_sure' => 'Ви впевнені',
|
||||
'are_you_sure_delete' => 'Ви дійсно хочете видалити',
|
||||
'auto_increment' => 'Авто інкремент',
|
||||
'browse' => 'Переглянути список',
|
||||
'builder' => 'Конструктор',
|
||||
'bulk_delete' => 'Видалити відмічені',
|
||||
'bulk_delete_confirm' => 'Так, видалити це',
|
||||
'bulk_delete_nothing' => 'Ви нічого не обрали для видалення!',
|
||||
'cancel' => 'Відміна',
|
||||
'choose_type' => 'Виберіть тип поля',
|
||||
'click_here' => 'Натисніть тут',
|
||||
'close' => 'Закрити',
|
||||
'compass' => 'Компас',
|
||||
'created_at' => 'Дата створення',
|
||||
'custom' => 'Користувацька категорія',
|
||||
'dashboard' => 'Панель управління',
|
||||
'database' => 'База даних',
|
||||
'default' => 'За замовчуванням',
|
||||
'delete' => 'Видалити',
|
||||
'delete_confirm' => 'Так, видалити!',
|
||||
'delete_question' => 'Ви дійсно хотите видалити це?',
|
||||
'delete_this_confirm' => 'Так, видалити це',
|
||||
'deselect_all' => 'Скасувати видалення',
|
||||
'download' => 'Завантаження',
|
||||
'edit' => 'Редагувати',
|
||||
'email' => 'Електронна пошта',
|
||||
'error_deleting' => 'Під час видалення виникла помилка',
|
||||
'exception' => 'Виняток',
|
||||
'featured' => 'Рекомендуємий',
|
||||
'field_does_not_exist' => 'Поле не існує',
|
||||
'how_to_use' => 'Як використовувати',
|
||||
'index' => 'Індекс',
|
||||
'internal_error' => 'Внутрішня помилка',
|
||||
'items' => 'Елемент(и)',
|
||||
'keep_sidebar_open' => 'Розкривати панель',
|
||||
'key' => 'Ключ',
|
||||
'last_modified' => 'Остання зміна',
|
||||
'length' => 'Довжина',
|
||||
'login' => 'Вхід',
|
||||
'media' => 'Медіа',
|
||||
'menu_builder' => 'Конструктор меню',
|
||||
'move' => 'Перемістити',
|
||||
'name' => 'Назва',
|
||||
'new' => 'Новинка',
|
||||
'no' => 'Ні',
|
||||
'no_thanks' => 'Ні, дякую',
|
||||
'not_null' => 'Не Null',
|
||||
'options' => 'Параметри',
|
||||
'password' => 'Пароль',
|
||||
'permissions' => 'Права доступу',
|
||||
'profile' => 'Профіль',
|
||||
'public_url' => 'Загальнодоступна URL-адреса',
|
||||
'read' => 'Переглянути запис',
|
||||
'rename' => 'Перейменувати',
|
||||
'required' => 'Обов\'язковий',
|
||||
'return_to_list' => 'Повернутись до списку',
|
||||
'route' => 'Маршрут',
|
||||
'save' => 'Зберегти',
|
||||
'search' => 'Шукати',
|
||||
'select_all' => 'Вибрати все',
|
||||
'settings' => 'Налаштування',
|
||||
'showing_entries' => 'Показаний від :from до :to з :all запис|Показано від :from до :to з :all записів',
|
||||
'submit' => 'Зберегти',
|
||||
'successfully_added_new' => 'Успішне додання',
|
||||
'successfully_deleted' => 'Успішне видалення',
|
||||
'successfully_updated' => 'Успішне оновлення',
|
||||
'timestamp' => 'Відмітка часу',
|
||||
'title' => 'Назва',
|
||||
'type' => 'Тип',
|
||||
'unsigned' => 'Unsigned',
|
||||
'unstick_sidebar' => 'Відкріпити бокову панель',
|
||||
'update' => 'Оновити',
|
||||
'update_failed' => 'Оновлення не вдалось',
|
||||
'upload' => 'Завантажити на сервер',
|
||||
'url' => 'URL',
|
||||
'view' => 'Переглянути',
|
||||
'viewing' => 'Перегляд',
|
||||
'yes' => 'Так',
|
||||
'yes_please' => 'Так, будь ласка',
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'loggingin' => 'Вхід в систему',
|
||||
'signin_below' => 'Вхід тут:',
|
||||
'welcome' => 'Ласкаво просимо до Voyager. Панель управління, якої не вистачало в Laravel',
|
||||
],
|
||||
|
||||
'profile' => [
|
||||
'avatar' => 'Фото',
|
||||
'edit' => 'Налаштування профілю',
|
||||
'edit_user' => 'Змінити профіль',
|
||||
'password' => 'Пароль',
|
||||
'password_hint' => 'Залиште порожнім, щоб не змінювати',
|
||||
'role' => 'Роль',
|
||||
'user_role' => 'Роль користувача',
|
||||
],
|
||||
|
||||
'settings' => [
|
||||
'usage_help' => 'Для того, щоб отримати значення параметрів, використовуйте в шаблоні код ',
|
||||
'save' => 'Зберегти налаштування',
|
||||
'new' => 'Створити налаштування',
|
||||
'help_name' => 'Назва параметру (наприклад, Мій параметр)',
|
||||
'help_key' => 'Ключ параметру (наприклад, my_parametr)',
|
||||
'help_option' => '(необов\'язково, застосовується тільки до випадаючого списку чи радіо-кнопок)',
|
||||
'add_new' => 'Додати новий параметр',
|
||||
'delete_question' => 'Ви впевнені, що потрібно видалити параметр :setting?',
|
||||
'delete_confirm' => 'Так, видалити цей параметр',
|
||||
'successfully_created' => 'Параметри успішно створені',
|
||||
'successfully_saved' => 'Параметри успішно збережені',
|
||||
'successfully_deleted' => 'Параметри успішно видалені',
|
||||
'already_at_top' => 'Вже розміщено вверху списку',
|
||||
'already_at_bottom' => 'Вже розміщено внизу списку',
|
||||
'moved_order_up' => 'Параметр :name переміщено догори',
|
||||
'moved_order_down' => 'Параметр :name переміщено донизу',
|
||||
'successfully_removed' => 'Успішно видалено значення параметру :name',
|
||||
'group_general' => 'Основне',
|
||||
'group_admin' => 'Адмін',
|
||||
'group_site' => 'Сайт',
|
||||
'group' => 'Група',
|
||||
'help_group' => 'Прив\'язати це налаштування до групи',
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'add_new_folder' => 'Додати нову папку',
|
||||
'audio_support' => 'Ваш браузер не підтримує елемент audio.',
|
||||
'create_new_folder' => 'Створити нову папку',
|
||||
'delete_folder_question' => 'Видалення папки призведе до видалення всього її вмісту.',
|
||||
'destination_folder' => 'Папка призначення',
|
||||
'drag_drop_info' => 'Перетягніть файли мишкою або натисніть на кнопку знизу для завантаження.',
|
||||
'error_already_exists' => 'Файл/папка з такою назвою вже існує в даному каталозі',
|
||||
'error_creating_dir' => 'Не вдалось створити папку: перевірте права доступу',
|
||||
'error_deleting_file' => 'Не вдалось видалити файл: перевірте права доступу',
|
||||
'error_deleting_folder' => 'Не вдалось видалити папку: перевірте права доступу',
|
||||
'error_may_exist' => 'Файл чи папка з такою назвою вже існує: виберіть іншу назву або видаліть існуючий файл!',
|
||||
'error_moving' => 'Не вдалось перемістити файл чи папку: перевірте права доступу.',
|
||||
'error_uploading' => 'Помилка завантаження: сталась невідома помилка!',
|
||||
'folder_exists_already' => 'Папка з такою назвою вже існує: видаліть її, якщо хочете створити нову з такою ж назвою.',
|
||||
'image_does_not_exist' => 'Зображення не існує',
|
||||
'image_removed' => 'Зображення видалено',
|
||||
'library' => 'Медіатека',
|
||||
'loading' => 'ЙДЕ ЗАВАНТАЖЕННЯ ВАШИХ ФАЙЛІВ',
|
||||
'move_file_folder' => 'Перемістити файл/папку',
|
||||
'new_file_folder' => 'Нова назва файлу/папки',
|
||||
'new_folder_name' => 'Нова назва папки',
|
||||
'no_files_here' => 'Тут немає файлів',
|
||||
'no_files_in_folder' => 'Відсутні файли в даній папці',
|
||||
'nothing_selected' => 'Нічого не обрано',
|
||||
'rename_file_folder' => 'Перейменувати файл/папку',
|
||||
'success_uploaded_file' => 'Успішне завантаження файлу!',
|
||||
'success_uploading' => 'Успішне завантаження зображення!',
|
||||
'uploading_wrong_type' => 'Помилка завантаження: непідтримуваний формат файлу або завеликий розмір файлу для завантаження!',
|
||||
'video_support' => 'Ваш браузер не підтримує елемент video.',
|
||||
'crop' => 'Обрізати',
|
||||
'crop_and_create' => 'Обрізати та створити',
|
||||
'crop_override_confirm' => 'Існуюче зображення буде змінене, ви впевнені?',
|
||||
'crop_image' => 'Обрізати зображення',
|
||||
'success_crop_image' => 'Зображення успішно обрізано',
|
||||
'height' => 'Висота: ',
|
||||
'width' => 'Ширина: ',
|
||||
],
|
||||
|
||||
'menu_builder' => [
|
||||
'color' => 'Колір в RGB чи hex (необов\'язково)',
|
||||
'color_ph' => 'Колір (наприклад, #ffffff чи rgb(255, 255, 255)',
|
||||
'create_new_item' => 'Створити новий пункт меню',
|
||||
'delete_item_confirm' => 'Так, видалити цей пункт меню',
|
||||
'delete_item_question' => 'Ви впевнені, що хочете видалити цей пункт меню?',
|
||||
'drag_drop_info' => 'Перетягніть пункти меню нижче, щоб змінити їх порядок.',
|
||||
'dynamic_route' => 'Динамічний шлях',
|
||||
'edit_item' => 'Редагувати пункт меню',
|
||||
'icon_class' => 'Іконка для пункту меню (Використовуйте ',
|
||||
'icon_class2' => 'Voyager Font Class</a>)',
|
||||
'icon_class_ph' => 'Іконка (необов\'язково)',
|
||||
'item_route' => 'Шлях для пункту меню',
|
||||
'item_title' => 'Назва пункту меню',
|
||||
'link_type' => 'Тип посилання',
|
||||
'new_menu_item' => 'Новий пункт меню',
|
||||
'open_in' => 'Відкрити в',
|
||||
'open_new' => 'Нова вкладка/вікно',
|
||||
'open_same' => 'Та ж вкладка/вікно',
|
||||
'route_parameter' => 'Параметри шляху (якщо є)',
|
||||
'static_url' => 'Статичний URL',
|
||||
'successfully_created' => 'Пункт меню успішно створено.',
|
||||
'successfully_deleted' => 'Пункт меню успішно видалено.',
|
||||
'successfully_updated' => 'Пункт меню успішно оновлено.',
|
||||
'updated_order' => 'Структуру меню успішно оновлено.',
|
||||
'url' => 'URL для пункту меню',
|
||||
'usage_hint' => 'Ви можете вивести меню в будь-якому місці вашого сайту, викликавши |Ви можете вивести це меню в будь-якому місці вашого сайту, викликавши ',
|
||||
],
|
||||
|
||||
'post' => [
|
||||
'category' => 'Категорія повідомлення',
|
||||
'content' => 'Текст повідомлення',
|
||||
'details' => 'Властивості',
|
||||
'excerpt' => 'Анонс <small>Короткий опис статті</small>',
|
||||
'image' => 'Зображення',
|
||||
'meta_description' => 'Опис (meta)',
|
||||
'meta_keywords' => 'Ключові слова (meta)',
|
||||
'new' => 'Опублікувати',
|
||||
'seo_content' => 'SEO текст',
|
||||
'seo_title' => 'SEO назва',
|
||||
'slug' => 'Посилання',
|
||||
'status' => 'Статус публікації',
|
||||
'status_draft' => 'Чернетка',
|
||||
'status_pending' => 'На модерації',
|
||||
'status_published' => 'Опубліковано',
|
||||
'title' => 'Заголовок',
|
||||
'title_sub' => 'Назва статті',
|
||||
'update' => 'Оновити',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'add_bread' => 'Додати BREAD до даної таблиці',
|
||||
'add_new_column' => 'Додати новий стовпчик',
|
||||
'add_softdeletes' => 'Додати Soft Deletes',
|
||||
'add_timestamps' => 'Додати мітки часу',
|
||||
'already_exists' => 'Вже існує',
|
||||
'already_exists_table' => 'Таблиця :table вже існує',
|
||||
'bread_crud_actions' => 'BREAD/CRUD дії',
|
||||
'bread_info' => 'BREAD інформація',
|
||||
'column' => 'Стовпчик',
|
||||
'composite_warning' => 'Попередження: цей стовпчик є частиною складового індексу',
|
||||
'controller_name' => 'Назва контролера',
|
||||
'controller_name_hint' => 'наприклад, порожній PageController, буде використовувати BREAD Controller',
|
||||
'create_bread_for_table' => 'Створити BREAD для таблиці :table',
|
||||
'create_migration' => 'Створити міграцію для даної таблиці?',
|
||||
'create_model_table' => 'Створити модель для даної таблиці?',
|
||||
'create_new_table' => 'Створити нову таблицю',
|
||||
'create_your_new_table' => 'Створити вашу нову таблицю',
|
||||
'default' => 'За замовчуванням',
|
||||
'delete_bread' => 'Видалити BREAD',
|
||||
'delete_bread_before_table' => 'Перед видаленням таблиці обов\'язково видаліть BREAD таблиці.',
|
||||
'delete_table_bread_conf' => 'Так, видалити BREAD',
|
||||
'delete_table_bread_quest' => 'Ви впевнені, що хочете видалити BREAD для таблиці :table?',
|
||||
'delete_table_confirm' => 'Так, видалити таблицю',
|
||||
'delete_table_question' => 'Ви дійсно хочете видалити таблицю :table?',
|
||||
'description' => 'Опис',
|
||||
'display_name' => 'Відображена назва',
|
||||
'display_name_plural' => 'Відображена назва (в множині)',
|
||||
'display_name_singular' => 'Відображена назва (в однині)',
|
||||
'edit_bread' => 'Редагувати BREAD',
|
||||
'edit_bread_for_table' => 'Редагувати BREAD для таблиці :table',
|
||||
'edit_rows' => 'Редагувати рядки таблиці :table нижче',
|
||||
'edit_table' => 'Редагувати таблицю :table нижче',
|
||||
'edit_table_not_exist' => 'Таблиці, яку ви хочете редагувати, не існує',
|
||||
'error_creating_bread' => 'Схоже, виникла проблема з створенням даного BREAD',
|
||||
'error_removing_bread' => 'Схоже, виникла проблема з видаленням даного BREAD',
|
||||
'error_updating_bread' => 'Схоже, виникла проблема з оновленням даного BREAD',
|
||||
'extra' => 'Додатково',
|
||||
'field' => 'Поле',
|
||||
'field_safe_failed' => 'Не вдалось зберегти поле :field, буде проведено відкат до попереднього значення.',
|
||||
'generate_permissions' => 'Створення прав доступу',
|
||||
'icon_class' => 'Значок для даної таблиці',
|
||||
'icon_hint' => 'Значок для (необов\'язково)',
|
||||
'icon_hint2' => 'Voyager Font Class',
|
||||
'index' => 'INDEX',
|
||||
'input_type' => 'Тип вводу',
|
||||
'key' => 'Ключ',
|
||||
'model_class' => 'Назва класу моделі',
|
||||
'model_name' => 'Назва моделі',
|
||||
'model_name_ph' => 'наприклад \App\Models\User, якщо залишити порожнім - спробує використати назву таблиці',
|
||||
'name_warning' => 'Вкажіть стовпчик перед додаванням індексу',
|
||||
'no_composites_warning' => 'В даній таблиці присутній складовий індекс. Зверніть увагу, що на даний момент вони не підтримуються. Будьте обережні при додаванні/видаленні індексів.',
|
||||
'null' => 'Null',
|
||||
'optional_details' => 'Необов\'язкові відомості',
|
||||
'policy_class' => 'Назва класу політики',
|
||||
'policy_name' => 'Назва політики',
|
||||
'policy_name_ph' => 'наприклад \App\Policies\UserPolicy, якщо залишити порожнім - спробує використати політику за замовчуванням',
|
||||
'primary' => 'ПЕРВИННИЙ КЛЮЧ',
|
||||
'server_pagination' => 'Пагінація на стороні сервера',
|
||||
'success_create_table' => 'Таблиця :table успішно створена',
|
||||
'success_created_bread' => 'Новий BREAD успішно створений',
|
||||
'success_delete_table' => 'Таблиця :table успішно видалена',
|
||||
'success_remove_bread' => 'BREAD успішно видалений з :datatype',
|
||||
'success_update_bread' => 'BREAD успішно оновлений в :datatype',
|
||||
'success_update_table' => 'Таблиця :table успішно оновлена',
|
||||
'table_actions' => 'Дії з таблицею',
|
||||
'table_columns' => 'Стовпчики таблиці',
|
||||
'table_has_index' => 'В даній таблиці вже є первинний ключ.',
|
||||
'table_name' => 'Назва таблиці',
|
||||
'table_no_columns' => 'В таблиці відсутні стовпчики...',
|
||||
'type' => 'Тип',
|
||||
'type_not_supported' => 'Даний тип не підтримується',
|
||||
'unique' => 'UNIQUE',
|
||||
'unknown_type' => 'Невідомий тип',
|
||||
'update_table' => 'Оновити таблицю',
|
||||
'url_slug' => 'URL Slug (пвинен бути унікальним)',
|
||||
'url_slug_ph' => 'URL slug (наприклад, posts)',
|
||||
'visibility' => 'Видимість',
|
||||
],
|
||||
|
||||
'dimmer' => [
|
||||
'page' => 'сторінка|сторінки',
|
||||
'page_link_text' => 'Всі сторінки',
|
||||
'page_text' => 'В базі даних :count :string',
|
||||
'post' => 'запис|записи',
|
||||
'post_link_text' => 'Всі записи',
|
||||
'post_text' => 'В базі даних :count :string',
|
||||
'user' => 'користувач|користувачів',
|
||||
'user_link_text' => 'Всі користувачі',
|
||||
'user_text' => 'В базі даних :count :string',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
'field_password_keep' => 'Залиште порожнім, якщо не хочете змінювати пароль',
|
||||
'field_select_dd_relationship' => 'Обов\'язково налаштуйте відповідні стосунки (relationship) в методі :method класу :class.',
|
||||
'type_checkbox' => 'Чекбокс',
|
||||
'type_codeeditor' => 'Редактор коду',
|
||||
'type_file' => 'Файл',
|
||||
'type_image' => 'Зображення',
|
||||
'type_radiobutton' => 'Радіо-кнопка',
|
||||
'type_richtextbox' => 'Візуальний редактор',
|
||||
'type_selectdropdown' => 'Випадаючий список',
|
||||
'type_textarea' => 'Текстове поле',
|
||||
'type_textbox' => 'Поле вводу',
|
||||
],
|
||||
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => 'В таблиці немає даних',
|
||||
'sInfo' => 'Показано від _START_ до _END_ з _TOTAL_ записів',
|
||||
'sInfoEmpty' => 'Показано 0 з 0 записів',
|
||||
'sInfoFiltered' => '(вибрано з _MAX_ записів)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => 'Показати _MENU_ записів',
|
||||
'sLoadingRecords' => 'Загрузка записів...',
|
||||
'sProcessing' => 'Зачекайте...',
|
||||
'sSearch' => 'Пошук:',
|
||||
'sZeroRecords' => 'Записи відсутні',
|
||||
'oPaginate' => [
|
||||
'sFirst' => 'Перша',
|
||||
'sLast' => 'Остання',
|
||||
'sNext' => 'Наступна',
|
||||
'sPrevious' => 'Попередня',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': активувати для сортування стовпчика за зростанням',
|
||||
'sSortDescending' => ': активувати для сортування стовпчика за спаданням',
|
||||
],
|
||||
],
|
||||
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Зроблено з <i class="voyager-heart"></i> ',
|
||||
'footer_copyright2' => 'Зроблено під ромом :) ',
|
||||
],
|
||||
|
||||
'json' => [
|
||||
'invalid' => 'неправильний формат JSON',
|
||||
'invalid_message' => 'Введено неправильний формат JSON',
|
||||
'valid' => 'Правильний формат JSON',
|
||||
'validation_errors' => 'Помилки при перевірці даних',
|
||||
],
|
||||
|
||||
'analytics' => [
|
||||
'by_pageview' => 'По сторінках',
|
||||
'by_sessions' => 'По сесіях',
|
||||
'by_users' => 'По користувачах',
|
||||
'no_client_id' => 'Для активації аналітики необхідно отримати ідентифікатор клієнта Google Analytics та додати його в поле <code>google_analytics_client_id</code> меню налаштувань. Отримати код Google Analytics: ',
|
||||
'set_view' => 'Виберіть вид',
|
||||
'this_vs_last_week' => 'Поточний тиждень в порівнянні з попереднім.',
|
||||
'this_vs_last_year' => 'Поточний рік в порівнянні з попереднім',
|
||||
'top_browsers' => 'Найкращі браузери',
|
||||
'top_countries' => 'Найкращі країни',
|
||||
'various_visualizations' => 'Різноманітні візуалізації',
|
||||
],
|
||||
|
||||
'error' => [
|
||||
'symlink_created_text' => 'Ми щойно створили посилання для вас.',
|
||||
'symlink_created_title' => 'Створено відсутнє посилання на сховище даних.',
|
||||
'symlink_failed_text' => 'Не вдалось створити відсутнє посилання: схоже, справа в хостингу.',
|
||||
'symlink_failed_title' => 'Не вдалось створити посилання для сховища даних.',
|
||||
'symlink_missing_button' => 'Виправте',
|
||||
'symlink_missing_text' => 'Не знайдено посилання на сховище даних: це може спричинити проблеми з завантаженням медіафайлів.',
|
||||
'symlink_missing_title' => 'Відсутнє посилання на сховище даних.',
|
||||
],
|
||||
];
|
||||
374
lang/zh_CN/voyager.php
Normal file
374
lang/zh_CN/voyager.php
Normal file
@@ -0,0 +1,374 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'date' => [
|
||||
'last_week' => '上周',
|
||||
'last_year' => '去年',
|
||||
'this_week' => '本周',
|
||||
'this_year' => '今年',
|
||||
],
|
||||
'generic' => [
|
||||
'action' => '操作',
|
||||
'actions' => '操作',
|
||||
'add' => '添加',
|
||||
'add_folder' => '添加文件夹',
|
||||
'add_new' => '添加',
|
||||
'all_done' => '已全部完成',
|
||||
'are_you_sure' => '您确定吗?',
|
||||
'are_you_sure_delete' => '你确定要删除吗',
|
||||
'auto_increment' => '自增',
|
||||
'browse' => '浏览',
|
||||
'builder' => '构建器',
|
||||
'bulk_delete' => '删除选中',
|
||||
'bulk_delete_confirm' => '是的, 删除这些',
|
||||
'bulk_delete_nothing' => '没有选择要删除的内容',
|
||||
'cancel' => '取消',
|
||||
'choose_type' => '选择类型',
|
||||
'click_here' => '点击这里',
|
||||
'close' => '关闭',
|
||||
'compass' => '指南针',
|
||||
'created_at' => 'created_at',
|
||||
'custom' => '自定义',
|
||||
'dashboard' => '控制面板',
|
||||
'database' => '数据库',
|
||||
'default' => '默认',
|
||||
'delete' => '删除',
|
||||
'delete_confirm' => '是的,删除它!',
|
||||
'delete_question' => '您确定要删除它吗?',
|
||||
'delete_this_confirm' => '是的,我要删除!',
|
||||
'deselect_all' => '反选全部',
|
||||
'download' => '下载',
|
||||
'edit' => '编辑',
|
||||
'email' => '电子邮件',
|
||||
'error_deleting' => '抱歉,在删除过程中出现了问题',
|
||||
'exception' => '异常',
|
||||
'featured' => '特色',
|
||||
'field_does_not_exist' => '字段不存在',
|
||||
'how_to_use' => '如何使用',
|
||||
'index' => 'INDEX',
|
||||
'internal_error' => '内部错误',
|
||||
'items' => '项目',
|
||||
'keep_sidebar_open' => '保持边栏处在打开状态',
|
||||
'key' => '键',
|
||||
'last_modified' => 'last_modified',
|
||||
'length' => '长度',
|
||||
'login' => '登录',
|
||||
'media' => '媒体',
|
||||
'menu_builder' => '菜单生成器',
|
||||
'move' => '移动',
|
||||
'name' => '命名',
|
||||
'new' => '新',
|
||||
'no' => '没有',
|
||||
'no_thanks' => '不,谢谢',
|
||||
'not_null' => '非空',
|
||||
'options' => '选项',
|
||||
'password' => '密码',
|
||||
'permissions' => '权限',
|
||||
'profile' => '个人资料',
|
||||
'public_url' => '公开 URL',
|
||||
'read' => '读',
|
||||
'rename' => '重命名',
|
||||
'required' => '必须',
|
||||
'return_to_list' => '返回列表',
|
||||
'route' => '路由',
|
||||
'save' => '保存',
|
||||
'search' => '搜索',
|
||||
'select_all' => '选择全部',
|
||||
'settings' => '设置',
|
||||
'showing_entries' => '展示从 :from 到 :to 项结果,共 :all 项|展示从 :from 到 :to 项结果,共 :all 项',
|
||||
'submit' => '发布',
|
||||
'successfully_added_new' => '添加成功',
|
||||
'successfully_deleted' => '删除成功',
|
||||
'successfully_updated' => '更新成功',
|
||||
'timestamp' => '时间戳',
|
||||
'title' => '标题',
|
||||
'type' => '类型',
|
||||
'unsigned' => 'Unsigned',
|
||||
'unstick_sidebar' => '取消固定侧边栏',
|
||||
'update' => '更新',
|
||||
'update_failed' => '更新失败',
|
||||
'upload' => '上传',
|
||||
'url' => '网址',
|
||||
'view' => '视图',
|
||||
'viewing' => '查看',
|
||||
'yes' => '好的',
|
||||
'yes_please' => '好的,就这样做',
|
||||
],
|
||||
'login' => [
|
||||
'loggingin' => '正在登录',
|
||||
'signin_below' => '在下方登录:',
|
||||
'welcome' => '欢迎使用 Voyager - 不可错过的 Laravel 后台管理框架',
|
||||
],
|
||||
'profile' => [
|
||||
'avatar' => '头像',
|
||||
'edit' => '更改个人资料',
|
||||
'edit_user' => '编辑用户',
|
||||
'password' => '密码',
|
||||
'password_hint' => '留空为不修改密码',
|
||||
'role' => '权限',
|
||||
'user_role' => '用户权限',
|
||||
],
|
||||
'settings' => [
|
||||
'usage_help' => '通过调用,您可以在站点的任何地方获得每个设置的值',
|
||||
'save' => '保存设置',
|
||||
'new' => '新设置',
|
||||
'help_name' => '设置名称 例如:管理标题',
|
||||
'help_key' => '设置键(key) 例如:admin_title',
|
||||
'help_option' => '(可选。仅适用于下拉框或单选按钮之类的某些类型)',
|
||||
'add_new' => '添加新设置',
|
||||
'delete_question' => '您确定要删除 :setting 设置吗?',
|
||||
'delete_confirm' => '是的,删除此设置',
|
||||
'successfully_created' => '成功创建了设置',
|
||||
'successfully_saved' => '成功保存设置',
|
||||
'successfully_deleted' => '成功删除设置',
|
||||
'already_at_top' => '已经在顶部了',
|
||||
'already_at_bottom' => '已经在底部了',
|
||||
'key_already_exists' => '键 :key 已存在',
|
||||
'moved_order_up' => '已将 :name 设置抬升',
|
||||
'moved_order_down' => '已将 :name 设置下沉',
|
||||
'successfully_removed' => '成功移除 :name 的值',
|
||||
'group_general' => '概览',
|
||||
'group_admin' => '管理',
|
||||
'group_site' => '站点',
|
||||
'group' => '组',
|
||||
'help_group' => '这个设置被分配给',
|
||||
],
|
||||
'media' => [
|
||||
'add_new_folder' => '添加新文件夹',
|
||||
'audio_support' => '您的浏览器不支持音频元素。',
|
||||
'create_new_folder' => '创建新文件夹',
|
||||
'delete_folder_question' => '此操作将连同其内的所有文件和文件夹一并删除',
|
||||
'destination_folder' => '目标文件夹',
|
||||
'drag_drop_info' => '拖放文件或点击下面的上传',
|
||||
'error_already_exists' => '对不起,相同名称的文件 / 文件夹已存在。',
|
||||
'error_creating_dir' => '对不起,创建目录似乎出了问题,请检查您的权限',
|
||||
'error_deleting_file' => '抱歉,在删除此文件时出现了错误,请检查您的权限',
|
||||
'error_deleting_folder' => '对不起,在删除此文件夹时出现了错误,请检查您的权限',
|
||||
'error_may_exist' => '可能已存在同名的文件或文件夹。请选择另一个名称或删除现有文件。',
|
||||
'error_moving' => '对不起,在移动文件 / 文件夹时出现了问题,请确保您有正确的权限。',
|
||||
'error_uploading' => '上传失败:发生未知错误!',
|
||||
'folder_exists_already' => '对不起,文件夹已经存在,如果您想重新创建,请删除该文件夹',
|
||||
'image_does_not_exist' => '图片不存在',
|
||||
'image_removed' => '图片已删除',
|
||||
'library' => '媒体库',
|
||||
'loading' => '加载你的媒体文件',
|
||||
'move_file_folder' => '移动文件或文件夹',
|
||||
'new_file_folder' => '新文件 / 文件夹的名字',
|
||||
'new_folder_name' => '新文件夹名称',
|
||||
'no_files_here' => '没有文件。',
|
||||
'no_files_in_folder' => '这个文件夹中没有文件。',
|
||||
'nothing_selected' => '没有选择文件或文件夹',
|
||||
'rename_file_folder' => '重命名文件或文件夹',
|
||||
'success_uploaded_file' => '成功上传新文件!',
|
||||
'success_uploading' => '图片上传成功!',
|
||||
'uploading_wrong_type' => '上传失败:不受支持的文件格式,或是它文件过大而无法上传!',
|
||||
'video_support' => '您的浏览器不支持视频标签。',
|
||||
],
|
||||
'menu_builder' => [
|
||||
'color' => 'RGB或hex中的颜色(可选)',
|
||||
'color_ph' => '颜色 (例如:#ffffff 或 rgb(255, 255, 255)',
|
||||
'create_new_item' => '创建一个新的菜单项',
|
||||
'delete_item_confirm' => '是的,删除这个菜单项',
|
||||
'delete_item_question' => '您确定要删除这个菜单项吗?',
|
||||
'drag_drop_info' => '拖放下面的菜单项重新排列。',
|
||||
'dynamic_route' => '动态路由',
|
||||
'edit_item' => '编辑菜单项',
|
||||
'icon_class' => '菜单项的字体图标类(使用',
|
||||
'icon_class2' => 'Voyager 图标库</a>)',
|
||||
'icon_class_ph' => 'Icon Class(可选)',
|
||||
'item_route' => '菜单项的路由',
|
||||
'item_title' => '菜单项的标题',
|
||||
'link_type' => '链接类型',
|
||||
'new_menu_item' => '新菜单项',
|
||||
'open_in' => '打开',
|
||||
'open_new' => '新标签页 / 窗口打开',
|
||||
'open_same' => '在相同标签 / 窗口打开',
|
||||
'route_parameter' => '路由参数(如果存在)',
|
||||
'static_url' => '静态 URL',
|
||||
'successfully_created' => '成功创建新菜单项。',
|
||||
'successfully_deleted' => '成功删除菜单项。',
|
||||
'successfully_updated' => '成功更新菜单项。',
|
||||
'updated_order' => '成功更新菜单顺序。',
|
||||
'url' => '菜单项的 URL',
|
||||
'usage_hint' => 'You can output a menu anywhere on your site by calling|You can output '.
|
||||
'this menu anywhere on your site by calling',
|
||||
],
|
||||
'post' => [
|
||||
'category' => '分类目录',
|
||||
'content' => '文章内容',
|
||||
'details' => '文章详细信息',
|
||||
'excerpt' => '文章摘要 <small>对该篇文章的简短描述</small>',
|
||||
'image' => '文章图片',
|
||||
'meta_description' => 'Meta Description',
|
||||
'meta_keywords' => 'Meta Keywords',
|
||||
'new' => '创建新文章',
|
||||
'seo_content' => 'SEO Content',
|
||||
'seo_title' => 'Seo Title',
|
||||
'slug' => 'URL Slug',
|
||||
'status' => '发布状态',
|
||||
'status_draft' => '草稿',
|
||||
'status_pending' => '待审核',
|
||||
'status_published' => '已发布',
|
||||
'title' => '文章标题',
|
||||
'title_sub' => '该篇文章的标题',
|
||||
'update' => '更新文章',
|
||||
],
|
||||
'database' => [
|
||||
'add_bread' => '添加 BREAD 至该表',
|
||||
'add_new_column' => '添加新列',
|
||||
'add_softdeletes' => '添加 Soft Deletes',
|
||||
'add_timestamps' => '添加时间戳',
|
||||
'already_exists' => '已存在',
|
||||
'already_exists_table' => '表 :table 已经存在',
|
||||
'bread_crud_actions' => 'BREAD / CRUD 操作',
|
||||
'bread_info' => 'BREAD 信息',
|
||||
'column' => '列',
|
||||
'composite_warning' => '警告:此列是复合索引的一部分',
|
||||
'controller_name' => 'Controller 名称',
|
||||
'controller_name_hint' => '例如:PageController,如果留空将使用自带的 BREAD Controller',
|
||||
'create_bread_for_table' => '为表 :table 创建 BREAD',
|
||||
'create_migration' => '为该表创建迁移?',
|
||||
'create_model_table' => '为该表创建模型(Model)?',
|
||||
'create_new_table' => '创建新表',
|
||||
'create_your_new_table' => '创建新表',
|
||||
'default' => '默认',
|
||||
'delete_bread' => '删除 BREAD',
|
||||
'delete_bread_before_table' => '请务必在删除表前先删除该表的 BREAD。',
|
||||
'delete_table_bread_conf' => '是的,删除该 BREAD',
|
||||
'delete_table_bread_quest' => '你确定要删除 :table 表的 BREAD吗?',
|
||||
'delete_table_confirm' => '是的,删除该表',
|
||||
'delete_table_question' => '您确定要删除 :table 表吗?',
|
||||
'description' => '描述',
|
||||
'display_name' => '显示名称',
|
||||
'display_name_plural' => '显示名称(复数)',
|
||||
'display_name_singular' => '显示名称(单数)',
|
||||
'edit_bread' => '编辑 BREAD',
|
||||
'edit_bread_for_table' => '编辑 BREAD :table',
|
||||
'edit_rows' => '在下方编辑 :table 行',
|
||||
'edit_table' => '在下方编辑 :table 表',
|
||||
'edit_table_not_exist' => '您想要编辑的表不存在',
|
||||
'error_creating_bread' => '很抱歉,在创建 BREAD 时出现了问题',
|
||||
'error_removing_bread' => '很抱歉,在删除 BREAD 时出现了问题',
|
||||
'error_updating_bread' => '很抱歉,在更新 BREAD 时出现了问题',
|
||||
'extra' => '额外',
|
||||
'field' => '字段',
|
||||
'field_safe_failed' => '未能保存字段 :field,正在回滚操作!',
|
||||
'generate_permissions' => '权限生成',
|
||||
'icon_class' => '用于该表的图标',
|
||||
'icon_hint' => '使用图标(可选)',
|
||||
'icon_hint2' => 'Voyager 字体类',
|
||||
'index' => 'INDEX',
|
||||
'input_type' => '输入类型',
|
||||
'key' => '键',
|
||||
'model_class' => '模型类名称',
|
||||
'model_name' => '模型名称',
|
||||
'model_name_ph' => '如果左侧留空,将尝试使用表名',
|
||||
'name_warning' => '请在添加索引之前给列命名',
|
||||
'no_composites_warning' => '此表有复合索引。请注意,他们目前不受支持。在尝试添加 / 删除索引时要小心。',
|
||||
'null' => '空',
|
||||
'optional_details' => '可选细项',
|
||||
'primary' => '主',
|
||||
'server_pagination' => '服务器端分页',
|
||||
'success_create_table' => '成功创建了:table 表',
|
||||
'success_created_bread' => '成功创建 BREAD',
|
||||
'success_delete_table' => '成功删除表 :table',
|
||||
'success_remove_bread' => '成功地从 :datatype 中移除 BREAD',
|
||||
'success_update_bread' => '成功更新 :datatype BREAD',
|
||||
'success_update_table' => '成功更新 :table 表',
|
||||
'table_actions' => '表操作',
|
||||
'table_columns' => '表列',
|
||||
'table_has_index' => '该表已经有一个主索引。',
|
||||
'table_name' => '表名',
|
||||
'table_no_columns' => '该表没有列…',
|
||||
'type' => '类型',
|
||||
'type_not_supported' => '不支持这种类型',
|
||||
'unique' => '唯一',
|
||||
'unknown_type' => '未知类型',
|
||||
'update_table' => '更新表',
|
||||
'url_slug' => 'URL Slug(必须是唯一的)',
|
||||
'url_slug_ph' => 'URL Slug(例如文章)',
|
||||
'visibility' => '可见性',
|
||||
],
|
||||
'dimmer' => [
|
||||
'page' => '页面|页面',
|
||||
'page_link_text' => '查看所有页面',
|
||||
'page_text' => '您有 :count :string 在数据库中。点击下面的按钮查看所有页面。',
|
||||
'post' => '文章|文章',
|
||||
'post_link_text' => '查看所有的帖子',
|
||||
'post_text' => '您有 :count :string 在数据库中。点击下面的按钮查看所有文章。',
|
||||
'user' => '用户|用户',
|
||||
'user_link_text' => '查看所有用户',
|
||||
'user_text' => '您有 :count :string 在数据库中。点击下面的按钮查看所有用户。',
|
||||
],
|
||||
'form' => [
|
||||
'field_password_keep' => '留空以保持不变',
|
||||
'field_select_dd_relationship' => '确保在 :class 类的 :method 方法中设置适当的关系。',
|
||||
'type_checkbox' => '复选框',
|
||||
'type_codeeditor' => '代码编辑器',
|
||||
'type_file' => '文件',
|
||||
'type_image' => '图像',
|
||||
'type_radiobutton' => '单选按钮',
|
||||
'type_richtextbox' => '富文本框',
|
||||
'type_selectdropdown' => '选择下拉',
|
||||
'type_textarea' => '文本区域',
|
||||
'type_textbox' => '文本框',
|
||||
],
|
||||
// DataTable translations from: https://github.com/DataTables/Plugins/tree/master/i18n
|
||||
'datatable' => [
|
||||
'sEmptyTable' => '处理中...',
|
||||
'sInfo' => '显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项',
|
||||
'sInfoEmpty' => '显示第 0 至 0 项结果,共 0 项',
|
||||
'sInfoFiltered' => '(由 _MAX_ 项结果过滤)',
|
||||
'sInfoPostFix' => '',
|
||||
'sInfoThousands' => ',',
|
||||
'sLengthMenu' => '显示 _MENU_ 项结果',
|
||||
'sLoadingRecords' => '载入中...',
|
||||
'sProcessing' => '处理中...',
|
||||
'sSearch' => '搜索:',
|
||||
'sZeroRecords' => '没有匹配结果',
|
||||
'oPaginate' => [
|
||||
'sFirst' => '首页',
|
||||
'sLast' => '末页',
|
||||
'sNext' => '下页',
|
||||
'sPrevious' => '上页',
|
||||
],
|
||||
'oAria' => [
|
||||
'sSortAscending' => ': 以升序排列此列',
|
||||
'sSortDescending' => ': 以降序排列此列',
|
||||
],
|
||||
],
|
||||
'theme' => [
|
||||
'footer_copyright' => 'Made with <i class="voyager-heart"></i> by',
|
||||
'footer_copyright2' => 'Made with rum and even more rum',
|
||||
],
|
||||
'json' => [
|
||||
'invalid' => '无效的 Json',
|
||||
'invalid_message' => '看起来您引入了一些无效的 JSON',
|
||||
'valid' => '有效的 Json',
|
||||
'validation_errors' => '验证错误',
|
||||
],
|
||||
'analytics' => [
|
||||
'by_pageview' => 'By pageview',
|
||||
'by_sessions' => 'By sessions',
|
||||
'by_users' => 'By users',
|
||||
'no_client_id' => 'To view analytics you\'ll need to get a google analytics client id and '.
|
||||
'add it to your settings for the key <code>google_analytics_client_id'.
|
||||
'</code>. Get your key in your Google developer console:',
|
||||
'set_view' => 'Select a View',
|
||||
'this_vs_last_week' => 'This Week vs Last Week',
|
||||
'this_vs_last_year' => 'This Year vs Last Year',
|
||||
'top_browsers' => 'Top Browsers',
|
||||
'top_countries' => 'Top Countries',
|
||||
'various_visualizations' => 'Various visualizations',
|
||||
],
|
||||
'error' => [
|
||||
'symlink_created_text' => '我们刚刚为您创建了缺失的软连接。',
|
||||
'symlink_created_title' => '丢失的存储软连接已被重新创建',
|
||||
'symlink_failed_text' => '我们未能为您的应用程序生成缺失的软连接,似乎您的主机提供商不支持它。',
|
||||
'symlink_failed_title' => '无法创建丢失的存储软连接',
|
||||
'symlink_missing_button' => '修复',
|
||||
'symlink_missing_text' => '我们找不到一个存储软连接,这可能会导致'.
|
||||
'从浏览器加载媒体文件的问题。',
|
||||
'symlink_missing_title' => '缺失的存储软连接',
|
||||
],
|
||||
];
|
||||
286
lang/zh_HK.json
Normal file
286
lang/zh_HK.json
Normal file
@@ -0,0 +1,286 @@
|
||||
{
|
||||
"Hi, :Name! Welcome back!": "Hi, :Name! Welcome back!",
|
||||
"Here's what you can do to get started.": "Here's what you can do to get started.",
|
||||
"Start a new company": "Start a new company",
|
||||
"Bookkeeping Service": "Bookkeeping Service",
|
||||
"Have a question?": "Have a question?",
|
||||
"Company Secretary Service": "Company Secretary Service",
|
||||
"Digital Transformation": "Digital Transformation",
|
||||
"Add account": "Add account",
|
||||
"Log out this account": "Log out this account",
|
||||
"Notification": "Notification",
|
||||
"Service Chat": "Service Chat",
|
||||
"You got a new reply!": "You got a new reply!",
|
||||
"Check": "Check",
|
||||
"Bookkeeping Queue": "Bookkeeping Queue",
|
||||
"Entry Completed": "Entry Completed",
|
||||
"Com Sec Service Queue": "Com Sec Service Queue",
|
||||
"Failed": "Failed",
|
||||
"User": "User",
|
||||
"Add new user": "Add new user",
|
||||
"User List": "User List",
|
||||
"Access Log": "Access Log",
|
||||
"First name": "First name",
|
||||
"Last name": "Last name",
|
||||
"Phone number": "Phone number",
|
||||
"Access level": "Access level",
|
||||
"Status": "Status",
|
||||
"Action": "Action",
|
||||
"Date": "Date",
|
||||
"Time": "Time",
|
||||
"Event": "Event",
|
||||
"Description": "Description",
|
||||
"User Detail": "User Detail",
|
||||
"Password": "Password",
|
||||
"Confirm Password": "Confirm Password",
|
||||
"Phone": "Phone",
|
||||
"Email": "Email",
|
||||
"Select an option": "Select an option",
|
||||
"Active": "Active",
|
||||
"Inactive": "Inactive",
|
||||
"Save": "Save",
|
||||
"Cancel": "Cancel",
|
||||
"All changes have been saved!": "All changes have been saved!",
|
||||
"Back": "Back",
|
||||
"User details has successfully retrieved!": "User details has successfully retrieved!",
|
||||
"Suspend user": "Suspend user",
|
||||
"Remove user": "Remove user",
|
||||
"View user log": "View user log",
|
||||
"Edit user": "Edit user",
|
||||
"Are you sure?": "Are you sure?",
|
||||
"You would not be able to revert this!": "You would not be able to revert this!",
|
||||
"Yes": "Yes",
|
||||
"User has successfully activated!": "User has successfully activated!",
|
||||
"User has successfully suspended!": "User has successfully suspended!",
|
||||
"User has successfully removed": "User has successfully removed",
|
||||
"Current Password": "Current Password",
|
||||
"The current password is incorrect.": "The current password is incorrect.",
|
||||
"User Log": "User Log",
|
||||
"No data available in table": "No data available in table",
|
||||
"CRM": "CRM",
|
||||
"Company": "Company",
|
||||
"Search": "Search",
|
||||
"Company Name": "Company Name",
|
||||
"Bookkeeping Subscription": "Bookkeeping Subscription",
|
||||
"Expired": "Expired",
|
||||
"ComSec Subscription": "ComSec Subscription",
|
||||
"Bookkeeping Request(s)": "Bookkeeping Request(s)",
|
||||
"ComSec Request(s)": "ComSec Request(s)",
|
||||
"Expiration": "Expiration",
|
||||
"View": "View",
|
||||
"Edit": "Edit",
|
||||
"Company Detail": "Company Detail",
|
||||
"Document Library": "Document Library",
|
||||
"Bookkeeping Queue & Log": "Bookkeeping Queue & Log",
|
||||
"ComSec Queue & Log": "ComSec Queue & Log",
|
||||
"Subscription & Billing": "Subscription & Billing",
|
||||
"User Management": "User Management",
|
||||
"Xero API": "Xero API",
|
||||
"Xero API Key": "Xero API Key",
|
||||
"Enter your Xero API Key": "Enter your Xero API Key",
|
||||
"Invitation": "Invitation",
|
||||
"Enter invited user email": "Enter invited user email",
|
||||
"Active Subscription": "Active Subscription",
|
||||
"Expired Subscription": "Expired Subscription",
|
||||
"Bookkeeping pending request": "Bookkeeping pending request",
|
||||
"ComSec pending request": "ComSec pending request",
|
||||
"Company registration information": "Company registration information",
|
||||
"Company name(English)": "Company name(English)",
|
||||
"Company name(Chinese)": "Company name(Chinese)",
|
||||
"Registered office address(English)": "Registered office address(English)",
|
||||
"Registered office address(Chinese)": "Registered office address(Chinese)",
|
||||
"BR number": "BR number",
|
||||
"Total User": "Total User",
|
||||
"Add User": "Add User",
|
||||
"Owner": "Owner",
|
||||
"Company Account": "Company Account",
|
||||
"Create Company Account": "Create Company Account",
|
||||
"Manage/Revoke/Transfer Administrator Access": "Manage/Revoke/Transfer Administrator Access",
|
||||
"Manage Company Detail": "Manage Company Detail",
|
||||
"Manage Subscription": "Manage Subscription",
|
||||
"Manage Group Access": "Manage Group Access",
|
||||
"Manage User & Assign Group (All)": "Manage User & Assign Group (All)",
|
||||
"Manage User & Assign Group (Except Administrator)": "Manage User & Assign Group (Except Administrator)",
|
||||
"View Access Log": "View Access Log",
|
||||
"Bookkeeping": "Bookkeeping",
|
||||
"View / List Bookkeeping Record": "View / List Bookkeeping Record",
|
||||
"Upload Bookkeeping Record": "Upload Bookkeeping Record",
|
||||
"Administrator": "Administrator",
|
||||
"Company Secretary": "Company Secretary",
|
||||
"View / List Comp Sec Document": "View / List Comp Sec Document",
|
||||
"Upload Comp Sec Document": "Upload Comp Sec Document",
|
||||
"Bookkeeper": "Bookkeeper",
|
||||
"Invitation sent": "Invitation sent",
|
||||
"Terms and conditions has successfully updated!": "Terms and conditions has successfully updated!",
|
||||
"Fill up all required fields": "Fill up all required fields",
|
||||
"Something went wrong": "Something went wrong",
|
||||
"Notice": "Notice",
|
||||
"Warning": "Warning",
|
||||
"Success": "Success",
|
||||
"Privacy policy has successfully updated!": "Privacy policy has successfully updated!",
|
||||
"Privacy Policy(English)": "Privacy Policy(English)",
|
||||
"Privacy Policy(Chinese)": "Privacy Policy(Chinese)",
|
||||
"Reset": "Reset",
|
||||
"Terms and Conditions(English)": "Terms and Conditions(English)",
|
||||
"Terms and Conditions(Chinese)": "Terms and Conditions(Chinese)",
|
||||
"Settings": "Settings",
|
||||
"Push Notification": "Push Notification",
|
||||
"Queue status": "Queue status",
|
||||
"App update": "App update",
|
||||
"New enquiry": "New enquiry",
|
||||
"New Password": "New Password",
|
||||
"Google drive API Key": "Google drive API Key",
|
||||
"Enter your Google drive API Key": "Enter your Google drive API Key",
|
||||
"Category": "Category",
|
||||
"No.": "No.",
|
||||
"Title": "Title",
|
||||
"Add New": "Add New",
|
||||
"Contact number": "Contact number",
|
||||
"Whatsapp": "Whatsapp",
|
||||
"Office hour(English)": "Office hour(English)",
|
||||
"Office hour(Chinese)": "Office hour(Chinese)",
|
||||
"Address(English)": "Address(English)",
|
||||
"Address(Chinese)": "Address(Chinese)",
|
||||
"Password has successfully saved!": "Password has successfully saved!",
|
||||
"Online Documents": "Online Documents",
|
||||
"FAQ": "FAQ",
|
||||
"Title(English)": "Title(English)",
|
||||
"Title(Chinese)": "Title(Chinese)",
|
||||
"Details(English)": "Details(English)",
|
||||
"Details(Chinese)": "Details(Chinese)",
|
||||
"Online Help has successfully saved!": "Online Help has successfully saved!",
|
||||
"Sort": "Sort",
|
||||
"Online Help has successfully removed!": "Online Help has successfully removed!",
|
||||
"Preferred Settings": "Preferred Settings",
|
||||
"API Key": "API Key",
|
||||
"Online Help": "Online Help",
|
||||
"Contact Us": "Contact Us",
|
||||
"It's empty here...": "It's empty here...",
|
||||
"Reply have been saved!": "Reply have been saved!",
|
||||
"Enquiry box": "Enquiry box",
|
||||
"Company Secretary Enquiry": "Company Secretary Enquiry",
|
||||
"General Enquiry": "General Enquiry",
|
||||
"Recent": "Recent",
|
||||
"Client": "Client",
|
||||
"Submitted date": "Submitted date",
|
||||
"Reply": "Reply",
|
||||
"Sort value already exists!": "Sort value already exists!",
|
||||
"How we can help?": "How we can help?",
|
||||
"Send us a message and we will reply within 10 minutes.": "Send us a message and we will reply within 10 minutes.",
|
||||
"Type message...": "Type message...",
|
||||
"Service Topic": "Service Topic",
|
||||
"Company Info": "Company Info",
|
||||
"User Email": "User Email",
|
||||
"Location": "Location",
|
||||
"Chat Room": "Chat Room",
|
||||
"Form List": "Form List",
|
||||
"Incorporation of Hong Kong Limited": "Incorporation of Hong Kong Limited",
|
||||
"Change Company Name": "Change Company Name",
|
||||
"Change Company Address": "Change Company Address",
|
||||
"Change of Company and Director (Appointment / Cessation)": "Change of Company and Director (Appointment / Cessation)",
|
||||
"Change of Company Secretary (Appointment / Cessation)": "Change of Company Secretary (Appointment / Cessation)",
|
||||
"Change in Particulars of Company Secretary or Director": "Change in Particulars of Company Secretary or Director",
|
||||
"Resignation of Reserve Director": "Resignation of Reserve Director",
|
||||
"Security Group": "Security Group",
|
||||
"Group List": "Group List",
|
||||
"Group Access Right": "Group Access Right",
|
||||
"Role": "Role",
|
||||
"Suspend": "Suspend",
|
||||
"Activate": "Activate",
|
||||
"Role has successfully suspended!": "Role has successfully suspended!",
|
||||
"Role has successfully activated!": "Role has successfully activated!",
|
||||
"Role permissions has successfully updated": "Role permissions has successfully updated",
|
||||
"Access right": "Access right",
|
||||
"Name": "Name",
|
||||
"Price": "Price",
|
||||
"Subscription has successfully suspended!": "Subscription has successfully suspended!",
|
||||
"Subscription has successfully activated!": "Subscription has successfully activated!",
|
||||
"Subscription Management": "Subscription Management",
|
||||
"Subscription Details": "Subscription Details",
|
||||
"Name(English)": "Name(English)",
|
||||
"Name(Chinese)": "Name(Chinese)",
|
||||
"Period(English)": "Period(English)",
|
||||
"Period(Chinese)": "Period(Chinese)",
|
||||
"Name description(English)": "Name description(English)",
|
||||
"Name description(Chinese)": "Name description(Chinese)",
|
||||
"Basic services": "Basic services",
|
||||
"Service": "Service",
|
||||
"list": "list",
|
||||
"English": "English",
|
||||
"Chinese": "Chinese",
|
||||
"Remove service": "Remove service",
|
||||
"Add new service": "Add new service",
|
||||
"Year": "Year",
|
||||
"Month": "Month",
|
||||
"Day": "Day",
|
||||
"Period": "Period",
|
||||
"Custom": "Custom",
|
||||
"Archive": "Archive",
|
||||
"Restore": "Restore",
|
||||
"Category has successfully removed": "Category has successfully removed",
|
||||
"Bookkeeping category details has successfully retrieved!": "Bookkeeping category details has successfully retrieved!",
|
||||
"New Category": "New Category",
|
||||
"Category Name": "Category Name",
|
||||
"Category detail": "Category detail",
|
||||
"Document has successfully uploaded!": "Document has successfully uploaded!",
|
||||
"Properties": "Properties",
|
||||
"Download": "Download",
|
||||
"Upload Document": "Upload Document",
|
||||
"Document/Record search": "Document/Record search",
|
||||
"Document Name": "Document Name",
|
||||
"Document Category": "Document Category",
|
||||
"Upload User": "Upload User",
|
||||
"Document Size": "Document Size",
|
||||
"Date Uploaded": "Date Uploaded",
|
||||
"Uploaded": "Uploaded",
|
||||
"In Progress": "In Progress",
|
||||
"OCR Completed": "OCR Completed",
|
||||
"Completed": "Completed",
|
||||
"Keyword": "Keyword",
|
||||
"Any time": "Any time",
|
||||
"Today": "Today",
|
||||
"Yesterday": "Yesterday",
|
||||
"Last 7 days": "Last 7 days",
|
||||
"Last 30 days": "Last 30 days",
|
||||
"Last 90 days": "Last 90 days",
|
||||
"Select a company": "Select a company",
|
||||
"Drag and drop files here or choose file.": "Drag and drop files here or choose file.",
|
||||
"Accepted file types: Doc / PDF / JPG / PNG": "Accepted file types: Doc / PDF / JPG / PNG",
|
||||
"Choose File": "Choose File",
|
||||
"of": "of",
|
||||
"files uploaded": "files uploaded",
|
||||
"Submit in queue": "Submit in queue",
|
||||
"Document not exists!": "Document not exists!",
|
||||
"Document has successfully updated!": "Document has successfully updated!",
|
||||
"Confirm": "Confirm",
|
||||
"By": "By",
|
||||
"Bookkeeping Action Log": "Bookkeeping Action Log",
|
||||
"Category List": "Category List",
|
||||
"In Queue List": "In Queue List",
|
||||
"Completed List": "Completed List",
|
||||
"Number of file in process": "Number of file in process",
|
||||
"Total item(s) in Queue": "Total item(s) in Queue",
|
||||
"Original Name": "Original Name",
|
||||
"Vendor": "Vendor",
|
||||
"Batch Name": "Batch Name",
|
||||
"Remark": "Remark",
|
||||
"Upload date&time": "Upload date&time",
|
||||
"Xero Status": "Xero Status",
|
||||
"Xero Amount": "Xero Amount",
|
||||
"Update Xero information": "Update Xero information",
|
||||
"N/A": "N/A",
|
||||
"Checked": "Checked",
|
||||
"Reupload": "Reupload",
|
||||
"Require Datamolino": "Require Datamolino",
|
||||
"Cancel Request": "Cancel Request",
|
||||
"Message on file": "Message on file",
|
||||
"Stop processing": "Stop processing",
|
||||
"Show more": "Show more",
|
||||
"Incorporation": "Incorporation",
|
||||
"Client Subscription Record": "Client Subscription Record",
|
||||
"Package": "Package",
|
||||
"All": "All",
|
||||
"Expiring Subscription": "Expiring Subscription",
|
||||
"Subscruption Period": "Subscruption Period",
|
||||
"Invoice": "Invoice"
|
||||
}
|
||||
31
phpunit.xml
Normal file
31
phpunit.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
|
||||
bootstrap="vendor/autoload.php"
|
||||
colors="true"
|
||||
>
|
||||
<testsuites>
|
||||
<testsuite name="Unit">
|
||||
<directory suffix="Test.php">./tests/Unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Feature">
|
||||
<directory suffix="Test.php">./tests/Feature</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<coverage processUncoveredFiles="true">
|
||||
<include>
|
||||
<directory suffix=".php">./app</directory>
|
||||
</include>
|
||||
</coverage>
|
||||
<php>
|
||||
<env name="APP_ENV" value="testing"/>
|
||||
<env name="BCRYPT_ROUNDS" value="4"/>
|
||||
<env name="CACHE_DRIVER" value="array"/>
|
||||
<env name="DB_CONNECTION" value="mysql"/>
|
||||
<env name="DB_DATABASE" value="wave_testing"/>
|
||||
<env name="MAIL_MAILER" value="array"/>
|
||||
<env name="QUEUE_CONNECTION" value="sync"/>
|
||||
<env name="SESSION_DRIVER" value="array"/>
|
||||
<env name="TELESCOPE_ENABLED" value="false"/>
|
||||
</php>
|
||||
</phpunit>
|
||||
21
public/.htaccess
Normal file
21
public/.htaccess
Normal file
@@ -0,0 +1,21 @@
|
||||
<IfModule mod_rewrite.c>
|
||||
<IfModule mod_negotiation.c>
|
||||
Options -MultiViews -Indexes
|
||||
</IfModule>
|
||||
|
||||
RewriteEngine On
|
||||
|
||||
# Handle Authorization Header
|
||||
RewriteCond %{HTTP:Authorization} .
|
||||
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
||||
|
||||
# Redirect Trailing Slashes If Not A Folder...
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_URI} (.+)/$
|
||||
RewriteRule ^ %1 [L,R=301]
|
||||
|
||||
# Send Requests To Front Controller...
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteRule ^ index.php [L]
|
||||
</IfModule>
|
||||
0
public/favicon.ico
Normal file
0
public/favicon.ico
Normal file
BIN
public/images/WamfoButton2.gif
Normal file
BIN
public/images/WamfoButton2.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 242 KiB |
55
public/index.php
Normal file
55
public/index.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Contracts\Http\Kernel;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
define('LARAVEL_START', microtime(true));
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Check If The Application Is Under Maintenance
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If the application is in maintenance / demo mode via the "down" command
|
||||
| we will load this file so that any pre-rendered content can be shown
|
||||
| instead of starting the framework, which could cause an exception.
|
||||
|
|
||||
*/
|
||||
|
||||
if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) {
|
||||
require $maintenance;
|
||||
}
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register The Auto Loader
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Composer provides a convenient, automatically generated class loader for
|
||||
| this application. We just need to utilize it! We'll simply require it
|
||||
| into the script here so we don't need to manually load our classes.
|
||||
|
|
||||
*/
|
||||
|
||||
require __DIR__.'/../vendor/autoload.php';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Run The Application
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Once we have the application, we can handle the incoming request using
|
||||
| the application's HTTP kernel. Then, we will send the response back
|
||||
| to this client's browser, allowing them to enjoy our application.
|
||||
|
|
||||
*/
|
||||
|
||||
$app = require_once __DIR__.'/../bootstrap/app.php';
|
||||
|
||||
$kernel = $app->make(Kernel::class);
|
||||
|
||||
$response = $kernel->handle(
|
||||
$request = Request::capture()
|
||||
)->send();
|
||||
|
||||
$kernel->terminate($request, $response);
|
||||
3
public/mix-manifest.json
Normal file
3
public/mix-manifest.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"/js/app.js": "/js/app.js"
|
||||
}
|
||||
2
public/robots.txt
Normal file
2
public/robots.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
User-agent: *
|
||||
Disallow:
|
||||
BIN
public/themes/tailwind/.DS_Store
vendored
Normal file
BIN
public/themes/tailwind/.DS_Store
vendored
Normal file
Binary file not shown.
260
public/themes/tailwind/css/16-scrollbar-styles-scrollbar.css
Normal file
260
public/themes/tailwind/css/16-scrollbar-styles-scrollbar.css
Normal file
@@ -0,0 +1,260 @@
|
||||
.sc-overflow {
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.scstyle-1::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
border-radius: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-1::-webkit-scrollbar {
|
||||
width: 12px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-1::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
|
||||
background-color: #555;
|
||||
}
|
||||
|
||||
.scstyle-2::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
border-radius: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-2::-webkit-scrollbar {
|
||||
width: 12px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-2::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
|
||||
background-color: #D62929;
|
||||
}
|
||||
|
||||
.scstyle-3::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-3::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-3::-webkit-scrollbar-thumb {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.scstyle-4::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-4::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-4::-webkit-scrollbar-thumb {
|
||||
background-color: #000000;
|
||||
border: 2px solid #555555;
|
||||
}
|
||||
|
||||
.scstyle-5::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-5::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-5::-webkit-scrollbar-thumb {
|
||||
background-color: #0ae;
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(.5, rgba(255, 255, 255, .2)), color-stop(.5, transparent), to(transparent));
|
||||
}
|
||||
|
||||
.scstyle-6::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-6::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-6::-webkit-scrollbar-thumb {
|
||||
background-color: #F90;
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
|
||||
}
|
||||
|
||||
.scstyle-7::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.scstyle-7::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
background-color: #F5F5F5;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.scstyle-7::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.44, rgb(122,153,217)), color-stop(0.72, rgb(73,125,189)), color-stop(0.86, rgb(28,58,148)));
|
||||
}
|
||||
|
||||
.scstyle-8::-webkit-scrollbar-track {
|
||||
border: 1px solid black;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-8::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-8::-webkit-scrollbar-thumb {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.scstyle-9::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-9::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-9::-webkit-scrollbar-thumb {
|
||||
background-color: #F90;
|
||||
background-image: -webkit-linear-gradient(90deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
|
||||
}
|
||||
|
||||
.scstyle-10::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.scstyle-10::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-10::-webkit-scrollbar-thumb {
|
||||
background-color: #AAA;
|
||||
border-radius: 10px;
|
||||
background-image: -webkit-linear-gradient(90deg, rgba(0, 0, 0, .2) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, .2) 50%, rgba(0, 0, 0, .2) 75%, transparent 75%, transparent);
|
||||
}
|
||||
|
||||
.scstyle-11::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.scstyle-11::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-11::-webkit-scrollbar-thumb {
|
||||
background-color: #3366FF;
|
||||
border-radius: 10px;
|
||||
background-image: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 0.5) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0.5) 75%, transparent 75%, transparent);
|
||||
}
|
||||
|
||||
.scstyle-12::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.9);
|
||||
border-radius: 10px;
|
||||
background-color: #444444;
|
||||
}
|
||||
|
||||
.scstyle-12::-webkit-scrollbar {
|
||||
width: 12px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-12::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background-color: #D62929;
|
||||
background-image: -webkit-linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.4) 50%, transparent, transparent);
|
||||
}
|
||||
|
||||
.scstyle-13::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.9);
|
||||
border-radius: 10px;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
.scstyle-13::-webkit-scrollbar {
|
||||
width: 12px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-13::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background-color: #D62929;
|
||||
background-image: -webkit-linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.4) 50%, transparent, transparent);
|
||||
}
|
||||
|
||||
.scstyle-14::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.6);
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
.scstyle-14::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-14::-webkit-scrollbar-thumb {
|
||||
background-color: #FFF;
|
||||
background-image: -webkit-linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 25%, transparent 100%, rgba(0, 0, 0, 1) 75%, transparent);
|
||||
}
|
||||
|
||||
.scstyle-15::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.1);
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.scstyle-15::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-15::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background-color: #FFF;
|
||||
background-image: -webkit-gradient(linear, 40% 0%, 75% 84%, from(#c6e6d7), to(#e7e63b));
|
||||
}
|
||||
|
||||
.scstyle-16::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.1);
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.scstyle-16::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.scstyle-16::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background-color: #FFF;
|
||||
background-image: -webkit-linear-gradient(top, #e4f5fc 0%, #bfe8f9 50%, #9fd8ef 51%, #2ab0ed 100%);
|
||||
}
|
||||
|
||||
95
public/themes/tailwind/css/Drag--Drop-Upload-Form.css
Normal file
95
public/themes/tailwind/css/Drag--Drop-Upload-Form.css
Normal file
@@ -0,0 +1,95 @@
|
||||
*, *:before, *:after {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
input:focus, select:focus, textarea:focus, button:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.drop {
|
||||
width: 90%;
|
||||
height: 220px;
|
||||
border: 3px dashed #DADFE3;
|
||||
border-radius: 15px;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
background: transparent;
|
||||
-moz-transition: all 0.5s ease-out;
|
||||
transition: all 0.5s ease-out;
|
||||
margin-top: 0px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
margin-bottom: 10px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.drop .cont {
|
||||
width: 500px;
|
||||
height: 170px;
|
||||
color: #8E99A5;
|
||||
-moz-transition: all 0.5s ease-out;
|
||||
transition: all 0.5s ease-out;
|
||||
margin: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.drop .cont i {
|
||||
font-size: 40px;
|
||||
color: #787e85;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.drop .cont .tit {
|
||||
font-size: 12px;
|
||||
color: #009B9A;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.drop .cont .desc {
|
||||
color: #787e85;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.drop .cont .browse {
|
||||
margin: 10px 25%;
|
||||
color: white;
|
||||
padding: 8px 16px;
|
||||
border-radius: 4px;
|
||||
background: #00c993;
|
||||
}
|
||||
|
||||
.drop input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
cursor: pointer;
|
||||
background: red;
|
||||
opacity: 0;
|
||||
margin: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
#list {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.dashed_upload {
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
1
public/themes/tailwind/css/app.css
Normal file
1
public/themes/tailwind/css/app.css
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user