Merge branch 'main' into feature/72

# Conflicts:
#	app/Filament/Resources/EggResource.php
This commit is contained in:
Lance Pioch 2024-04-21 21:08:57 -04:00
commit 0f360fcdd1
137 changed files with 2568 additions and 1135 deletions

View File

@ -1,7 +1,7 @@
#!/bin/ash -e #!/bin/ash -e
cd /app cd /app
mkdir -p /var/log/panel/logs/ /var/log/supervisord/ /var/log/nginx/ /var/log/php7/ \ mkdir -p /var/log/panel/logs/ /var/log/supervisord/ /var/log/nginx/ /var/log/php8/ \
&& chmod 777 /var/log/panel/logs/ \ && chmod 777 /var/log/panel/logs/ \
&& ln -s /app/storage/logs/ /var/log/panel/ && ln -s /app/storage/logs/ /var/log/panel/

View File

@ -12,7 +12,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
node-version: [18] node-version: [18, 21]
steps: steps:
- name: Code Checkout - name: Code Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4

View File

@ -2,7 +2,7 @@
# Build the assets that are needed for the frontend. This build stage is then discarded # Build the assets that are needed for the frontend. This build stage is then discarded
# since we won't need NodeJS anymore in the future. This Docker image ships a final production # since we won't need NodeJS anymore in the future. This Docker image ships a final production
# level distribution # level distribution
FROM --platform=$TARGETOS/$TARGETARCH mhart/alpine-node:14 FROM --platform=$TARGETOS/$TARGETARCH node:21-alpine
WORKDIR /app WORKDIR /app
COPY . ./ COPY . ./
RUN yarn install --frozen-lockfile \ RUN yarn install --frozen-lockfile \
@ -10,13 +10,13 @@ RUN yarn install --frozen-lockfile \
# Stage 1: # Stage 1:
# Build the actual container with all of the needed PHP dependencies that will run the application. # Build the actual container with all of the needed PHP dependencies that will run the application.
FROM --platform=$TARGETOS/$TARGETARCH php:8.1-fpm-alpine FROM --platform=$TARGETOS/$TARGETARCH php:8.3-fpm-alpine
WORKDIR /app WORKDIR /app
COPY . ./ COPY . ./
COPY --from=0 /app/public/assets ./public/assets COPY --from=0 /app/public/assets ./public/assets
RUN apk add --no-cache --update ca-certificates dcron curl git supervisor tar unzip nginx libpng-dev libxml2-dev libzip-dev certbot certbot-nginx \ RUN apk add --no-cache --update ca-certificates dcron curl git supervisor tar unzip nginx libpng-dev libxml2-dev libzip-dev icu-dev certbot certbot-nginx \
&& docker-php-ext-configure zip \ && docker-php-ext-configure zip \
&& docker-php-ext-install bcmath gd pdo_mysql zip \ && docker-php-ext-install bcmath gd intl pdo_mysql zip \
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
&& cp .env.example .env \ && cp .env.example .env \
&& mkdir -p bootstrap/cache/ storage/logs storage/framework/sessions storage/framework/views storage/framework/cache \ && mkdir -p bootstrap/cache/ storage/logs storage/framework/sessions storage/framework/views storage/framework/cache \

View File

@ -58,9 +58,9 @@ class MakeNodeCommand extends Command
$data['disk'] = $this->option('maxDisk') ?? $this->ask('Enter the maximum amount of disk space'); $data['disk'] = $this->option('maxDisk') ?? $this->ask('Enter the maximum amount of disk space');
$data['disk_overallocate'] = $this->option('overallocateDisk') ?? $this->ask('Enter the amount of memory to over allocate by, -1 will disable checking and 0 will prevent creating new server'); $data['disk_overallocate'] = $this->option('overallocateDisk') ?? $this->ask('Enter the amount of memory to over allocate by, -1 will disable checking and 0 will prevent creating new server');
$data['upload_size'] = $this->option('uploadSize') ?? $this->ask('Enter the maximum filesize upload', '100'); $data['upload_size'] = $this->option('uploadSize') ?? $this->ask('Enter the maximum filesize upload', '100');
$data['daemonListen'] = $this->option('daemonListeningPort') ?? $this->ask('Enter the daemon listening port', '8080'); $data['daemon_listen'] = $this->option('daemonListeningPort') ?? $this->ask('Enter the daemon listening port', '8080');
$data['daemonSFTP'] = $this->option('daemonSFTPPort') ?? $this->ask('Enter the daemon SFTP listening port', '2022'); $data['daemon_sftp'] = $this->option('daemonSFTPPort') ?? $this->ask('Enter the daemon SFTP listening port', '2022');
$data['daemonBase'] = $this->option('daemonBase') ?? $this->ask('Enter the base folder', '/var/lib/pelican/volumes'); $data['daemon_base'] = $this->option('daemonBase') ?? $this->ask('Enter the base folder', '/var/lib/pelican/volumes');
$node = $this->creationService->handle($data); $node = $this->creationService->handle($data);
$this->line('Successfully created a new node with the name ' . $data['name'] . ' and has an id of ' . $node->id . '.'); $this->line('Successfully created a new node with the name ' . $data['name'] . ' and has an id of ' . $node->id . '.');

View File

@ -100,12 +100,12 @@ class EggResource extends Resource
->label('Log Configuration') ->label('Log Configuration')
->helperText('This should be a JSON representation of where log files are stored, and whether or not the daemon should be creating custom logs.'), ->helperText('This should be a JSON representation of where log files are stored, and whether or not the daemon should be creating custom logs.'),
]), ]),
Forms\Components\Tabs\Tab::make('Variables') Forms\Components\Tabs\Tab::make('Egg Variables')
->columnSpanFull() ->columnSpanFull()
->columns(2) ->columns(2)
->schema([ ->schema([
Forms\Components\Repeater::make('Blah') Forms\Components\Repeater::make('variables')
->grid() ->grid(3)
->relationship('variables') ->relationship('variables')
->name('name') ->name('name')
->columns(2) ->columns(2)
@ -115,12 +115,38 @@ class EggResource extends Resource
->collapsed() ->collapsed()
->columnSpan(2) ->columnSpan(2)
->itemLabel(fn (array $state) => $state['name']) ->itemLabel(fn (array $state) => $state['name'])
->mutateRelationshipDataBeforeCreateUsing(function (array $data): array {
$data['default_value'] ??= '';
$data['description'] ??= '';
$data['rules'] ??= '';
return $data;
})
->mutateRelationshipDataBeforeSaveUsing(function (array $data): array {
$data['default_value'] ??= '';
$data['description'] ??= '';
$data['rules'] ??= '';
return $data;
})
->schema([ ->schema([
Forms\Components\TextInput::make('name')->live()->maxLength(191)->columnSpanFull(), Forms\Components\TextInput::make('name')
->live()
->debounce(750)
->maxLength(191)
->columnSpanFull()
->afterStateUpdated(fn (Forms\Set $set, $state) =>
$set('env_variable', str($state)->trim()->snake()->upper()->toString())
)
->required(),
Forms\Components\Textarea::make('description')->columnSpanFull(), Forms\Components\Textarea::make('description')->columnSpanFull(),
Forms\Components\TextInput::make('env_variable')->maxLength(191)->required()->hint(fn ($state) => "{{{$state}}}"), Forms\Components\TextInput::make('env_variable')
Forms\Components\TextInput::make('default_value')->maxLength(191)->required(), ->label('Environment Variable')
Forms\Components\TextInput::make('rules')->columnSpanFull()->required(), ->maxLength(191)
->hint(fn ($state) => "{{{$state}}}")
->required(),
Forms\Components\TextInput::make('default_value')->maxLength(191),
Forms\Components\Textarea::make('rules')->rows(3)->columnSpanFull(),
]), ]),
]), ]),
Forms\Components\Tabs\Tab::make('Install Script') Forms\Components\Tabs\Tab::make('Install Script')

View File

@ -43,17 +43,17 @@ class NodeResource extends Resource
->required() ->required()
->integer() ->integer()
->default(100), ->default(100),
Forms\Components\TextInput::make('daemonListen') Forms\Components\TextInput::make('daemon_listen')
->required() ->required()
->integer() ->integer()
->label('Daemon Port') ->label('Daemon Port')
->default(8080), ->default(8080),
Forms\Components\TextInput::make('daemonSFTP') Forms\Components\TextInput::make('daemon_sftp')
->required() ->required()
->integer() ->integer()
->label('Daemon SFTP Port') ->label('Daemon SFTP Port')
->default(2022), ->default(2022),
Forms\Components\TextInput::make('daemonBase') Forms\Components\TextInput::make('daemon_base')
->required() ->required()
->maxLength(191) ->maxLength(191)
->default('/home/daemon-files'), ->default('/home/daemon-files'),

View File

@ -113,7 +113,7 @@ class CreateNode extends CreateRecord
'lg' => 1, 'lg' => 1,
]), ]),
Forms\Components\TextInput::make('daemonListen') Forms\Components\TextInput::make('daemon_listen')
->columnSpan([ ->columnSpan([
'default' => 1, 'default' => 1,
'sm' => 1, 'sm' => 1,

View File

@ -3,12 +3,12 @@
namespace App\Filament\Resources\NodeResource\Pages; namespace App\Filament\Resources\NodeResource\Pages;
use App\Filament\Resources\NodeResource; use App\Filament\Resources\NodeResource;
use App\Models\Allocation;
use App\Models\Node; use App\Models\Node;
use Filament\Actions; use Filament\Actions;
use Filament\Forms; use Filament\Forms;
use Filament\Forms\Components\Tabs; use Filament\Forms\Components\Tabs;
use Filament\Resources\Pages\EditRecord; use Filament\Resources\Pages\EditRecord;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\HtmlString; use Illuminate\Support\HtmlString;
use Webbingbrasil\FilamentCopyActions\Forms\Actions\CopyAction; use Webbingbrasil\FilamentCopyActions\Forms\Actions\CopyAction;
@ -91,6 +91,52 @@ class EditNode extends EditRecord
'md' => 1, 'md' => 1,
'lg' => 1, 'lg' => 1,
]) ])
->live()
->afterStateUpdated(function ($state, Forms\Set $set) {
$ports = collect();
$update = false;
foreach ($state as $portEntry) {
if (!str_contains($portEntry, '-')) {
if (is_numeric($portEntry)) {
$ports->push((int) $portEntry);
continue;
}
// Do not add non numerical ports
$update = true;
continue;
}
$update = true;
[$start, $end] = explode('-', $portEntry);
if (!is_numeric($start) || !is_numeric($end)) {
continue;
}
$start = max((int) $start, 0);
$end = min((int) $end, 2 ** 16 - 1);
for ($i = $start; $i <= $end; $i++) {
$ports->push($i);
}
}
$uniquePorts = $ports->unique()->values();
if ($ports->count() > $uniquePorts->count()) {
$update = true;
$ports = $uniquePorts;
}
$sortedPorts = $ports->sort()->values();
if ($sortedPorts->all() !== $ports->all()) {
$update = true;
$ports = $sortedPorts;
}
if ($update) {
$set('port', $ports->all());
}
})
->placeholder('25565') ->placeholder('25565')
->helperText('Individual ports or port ranges here separated by spaces') ->helperText('Individual ports or port ranges here separated by spaces')
->splitKeys(['Tab', ' ']), ->splitKeys(['Tab', ' ']),
@ -108,6 +154,15 @@ class EditNode extends EditRecord
Forms\Components\Repeater::make('allocations') Forms\Components\Repeater::make('allocations')
->orderColumn('server_id') ->orderColumn('server_id')
->columnSpan(4) ->columnSpan(4)
->collapsible()->collapsed()
->itemLabel(function (array $state) {
$host = $state['ip'] . ':' . $state['port'];
if ($state['ip_alias']) {
return $state['ip_alias'] ." ($host)";
}
return $host;
})
->columns([ ->columns([
'default' => 1, 'default' => 1,
'sm' => 3, 'sm' => 3,
@ -133,7 +188,7 @@ class EditNode extends EditRecord
'default' => 1, 'default' => 1,
'sm' => 1, 'sm' => 1,
'md' => 1, 'md' => 1,
'lg' => 1, 'lg' => 2,
]) ])
->minValue(0) ->minValue(0)
->maxValue(65535) ->maxValue(65535)
@ -147,15 +202,21 @@ class EditNode extends EditRecord
'lg' => 3, 'lg' => 3,
]) ])
->label('Alias'), ->label('Alias'),
Forms\Components\TextInput::make('server') Forms\Components\Select::make('server')
->columnSpan([ ->columnSpan([
'default' => 1, 'default' => 1,
'sm' => 1, 'sm' => 1,
'md' => 2, 'md' => 2,
'lg' => 3, 'lg' => 2,
]) ])
->formatStateUsing(fn (Allocation $allocation) => $allocation->server?->name) ->searchable()
->activeUrl(true) ->preload()
->relationship(
'server',
'name',
fn (Builder $query, Forms\Get $get) => $query
->where('node_id', $get('node_id')),
)
->placeholder('Not assigned'), ->placeholder('Not assigned'),
]), ]),
]), ]),

View File

@ -96,7 +96,7 @@ class NodeViewController extends Controller
{ {
$this->plainInject([ $this->plainInject([
'node' => Collection::wrap($node->makeVisible(['daemon_token_id', 'daemon_token'])) 'node' => Collection::wrap($node->makeVisible(['daemon_token_id', 'daemon_token']))
->only(['scheme', 'fqdn', 'daemonListen', 'daemon_token_id', 'daemon_token']), ->only(['scheme', 'fqdn', 'daemon_listen', 'daemon_token_id', 'daemon_token']),
]); ]);
return view('admin.nodes.view.servers', [ return view('admin.nodes.view.servers', [

View File

@ -68,7 +68,7 @@ class ServerTransferController extends Controller
// Check if the node is viable for the transfer. // Check if the node is viable for the transfer.
$node = Node::query() $node = Node::query()
->select(['nodes.id', 'nodes.fqdn', 'nodes.scheme', 'nodes.daemon_token', 'nodes.daemonListen', 'nodes.memory', 'nodes.disk', 'nodes.memory_overallocate', 'nodes.disk_overallocate']) ->select(['nodes.id', 'nodes.fqdn', 'nodes.scheme', 'nodes.daemon_token', 'nodes.daemon_listen', 'nodes.memory', 'nodes.disk', 'nodes.memory_overallocate', 'nodes.disk_overallocate'])
->selectRaw('IFNULL(SUM(servers.memory), 0) as sum_memory, IFNULL(SUM(servers.disk), 0) as sum_disk') ->selectRaw('IFNULL(SUM(servers.memory), 0) as sum_memory, IFNULL(SUM(servers.disk), 0) as sum_disk')
->leftJoin('servers', 'servers.node_id', '=', 'nodes.id') ->leftJoin('servers', 'servers.node_id', '=', 'nodes.id')
->where('nodes.id', $node_id) ->where('nodes.id', $node_id)

View File

@ -33,7 +33,7 @@ class ServerController extends ApplicationApiController
public function index(GetServersRequest $request): array public function index(GetServersRequest $request): array
{ {
$servers = QueryBuilder::for(Server::query()) $servers = QueryBuilder::for(Server::query())
->allowedFilters(['uuid', 'uuidShort', 'name', 'description', 'image', 'external_id']) ->allowedFilters(['uuid', 'uuid_short', 'name', 'description', 'image', 'external_id'])
->allowedSorts(['id', 'uuid']) ->allowedSorts(['id', 'uuid'])
->paginate($request->query('per_page') ?? 50); ->paginate($request->query('per_page') ?? 50);

View File

@ -89,7 +89,7 @@ class SftpAuthenticationController extends Controller
protected function getServer(Request $request, string $uuid): Server protected function getServer(Request $request, string $uuid): Server
{ {
return Server::query() return Server::query()
->where(fn ($builder) => $builder->where('uuid', $uuid)->orWhere('uuidShort', $uuid)) ->where(fn ($builder) => $builder->where('uuid', $uuid)->orWhere('uuid_short', $uuid))
->where('node_id', $request->attributes->get('node')->id) ->where('node_id', $request->attributes->get('node')->id)
->firstOr(function () use ($request) { ->firstOr(function () use ($request) {
$this->reject($request); $this->reject($request);

View File

@ -29,11 +29,11 @@ class StoreNodeRequest extends ApplicationApiRequest
'disk', 'disk',
'disk_overallocate', 'disk_overallocate',
'upload_size', 'upload_size',
'daemonListen', 'daemon_listen',
'daemonSFTP', 'daemon_sftp',
'daemonBase', 'daemon_base',
])->mapWithKeys(function ($value, $key) { ])->mapWithKeys(function ($value, $key) {
$key = ($key === 'daemonSFTP') ? 'daemonSftp' : $key; $key = ($key === 'daemon_sftp') ? 'daemon_sftp' : $key;
return [snake_case($key) => $value]; return [snake_case($key) => $value];
})->toArray(); })->toArray();
@ -58,9 +58,9 @@ class StoreNodeRequest extends ApplicationApiRequest
public function validated($key = null, $default = null): array public function validated($key = null, $default = null): array
{ {
$response = parent::validated(); $response = parent::validated();
$response['daemonListen'] = $response['daemon_listen']; $response['daemon_listen'] = $response['daemon_listen'];
$response['daemonSFTP'] = $response['daemon_sftp']; $response['daemon_sftp'] = $response['daemon_sftp'];
$response['daemonBase'] = $response['daemon_base'] ?? (new Node())->getAttribute('daemonBase'); $response['daemon_base'] = $response['daemon_base'] ?? (new Node())->getAttribute('daemon_base');
unset($response['daemon_base'], $response['daemon_listen'], $response['daemon_sftp']); unset($response['daemon_base'], $response['daemon_listen'], $response['daemon_sftp']);

View File

@ -52,11 +52,11 @@ class EggVariable extends Model
'egg_id' => 'exists:eggs,id', 'egg_id' => 'exists:eggs,id',
'name' => 'required|string|between:1,191', 'name' => 'required|string|between:1,191',
'description' => 'string', 'description' => 'string',
'env_variable' => 'required|regex:/^[\w]{1,191}$/|notIn:' . self::RESERVED_ENV_NAMES, 'env_variable' => 'required|alphaDash|between:1,191|notIn:' . self::RESERVED_ENV_NAMES,
'default_value' => 'string', 'default_value' => 'string',
'user_viewable' => 'boolean', 'user_viewable' => 'boolean',
'user_editable' => 'boolean', 'user_editable' => 'boolean',
'rules' => 'required|string', 'rules' => 'string',
]; ];
protected $attributes = [ protected $attributes = [

View File

@ -24,7 +24,7 @@ class AdminServerFilter implements Filter
->where(function (Builder $builder) use ($value) { ->where(function (Builder $builder) use ($value) {
$builder->where('servers.uuid', $value) $builder->where('servers.uuid', $value)
->orWhere('servers.uuid', 'LIKE', "$value%") ->orWhere('servers.uuid', 'LIKE', "$value%")
->orWhere('servers.uuidShort', $value) ->orWhere('servers.uuid_short', $value)
->orWhere('servers.external_id', $value) ->orWhere('servers.external_id', $value)
->orWhereRaw('LOWER(users.username) LIKE ?', ["%$value%"]) ->orWhereRaw('LOWER(users.username) LIKE ?', ["%$value%"])
->orWhereRaw('LOWER(users.email) LIKE ?', ["$value%"]) ->orWhereRaw('LOWER(users.email) LIKE ?', ["$value%"])

View File

@ -61,7 +61,7 @@ class MultiFieldServerFilter implements Filter
->where(function (Builder $builder) use ($value) { ->where(function (Builder $builder) use ($value) {
$builder->where('servers.uuid', $value) $builder->where('servers.uuid', $value)
->orWhere('servers.uuid', 'LIKE', "$value%") ->orWhere('servers.uuid', 'LIKE', "$value%")
->orWhere('servers.uuidShort', $value) ->orWhere('servers.uuid_short', $value)
->orWhere('servers.external_id', $value) ->orWhere('servers.external_id', $value)
->orWhereRaw('LOWER(servers.name) LIKE ?', ["%$value%"]); ->orWhereRaw('LOWER(servers.name) LIKE ?', ["%$value%"]);
}); });

View File

@ -29,9 +29,9 @@ use Illuminate\Database\Eloquent\Relations\HasManyThrough;
* @property int $upload_size * @property int $upload_size
* @property string $daemon_token_id * @property string $daemon_token_id
* @property string $daemon_token * @property string $daemon_token
* @property int $daemonListen * @property int $daemon_listen
* @property int $daemonSFTP * @property int $daemon_sftp
* @property string $daemonBase * @property string $daemon_base
* @property \Carbon\Carbon $created_at * @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at * @property \Carbon\Carbon $updated_at
* @property \App\Models\Mount[]|\Illuminate\Database\Eloquent\Collection $mounts * @property \App\Models\Mount[]|\Illuminate\Database\Eloquent\Collection $mounts
@ -71,8 +71,8 @@ class Node extends Model
'public', 'name', 'public', 'name',
'fqdn', 'scheme', 'behind_proxy', 'fqdn', 'scheme', 'behind_proxy',
'memory', 'memory_overallocate', 'disk', 'memory', 'memory_overallocate', 'disk',
'disk_overallocate', 'upload_size', 'daemonBase', 'disk_overallocate', 'upload_size', 'daemon_base',
'daemonSFTP', 'daemonListen', 'daemon_sftp', 'daemon_listen',
'description', 'maintenance_mode', 'description', 'maintenance_mode',
]; ];
@ -87,9 +87,9 @@ class Node extends Model
'memory_overallocate' => 'required|numeric|min:-1', 'memory_overallocate' => 'required|numeric|min:-1',
'disk' => 'required|numeric|min:0', 'disk' => 'required|numeric|min:0',
'disk_overallocate' => 'required|numeric|min:-1', 'disk_overallocate' => 'required|numeric|min:-1',
'daemonBase' => 'sometimes|required|regex:/^([\/][\d\w.\-\/]+)$/', 'daemon_base' => 'sometimes|required|regex:/^([\/][\d\w.\-\/]+)$/',
'daemonSFTP' => 'required|numeric|between:1,65535', 'daemon_sftp' => 'required|numeric|between:1,65535',
'daemonListen' => 'required|numeric|between:1,65535', 'daemon_listen' => 'required|numeric|between:1,65535',
'maintenance_mode' => 'boolean', 'maintenance_mode' => 'boolean',
'upload_size' => 'int|between:1,1024', 'upload_size' => 'int|between:1,1024',
]; ];
@ -104,9 +104,9 @@ class Node extends Model
'memory_overallocate' => 0, 'memory_overallocate' => 0,
'disk' => 0, 'disk' => 0,
'disk_overallocate' => 0, 'disk_overallocate' => 0,
'daemonBase' => '/var/lib/pelican/volumes', 'daemon_base' => '/var/lib/pelican/volumes',
'daemonSFTP' => 2022, 'daemon_sftp' => 2022,
'daemonListen' => 8080, 'daemon_listen' => 8080,
'maintenance_mode' => false, 'maintenance_mode' => false,
]; ];
@ -115,8 +115,8 @@ class Node extends Model
return [ return [
'memory' => 'integer', 'memory' => 'integer',
'disk' => 'integer', 'disk' => 'integer',
'daemonListen' => 'integer', 'daemon_listen' => 'integer',
'daemonSFTP' => 'integer', 'daemon_sftp' => 'integer',
'behind_proxy' => 'boolean', 'behind_proxy' => 'boolean',
'public' => 'boolean', 'public' => 'boolean',
'maintenance_mode' => 'boolean', 'maintenance_mode' => 'boolean',
@ -148,7 +148,7 @@ class Node extends Model
*/ */
public function getConnectionAddress(): string public function getConnectionAddress(): string
{ {
return "$this->scheme://$this->fqdn:$this->daemonListen"; return "$this->scheme://$this->fqdn:$this->daemon_listen";
} }
/** /**
@ -163,7 +163,7 @@ class Node extends Model
'token' => decrypt($this->daemon_token), 'token' => decrypt($this->daemon_token),
'api' => [ 'api' => [
'host' => '0.0.0.0', 'host' => '0.0.0.0',
'port' => $this->daemonListen, 'port' => $this->daemon_listen,
'ssl' => [ 'ssl' => [
'enabled' => (!$this->behind_proxy && $this->scheme === 'https'), 'enabled' => (!$this->behind_proxy && $this->scheme === 'https'),
'cert' => '/etc/letsencrypt/live/' . Str::lower($this->fqdn) . '/fullchain.pem', 'cert' => '/etc/letsencrypt/live/' . Str::lower($this->fqdn) . '/fullchain.pem',
@ -172,9 +172,9 @@ class Node extends Model
'upload_limit' => $this->upload_size, 'upload_limit' => $this->upload_size,
], ],
'system' => [ 'system' => [
'data' => $this->daemonBase, 'data' => $this->daemon_base,
'sftp' => [ 'sftp' => [
'bind_port' => $this->daemonSFTP, 'bind_port' => $this->daemon_sftp,
], ],
], ],
'allowed_mounts' => $this->mounts->pluck('source')->toArray(), 'allowed_mounts' => $this->mounts->pluck('source')->toArray(),

View File

@ -22,7 +22,7 @@ use App\Exceptions\Http\Server\ServerStateConflictException;
* @property int $id * @property int $id
* @property string|null $external_id * @property string|null $external_id
* @property string $uuid * @property string $uuid
* @property string $uuidShort * @property string $uuid_short
* @property int $node_id * @property int $node_id
* @property string $name * @property string $name
* @property string $description * @property string $description
@ -99,7 +99,7 @@ use App\Exceptions\Http\Server\ServerStateConflictException;
* @method static \Illuminate\Database\Eloquent\Builder|Server whereThreads($value) * @method static \Illuminate\Database\Eloquent\Builder|Server whereThreads($value)
* @method static \Illuminate\Database\Eloquent\Builder|Server whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Server whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|Server whereUuid($value) * @method static \Illuminate\Database\Eloquent\Builder|Server whereUuid($value)
* @method static \Illuminate\Database\Eloquent\Builder|Server whereUuidShort($value) * @method static \Illuminate\Database\Eloquent\Builder|Server whereuuid_short($value)
* *
* @mixin \Eloquent * @mixin \Eloquent
*/ */
@ -329,7 +329,7 @@ class Server extends Model
public function resolveRouteBinding($value, $field = null): ?self public function resolveRouteBinding($value, $field = null): ?self
{ {
return match ($field) { return match ($field) {
'uuid' => $this->where('uuidShort', $value)->orWhere('uuid', $value)->firstOrFail(), 'uuid' => $this->where('uuid_short', $value)->orWhere('uuid', $value)->firstOrFail(),
default => $this->where('id', $value)->firstOrFail(), default => $this->where('id', $value)->firstOrFail(),
}; };
} }

View File

@ -38,6 +38,6 @@ class AddedToServer extends Notification implements ShouldQueue
->greeting('Hello ' . $this->server->user . '!') ->greeting('Hello ' . $this->server->user . '!')
->line('You have been added as a subuser for the following server, allowing you certain control over the server.') ->line('You have been added as a subuser for the following server, allowing you certain control over the server.')
->line('Server Name: ' . $this->server->name) ->line('Server Name: ' . $this->server->name)
->action('Visit Server', url('/server/' . $this->server->uuidShort)); ->action('Visit Server', url('/server/' . $this->server->uuid_short));
} }
} }

View File

@ -27,7 +27,7 @@ class SubuserObserver
$subuser->user->notify(new AddedToServer([ $subuser->user->notify(new AddedToServer([
'user' => $subuser->user->name_first, 'user' => $subuser->user->name_first,
'name' => $subuser->server->name, 'name' => $subuser->server->name,
'uuidShort' => $subuser->server->uuidShort, 'uuid_short' => $subuser->server->uuid_short,
])); ]));
} }

View File

@ -129,7 +129,7 @@ class ServerCreationService
return Server::create([ return Server::create([
'external_id' => Arr::get($data, 'external_id'), 'external_id' => Arr::get($data, 'external_id'),
'uuid' => $uuid, 'uuid' => $uuid,
'uuidShort' => substr($uuid, 0, 8), 'uuid_short' => substr($uuid, 0, 8),
'node_id' => Arr::get($data, 'node_id'), 'node_id' => Arr::get($data, 'node_id'),
'name' => Arr::get($data, 'name'), 'name' => Arr::get($data, 'name'),
'description' => Arr::get($data, 'description') ?? '', 'description' => Arr::get($data, 'description') ?? '',
@ -194,7 +194,7 @@ class ServerCreationService
$uuid = Uuid::uuid4()->toString(); $uuid = Uuid::uuid4()->toString();
$shortUuid = str($uuid)->substr(0, 8); $shortUuid = str($uuid)->substr(0, 8);
if (Server::query()->where('uuid', $uuid)->orWhere('uuidShort', $shortUuid)->exists()) { if (Server::query()->where('uuid', $uuid)->orWhere('uuid_short', $shortUuid)->exists()) {
return $this->generateUniqueUuidCombo(); return $this->generateUniqueUuidCombo();
} }

View File

@ -21,6 +21,7 @@ trait AvailableLanguages
'ja', 'ja',
'nl', 'nl',
'pl', 'pl',
'sk',
'ru', 'ru',
'tr', 'tr',
]; ];

View File

@ -31,7 +31,7 @@ class NodeTransformer extends BaseTransformer
$response = collect($node->toArray())->mapWithKeys(function ($value, $key) { $response = collect($node->toArray())->mapWithKeys(function ($value, $key) {
// I messed up early in 2016 when I named this column as poorly // I messed up early in 2016 when I named this column as poorly
// as I did. This is the tragic result of my mistakes. // as I did. This is the tragic result of my mistakes.
$key = ($key === 'daemonSFTP') ? 'daemonSftp' : $key; $key = ($key === 'daemon_sftp') ? 'daemon_sftp' : $key;
return [snake_case($key) => $value]; return [snake_case($key) => $value];
})->toArray(); })->toArray();

View File

@ -52,7 +52,7 @@ class ServerTransformer extends BaseTransformer
'id' => $server->getKey(), 'id' => $server->getKey(),
'external_id' => $server->external_id, 'external_id' => $server->external_id,
'uuid' => $server->uuid, 'uuid' => $server->uuid,
'identifier' => $server->uuidShort, 'identifier' => $server->uuid_short,
'name' => $server->name, 'name' => $server->name,
'description' => $server->description, 'description' => $server->description,
'status' => $server->status, 'status' => $server->status,

View File

@ -38,7 +38,7 @@ class ServerTransformer extends BaseClientTransformer
return [ return [
'server_owner' => $user->id === $server->owner_id, 'server_owner' => $user->id === $server->owner_id,
'identifier' => $server->uuidShort, 'identifier' => $server->uuid_short,
'internal_id' => $server->id, 'internal_id' => $server->id,
'uuid' => $server->uuid, 'uuid' => $server->uuid,
'name' => $server->name, 'name' => $server->name,
@ -46,7 +46,7 @@ class ServerTransformer extends BaseClientTransformer
'is_node_under_maintenance' => $server->node->isUnderMaintenance(), 'is_node_under_maintenance' => $server->node->isUnderMaintenance(),
'sftp_details' => [ 'sftp_details' => [
'ip' => $server->node->fqdn, 'ip' => $server->node->fqdn,
'port' => $server->node->daemonSFTP, 'port' => $server->node->daemon_sftp,
], ],
'description' => $server->description, 'description' => $server->description,
'limits' => [ 'limits' => [

View File

@ -36,9 +36,9 @@ class NodeFactory extends Factory
'upload_size' => 100, 'upload_size' => 100,
'daemon_token_id' => Str::random(Node::DAEMON_TOKEN_ID_LENGTH), 'daemon_token_id' => Str::random(Node::DAEMON_TOKEN_ID_LENGTH),
'daemon_token' => Crypt::encrypt(Str::random(Node::DAEMON_TOKEN_LENGTH)), 'daemon_token' => Crypt::encrypt(Str::random(Node::DAEMON_TOKEN_LENGTH)),
'daemonListen' => 8080, 'daemon_listen' => 8080,
'daemonSFTP' => 2022, 'daemon_sftp' => 2022,
'daemonBase' => '/var/lib/pelican/volumes', 'daemon_base' => '/var/lib/panel/volumes',
]; ];
} }
} }

View File

@ -24,7 +24,7 @@ class ServerFactory extends Factory
{ {
return [ return [
'uuid' => Uuid::uuid4()->toString(), 'uuid' => Uuid::uuid4()->toString(),
'uuidShort' => Str::lower(Str::random(8)), 'uuid_short' => Str::lower(Str::random(8)),
'name' => $this->faker->firstName(), 'name' => $this->faker->firstName(),
'description' => implode(' ', $this->faker->sentences()), 'description' => implode(' ', $this->faker->sentences()),
'skip_scripts' => 0, 'skip_scripts' => 0,

View File

@ -0,0 +1,44 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('nodes', function (Blueprint $table) {
$table->string('daemonBase', 191)->default(null)->change();
});
Schema::table('nodes', function (Blueprint $table) {
$table->renameColumn('daemonListen', 'daemon_listen');
$table->renameColumn('daemonBase', 'daemon_base');
$table->renameColumn('daemonSFTP', 'daemon_sftp');
});
Schema::table('servers', function (Blueprint $table) {
$table->renameColumn('uuidShort', 'uuid_short');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('nodes', function (Blueprint $table) {
$table->renameColumn('daemon_listen', 'daemonListen');
$table->renameColumn('daemon_sftp', 'daemonSFTP');
$table->renameColumn('daemon_base', 'daemonBase');
});
Schema::table('servers', function (Blueprint $table) {
$table->renameColumn('uuid_short', 'uuidShort');
});
}
};

130
lang/be/activity.php Normal file
View File

@ -0,0 +1,130 @@
<?php
/**
* Contains all of the translation strings for different activity log
* events. These should be keyed by the value in front of the colon (:)
* in the event name. If there is no colon present, they should live at
* the top level.
*/
return [
'auth' => [
'fail' => 'Не атрымалася аўтарызавацца',
'success' => 'Увайшоў',
'password-reset' => 'Скінуць пароль',
'reset-password' => 'Запытаць скіданне пароля',
'checkpoint' => 'Двухфактарная аўтэнтыфікацыя ўключана',
'recovery-token' => 'Использован резервный код 2FA',
'token' => 'Пройдена двухфакторная проверка',
'ip-blocked' => 'Заблокирован запрос с IP адреса не внесенного в список для :identifier',
'sftp' => [
'fail' => 'Не атрымалася аўтарызавацца',
],
],
'user' => [
'account' => [
'email-changed' => 'Изменена эл. почта с :old на :new',
'password-changed' => 'Змяніць пароль',
],
'api-key' => [
'create' => 'Создан новый API ключ :identifier',
'delete' => 'Создан новый API ключ :identifier',
],
'ssh-key' => [
'create' => 'Добавлен SSH ключ :fingerprint в аккаунт',
'delete' => 'Добавлен SSH ключ :fingerprint в аккаунт',
],
'two-factor' => [
'create' => 'Включена двухфакторная авторизация',
'delete' => 'Включена двухфакторная авторизация',
],
],
'server' => [
'reinstall' => 'Сервер переустановлен',
'console' => [
'command' => 'Executed ":command" on the server',
],
'power' => [
'start' => 'Started the server',
'stop' => 'Stopped the server',
'restart' => 'Restarted the server',
'kill' => 'Killed the server process',
],
'backup' => [
'download' => 'Downloaded the :name backup',
'delete' => 'Deleted the :name backup',
'restore' => 'Restored the :name backup (deleted files: :truncate)',
'restore-complete' => 'Completed restoration of the :name backup',
'restore-failed' => 'Failed to complete restoration of the :name backup',
'start' => 'Started a new backup :name',
'complete' => 'Marked the :name backup as complete',
'fail' => 'Marked the :name backup as failed',
'lock' => 'Locked the :name backup',
'unlock' => 'Unlocked the :name backup',
],
'database' => [
'create' => 'Created new database :name',
'rotate-password' => 'Password rotated for database :name',
'delete' => 'Deleted database :name',
],
'file' => [
'compress_one' => 'Compressed :directory:file',
'compress_other' => 'Compressed :count files in :directory',
'read' => 'Viewed the contents of :file',
'copy' => 'Created a copy of :file',
'create-directory' => 'Created directory :directory:name',
'decompress' => 'Decompressed :files in :directory',
'delete_one' => 'Deleted :directory:files.0',
'delete_other' => 'Deleted :count files in :directory',
'download' => 'Downloaded :file',
'pull' => 'Downloaded a remote file from :url to :directory',
'rename_one' => 'Renamed :directory:files.0.from to :directory:files.0.to',
'rename_other' => 'Renamed :count files in :directory',
'write' => 'Wrote new content to :file',
'upload' => 'Began a file upload',
'uploaded' => 'Uploaded :directory:file',
],
'sftp' => [
'denied' => 'Blocked SFTP access due to permissions',
'create_one' => 'Created :files.0',
'create_other' => 'Created :count new files',
'write_one' => 'Modified the contents of :files.0',
'write_other' => 'Modified the contents of :count files',
'delete_one' => 'Deleted :files.0',
'delete_other' => 'Deleted :count files',
'create-directory_one' => 'Created the :files.0 directory',
'create-directory_other' => 'Created :count directories',
'rename_one' => 'Renamed :files.0.from to :files.0.to',
'rename_other' => 'Renamed or moved :count files',
],
'allocation' => [
'create' => 'Added :allocation to the server',
'notes' => 'Updated the notes for :allocation from ":old" to ":new"',
'primary' => 'Set :allocation as the primary server allocation',
'delete' => 'Deleted the :allocation allocation',
],
'schedule' => [
'create' => 'Created the :name schedule',
'update' => 'Updated the :name schedule',
'execute' => 'Manually executed the :name schedule',
'delete' => 'Deleted the :name schedule',
],
'task' => [
'create' => 'Created a new ":action" task for the :name schedule',
'update' => 'Updated the ":action" task for the :name schedule',
'delete' => 'Deleted a task for the :name schedule',
],
'settings' => [
'rename' => 'Renamed the server from :old to :new',
'description' => 'Changed the server description from :old to :new',
],
'startup' => [
'edit' => 'Changed the :variable variable from ":old" to ":new"',
'image' => 'Updated the Docker Image for the server from :old to :new',
],
'subuser' => [
'create' => 'Added :email as a subuser',
'update' => 'Updated the subuser permissions for :email',
'delete' => 'Removed :email as a subuser',
],
],
];

19
lang/be/admin/eggs.php Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
'notices' => [
'imported' => 'Successfully imported this Egg and its associated variables.',
'updated_via_import' => 'This Egg has been updated using the file provided.',
'deleted' => 'Successfully deleted the requested egg from the Panel.',
'updated' => 'Egg configuration has been updated successfully.',
'script_updated' => 'Egg install script has been updated and will run whenever servers are installed.',
'egg_created' => 'A new egg was laid successfully. You will need to restart any running daemons to apply this new egg.',
],
'variables' => [
'notices' => [
'variable_deleted' => 'The variable ":variable" has been deleted and will no longer be available to servers once rebuilt.',
'variable_updated' => 'The variable ":variable" has been updated. You will need to rebuild any servers using this variable in order to apply changes.',
'variable_created' => 'New variable has successfully been created and assigned to this egg.',
],
],
];

15
lang/be/admin/node.php Normal file
View File

@ -0,0 +1,15 @@
<?php
return [
'validation' => [
'fqdn_not_resolvable' => 'The FQDN or IP address provided does not resolve to a valid IP address.',
'fqdn_required_for_ssl' => 'A fully qualified domain name that resolves to a public IP address is required in order to use SSL for this node.',
],
'notices' => [
'allocations_added' => 'Allocations have successfully been added to this node.',
'node_deleted' => 'Node has been successfully removed from the panel.',
'node_created' => 'Successfully created new node. You can automatically configure the daemon on this machine by visiting the \'Configuration\' tab. <strong>Before you can add any servers you must first allocate at least one IP address and port.</strong>',
'node_updated' => 'Node information has been updated. If any daemon settings were changed you will need to reboot it for those changes to take effect.',
'unallocated_deleted' => 'Deleted all un-allocated ports for <code>:ip</code>.',
],
];

27
lang/be/admin/server.php Normal file
View File

@ -0,0 +1,27 @@
<?php
return [
'exceptions' => [
'no_new_default_allocation' => 'You are attempting to delete the default allocation for this server but there is no fallback allocation to use.',
'marked_as_failed' => 'This server was marked as having failed a previous installation. Current status cannot be toggled in this state.',
'bad_variable' => 'There was a validation error with the :name variable.',
'daemon_exception' => 'There was an exception while attempting to communicate with the daemon resulting in a HTTP/:code response code. This exception has been logged. (request id: :request_id)',
'default_allocation_not_found' => 'The requested default allocation was not found in this server\'s allocations.',
],
'alerts' => [
'startup_changed' => 'The startup configuration for this server has been updated. If this server\'s egg was changed a reinstall will be occurring now.',
'server_deleted' => 'Server has successfully been deleted from the system.',
'server_created' => 'Server was successfully created on the panel. Please allow the daemon a few minutes to completely install this server.',
'build_updated' => 'The build details for this server have been updated. Some changes may require a restart to take effect.',
'suspension_toggled' => 'Server suspension status has been changed to :status.',
'rebuild_on_boot' => 'This server has been marked as requiring a Docker Container rebuild. This will happen the next time the server is started.',
'install_toggled' => 'The installation status for this server has been toggled.',
'server_reinstalled' => 'This server has been queued for a reinstallation beginning now.',
'details_updated' => 'Server details have been successfully updated.',
'docker_image_updated' => 'Successfully changed the default Docker image to use for this server. A reboot is required to apply this change.',
'node_required' => 'You must have at least one node configured before you can add a server to this panel.',
'transfer_nodes_required' => 'You must have at least two nodes configured before you can transfer servers.',
'transfer_started' => 'Server transfer has been started.',
'transfer_not_viable' => 'The node you selected does not have the required disk space or memory available to accommodate this server.',
],
];

12
lang/be/admin/user.php Normal file
View File

@ -0,0 +1,12 @@
<?php
return [
'exceptions' => [
'user_has_servers' => 'Cannot delete a user with active servers attached to their account. Please delete their servers before continuing.',
'user_is_self' => 'Cannot delete your own user account.',
],
'notices' => [
'account_created' => 'Account has been created successfully.',
'account_updated' => 'Account has been successfully updated.',
],
];

27
lang/be/auth.php Normal file
View File

@ -0,0 +1,27 @@
<?php
return [
'sign_in' => 'Sign In',
'go_to_login' => 'Go to Login',
'failed' => 'No account matching those credentials could be found.',
'forgot_password' => [
'label' => 'Forgot Password?',
'label_help' => 'Enter your account email address to receive instructions on resetting your password.',
'button' => 'Recover Account',
],
'reset_password' => [
'button' => 'Reset and Sign In',
],
'two_factor' => [
'label' => '2-Factor Token',
'label_help' => 'This account requires a second layer of authentication in order to continue. Please enter the code generated by your device to complete this login.',
'checkpoint_failed' => 'The two-factor authentication token was invalid.',
],
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
'password_requirements' => 'Password must be at least 8 characters in length and should be unique to this site.',
'2fa_must_be_enabled' => 'The administrator has required that 2-Factor Authentication be enabled for your account in order to use the Panel.',
];

View File

@ -0,0 +1,59 @@
<?php
return [
'user' => [
'search_users' => 'Enter a Username, User ID, or Email Address',
'select_search_user' => 'ID of user to delete (Enter \'0\' to re-search)',
'deleted' => 'User successfully deleted from the Panel.',
'confirm_delete' => 'Are you sure you want to delete this user from the Panel?',
'no_users_found' => 'No users were found for the search term provided.',
'multiple_found' => 'Multiple accounts were found for the user provided, unable to delete a user because of the --no-interaction flag.',
'ask_admin' => 'Is this user an administrator?',
'ask_email' => 'Email Address',
'ask_username' => 'Username',
'ask_name_first' => 'First Name',
'ask_name_last' => 'Last Name',
'ask_password' => 'Password',
'ask_password_tip' => 'If you would like to create an account with a random password emailed to the user, re-run this command (CTRL+C) and pass the `--no-password` flag.',
'ask_password_help' => 'Passwords must be at least 8 characters in length and contain at least one capital letter and number.',
'2fa_help_text' => [
'This command will disable 2-factor authentication for a user\'s account if it is enabled. This should only be used as an account recovery command if the user is locked out of their account.',
'If this is not what you wanted to do, press CTRL+C to exit this process.',
],
'2fa_disabled' => '2-Factor authentication has been disabled for :email.',
],
'schedule' => [
'output_line' => 'Dispatching job for first task in `:schedule` (:hash).',
],
'maintenance' => [
'deleting_service_backup' => 'Deleting service backup file :file.',
],
'server' => [
'rebuild_failed' => 'Rebuild request for ":name" (#:id) on node ":node" failed with error: :message',
'reinstall' => [
'failed' => 'Reinstall request for ":name" (#:id) on node ":node" failed with error: :message',
'confirm' => 'You are about to reinstall against a group of servers. Do you wish to continue?',
],
'power' => [
'confirm' => 'You are about to perform a :action against :count servers. Do you wish to continue?',
'action_failed' => 'Power action request for ":name" (#:id) on node ":node" failed with error: :message',
],
],
'environment' => [
'mail' => [
'ask_smtp_host' => 'SMTP Host (e.g. smtp.gmail.com)',
'ask_smtp_port' => 'SMTP Port',
'ask_smtp_username' => 'SMTP Username',
'ask_smtp_password' => 'SMTP Password',
'ask_mailgun_domain' => 'Mailgun Domain',
'ask_mailgun_endpoint' => 'Mailgun Endpoint',
'ask_mailgun_secret' => 'Mailgun Secret',
'ask_mandrill_secret' => 'Mandrill Secret',
'ask_postmark_username' => 'Postmark API Key',
'ask_driver' => 'Which driver should be used for sending emails?',
'ask_mail_from' => 'Email address emails should originate from',
'ask_mail_name' => 'Name that emails should appear from',
'ask_encryption' => 'Encryption method to use',
],
],
];

View File

@ -0,0 +1,28 @@
<?php
return [
'email' => [
'title' => 'Update your email',
'updated' => 'Your email address has been updated.',
],
'password' => [
'title' => 'Change your password',
'requirements' => 'Your new password should be at least 8 characters in length.',
'updated' => 'Your password has been updated.',
],
'two_factor' => [
'button' => 'Configure 2-Factor Authentication',
'disabled' => 'Two-factor authentication has been disabled on your account. You will no longer be prompted to provide a token when logging in.',
'enabled' => 'Two-factor authentication has been enabled on your account! From now on, when logging in, you will be required to provide the code generated by your device.',
'invalid' => 'The token provided was invalid.',
'setup' => [
'title' => 'Setup two-factor authentication',
'help' => 'Can\'t scan the code? Enter the code below into your application:',
'field' => 'Enter token',
],
'disable' => [
'title' => 'Disable two-factor authentication',
'field' => 'Enter token',
],
],
];

View File

@ -0,0 +1,8 @@
<?php
return [
'search' => 'Search for servers...',
'no_matches' => 'There were no servers found matching the search criteria provided.',
'cpu_title' => 'CPU',
'memory_title' => 'Memory',
];

55
lang/be/exceptions.php Normal file
View File

@ -0,0 +1,55 @@
<?php
return [
'daemon_connection_failed' => 'There was an exception while attempting to communicate with the daemon resulting in a HTTP/:code response code. This exception has been logged.',
'node' => [
'servers_attached' => 'A node must have no servers linked to it in order to be deleted.',
'daemon_off_config_updated' => 'The daemon configuration <strong>has been updated</strong>, however there was an error encountered while attempting to automatically update the configuration file on the Daemon. You will need to manually update the configuration file (config.yml) for the daemon to apply these changes.',
],
'allocations' => [
'server_using' => 'A server is currently assigned to this allocation. An allocation can only be deleted if no server is currently assigned.',
'too_many_ports' => 'Adding more than 1000 ports in a single range at once is not supported.',
'invalid_mapping' => 'The mapping provided for :port was invalid and could not be processed.',
'cidr_out_of_range' => 'CIDR notation only allows masks between /25 and /32.',
'port_out_of_range' => 'Ports in an allocation must be greater than 1024 and less than or equal to 65535.',
],
'egg' => [
'delete_has_servers' => 'An Egg with active servers attached to it cannot be deleted from the Panel.',
'invalid_copy_id' => 'The Egg selected for copying a script from either does not exist, or is copying a script itself.',
'has_children' => 'This Egg is a parent to one or more other Eggs. Please delete those Eggs before deleting this Egg.',
],
'variables' => [
'env_not_unique' => 'The environment variable :name must be unique to this Egg.',
'reserved_name' => 'The environment variable :name is protected and cannot be assigned to a variable.',
'bad_validation_rule' => 'The validation rule ":rule" is not a valid rule for this application.',
],
'importer' => [
'json_error' => 'There was an error while attempting to parse the JSON file: :error.',
'file_error' => 'The JSON file provided was not valid.',
'invalid_json_provided' => 'The JSON file provided is not in a format that can be recognized.',
],
'subusers' => [
'editing_self' => 'Editing your own subuser account is not permitted.',
'user_is_owner' => 'You cannot add the server owner as a subuser for this server.',
'subuser_exists' => 'A user with that email address is already assigned as a subuser for this server.',
],
'databases' => [
'delete_has_databases' => 'Cannot delete a database host server that has active databases linked to it.',
],
'tasks' => [
'chain_interval_too_long' => 'The maximum interval time for a chained task is 15 minutes.',
],
'locations' => [
'has_nodes' => 'Cannot delete a location that has active nodes attached to it.',
],
'users' => [
'node_revocation_failed' => 'Failed to revoke keys on <a href=":link">Node #:node</a>. :error',
],
'deployment' => [
'no_viable_nodes' => 'No nodes satisfying the requirements specified for automatic deployment could be found.',
'no_viable_allocations' => 'No allocations satisfying the requirements for automatic deployment were found.',
],
'api' => [
'resource_not_found' => 'The requested resource does not exist on this server.',
],
];

17
lang/be/pagination.php Normal file
View File

@ -0,0 +1,17 @@
<?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' => '&laquo; Previous',
'next' => 'Next &raquo;',
];

19
lang/be/passwords.php Normal file
View File

@ -0,0 +1,19 @@
<?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' => 'Passwords must be at least six characters and match the confirmation.',
'reset' => 'Your password has been reset!',
'sent' => 'We have e-mailed your password reset link!',
'token' => 'This password reset token is invalid.',
'user' => 'We can\'t find a user with that e-mail address.',
];

33
lang/be/server/users.php Normal file
View File

@ -0,0 +1,33 @@
<?php
return [
'permissions' => [
'websocket_*' => 'Allows access to the websocket for this server.',
'control_console' => 'Allows the user to send data to the server console.',
'control_start' => 'Allows the user to start the server instance.',
'control_stop' => 'Allows the user to stop the server instance.',
'control_restart' => 'Allows the user to restart the server instance.',
'control_kill' => 'Allows the user to kill the server instance.',
'user_create' => 'Allows the user to create new user accounts for the server.',
'user_read' => 'Allows the user permission to view users associated with this server.',
'user_update' => 'Allows the user to modify other users associated with this server.',
'user_delete' => 'Allows the user to delete other users associated with this server.',
'file_create' => 'Allows the user permission to create new files and directories.',
'file_read' => 'Allows the user to see files and folders associated with this server instance, as well as view their contents.',
'file_update' => 'Allows the user to update files and folders associated with the server.',
'file_delete' => 'Allows the user to delete files and directories.',
'file_archive' => 'Allows the user to create file archives and decompress existing archives.',
'file_sftp' => 'Allows the user to perform the above file actions using a SFTP client.',
'allocation_read' => 'Allows access to the server allocation management pages.',
'allocation_update' => 'Allows user permission to make modifications to the server\'s allocations.',
'database_create' => 'Allows user permission to create a new database for the server.',
'database_read' => 'Allows user permission to view the server databases.',
'database_update' => 'Allows a user permission to make modifications to a database. If the user does not have the "View Password" permission as well they will not be able to modify the password.',
'database_delete' => 'Allows a user permission to delete a database instance.',
'database_view_password' => 'Allows a user permission to view a database password in the system.',
'schedule_create' => 'Allows a user to create a new schedule for the server.',
'schedule_read' => 'Allows a user permission to view schedules for a server.',
'schedule_update' => 'Allows a user permission to make modifications to an existing server schedule.',
'schedule_delete' => 'Allows a user to delete a schedule for the server.',
],
];

95
lang/be/strings.php Normal file
View File

@ -0,0 +1,95 @@
<?php
return [
'email' => 'Пошта',
'email_address' => 'Адрас электроннай пошты',
'user_identifier' => 'Имя пользователя или адрес эл. почты',
'password' => 'Пароль',
'new_password' => 'Новый пароль',
'confirm_password' => 'Повторите пароль',
'login' => 'Авторизация',
'home' => 'Галоўная',
'servers' => 'Серверы',
'id' => 'ID',
'name' => 'Імя',
'node' => 'Вузел',
'connection' => 'Падключэнне',
'memory' => 'Памяць',
'cpu' => 'Працэсар',
'disk' => 'Дыск',
'status' => 'Стан',
'search' => 'Поіск',
'suspended' => 'Пріостановлена',
'account' => 'Уліковы запіс',
'security' => 'Безопасность',
'ip' => 'IP-адрес',
'last_activity' => 'Последняя активность',
'revoke' => 'Отозвать',
'2fa_token' => 'Токен аутентификации',
'submit' => 'Подтвердить',
'close' => 'Закрыть',
'settings' => 'Настройки',
'configuration' => 'Конфигурация',
'sftp' => 'SFTP',
'databases' => 'Базы данных',
'memo' => 'Заметка',
'created' => 'Создан',
'expires' => 'Истекает',
'public_key' => 'Токен',
'api_access' => 'Api Доступ',
'never' => 'никогда',
'sign_out' => 'Выйти',
'admin_control' => 'Панель администратора',
'required' => 'Обязательно',
'port' => 'Порт',
'username' => 'Имя пользователя',
'database' => 'База данных',
'new' => 'Создать',
'danger' => 'Важно!',
'create' => 'Создать',
'select_all' => 'Выбрать всё',
'select_none' => 'Ни один из предложенных',
'alias' => 'Псевдоним',
'primary' => 'Основной',
'make_primary' => 'Сделать основным',
'none' => 'Ничего',
'cancel' => 'Отменить',
'created_at' => 'Создан',
'action' => 'Действие',
'data' => 'Данные',
'queued' => 'В очереди',
'last_run' => 'Последний Запуск',
'next_run' => 'Следующий Запуск',
'not_run_yet' => 'Ещё Не Запущено',
'yes' => 'Да',
'no' => 'Нет',
'delete' => 'Удалить',
'2fa' => '2FA',
'logout' => 'Выйти',
'admin_cp' => 'Панель администратора',
'optional' => 'Необязательно',
'read_only' => 'Только для чтения',
'relation' => 'Отношение',
'owner' => 'Владелец',
'admin' => 'Администратор',
'subuser' => 'Подпользователь',
'captcha_invalid' => 'Проверка на робота не пройдена.',
'tasks' => 'Задачи',
'seconds' => 'Секунды',
'minutes' => 'Минуты',
'under_maintenance' => 'На Технических Работах',
'days' => [
'sun' => 'Воскресенье',
'mon' => 'Понедельник',
'tues' => 'Вторник',
'wed' => 'Среда',
'thurs' => 'Четверг',
'fri' => 'Пятница',
'sat' => 'Суббота',
],
'last_used' => 'Последнее использование',
'enable' => 'Включить',
'disable' => 'Отключить',
'save' => 'Сохранить',
'copyright' => '&reg; 2024 - :year Pelican',
];

106
lang/be/validation.php Normal file
View File

@ -0,0 +1,106 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
'accepted' => 'Необходимо принять :attribute.',
'active_url' => '{{ attribute }} з\'яўляецца несапраўдным URL-адрасам',
'after' => 'В поле :attribute должна быть дата после :date.',
'after_or_equal' => 'В поле :attribute должна быть дата после :date.',
'alpha' => ':attribute может содержать только буквы.',
'alpha_dash' => 'Атрибут: может содержать только буквы, цифры и тире.',
'alpha_num' => ':attribute может содержать только буквы.',
'array' => 'Необходимо принять :attribute.',
'before' => 'В поле :attribute должна быть дата после :date.',
'before_or_equal' => 'В поле :attribute должна быть дата после :date.',
'between' => [
'numeric' => 'Значэнне :attribute павінна знаходзіцца ў межах :min і :max',
'file' => 'Значэнне :attribute павінна знаходзіцца ў межах :min і :max',
'string' => 'Значэнне :attribute павінна знаходзіцца ў межах :min і :max',
'array' => 'Значэнне :attribute павінна знаходзіцца ў межах :min і :max',
],
'boolean' => ':attribute должен иметь значение true или false.',
'confirmed' => ':attribute подтверждение не совпадает.',
'date' => '{{ attribute }} з\'яўляецца несапраўдным URL-адрасам',
'date_format' => 'Атрибут: не соответствует формату: формат.',
'different' => ':attribute и :other должны быть разными.',
'digits' => ':attribute должен содержать :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.',
'exists' => 'The selected :attribute is invalid.',
'file' => 'The :attribute must be a file.',
'filled' => 'The :attribute field is required.',
'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.',
'json' => 'The :attribute must be a valid JSON string.',
'max' => [
'numeric' => 'The :attribute may not be greater than :max.',
'file' => 'The :attribute may not be greater than :max kilobytes.',
'string' => 'The :attribute may not be greater than :max characters.',
'array' => 'The :attribute may not have more than :max items.',
],
'mimes' => 'The :attribute must be a file of type: :values.',
'mimetypes' => 'The :attribute must be a file of type: :values.',
'min' => [
'numeric' => 'The :attribute must be at least :min.',
'file' => 'The :attribute must be at least :min kilobytes.',
'string' => 'The :attribute must be at least :min characters.',
'array' => 'The :attribute must have at least :min items.',
],
'not_in' => 'The selected :attribute is invalid.',
'numeric' => 'The :attribute must be a number.',
'present' => 'The :attribute field must be present.',
'regex' => 'The :attribute format is invalid.',
'required' => 'The :attribute field is required.',
'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 is 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' => [
'numeric' => 'The :attribute must be :size.',
'file' => 'The :attribute must be :size kilobytes.',
'string' => 'The :attribute must be :size characters.',
'array' => 'The :attribute must contain :size items.',
],
'string' => 'The :attribute must be a string.',
'timezone' => 'The :attribute must be a valid zone.',
'unique' => 'The :attribute has already been taken.',
'uploaded' => 'The :attribute failed to upload.',
'url' => 'The :attribute format is invalid.',
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => [],
// Internal validation logic for Panel
'internal' => [
'variable_value' => ':env variable',
'invalid_password' => 'The password provided was invalid for this account.',
],
];

View File

@ -42,7 +42,7 @@ return [
'environment' => [ 'environment' => [
'mail' => [ 'mail' => [
'ask_smtp_host' => 'SMTP hostitel (např. smtp.gmail.com)', 'ask_smtp_host' => 'SMTP hostitel (např. smtp.gmail.com)',
'ask_smtp_port' => 'SMTP Port', 'ask_smtp_port' => 'SMTP port',
'ask_smtp_username' => 'SMTP Uživatelské jméno', 'ask_smtp_username' => 'SMTP Uživatelské jméno',
'ask_smtp_password' => 'SMTP heslo', 'ask_smtp_password' => 'SMTP heslo',
'ask_mailgun_domain' => 'Mailgun doména', 'ask_mailgun_domain' => 'Mailgun doména',

View File

@ -1,7 +1,7 @@
<?php <?php
return [ return [
'email' => 'Email', 'email' => 'E-mail',
'email_address' => 'E-mailová adresa', 'email_address' => 'E-mailová adresa',
'user_identifier' => 'Uživatelské jméno nebo e-mail', 'user_identifier' => 'Uživatelské jméno nebo e-mail',
'password' => 'Heslo', 'password' => 'Heslo',
@ -16,7 +16,7 @@ return [
'connection' => 'Připojení', 'connection' => 'Připojení',
'memory' => 'Paměť', 'memory' => 'Paměť',
'cpu' => 'CPU', 'cpu' => 'CPU',
'disk' => 'Disk', 'disk' => 'Úložiště',
'status' => 'Stav', 'status' => 'Stav',
'search' => 'Hledat', 'search' => 'Hledat',
'suspended' => 'Pozastaveno', 'suspended' => 'Pozastaveno',

View File

@ -47,7 +47,7 @@ return [
'ask_smtp_password' => 'SMTP Passwort', 'ask_smtp_password' => 'SMTP Passwort',
'ask_mailgun_domain' => 'Mailgun Domain', 'ask_mailgun_domain' => 'Mailgun Domain',
'ask_mailgun_endpoint' => 'Mailgun Endpunkt', 'ask_mailgun_endpoint' => 'Mailgun Endpunkt',
'ask_mailgun_secret' => 'Mailgun Secret', 'ask_mailgun_secret' => 'Mailgun Verschlüsselung',
'ask_mandrill_secret' => 'Mandrill Secret', 'ask_mandrill_secret' => 'Mandrill Secret',
'ask_postmark_username' => 'Postmark API Schlüssel', 'ask_postmark_username' => 'Postmark API Schlüssel',
'ask_driver' => 'Welcher Treiber soll für das Versenden von E-Mails verwendet werden?', 'ask_driver' => 'Welcher Treiber soll für das Versenden von E-Mails verwendet werden?',

View File

@ -6,7 +6,7 @@ return [
'updated' => 'Tu dirección de correo electrónico ha sido actualizada.', 'updated' => 'Tu dirección de correo electrónico ha sido actualizada.',
], ],
'password' => [ 'password' => [
'title' => 'Cambiar tu contraseña', 'title' => 'Cambia tu contraseña',
'requirements' => 'Tu nueva contraseña debe tener al menos 8 caracteres de longitud.', 'requirements' => 'Tu nueva contraseña debe tener al menos 8 caracteres de longitud.',
'updated' => 'Tu contraseña ha sido actualizada.', 'updated' => 'Tu contraseña ha sido actualizada.',
], ],

View File

@ -3,6 +3,6 @@
return [ return [
'search' => 'Buscar servidores...', 'search' => 'Buscar servidores...',
'no_matches' => 'No se encontraron servidores que coincidan con los criterios de búsqueda proporcionados.', 'no_matches' => 'No se encontraron servidores que coincidan con los criterios de búsqueda proporcionados.',
'cpu_title' => 'UPC', 'cpu_title' => 'CPU',
'memory_title' => 'Memoria', 'memory_title' => 'Memoria',
]; ];

View File

@ -14,12 +14,12 @@ return [
'port_out_of_range' => 'Los puertos en una asignación deben ser mayores que 1024 y menores o iguales a 65535.', 'port_out_of_range' => 'Los puertos en una asignación deben ser mayores que 1024 y menores o iguales a 65535.',
], ],
'egg' => [ 'egg' => [
'delete_has_servers' => 'Un Huevo con servidores activos vinculados a él no puede ser eliminado del Panel.', 'delete_has_servers' => 'Un Egg con servidores activos vinculados a él no puede ser eliminado del Panel.',
'invalid_copy_id' => 'El Huevo seleccionado para copiar un script desde no existe o está copiando un script en sí mismo.', 'invalid_copy_id' => 'El Egg seleccionado para copiar un script desde no existe o está copiando un script en sí mismo.',
'has_children' => 'Este Huevo es padre de uno o más otros Huevos. Por favor, elimina esos Huevos antes de eliminar este Huevo.', 'has_children' => 'Este Egg es padre de uno o más otros Eggs. Por favor, elimina esos Eggs antes de eliminar este Egg.',
], ],
'variables' => [ 'variables' => [
'env_not_unique' => 'La variable de entorno :name debe ser única para este Huevo.', 'env_not_unique' => 'La variable de entorno :name debe ser única para este Egg.',
'reserved_name' => 'La variable de entorno :name está protegida y no se puede asignar a una variable.', 'reserved_name' => 'La variable de entorno :name está protegida y no se puede asignar a una variable.',
'bad_validation_rule' => 'La regla de validación ":rule" no es una regla válida para esta aplicación.', 'bad_validation_rule' => 'La regla de validación ":rule" no es una regla válida para esta aplicación.',
], ],
@ -34,7 +34,7 @@ return [
'subuser_exists' => 'Ya hay un usuario con esa dirección de correo electrónico asignado como subusuario para este servidor.', 'subuser_exists' => 'Ya hay un usuario con esa dirección de correo electrónico asignado como subusuario para este servidor.',
], ],
'databases' => [ 'databases' => [
'delete_has_databases' => 'No se puede eliminar un servidor de host de base de datos que tiene bases de datos activas vinculadas a él.', 'delete_has_databases' => 'No se puede eliminar un servidor de base de datos que tiene bases de datos activas vinculadas a él.',
], ],
'tasks' => [ 'tasks' => [
'chain_interval_too_long' => 'El tiempo máximo de intervalo para una tarea encadenada es de 15 minutos.', 'chain_interval_too_long' => 'El tiempo máximo de intervalo para una tarea encadenada es de 15 minutos.',

View File

@ -8,123 +8,123 @@
*/ */
return [ return [
'auth' => [ 'auth' => [
'fail' => 'Failed log in', 'fail' => 'Kirjautuminen epäonnistui',
'success' => 'Logged in', 'success' => 'Kirjautunut sisään',
'password-reset' => 'Password reset', 'password-reset' => 'Salasanan palauttaminen',
'reset-password' => 'Requested password reset', 'reset-password' => 'Lähetä salasanan nollauspyyntö',
'checkpoint' => 'Two-factor authentication requested', 'checkpoint' => 'Kaksivaiheista todennusta pyydetty',
'recovery-token' => 'Used two-factor recovery token', 'recovery-token' => 'Käytetty kaksivaiheinen palautustunniste',
'token' => 'Solved two-factor challenge', 'token' => 'Ratkaistu kaksivaiheinen haaste',
'ip-blocked' => 'Blocked request from unlisted IP address for :identifier', 'ip-blocked' => 'Estetty pyyntö listaamattomasta IP-osoitteesta :identifier',
'sftp' => [ 'sftp' => [
'fail' => 'Failed SFTP log in', 'fail' => 'SFTP kirjautuminen epäonnistui',
], ],
], ],
'user' => [ 'user' => [
'account' => [ 'account' => [
'email-changed' => 'Changed email from :old to :new', 'email-changed' => 'Muutettu sähköpostiosoite :old muotoon :new',
'password-changed' => 'Changed password', 'password-changed' => 'Salasana vaihdettu',
], ],
'api-key' => [ 'api-key' => [
'create' => 'Created new API key :identifier', 'create' => 'Luotu uusi API-avain :identifier',
'delete' => 'Deleted API key :identifier', 'delete' => 'Poistettu API-avain :identifier',
], ],
'ssh-key' => [ 'ssh-key' => [
'create' => 'Added SSH key :fingerprint to account', 'create' => 'Tilille lisätty SSH avain :fingerprint',
'delete' => 'Removed SSH key :fingerprint from account', 'delete' => 'Tililtä poistettu SSH avain :fingerprint',
], ],
'two-factor' => [ 'two-factor' => [
'create' => 'Enabled two-factor auth', 'create' => 'Kaksivaiheinen todennus käytössä',
'delete' => 'Disabled two-factor auth', 'delete' => 'Kaksivaiheinen todennus poistettu käytöstä',
], ],
], ],
'server' => [ 'server' => [
'reinstall' => 'Reinstalled server', 'reinstall' => 'Uudelleenasennettu palvelin',
'console' => [ 'console' => [
'command' => 'Executed ":command" on the server', 'command' => 'Suoritettu ":command" palvelimelle',
], ],
'power' => [ 'power' => [
'start' => 'Started the server', 'start' => 'Palvelin käynnistetty',
'stop' => 'Stopped the server', 'stop' => 'Palvelin pysäytetty',
'restart' => 'Restarted the server', 'restart' => 'Palvelin uudelleen käynnistetty',
'kill' => 'Killed the server process', 'kill' => 'Palvelimen prosessi tapettu',
], ],
'backup' => [ 'backup' => [
'download' => 'Downloaded the :name backup', 'download' => 'Ladattu varmuuskopio :name',
'delete' => 'Deleted the :name backup', 'delete' => 'Poistettu varmuuskopio :name',
'restore' => 'Restored the :name backup (deleted files: :truncate)', 'restore' => 'Palautettu varmuuskopio :name (poistetut tiedostot: :truncate)',
'restore-complete' => 'Completed restoration of the :name backup', 'restore-complete' => 'Suoritettu palauttaminen varmuuskopiosta :name',
'restore-failed' => 'Failed to complete restoration of the :name backup', 'restore-failed' => 'Ei voitu suorittaa varmuuskopion :name palauttamista',
'start' => 'Started a new backup :name', 'start' => 'Aloitti uuden varmuuskopion :name',
'complete' => 'Marked the :name backup as complete', 'complete' => 'Varmuuskopio :name on merkitty valmiiksi',
'fail' => 'Marked the :name backup as failed', 'fail' => 'Varmuuskopio :name on merkitty epäonnistuneeksi',
'lock' => 'Locked the :name backup', 'lock' => 'Varmuuskopio :name lukittiin',
'unlock' => 'Unlocked the :name backup', 'unlock' => 'Varmuuskopio :name on avattu lukituksesta',
], ],
'database' => [ 'database' => [
'create' => 'Created new database :name', 'create' => 'Luotiin uusi tietokanta :name',
'rotate-password' => 'Password rotated for database :name', 'rotate-password' => 'Tietokannan :name salasana vaihdettu',
'delete' => 'Deleted database :name', 'delete' => 'Tietokanta :name poistettiin',
], ],
'file' => [ 'file' => [
'compress_one' => 'Compressed :directory:file', 'compress_one' => 'Pakattu :directory:file',
'compress_other' => 'Compressed :count files in :directory', 'compress_other' => 'Pakattu :count tiedostoa :directory',
'read' => 'Viewed the contents of :file', 'read' => 'Tiedoston :file sisältöä tarkasteltu',
'copy' => 'Created a copy of :file', 'copy' => 'Luotu kopio tiedostosta :file',
'create-directory' => 'Created directory :directory:name', 'create-directory' => 'Luotu hakemisto :Directory:name',
'decompress' => 'Decompressed :files in :directory', 'decompress' => ':files purettiin :directory',
'delete_one' => 'Deleted :directory:files.0', 'delete_one' => 'Poistettu :directory:files.0',
'delete_other' => 'Deleted :count files in :directory', 'delete_other' => 'Poistettiin :count tiedostoa :directory',
'download' => 'Downloaded :file', 'download' => 'Ladattu :file',
'pull' => 'Downloaded a remote file from :url to :directory', 'pull' => 'Etätiedosto ladattiin :url :directory',
'rename_one' => 'Renamed :directory:files.0.from to :directory:files.0.to', 'rename_one' => 'Uudelleennimetty :directory:files.0.from :directory:files.0.to',
'rename_other' => 'Renamed :count files in :directory', 'rename_other' => 'Nimetty uudelleen :count tiedostoa hakemistossa :directory',
'write' => 'Wrote new content to :file', 'write' => 'Kirjoitettu uutta sisältöä tiedostoon :file',
'upload' => 'Began a file upload', 'upload' => 'Tiedoston lataus aloitettu',
'uploaded' => 'Uploaded :directory:file', 'uploaded' => 'Ladattu :directory:file',
], ],
'sftp' => [ 'sftp' => [
'denied' => 'Blocked SFTP access due to permissions', 'denied' => 'SFTP-käyttö estetty käyttöoikeuksien vuoksi',
'create_one' => 'Created :files.0', 'create_one' => 'Luotu :files.0',
'create_other' => 'Created :count new files', 'create_other' => 'Luotu :count uutta tiedostoa',
'write_one' => 'Modified the contents of :files.0', 'write_one' => 'Muokattu :files.0 sisältöä',
'write_other' => 'Modified the contents of :count files', 'write_other' => 'Muokattu :count tiedostojen sisältöä',
'delete_one' => 'Deleted :files.0', 'delete_one' => 'Poistettiin :files.0',
'delete_other' => 'Deleted :count files', 'delete_other' => 'Poistettiin :count tiedostoa',
'create-directory_one' => 'Created the :files.0 directory', 'create-directory_one' => 'Luotu :files.0 hakemisto',
'create-directory_other' => 'Created :count directories', 'create-directory_other' => 'Luotu :count hakemistoa',
'rename_one' => 'Renamed :files.0.from to :files.0.to', 'rename_one' => 'Tiedosto :files.0.from nimettiin uudelleen tiedostoksi :files.0.to',
'rename_other' => 'Renamed or moved :count files', 'rename_other' => 'Nimetty uudelleen tai siirretty :count tiedostoa',
], ],
'allocation' => [ 'allocation' => [
'create' => 'Added :allocation to the server', 'create' => 'Lisätty :allocation palvelimeen',
'notes' => 'Updated the notes for :allocation from ":old" to ":new"', 'notes' => 'Päivitettiin muistiinpanot varaukselle :allocation ":old":sta ":new":een',
'primary' => 'Set :allocation as the primary server allocation', 'primary' => 'Aseta :allocation ensisijaiseksi palvelinvaraukseksi',
'delete' => 'Deleted the :allocation allocation', 'delete' => 'Poistettu :allocation varaus',
], ],
'schedule' => [ 'schedule' => [
'create' => 'Created the :name schedule', 'create' => 'Luotu :name aikataulu',
'update' => 'Updated the :name schedule', 'update' => 'Päivitetty :name aikataulu',
'execute' => 'Manually executed the :name schedule', 'execute' => 'Suoritettu manuaalisesti :name aikataulu',
'delete' => 'Deleted the :name schedule', 'delete' => 'Aikataululta :name poistettiin',
], ],
'task' => [ 'task' => [
'create' => 'Created a new ":action" task for the :name schedule', 'create' => 'Luotiin uusi ":action" tehtävä aikatauluun :name.',
'update' => 'Updated the ":action" task for the :name schedule', 'update' => 'Päivitetty ":action" tehtävä aikatauluun :name',
'delete' => 'Deleted a task for the :name schedule', 'delete' => 'Poistettu tehtävä :name aikataululta',
], ],
'settings' => [ 'settings' => [
'rename' => 'Renamed the server from :old to :new', 'rename' => 'Palvelin :old nimettiin uudelleen :new',
'description' => 'Changed the server description from :old to :new', 'description' => 'Palvelimen vanha kuvaus :old päivitetiin :new',
], ],
'startup' => [ 'startup' => [
'edit' => 'Changed the :variable variable from ":old" to ":new"', 'edit' => ':variable päivitettiin vanhasta :old uuteen :new',
'image' => 'Updated the Docker Image for the server from :old to :new', 'image' => 'Päivitettiin Docker-kuva palvelimelle vanhasta :old uudeksi :new',
], ],
'subuser' => [ 'subuser' => [
'create' => 'Added :email as a subuser', 'create' => 'Alikäyttäjä :email lisättiin',
'update' => 'Updated the subuser permissions for :email', 'update' => 'Alikäyttäjän :email oikeudet päivitetty',
'delete' => 'Removed :email as a subuser', 'delete' => 'Alikäyttäjä :email poistettu',
], ],
], ],
]; ];

View File

@ -2,18 +2,18 @@
return [ return [
'notices' => [ 'notices' => [
'imported' => 'Successfully imported this Egg and its associated variables.', 'imported' => 'Tämän munan ja siihen liittyvien muuttujien tuonti onnistui.',
'updated_via_import' => 'This Egg has been updated using the file provided.', 'updated_via_import' => 'Tämä muna on päivitetty toimitettua tiedostoa käyttäen.',
'deleted' => 'Successfully deleted the requested egg from the Panel.', 'deleted' => 'Pyydetyn munan poistaminen paneelista onnistui.',
'updated' => 'Egg configuration has been updated successfully.', 'updated' => 'Munan määritys on päivitetty onnistuneesti.',
'script_updated' => 'Egg install script has been updated and will run whenever servers are installed.', 'script_updated' => 'Munan asennus koodi on päivitetty ja suoritetaan aina, kun palvelin asennetaan.',
'egg_created' => 'A new egg was laid successfully. You will need to restart any running daemons to apply this new egg.', 'egg_created' => 'Uusi muna luotiin onnistuneesti ja se on valmis käytettäväksi. Sinun tulee käynnistää uudelleen kaikki käynnissä olevat daemonit, jotta uusi muna otetaan käyttöön',
], ],
'variables' => [ 'variables' => [
'notices' => [ 'notices' => [
'variable_deleted' => 'The variable ":variable" has been deleted and will no longer be available to servers once rebuilt.', 'variable_deleted' => 'Muuttuja ":variable" on poistettu, eikä se enää ole palvelimien käytettävissä uudelleenrakennuksen jälkeen.',
'variable_updated' => 'The variable ":variable" has been updated. You will need to rebuild any servers using this variable in order to apply changes.', 'variable_updated' => 'Muuttuja ":variable" on päivitetty. Sinun on rakennettava uudelleen kaikki palvelimet, jotka käyttävät tätä muuttujaa, jotta muutokset voidaan ottaa käyttöön.',
'variable_created' => 'New variable has successfully been created and assigned to this egg.', 'variable_created' => 'Uusi muuttuja on onnistuneesti luotu ja määritetty tähän munaan.',
], ],
], ],
]; ];

View File

@ -2,14 +2,14 @@
return [ return [
'validation' => [ 'validation' => [
'fqdn_not_resolvable' => 'The FQDN or IP address provided does not resolve to a valid IP address.', 'fqdn_not_resolvable' => 'Annettua FQDN:ää tai IP-osoitetta ei voida muuntaa kelvolliseksi IP-osoitteeksi.',
'fqdn_required_for_ssl' => 'A fully qualified domain name that resolves to a public IP address is required in order to use SSL for this node.', 'fqdn_required_for_ssl' => 'SSL:n käyttämiseksi tälle solmulle tarvitaan täysin määritelty verkkotunnusnimi, joka muuntuu julkiseksi IP-osoitteeksi.',
], ],
'notices' => [ 'notices' => [
'allocations_added' => 'Allocations have successfully been added to this node.', 'allocations_added' => 'Varaukset on onnistuneesti lisätty tähän solmuun.',
'node_deleted' => 'Node has been successfully removed from the panel.', 'node_deleted' => 'Solmu on onnistuneesti poistettu paneelista.',
'node_created' => 'Successfully created new node. You can automatically configure the daemon on this machine by visiting the \'Configuration\' tab. <strong>Before you can add any servers you must first allocate at least one IP address and port.</strong>', 'node_created' => 'Uusi palvelin luotiin onnistuneesti. Voit automaattisesti määrittää daemonin tälle koneelle käymällä \'Configuration\' välilehdellä. <strong>Ennen kuin voit lisätä mitään palvelimia, sinun on ensin varattava vähintään yksi IP-osoite ja portti.</strong>',
'node_updated' => 'Node information has been updated. If any daemon settings were changed you will need to reboot it for those changes to take effect.', 'node_updated' => 'Palvelimen tiedot on päivitetty. Jos jokin Daemonin asetuksia on muutettu, sinun täytyy käynnistää ne uudelleen, jotta nämä muutokset tulevat voimaan.',
'unallocated_deleted' => 'Deleted all un-allocated ports for <code>:ip</code>.', 'unallocated_deleted' => 'Poistettiin kaikki kohdentamattomat portit <code>:ip</code>.',
], ],
]; ];

View File

@ -2,26 +2,26 @@
return [ return [
'exceptions' => [ 'exceptions' => [
'no_new_default_allocation' => 'You are attempting to delete the default allocation for this server but there is no fallback allocation to use.', 'no_new_default_allocation' => 'Yrität poistaa tämän palvelimen oletusvarauksen, mutta vaihtoehtoista varausta ei ole käytettävissä.',
'marked_as_failed' => 'This server was marked as having failed a previous installation. Current status cannot be toggled in this state.', 'marked_as_failed' => 'Tämä palvelin on merkitty epäonnistuneeksi aiemmassa asennuksessa. Nykyistä tilaa ei voida vaihtaa tässä tilassa.',
'bad_variable' => 'There was a validation error with the :name variable.', 'bad_variable' => 'Vahvistuksessa tapahtui virhe :name muuttujan kanssa.',
'daemon_exception' => 'There was an exception while attempting to communicate with the daemon resulting in a HTTP/:code response code. This exception has been logged. (request id: :request_id)', 'daemon_exception' => 'Tapahtui poikkeus, kun yritettiin kommunikoida daemonin kanssa, mikä johti HTTP/:code -vastauskoodiin. Tämä poikkeus on kirjattu. (request id: :request_id)',
'default_allocation_not_found' => 'The requested default allocation was not found in this server\'s allocations.', 'default_allocation_not_found' => 'Pyydettyä oletusjakoa ei löytynyt tämän palvelimen varauksista.',
], ],
'alerts' => [ 'alerts' => [
'startup_changed' => 'The startup configuration for this server has been updated. If this server\'s egg was changed a reinstall will be occurring now.', 'startup_changed' => 'Tämän palvelimen käynnistysasetukset on päivitetty. Jos tämän palvelimen muna on muuttunut, uudelleenasennus tapahtuu nyt.',
'server_deleted' => 'Server has successfully been deleted from the system.', 'server_deleted' => 'Palvelin on onnistuneesti poistettu järjestelmästä.',
'server_created' => 'Server was successfully created on the panel. Please allow the daemon a few minutes to completely install this server.', 'server_created' => 'Palvelin luotiin onnistuneesti paneelissa. Anna daemonille muutama minuutti aikaa asentaa palvelin täysin valmiiksi.',
'build_updated' => 'The build details for this server have been updated. Some changes may require a restart to take effect.', 'build_updated' => 'Rakennustiedot tälle palvelimelle on päivitetty. Osa muutoksista saattaa vaatia käynnistyksen, jotta ne tulevat voimaan.',
'suspension_toggled' => 'Server suspension status has been changed to :status.', 'suspension_toggled' => 'Palvelimen keskeytyksen tila on vaihdettu :status.',
'rebuild_on_boot' => 'This server has been marked as requiring a Docker Container rebuild. This will happen the next time the server is started.', 'rebuild_on_boot' => 'Tämän palvelimen on merkitty edellyttävän Docker Container uudelleenrakentamista. Tämä tapahtuu seuraavan kerran, kun palvelin käynnistetään.',
'install_toggled' => 'The installation status for this server has been toggled.', 'install_toggled' => 'Tämän palvelimen asennuksen tila on vaihdettu.',
'server_reinstalled' => 'This server has been queued for a reinstallation beginning now.', 'server_reinstalled' => 'Tämä palvelin on laitettu uudelleenasennusjonoon, joka alkaa nyt.',
'details_updated' => 'Server details have been successfully updated.', 'details_updated' => 'Palvelimen tiedot on päivitetty onnistuneesti.',
'docker_image_updated' => 'Successfully changed the default Docker image to use for this server. A reboot is required to apply this change.', 'docker_image_updated' => 'Onnistuneesti vaihdettiin oletus Docker-kuva, jota käytetään tälle palvelimelle. Muutoksen voimaantuloksi vaaditaan uudelleen käynnistys.',
'node_required' => 'You must have at least one node configured before you can add a server to this panel.', 'node_required' => 'Sinulla on oltava vähintään yksi palvelin määritetty ennen kuin voit lisätä palvelimen tähän paneeliin.',
'transfer_nodes_required' => 'You must have at least two nodes configured before you can transfer servers.', 'transfer_nodes_required' => 'Sinulla on oltava vähintään kaksi palvelinta määritetty ennen kuin voit siirtää palvelimia.',
'transfer_started' => 'Server transfer has been started.', 'transfer_started' => 'Palvelimen siirto on aloitettu.',
'transfer_not_viable' => 'The node you selected does not have the required disk space or memory available to accommodate this server.', 'transfer_not_viable' => 'Valitsemasi palvelin ei ole riittävän suuri tälle palvelimelle tarvittavan levytilan tai muistin saatavuuden kannalta.',
], ],
]; ];

View File

@ -2,11 +2,11 @@
return [ return [
'exceptions' => [ 'exceptions' => [
'user_has_servers' => 'Cannot delete a user with active servers attached to their account. Please delete their servers before continuing.', 'user_has_servers' => 'Ei voida poistaa käyttäjää, jolla on aktiivisia palvelimia heidän tililleen. Poista heidän palvelimensa ennen jatkamista.',
'user_is_self' => 'Cannot delete your own user account.', 'user_is_self' => 'Omaa käyttäjätiliä ei voi poistaa.',
], ],
'notices' => [ 'notices' => [
'account_created' => 'Account has been created successfully.', 'account_created' => 'Tili on luotu onnistuneesti.',
'account_updated' => 'Account has been successfully updated.', 'account_updated' => 'Tili on päivitetty onnistuneesti.',
], ],
]; ];

View File

@ -1,27 +1,27 @@
<?php <?php
return [ return [
'sign_in' => 'Sign In', 'sign_in' => 'Kirjaudu Sisään',
'go_to_login' => 'Go to Login', 'go_to_login' => 'Siirry kirjautumiseen',
'failed' => 'No account matching those credentials could be found.', 'failed' => 'Käyttäjätunnuksia vastaavaa tiliä ei löytynyt.',
'forgot_password' => [ 'forgot_password' => [
'label' => 'Forgot Password?', 'label' => 'Unohtuiko salasana?',
'label_help' => 'Enter your account email address to receive instructions on resetting your password.', 'label_help' => 'Syötä tilisi sähköpostiosoite saadaksesi ohjeet salasanan vaihtamista varten.',
'button' => 'Recover Account', 'button' => 'Palauta Tili',
], ],
'reset_password' => [ 'reset_password' => [
'button' => 'Reset and Sign In', 'button' => 'Palauta ja kirjaudu sisään',
], ],
'two_factor' => [ 'two_factor' => [
'label' => '2-Factor Token', 'label' => 'Kaksivaiheinen Tunnus',
'label_help' => 'This account requires a second layer of authentication in order to continue. Please enter the code generated by your device to complete this login.', 'label_help' => 'Tämä tunnus vaatii kaksivaiheisen todennuksen jatkaaksesi. Ole hyvä ja syötä laitteesi luoma koodi, jotta voit suorittaa tämän kirjautumisen.',
'checkpoint_failed' => 'The two-factor authentication token was invalid.', 'checkpoint_failed' => 'Kaksivaiheisen todennuksen avain oli virheellinen.',
], ],
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 'throttle' => 'Liian monta kirjautumisyritystä. Yritä uudelleen :seconds sekunnin kuluttua.',
'password_requirements' => 'Password must be at least 8 characters in length and should be unique to this site.', 'password_requirements' => 'Salasanan on oltava vähintään 8 merkkiä pitkä ja sen tulisi olla ainutkertainen tälle sivustolle.',
'2fa_must_be_enabled' => 'The administrator has required that 2-Factor Authentication be enabled for your account in order to use the Panel.', '2fa_must_be_enabled' => 'Järjestelmänvalvoja on vaatinut, että kaksivaiheinen todennus on oltava käytössä tililläsi, jotta voit käyttää paneelia.',
]; ];

View File

@ -2,58 +2,58 @@
return [ return [
'user' => [ 'user' => [
'search_users' => 'Enter a Username, User ID, or Email Address', 'search_users' => 'Anna käyttäjänimi, käyttäjätunnus tai sähköpostiosoite',
'select_search_user' => 'ID of user to delete (Enter \'0\' to re-search)', 'select_search_user' => 'Poistavan käyttäjän tunnus (Paina Enter \'0\' uudelleenhakua varten)',
'deleted' => 'User successfully deleted from the Panel.', 'deleted' => 'Käyttäjä poistettiin onnistuneesti paneelista.',
'confirm_delete' => 'Are you sure you want to delete this user from the Panel?', 'confirm_delete' => 'Oletko varma, että haluat poistaa tämän käyttäjän paneelista?',
'no_users_found' => 'No users were found for the search term provided.', 'no_users_found' => 'Yhtään käyttäjää ei löytynyt hakusanalla.',
'multiple_found' => 'Multiple accounts were found for the user provided, unable to delete a user because of the --no-interaction flag.', 'multiple_found' => 'Useita tilejä löytyi annetulle käyttäjälle. Käyttäjää ei voitu poistaa --no-interaction -lipun takia.',
'ask_admin' => 'Is this user an administrator?', 'ask_admin' => 'Onko tämä käyttäjä järjestelmänvalvoja?',
'ask_email' => 'Email Address', 'ask_email' => 'Sähköpostiosoite',
'ask_username' => 'Username', 'ask_username' => 'Käyttäjänimi',
'ask_name_first' => 'First Name', 'ask_name_first' => 'Etunimi',
'ask_name_last' => 'Last Name', 'ask_name_last' => 'Sukunimi',
'ask_password' => 'Password', 'ask_password' => 'Salasana',
'ask_password_tip' => 'If you would like to create an account with a random password emailed to the user, re-run this command (CTRL+C) and pass the `--no-password` flag.', 'ask_password_tip' => 'Mikäli haluat luoda tilin satunnaisella salasanalla, joka lähetetään sähköpostitse käyttäjälle, suorita tämä komento uudelleen (CTRL+C) ja lisää --no-password tunniste.',
'ask_password_help' => 'Passwords must be at least 8 characters in length and contain at least one capital letter and number.', 'ask_password_help' => 'Salasanan on oltava vähintään 8 merkkiä pitkä ja siinä on oltava vähintään yksi iso kirjain ja numero.',
'2fa_help_text' => [ '2fa_help_text' => [
'This command will disable 2-factor authentication for a user\'s account if it is enabled. This should only be used as an account recovery command if the user is locked out of their account.', 'Tämä komento poistaa käytöstä kaksivaiheisen todennuksen käyttäjän tililtä, jos se on käytössä. Tätä tulee käyttää tilin palautuskomennona vain, jos käyttäjä on lukittu pois tililtään.',
'If this is not what you wanted to do, press CTRL+C to exit this process.', 'Jos tämä ei ole sitä, mitä halusit tehdä, paina CTRL+C poistuaksesi tästä prosessista.',
], ],
'2fa_disabled' => '2-Factor authentication has been disabled for :email.', '2fa_disabled' => '2-tekijän todennus on poistettu käytöstä sähköpostilta :email.',
], ],
'schedule' => [ 'schedule' => [
'output_line' => 'Dispatching job for first task in `:schedule` (:hash).', 'output_line' => 'Lähetetään työtä ensimmäiseen tehtävään `:schedule` (:hash).',
], ],
'maintenance' => [ 'maintenance' => [
'deleting_service_backup' => 'Deleting service backup file :file.', 'deleting_service_backup' => 'Poistetaan palvelun varmuuskopiotiedostoa :file.',
], ],
'server' => [ 'server' => [
'rebuild_failed' => 'Rebuild request for ":name" (#:id) on node ":node" failed with error: :message', 'rebuild_failed' => 'Uudelleenrakennus pyyntö ":name" (#:id) solmussa ":node" epäonnistui virheellä: :message',
'reinstall' => [ 'reinstall' => [
'failed' => 'Reinstall request for ":name" (#:id) on node ":node" failed with error: :message', 'failed' => 'Pyyntö ":name" (#:id) uudelleenasennuksesta palvelimessa ":node" epäonnistui virheellä: :message',
'confirm' => 'You are about to reinstall against a group of servers. Do you wish to continue?', 'confirm' => 'Olet tekemässä uudelleenasennusta useille palvelimille. Haluatko jatkaa?',
], ],
'power' => [ 'power' => [
'confirm' => 'You are about to perform a :action against :count servers. Do you wish to continue?', 'confirm' => 'Haluatko jatkaa :action :count palvelimelle?',
'action_failed' => 'Power action request for ":name" (#:id) on node ":node" failed with error: :message', 'action_failed' => 'Virtatoiminnon pyyntö ":name" (#:id) solmussa ":node" epäonnistui virheellä: :message',
], ],
], ],
'environment' => [ 'environment' => [
'mail' => [ 'mail' => [
'ask_smtp_host' => 'SMTP Host (e.g. smtp.gmail.com)', 'ask_smtp_host' => 'SMTP Isäntä (esim. smtp.gmail.com)',
'ask_smtp_port' => 'SMTP Port', 'ask_smtp_port' => 'SMTP portti',
'ask_smtp_username' => 'SMTP Username', 'ask_smtp_username' => 'SMTP Käyttäjätunnus',
'ask_smtp_password' => 'SMTP Password', 'ask_smtp_password' => 'SMTP Salasana',
'ask_mailgun_domain' => 'Mailgun Domain', 'ask_mailgun_domain' => 'Mailgun Verkkotunnus',
'ask_mailgun_endpoint' => 'Mailgun Endpoint', 'ask_mailgun_endpoint' => 'Mailgun päätepiste',
'ask_mailgun_secret' => 'Mailgun Secret', 'ask_mailgun_secret' => 'Mailgun Salaisuus',
'ask_mandrill_secret' => 'Mandrill Secret', 'ask_mandrill_secret' => 'Mandrill Salaisuus',
'ask_postmark_username' => 'Postmark API Key', 'ask_postmark_username' => 'Postmark API-avain',
'ask_driver' => 'Which driver should be used for sending emails?', 'ask_driver' => 'Mitä palvelua pitäisi käyttää sähköpostien lähetykseen?',
'ask_mail_from' => 'Email address emails should originate from', 'ask_mail_from' => 'Sähköpostiosoitteen sähköpostit tulee lähettää osoitteesta',
'ask_mail_name' => 'Name that emails should appear from', 'ask_mail_name' => 'Nimi, josta sähköpostit tulisi näyttää lähtevän',
'ask_encryption' => 'Encryption method to use', 'ask_encryption' => 'Käytettävä salausmenetelmä',
], ],
], ],
]; ];

View File

@ -2,27 +2,27 @@
return [ return [
'email' => [ 'email' => [
'title' => 'Update your email', 'title' => 'Päivitä sähköpostiosoitteesi',
'updated' => 'Your email address has been updated.', 'updated' => 'Sähköpostiosoite on päivitetty.',
], ],
'password' => [ 'password' => [
'title' => 'Change your password', 'title' => 'Vaihda salasanasi',
'requirements' => 'Your new password should be at least 8 characters in length.', 'requirements' => 'Uuden salasanan on oltava vähintään 8 merkkiä pitkä',
'updated' => 'Your password has been updated.', 'updated' => 'Salasanasi on päivitetty.',
], ],
'two_factor' => [ 'two_factor' => [
'button' => 'Configure 2-Factor Authentication', 'button' => 'Määritä Kaksivaiheinen Todennus',
'disabled' => 'Two-factor authentication has been disabled on your account. You will no longer be prompted to provide a token when logging in.', 'disabled' => 'Kaksivaiheinen todennus on poistettu käytöstä tililtäsi. Sinua ei enää kehoteta antamaan tunnusta kirjautuessasi.',
'enabled' => 'Two-factor authentication has been enabled on your account! From now on, when logging in, you will be required to provide the code generated by your device.', 'enabled' => 'Kaksivaiheinen todennus on otettu käyttöön tililläsi! Tästä lähtien kun kirjaudut sisään, sinun on annettava laitteesi luoma koodi.',
'invalid' => 'The token provided was invalid.', 'invalid' => 'Annettu tunniste oli virheellinen.',
'setup' => [ 'setup' => [
'title' => 'Setup two-factor authentication', 'title' => 'Aseta kaksivaiheinen todennus',
'help' => 'Can\'t scan the code? Enter the code below into your application:', 'help' => 'Koodia ei voi skannata? Syötä alla oleva koodi sovelluksesi:',
'field' => 'Enter token', 'field' => 'Syötä tunnus',
], ],
'disable' => [ 'disable' => [
'title' => 'Disable two-factor authentication', 'title' => 'Poista käytöstä kaksivaiheinen tunnistautuminen',
'field' => 'Enter token', 'field' => 'Syötä tunnus',
], ],
], ],
]; ];

View File

@ -1,8 +1,8 @@
<?php <?php
return [ return [
'search' => 'Search for servers...', 'search' => 'Etsi palvelimia...',
'no_matches' => 'There were no servers found matching the search criteria provided.', 'no_matches' => 'Ei löytynyt palvelimia, jotka vastaisivat annettuja hakuehtoja.',
'cpu_title' => 'CPU', 'cpu_title' => 'CPU',
'memory_title' => 'Memory', 'memory_title' => 'Muisti',
]; ];

View File

@ -1,55 +1,55 @@
<?php <?php
return [ return [
'daemon_connection_failed' => 'There was an exception while attempting to communicate with the daemon resulting in a HTTP/:code response code. This exception has been logged.', 'daemon_connection_failed' => 'Tapahtui poikkeus, kun yritettiin kommunikoida daemonin kanssa, mikä johti HTTP/:code -vastauskoodiin. Tämä poikkeus on kirjautunut.',
'node' => [ 'node' => [
'servers_attached' => 'A node must have no servers linked to it in order to be deleted.', 'servers_attached' => 'Palvelimella ei saa olla siihen linkitettyjä palvelimia, jotta se voitaisiin poistaa.',
'daemon_off_config_updated' => 'The daemon configuration <strong>has been updated</strong>, however there was an error encountered while attempting to automatically update the configuration file on the Daemon. You will need to manually update the configuration file (config.yml) for the daemon to apply these changes.', 'daemon_off_config_updated' => 'Daemon konfiguraatio <strong>on päivitetty</strong>, mutta virhe ilmeni yritettäessä päivittää konfiguraatiota automaattisesti daemoniin. Sinun tulee päivittää daemonin konfiguraatio (config.yml) manuaalisesti, jotta muutokset voidaan ottaa käyttöön.',
], ],
'allocations' => [ 'allocations' => [
'server_using' => 'A server is currently assigned to this allocation. An allocation can only be deleted if no server is currently assigned.', 'server_using' => 'Palvelin on tällä hetkellä määritelty tähän varaukseen. Varauksen voi poistaa vain, jos siihen ei ole tällä hetkellä määritettyä palvelinta.',
'too_many_ports' => 'Adding more than 1000 ports in a single range at once is not supported.', 'too_many_ports' => 'Yli 1000 portin lisääminen yhteen alueeseen kerralla ei ole tuettua.',
'invalid_mapping' => 'The mapping provided for :port was invalid and could not be processed.', 'invalid_mapping' => ':port:lle annettu määritys oli virheellinen eikä sitä voitu käsitellä.',
'cidr_out_of_range' => 'CIDR notation only allows masks between /25 and /32.', 'cidr_out_of_range' => 'CIDR-muoto sallii vain maskit välillä /25 ja /32.',
'port_out_of_range' => 'Ports in an allocation must be greater than 1024 and less than or equal to 65535.', 'port_out_of_range' => 'Varauksessa olevien porttien on oltava suurempia kuin 1024 ja enintään 65535.',
], ],
'egg' => [ 'egg' => [
'delete_has_servers' => 'An Egg with active servers attached to it cannot be deleted from the Panel.', 'delete_has_servers' => 'Paneelista ei voi poistaa Munaa, johon on liitetty aktiivisia palvelimia.',
'invalid_copy_id' => 'The Egg selected for copying a script from either does not exist, or is copying a script itself.', 'invalid_copy_id' => 'Skriptin kopiointiin valittu Muna ei ole olemassa tai se kopioi itse skriptiä.',
'has_children' => 'This Egg is a parent to one or more other Eggs. Please delete those Eggs before deleting this Egg.', 'has_children' => 'Tämä Muna on yhden tai useamman muun Munan vanhempi. Poista Munat ennen tämän Munan poistamista.',
], ],
'variables' => [ 'variables' => [
'env_not_unique' => 'The environment variable :name must be unique to this Egg.', 'env_not_unique' => 'Ympäristömuuttujan :name on oltava yksilöllinen tähän Munaan.',
'reserved_name' => 'The environment variable :name is protected and cannot be assigned to a variable.', 'reserved_name' => 'Ympäristömuuttuja :name on suojattu ja sitä ei voi liittää muuttujaan.',
'bad_validation_rule' => 'The validation rule ":rule" is not a valid rule for this application.', 'bad_validation_rule' => 'Vahvistussääntö ":rule" ei ole kelvollinen sääntö tälle sovellukselle.',
], ],
'importer' => [ 'importer' => [
'json_error' => 'There was an error while attempting to parse the JSON file: :error.', 'json_error' => 'Tapahtui virhe yritettäessä jäsentää JSON tiedostoa: :error.',
'file_error' => 'The JSON file provided was not valid.', 'file_error' => 'Annettu JSON-tiedosto ei ollut kelvollinen.',
'invalid_json_provided' => 'The JSON file provided is not in a format that can be recognized.', 'invalid_json_provided' => 'Annettu JSON tiedosto ei ole muodossa, joka voidaan tunnistaa.',
], ],
'subusers' => [ 'subusers' => [
'editing_self' => 'Editing your own subuser account is not permitted.', 'editing_self' => 'Oman alikäyttäjätilin muokkaaminen ei ole sallittua.',
'user_is_owner' => 'You cannot add the server owner as a subuser for this server.', 'user_is_owner' => 'Et voi lisätä palvelimen omistajaa alikäyttäjäksi tälle palvelimelle.',
'subuser_exists' => 'A user with that email address is already assigned as a subuser for this server.', 'subuser_exists' => 'Käyttäjä, jolla on tämä sähköpostiosoite, on jo määritetty alikäyttäjäksi tälle palvelimelle.',
], ],
'databases' => [ 'databases' => [
'delete_has_databases' => 'Cannot delete a database host server that has active databases linked to it.', 'delete_has_databases' => 'Ei voida poistaa tietokannan isäntäpalvelinta, jossa on siihen linkitettyjä aktiivisia tietokantoja.',
], ],
'tasks' => [ 'tasks' => [
'chain_interval_too_long' => 'The maximum interval time for a chained task is 15 minutes.', 'chain_interval_too_long' => 'Ketjutellun tehtävän aikaväli on enintään 15 minuuttia.',
], ],
'locations' => [ 'locations' => [
'has_nodes' => 'Cannot delete a location that has active nodes attached to it.', 'has_nodes' => 'Ei voida poistaa sijaintia, jossa on aktiivisia palvelimia siihen liitettynä.',
], ],
'users' => [ 'users' => [
'node_revocation_failed' => 'Failed to revoke keys on <a href=":link">Node #:node</a>. :error', 'node_revocation_failed' => 'Avainten peruuttaminen epäonnistui <a href=":link">Palvelimen #:node</a> kohdalla. :error',
], ],
'deployment' => [ 'deployment' => [
'no_viable_nodes' => 'No nodes satisfying the requirements specified for automatic deployment could be found.', 'no_viable_nodes' => 'Yhtään vaatimuksia täyttävää palvelinta automaattiseen käyttöönottamiseen ei löytynyt.',
'no_viable_allocations' => 'No allocations satisfying the requirements for automatic deployment were found.', 'no_viable_allocations' => 'Yhtään automaattiseen käyttöönottoon soveltuvaa varausta ei löytynyt.',
], ],
'api' => [ 'api' => [
'resource_not_found' => 'The requested resource does not exist on this server.', 'resource_not_found' => 'Pyydettyä resurssia ei ole tällä palvelimella.',
], ],
]; ];

View File

@ -12,6 +12,6 @@ return [
| |
*/ */
'previous' => '&laquo; Previous', 'previous' => '&laquo; Edellinen',
'next' => 'Next &raquo;', 'next' => 'Seuraava &raquo;',
]; ];

View File

@ -11,9 +11,9 @@ return [
| has failed, such as for an invalid token or invalid new password. | has failed, such as for an invalid token or invalid new password.
| |
*/ */
'password' => 'Passwords must be at least six characters and match the confirmation.', 'password' => 'Salasanan on oltava vähintään 6 merkkiä pitkä ja vastata vahvistuskenttää.',
'reset' => 'Your password has been reset!', 'reset' => 'Salasanasi on palautettu!',
'sent' => 'We have e-mailed your password reset link!', 'sent' => 'Olemme lähettäneet salasanasi palautuslinkin sähköpostitse!',
'token' => 'This password reset token is invalid.', 'token' => 'Salasanan palautusavain on virheellinen.',
'user' => 'We can\'t find a user with that e-mail address.', 'user' => 'Käyttäjää tällä sähköpostiosoitteella ei löytynyt.',
]; ];

View File

@ -2,32 +2,32 @@
return [ return [
'permissions' => [ 'permissions' => [
'websocket_*' => 'Allows access to the websocket for this server.', 'websocket_*' => 'Mahdollistaa pääsyn WebSocketiin tälle palvelimelle.',
'control_console' => 'Allows the user to send data to the server console.', 'control_console' => 'Salli käyttäjän lähettää tietoja palvelimen konsolille.',
'control_start' => 'Allows the user to start the server instance.', 'control_start' => 'Salli käyttäjän käynnistää palvelin instanssi.',
'control_stop' => 'Allows the user to stop the server instance.', 'control_stop' => 'Salli käyttäjän pysäyttää palvelimen instanssi.',
'control_restart' => 'Allows the user to restart the server instance.', 'control_restart' => 'Salli käyttäjän käynnistää palvelimen instanssi uudelleen.',
'control_kill' => 'Allows the user to kill the server instance.', 'control_kill' => 'Salli käyttäjän tappaa palvelimen instanssi.',
'user_create' => 'Allows the user to create new user accounts for the server.', 'user_create' => 'Salli käyttäjän luoda uusia käyttäjiä palvelimelle.',
'user_read' => 'Allows the user permission to view users associated with this server.', 'user_read' => 'Salli käyttäjäoikeus tarkastella käyttäjiä jotka on liitetty tähän palvelimeen.',
'user_update' => 'Allows the user to modify other users associated with this server.', 'user_update' => 'Salli käyttäjän muokata muita käyttäjiä jotka liittyvät tähän palvelimeen.',
'user_delete' => 'Allows the user to delete other users associated with this server.', 'user_delete' => 'Salli käyttäjän poistaa muita käyttäjiä, jotka on liitetty tähän palvelimeen.',
'file_create' => 'Allows the user permission to create new files and directories.', 'file_create' => 'Salli käyttäjäoikeuden luoda uusia tiedostoja ja kansioita.',
'file_read' => 'Allows the user to see files and folders associated with this server instance, as well as view their contents.', 'file_read' => 'Sallii käyttäjän nähdä tämän palvelimen instanssiin liittyvät tiedostot ja kansiot sekä tarkastella niiden sisältöä.',
'file_update' => 'Allows the user to update files and folders associated with the server.', 'file_update' => 'Salli käyttäjän päivittää palvelimeen liittyviä tiedostoja ja kansioita.',
'file_delete' => 'Allows the user to delete files and directories.', 'file_delete' => 'Salli käyttäjän poistaa tiedostoja ja kansioita.',
'file_archive' => 'Allows the user to create file archives and decompress existing archives.', 'file_archive' => 'Salli käyttäjän luoda tiedostoarkistoja ja purkaa olemassa olevat arkistot.',
'file_sftp' => 'Allows the user to perform the above file actions using a SFTP client.', 'file_sftp' => 'Salli käyttäjän suorittaa edellä mainitut tiedostotoiminnot SFTP-asiakkaan avulla.',
'allocation_read' => 'Allows access to the server allocation management pages.', 'allocation_read' => 'Sallii pääsyn palvelimen allokoinnin hallintasivuille.',
'allocation_update' => 'Allows user permission to make modifications to the server\'s allocations.', 'allocation_update' => 'Sallii käyttäjän oikeuden tehdä muutoksia palvelimen allokaatioihin.',
'database_create' => 'Allows user permission to create a new database for the server.', 'database_create' => 'Sallii käyttäjän oikeuden luoda uuden tietokannan palvelimelle.',
'database_read' => 'Allows user permission to view the server databases.', 'database_read' => 'Sallii käyttäjän oikeuden tarkastella palvelimen tietokantoja.',
'database_update' => 'Allows a user permission to make modifications to a database. If the user does not have the "View Password" permission as well they will not be able to modify the password.', 'database_update' => 'Sallii käyttäjän oikeuden tehdä muutoksia tietokantaan. Jos käyttäjällä ei ole "Näytä salasana" käyttöoikeutta sekä, he eivät voi muokata salasanaa.',
'database_delete' => 'Allows a user permission to delete a database instance.', 'database_delete' => 'Sallii käyttäjän oikeuden poistaa tietokannan instanssin.',
'database_view_password' => 'Allows a user permission to view a database password in the system.', 'database_view_password' => 'Sallii käyttäjän oikeuden tarkastella tietokannan salasanaa järjestelmässä.',
'schedule_create' => 'Allows a user to create a new schedule for the server.', 'schedule_create' => 'Sallii käyttäjän luoda uuden aikataulun palvelimelle.',
'schedule_read' => 'Allows a user permission to view schedules for a server.', 'schedule_read' => 'Sallii käyttäjän oikeuden tarkastella aikatauluja palvelimelle.',
'schedule_update' => 'Allows a user permission to make modifications to an existing server schedule.', 'schedule_update' => 'Sallii käyttäjän oikeuden tehdä muutoksia olemassa olevaan palvelimen aikatauluun.',
'schedule_delete' => 'Allows a user to delete a schedule for the server.', 'schedule_delete' => 'Sallii käyttäjän poistaa aikataulun palvelimelta.',
], ],
]; ];

View File

@ -1,95 +1,95 @@
<?php <?php
return [ return [
'email' => 'Email', 'email' => 'Sähköposti',
'email_address' => 'Email address', 'email_address' => 'Sähköpostiosoite',
'user_identifier' => 'Username or Email', 'user_identifier' => 'Käyttäjätunnus tai Sähköposti',
'password' => 'Password', 'password' => 'Salasana',
'new_password' => 'New password', 'new_password' => 'Uusi salasana',
'confirm_password' => 'Confirm new password', 'confirm_password' => 'Toista uusi salasana',
'login' => 'Login', 'login' => 'Kirjaudu',
'home' => 'Home', 'home' => 'Koti',
'servers' => 'Servers', 'servers' => 'Palvelimet',
'id' => 'ID', 'id' => 'ID',
'name' => 'Name', 'name' => 'Nimi',
'node' => 'Node', 'node' => 'Solmu',
'connection' => 'Connection', 'connection' => 'Yhteys',
'memory' => 'Memory', 'memory' => 'Muisti',
'cpu' => 'CPU', 'cpu' => 'CPU',
'disk' => 'Disk', 'disk' => 'Levy',
'status' => 'Status', 'status' => 'Tila',
'search' => 'Search', 'search' => 'Hae',
'suspended' => 'Suspended', 'suspended' => 'Keskeytetty',
'account' => 'Account', 'account' => 'Tili',
'security' => 'Security', 'security' => 'Turvallisuus',
'ip' => 'IP Address', 'ip' => 'IP-osoite',
'last_activity' => 'Last Activity', 'last_activity' => 'Viimeisin toiminta',
'revoke' => 'Revoke', 'revoke' => 'Hylkää',
'2fa_token' => 'Authentication Token', '2fa_token' => 'Todennustunniste',
'submit' => 'Submit', 'submit' => 'Lähetä',
'close' => 'Close', 'close' => 'Sulje',
'settings' => 'Settings', 'settings' => 'Asetukset',
'configuration' => 'Configuration', 'configuration' => 'Konfiguraatio',
'sftp' => 'SFTP', 'sftp' => 'SFTP',
'databases' => 'Databases', 'databases' => 'Tietokannat',
'memo' => 'Memo', 'memo' => 'Muistio',
'created' => 'Created', 'created' => 'Luotu',
'expires' => 'Expires', 'expires' => 'Vanhenee',
'public_key' => 'Token', 'public_key' => 'Tunniste',
'api_access' => 'Api Access', 'api_access' => 'Apin käyttöoikeus',
'never' => 'never', 'never' => 'ei koskaan',
'sign_out' => 'Sign out', 'sign_out' => 'Kirjaudu ulos',
'admin_control' => 'Admin Control', 'admin_control' => 'Ylläpitäjän työkalut',
'required' => 'Required', 'required' => 'Pakollinen',
'port' => 'Port', 'port' => 'Portti',
'username' => 'Username', 'username' => 'Käyttäjänimi',
'database' => 'Database', 'database' => 'Tietokanta',
'new' => 'New', 'new' => 'Uusi',
'danger' => 'Danger', 'danger' => 'Vaara',
'create' => 'Create', 'create' => 'Luo',
'select_all' => 'Select All', 'select_all' => 'Valitse kaikki',
'select_none' => 'Select None', 'select_none' => 'Älä valitse mitään',
'alias' => 'Alias', 'alias' => 'Alias',
'primary' => 'Primary', 'primary' => 'Ensisijainen',
'make_primary' => 'Make Primary', 'make_primary' => 'Aseta ensisijaiseksi',
'none' => 'None', 'none' => 'Ei mitään',
'cancel' => 'Cancel', 'cancel' => 'Peruuta',
'created_at' => 'Created At', 'created_at' => 'Luotu',
'action' => 'Action', 'action' => 'Toiminto',
'data' => 'Data', 'data' => 'Tiedot',
'queued' => 'Queued', 'queued' => 'Jonossa',
'last_run' => 'Last Run', 'last_run' => 'Viimeisin suoritus',
'next_run' => 'Next Run', 'next_run' => 'Seuraava Suoritus',
'not_run_yet' => 'Not Run Yet', 'not_run_yet' => 'Ei Suoritettu Vielä',
'yes' => 'Yes', 'yes' => 'Kyllä',
'no' => 'No', 'no' => 'Ei',
'delete' => 'Delete', 'delete' => 'Poista',
'2fa' => '2FA', '2fa' => '2FA',
'logout' => 'Logout', 'logout' => 'Kirjaudu ulos',
'admin_cp' => 'Admin Control Panel', 'admin_cp' => 'Ylläpitäjän Ohjauspaneeli',
'optional' => 'Optional', 'optional' => 'Valinnainen',
'read_only' => 'Read Only', 'read_only' => 'Vain luku',
'relation' => 'Relation', 'relation' => 'Relaatio',
'owner' => 'Owner', 'owner' => 'Omistaja',
'admin' => 'Admin', 'admin' => 'Ylläpitäjä',
'subuser' => 'Subuser', 'subuser' => 'Alikäyttäjä',
'captcha_invalid' => 'The provided captcha is invalid.', 'captcha_invalid' => 'Annettu captcha ei kelpaa.',
'tasks' => 'Tasks', 'tasks' => 'Tehtävät',
'seconds' => 'Seconds', 'seconds' => 'Sekuntia',
'minutes' => 'Minutes', 'minutes' => 'Minuuttia',
'under_maintenance' => 'Under Maintenance', 'under_maintenance' => 'Huollossa',
'days' => [ 'days' => [
'sun' => 'Sunday', 'sun' => 'Sunnuntai',
'mon' => 'Monday', 'mon' => 'Maanantai',
'tues' => 'Tuesday', 'tues' => 'Tiistai',
'wed' => 'Wednesday', 'wed' => 'Keskiviikko',
'thurs' => 'Thursday', 'thurs' => 'Torstai',
'fri' => 'Friday', 'fri' => 'Perjantai',
'sat' => 'Saturday', 'sat' => 'Lauantai',
], ],
'last_used' => 'Last Used', 'last_used' => 'Viimeksi käytetty',
'enable' => 'Enable', 'enable' => 'Ota käyttöön',
'disable' => 'Disable', 'disable' => 'Poista käytöstä',
'save' => 'Save', 'save' => 'Tallenna',
'copyright' => '&reg; 2024 - :year Pelican', 'copyright' => '&reg; 2024 - :year Pelican',
]; ];

View File

@ -12,78 +12,78 @@ return [
| |
*/ */
'accepted' => 'The :attribute must be accepted.', 'accepted' => ':attribute tulee olla hyväksytty.',
'active_url' => 'The :attribute is not a valid URL.', 'active_url' => ':attribute ei ole kelvollinen URL.',
'after' => 'The :attribute must be a date after :date.', 'after' => ':attribute on oltava päivämäärä :date jälkeen.',
'after_or_equal' => 'The :attribute must be a date after or equal to :date.', 'after_or_equal' => ':attribute päivämäärä tulee olla sama tai jälkeen :date.',
'alpha' => 'The :attribute may only contain letters.', 'alpha' => ':attribute voi sisältää vain kirjaimia.',
'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.', 'alpha_dash' => ':attribute voi sisältää vain kirjaimia, numeroita ja väliviivoja.',
'alpha_num' => 'The :attribute may only contain letters and numbers.', 'alpha_num' => ':attribute voi sisältää vain kirjaimia ja numeroita.',
'array' => 'The :attribute must be an array.', 'array' => ':attribute on oltava taulukko.',
'before' => 'The :attribute must be a date before :date.', 'before' => ':attribute tulee olla päivämäärä ennen :date.',
'before_or_equal' => 'The :attribute must be a date before or equal to :date.', 'before_or_equal' => ':attribute päiväyksen tulee olla sama tai ennen :date.',
'between' => [ 'between' => [
'numeric' => 'The :attribute must be between :min and :max.', 'numeric' => ':attribute arvon täytyy olla välillä :min ja :max.',
'file' => 'The :attribute must be between :min and :max kilobytes.', 'file' => ':attribute on oltava :min ja :max kilotavun väliltä.',
'string' => 'The :attribute must be between :min and :max characters.', 'string' => ':attribute on oltava :min ja :max merkin väliltä.',
'array' => 'The :attribute must have between :min and :max items.', 'array' => ':attribute tulee sisältää :min ja :max väliltä olioita.',
], ],
'boolean' => 'The :attribute field must be true or false.', 'boolean' => ':attribute kentän tulee olla true tai false.',
'confirmed' => 'The :attribute confirmation does not match.', 'confirmed' => ':attribute vahvistus ei täsmää.',
'date' => 'The :attribute is not a valid date.', 'date' => ':attribute ei ole oikea päivämäärä.',
'date_format' => 'The :attribute does not match the format :format.', 'date_format' => ':attribute ei täsmää muodon :format kanssa.',
'different' => 'The :attribute and :other must be different.', 'different' => ':attribute ja :other on oltava erilaisia.',
'digits' => 'The :attribute must be :digits digits.', 'digits' => ':attribute on oltava :digits numeroa pitkä.',
'digits_between' => 'The :attribute must be between :min and :max digits.', 'digits_between' => ':attribute on oltava pituudeltaan :min ja :max numeron väliltä.',
'dimensions' => 'The :attribute has invalid image dimensions.', 'dimensions' => ':attribute kuvan mitat ovat virheelliset.',
'distinct' => 'The :attribute field has a duplicate value.', 'distinct' => ':attribute kentässä on duplikaatti arvo.',
'email' => 'The :attribute must be a valid email address.', 'email' => ':attribute tulee olla kelvollinen sähköpostiosoite.',
'exists' => 'The selected :attribute is invalid.', 'exists' => 'Valittu :attribute on virheellinen.',
'file' => 'The :attribute must be a file.', 'file' => ':attribute tulee olla tiedosto.',
'filled' => 'The :attribute field is required.', 'filled' => ':attribute kenttä on pakollinen.',
'image' => 'The :attribute must be an image.', 'image' => ':attribute on oltava kuva.',
'in' => 'The selected :attribute is invalid.', 'in' => 'Valittu :attribute on virheellinen.',
'in_array' => 'The :attribute field does not exist in :other.', 'in_array' => ':attribute kenttää ei ole olemassa :other:ssa.',
'integer' => 'The :attribute must be an integer.', 'integer' => ':attribute tulee olla kokonaisluku.',
'ip' => 'The :attribute must be a valid IP address.', 'ip' => ':attribute tulee olla kelvollinen IP-osoite.',
'json' => 'The :attribute must be a valid JSON string.', 'json' => ':attribute on oltava kelvollinen JSON-merkkijono.',
'max' => [ 'max' => [
'numeric' => 'The :attribute may not be greater than :max.', 'numeric' => ':attribute saa olla korkeintaan :max.',
'file' => 'The :attribute may not be greater than :max kilobytes.', 'file' => ':attribute ei saa olla suurempi kuin :max kilotavua.',
'string' => 'The :attribute may not be greater than :max characters.', 'string' => ':attribute ei saa olla suurempi kuin :max merkkiä.',
'array' => 'The :attribute may not have more than :max items.', 'array' => ':attribute ei saa sisältää yli :max kohteita.',
], ],
'mimes' => 'The :attribute must be a file of type: :values.', 'mimes' => ':attribute tulee olla tiedosto jonka tyyppi on: :values.',
'mimetypes' => 'The :attribute must be a file of type: :values.', 'mimetypes' => ':attribute tulee olla tiedosto jonka tyyppi on: :values.',
'min' => [ 'min' => [
'numeric' => 'The :attribute must be at least :min.', 'numeric' => ':attribute tulee olla vähintään :min.',
'file' => 'The :attribute must be at least :min kilobytes.', 'file' => ':attribute tulee olla vähintään :min kilotavua.',
'string' => 'The :attribute must be at least :min characters.', 'string' => ':attribute tulee olla vähintään :min merkkiä.',
'array' => 'The :attribute must have at least :min items.', 'array' => ':attribute täytyy sisältää vähintään :min kohdetta.',
], ],
'not_in' => 'The selected :attribute is invalid.', 'not_in' => 'Valittu :attribute on virheellinen.',
'numeric' => 'The :attribute must be a number.', 'numeric' => ':attribute tulee olla numero.',
'present' => 'The :attribute field must be present.', 'present' => ':attribute kenttä on oltava läsnä.',
'regex' => 'The :attribute format is invalid.', 'regex' => ':attribute muoto on virheellinen.',
'required' => 'The :attribute field is required.', 'required' => ':attribute kenttä on pakollinen.',
'required_if' => 'The :attribute field is required when :other is :value.', 'required_if' => ':attribute kenttä on pakollinen kun :other on :value.',
'required_unless' => 'The :attribute field is required unless :other is in :values.', 'required_unless' => ':attribute kenttä on pakollinen, ellei :values sisällä :other.',
'required_with' => 'The :attribute field is required when :values is present.', 'required_with' => ':attribute kenttä on pakollinen kun :values on läsnä.',
'required_with_all' => 'The :attribute field is required when :values is present.', 'required_with_all' => ':attribute kenttä on pakollinen kun :values ovat läsnä.',
'required_without' => 'The :attribute field is required when :values is not present.', 'required_without' => ':attribute kenttä on pakollinen kun :values ei ole läsnä.',
'required_without_all' => 'The :attribute field is required when none of :values are present.', 'required_without_all' => ':attribute kenttä on pakollinen kun mikään :values ei ole läsnä.',
'same' => 'The :attribute and :other must match.', 'same' => ':attribute ja :other tulee täsmätä.',
'size' => [ 'size' => [
'numeric' => 'The :attribute must be :size.', 'numeric' => ':attribute on oltava :size.',
'file' => 'The :attribute must be :size kilobytes.', 'file' => ':attribute on oltava :size kilotavua.',
'string' => 'The :attribute must be :size characters.', 'string' => ':attribute tulee olla :size merkkiä.',
'array' => 'The :attribute must contain :size items.', 'array' => ':attribute tulee sisältää :size kohdetta.',
], ],
'string' => 'The :attribute must be a string.', 'string' => ':attribute on oltava merkkijono.',
'timezone' => 'The :attribute must be a valid zone.', 'timezone' => ':attribute tulee olla validi aikavyöhyke.',
'unique' => 'The :attribute has already been taken.', 'unique' => ':attribute on jo käytössä.',
'uploaded' => 'The :attribute failed to upload.', 'uploaded' => ':attribute lataus epäonnistui.',
'url' => 'The :attribute format is invalid.', 'url' => ':attribute muoto on virheellinen.',
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -100,7 +100,7 @@ return [
// Internal validation logic for Panel // Internal validation logic for Panel
'internal' => [ 'internal' => [
'variable_value' => ':env variable', 'variable_value' => ':env muuttuja',
'invalid_password' => 'The password provided was invalid for this account.', 'invalid_password' => 'Annettu salasana oli virheellinen tälle tilille.',
], ],
]; ];

View File

@ -8,34 +8,34 @@
*/ */
return [ return [
'auth' => [ 'auth' => [
'fail' => 'Failed log in', 'fail' => 'विफल लॉग इन',
'success' => 'Logged in', 'success' => 'लॉग इन किया गया',
'password-reset' => 'Password reset', 'password-reset' => 'पासवर्ड रीसेट',
'reset-password' => 'Requested password reset', 'reset-password' => 'पासवर्ड रीसेट का अनुरोध किया गया',
'checkpoint' => 'Two-factor authentication requested', 'checkpoint' => 'Two-factor authentication requested',
'recovery-token' => 'Used two-factor recovery token', 'recovery-token' => 'दो-कारक रिकवरी टोकन का उपयोग किया गया',
'token' => 'Solved two-factor challenge', 'token' => 'दो-कारक चुनौती का समाधान किया गया',
'ip-blocked' => 'Blocked request from unlisted IP address for :identifier', 'ip-blocked' => 'अनसूचीबद्ध आईपी पते से :identifier के लिए अनुरोध अवरुद्ध किया गया',
'sftp' => [ 'sftp' => [
'fail' => 'Failed SFTP log in', 'fail' => 'एसएफटीपी लॉगइन विफल रहा',
], ],
], ],
'user' => [ 'user' => [
'account' => [ 'account' => [
'email-changed' => 'Changed email from :old to :new', 'email-changed' => 'ईमेल :old से बदलकर :new कर दिया गया',
'password-changed' => 'Changed password', 'password-changed' => 'पासवर्ड बदल दिया गया',
], ],
'api-key' => [ 'api-key' => [
'create' => 'Created new API key :identifier', 'create' => 'नई एपीआई कुंजी :identifier बनाई गई',
'delete' => 'Deleted API key :identifier', 'delete' => 'हटाई गई एपीआई की: पहचानकर्ता',
], ],
'ssh-key' => [ 'ssh-key' => [
'create' => 'Added SSH key :fingerprint to account', 'create' => 'खाते में एसएसएच कुंजी :fingerprint को जोड़ा गया',
'delete' => 'Removed SSH key :fingerprint from account', 'delete' => 'खाते से एसएसएच कुंजी :fingerprint को हटा दिया गया',
], ],
'two-factor' => [ 'two-factor' => [
'create' => 'Enabled two-factor auth', 'create' => 'दो-कारक प्रमाणीकरण को सक्षम किया गया',
'delete' => 'Disabled two-factor auth', 'delete' => 'दो-कारक प्रमाणीकरण को निष्क्रिय कर दिया गया',
], ],
], ],
'server' => [ 'server' => [

View File

@ -2,18 +2,18 @@
return [ return [
'notices' => [ 'notices' => [
'imported' => 'Successfully imported this Egg and its associated variables.', 'imported' => 'Uspješno ste uvezli ovaj Egg i njegove varijable.',
'updated_via_import' => 'This Egg has been updated using the file provided.', 'updated_via_import' => 'Ovaj Egg je ažuriran sa tom datotekom.',
'deleted' => 'Successfully deleted the requested egg from the Panel.', 'deleted' => 'Uspješno ste obrisali taj Egg sa panel-a.',
'updated' => 'Egg configuration has been updated successfully.', 'updated' => 'Konfiguracija Egg-a je uspješno ažurirana.',
'script_updated' => 'Egg install script has been updated and will run whenever servers are installed.', 'script_updated' => 'Egg skripta za instaliranje je ažurirana i pokreniti će se kada se serveri instaliraju.',
'egg_created' => 'A new egg was laid successfully. You will need to restart any running daemons to apply this new egg.', 'egg_created' => 'Uspješno ste napravili Egg. Morat ćete restartati sve pokrenute daemone da bih primjenilo ovaj novi Egg.',
], ],
'variables' => [ 'variables' => [
'notices' => [ 'notices' => [
'variable_deleted' => 'The variable ":variable" has been deleted and will no longer be available to servers once rebuilt.', 'variable_deleted' => 'Varijabla ":variable" je uspješno obrisana i više neće biti dostupna za servera nakon obnovljenja.',
'variable_updated' => 'The variable ":variable" has been updated. You will need to rebuild any servers using this variable in order to apply changes.', 'variable_updated' => 'Varijabla ":variable" je ažurirana. Morat ćete obnoviti sve servere koji koriste ovu varijablu kako biste primijenili promjene.',
'variable_created' => 'New variable has successfully been created and assigned to this egg.', 'variable_created' => 'Nova varijabla je uspješno napravljena i dodana ovom Egg-u.',
], ],
], ],
]; ];

View File

@ -2,14 +2,15 @@
return [ return [
'validation' => [ 'validation' => [
'fqdn_not_resolvable' => 'The FQDN or IP address provided does not resolve to a valid IP address.', 'fqdn_not_resolvable' => 'Navedeni FQDN ili IP adresa nema valjanu IP adresu.',
'fqdn_required_for_ssl' => 'A fully qualified domain name that resolves to a public IP address is required in order to use SSL for this node.', 'fqdn_required_for_ssl' => 'Za korištenje SSL-a za ovaj node potreban je FQDN koji se pretvara u javnu IP adresu.',
], ],
'notices' => [ 'notices' => [
'allocations_added' => 'Allocations have successfully been added to this node.', 'allocations_added' => 'Portovi su uspješno dodane ovom čvoru.',
'node_deleted' => 'Node has been successfully removed from the panel.', 'node_deleted' => 'Node je uspješno izbrisan sa panela.',
'node_created' => 'Successfully created new node. You can automatically configure the daemon on this machine by visiting the \'Configuration\' tab. <strong>Before you can add any servers you must first allocate at least one IP address and port.</strong>', 'node_created' => 'Uspješno ste napravili novi node. Možete automatski konfigurirati daemon na toj mašini ako posjetite \'Konfiguriracija\' karticu.
'node_updated' => 'Node information has been updated. If any daemon settings were changed you will need to reboot it for those changes to take effect.', <strong>Prije nego što napravite servere morate prvo dodijeliti barem jednu IP adresu i port.</strong>',
'unallocated_deleted' => 'Deleted all un-allocated ports for <code>:ip</code>.', 'node_updated' => 'Node informacije su uspješno ažurirane. Ako su neke daemon postavke promjenjene morate ponovno pokreniti kako bi se promjene primjenile.',
'unallocated_deleted' => 'Izbriši sve ne-nekorištene portovi za <code>:ip</code>.',
], ],
]; ];

View File

@ -12,6 +12,6 @@ return [
| |
*/ */
'previous' => '&laquo; Previous', 'previous' => '&laquo; Prethodno',
'next' => 'Next &raquo;', 'next' => 'Slijedeće &raquo;',
]; ];

View File

@ -11,9 +11,9 @@ return [
| has failed, such as for an invalid token or invalid new password. | has failed, such as for an invalid token or invalid new password.
| |
*/ */
'password' => 'Passwords must be at least six characters and match the confirmation.', 'password' => 'Lozinke moraju biti duge barem 6 znakova i moraju odgovarati potvrdi.',
'reset' => 'Your password has been reset!', 'reset' => 'Vaša lozinka je promijenjena!',
'sent' => 'We have e-mailed your password reset link!', 'sent' => 'Na vaš email poslan je link za ponovno postavljanje!',
'token' => 'This password reset token is invalid.', 'token' => 'Token za promjenu lozinke je nevažeći.',
'user' => 'We can\'t find a user with that e-mail address.', 'user' => 'Ne možemo pronaći korisnika s tom email adresom.',
]; ];

View File

@ -32,7 +32,7 @@ return [
'configuration' => 'Postavke', 'configuration' => 'Postavke',
'sftp' => 'SFTP', 'sftp' => 'SFTP',
'databases' => 'Databaze', 'databases' => 'Databaze',
'memo' => 'Memo', 'memo' => 'Zapis',
'created' => 'Kreirano', 'created' => 'Kreirano',
'expires' => 'Istječe', 'expires' => 'Istječe',
'public_key' => 'Token', 'public_key' => 'Token',
@ -58,38 +58,38 @@ return [
'action' => 'Akcija', 'action' => 'Akcija',
'data' => 'Podaci', 'data' => 'Podaci',
'queued' => 'U redu čekanja', 'queued' => 'U redu čekanja',
'last_run' => 'Last Run', 'last_run' => 'Zadnje pokretanje',
'next_run' => 'Next Run', 'next_run' => 'Sljedeće pokretanje',
'not_run_yet' => 'Not Run Yet', 'not_run_yet' => 'Nije Pokrenuto',
'yes' => 'Yes', 'yes' => 'Da',
'no' => 'No', 'no' => 'Ne',
'delete' => 'Delete', 'delete' => 'Izbriši',
'2fa' => '2FA', '2fa' => '2FA',
'logout' => 'Logout', 'logout' => 'Odjava',
'admin_cp' => 'Admin Control Panel', 'admin_cp' => 'Admin Panel',
'optional' => 'Optional', 'optional' => 'Neobavezno',
'read_only' => 'Read Only', 'read_only' => 'Samo za čitanje',
'relation' => 'Relation', 'relation' => 'Odnos',
'owner' => 'Owner', 'owner' => 'Vlasnik',
'admin' => 'Admin', 'admin' => 'Admin',
'subuser' => 'Subuser', 'subuser' => 'Podkorisnik',
'captcha_invalid' => 'The provided captcha is invalid.', 'captcha_invalid' => 'Ta captcha je netočna.',
'tasks' => 'Tasks', 'tasks' => 'Zadatci',
'seconds' => 'Seconds', 'seconds' => 'Sekunde',
'minutes' => 'Minutes', 'minutes' => 'Minute',
'under_maintenance' => 'Under Maintenance', 'under_maintenance' => 'Održavanje u tijeku',
'days' => [ 'days' => [
'sun' => 'Sunday', 'sun' => 'Nedjelja',
'mon' => 'Monday', 'mon' => 'Ponedjeljak',
'tues' => 'Tuesday', 'tues' => 'Utorak',
'wed' => 'Wednesday', 'wed' => 'Srijeda',
'thurs' => 'Thursday', 'thurs' => 'Četvrtak',
'fri' => 'Friday', 'fri' => 'Petak',
'sat' => 'Saturday', 'sat' => 'Subota',
], ],
'last_used' => 'Last Used', 'last_used' => 'Zadnje korišteno',
'enable' => 'Enable', 'enable' => 'Omogući',
'disable' => 'Disable', 'disable' => 'Onemogući',
'save' => 'Save', 'save' => 'Spremi',
'copyright' => '&reg; 2024 - :year Pelican', 'copyright' => '&reg; 2024 - :year Pelican',
]; ];

View File

@ -2,18 +2,18 @@
return [ return [
'notices' => [ 'notices' => [
'imported' => 'Sikeresen importáltad ezt az Egg-et és a hozzátartozó változókat.', 'imported' => 'Sikeresen importáltad ezt az Egg-et és a hozzátartozó változókat!',
'updated_via_import' => 'Ez az Egg frissítve lett a megadott fájl segítségével.', 'updated_via_import' => 'Ez az Egg frissítve lett a megadott fájl segítségével!',
'deleted' => 'Sikeresen törölted a kívánt Egg-et a panelből.', 'deleted' => 'Sikeresen törölted a kívánt Egg-et a panelből!',
'updated' => 'Az Egg konfigurációja sikeresen frissítve lett.', 'updated' => 'Az Egg konfigurációja sikeresen frissítve lett!',
'script_updated' => 'Az Egg telepítési scriptje frissítve lett, és szerver telepítésekor lefut.', 'script_updated' => 'Az Egg telepítési scriptje frissítve lett, és szerver telepítésekor lefut!',
'egg_created' => 'Sikeresen tojtál egy új tojást. Újra kell indítanod minden futó daemon-t az Egg alkalmazásához.', 'egg_created' => 'Sikeresen hozzá adtál egy új egg-et. Újra kell indítanod minden futó daemon-t az Egg alkalmazásához!',
], ],
'variables' => [ 'variables' => [
'notices' => [ 'notices' => [
'variable_deleted' => 'A ":változó" változó törlésre került, és az újratelepítés után már nem lesz elérhető a szerverek számára.', 'variable_deleted' => 'A ":változó" változó törlésre került, és az újratelepítés után már nem lesz elérhető a szerverek számára!',
'variable_updated' => 'A ":változó" változót frissítettük. A változások alkalmazásához újra kell telepítenie az ezt a változót használó szervereket.', 'variable_updated' => 'A ":változó" változót frissítettük. A változások alkalmazásához újra kell telepítenie az ezt a változót használó szervereket!',
'variable_created' => 'Az új változót sikeresen létrehoztuk és hozzárendeltük ehhez az Egg-hez..', 'variable_created' => 'Az új változót sikeresen létrehoztuk és hozzárendeltük ehhez az Egg-hez!',
], ],
], ],
]; ];

View File

@ -2,14 +2,14 @@
return [ return [
'validation' => [ 'validation' => [
'fqdn_not_resolvable' => 'A megadott FQDN vagy IP-cím nem felel meg érvényes IP-címnek.', 'fqdn_not_resolvable' => 'A megadott FQDN vagy IP-cím nem felel meg érvényes IP-címnek!',
'fqdn_required_for_ssl' => 'Az SSL használatához ehhez a csomóponthoz egy teljesen minősített tartománynévre van szükség, amely nyilvános IP-címet eredményez.', 'fqdn_required_for_ssl' => 'Az SSL használatához ehhez a csomóponthoz egy teljesen minősített tartománynévre van szükség, amely nyilvános IP-címet eredményez!',
], ],
'notices' => [ 'notices' => [
'allocations_added' => 'Sikeresen hozzáadtad a allokációkat ehhez a node-hoz.', 'allocations_added' => 'Sikeresen hozzáadtad az allokációkat ehhez a node-hoz!',
'node_deleted' => 'Sikeresen törölted a node-ot.', 'node_deleted' => 'Sikeresen törölted a node-ot!',
'node_created' => 'Sikeresen létrehoztál egy új node-ot. A daemon-t automatikusan konfigurálhatod a "Konfiguráció" fülön. <strong>Mielőtt új szervert készítenél, legalább egy IP címet és portot kell allokálnod.</strong>', 'node_created' => 'Sikeresen létrehoztál egy új node-ot. A daemon-t automatikusan konfigurálhatod a "Konfiguráció" fülön. <strong>Mielőtt új szervert készítenél, legalább egy IP címet és portot kell allokálnod.</strong>',
'node_updated' => 'Node információk frissítve. Ha a daemon beállításait módosítottad, újra kell indítani a daemont a módosítások érvénybe léptetéséhez.', 'node_updated' => 'Node információk frissítve. Ha a daemon beállításait módosítottad, újra kell indítani a daemont a módosítások érvénybe léptetéséhez!',
'unallocated_deleted' => 'Törölted a <code>:ip</code> összes ki nem osztott portját.', 'unallocated_deleted' => 'Törölted a <code>:ip</code> összes ki nem osztott portját!',
], ],
]; ];

View File

@ -3,8 +3,8 @@
return [ return [
'exceptions' => [ 'exceptions' => [
'no_new_default_allocation' => 'Megpróbáltad törölni az allokációt, de nincs másik alapértelmezett allokáció hozzáadva a szerverhez.', 'no_new_default_allocation' => 'Megpróbáltad törölni az allokációt, de nincs másik alapértelmezett allokáció hozzáadva a szerverhez.',
'marked_as_failed' => 'This server was marked as having failed a previous installation. Current status cannot be toggled in this state.', 'marked_as_failed' => 'Ezt a kiszolgálót úgy jelölték meg, hogy egy korábbi telepítés sikertelen volt. Az állapot követés nem kapcsolható be ebben az állapotban!',
'bad_variable' => 'There was a validation error with the :name variable.', 'bad_variable' => 'Érvényesítési hiba történt a :name: váltózóval!',
'daemon_exception' => 'There was an exception while attempting to communicate with the daemon resulting in a HTTP/:code response code. This exception has been logged. (request id: :request_id)', 'daemon_exception' => 'There was an exception while attempting to communicate with the daemon resulting in a HTTP/:code response code. This exception has been logged. (request id: :request_id)',
'default_allocation_not_found' => 'The requested default allocation was not found in this server\'s allocations.', 'default_allocation_not_found' => 'The requested default allocation was not found in this server\'s allocations.',
], ],

View File

@ -2,7 +2,7 @@
return [ return [
'exceptions' => [ 'exceptions' => [
'user_has_servers' => 'Nem törölhető olyan felhasználó, amihez aktív szerver van társítva. Kérlek előbb töröld a szerverét a folytatáshoz.', 'user_has_servers' => 'Nem törölhető olyan felhasználó, amihez aktív szerver van társítva. Kérlek előbb töröld az összes szerverét a folytatáshoz.',
'user_is_self' => 'A saját felhasználói fiókod nem törölheted.', 'user_is_self' => 'A saját felhasználói fiókod nem törölheted.',
], ],
'notices' => [ 'notices' => [

View File

@ -2,7 +2,7 @@
return [ return [
'user' => [ 'user' => [
'search_users' => 'Enter a Username, User ID, or Email Address', 'search_users' => 'Kérlek írd ide a Discord felhasználóneved, ID számod, vagy E-mail címed!',
'select_search_user' => 'ID of user to delete (Enter \'0\' to re-search)', 'select_search_user' => 'ID of user to delete (Enter \'0\' to re-search)',
'deleted' => 'User successfully deleted from the Panel.', 'deleted' => 'User successfully deleted from the Panel.',
'confirm_delete' => 'Are you sure you want to delete this user from the Panel?', 'confirm_delete' => 'Are you sure you want to delete this user from the Panel?',

View File

@ -2,18 +2,18 @@
return [ return [
'notices' => [ 'notices' => [
'imported' => 'このと関連する変数を正常にインポートしました。', 'imported' => 'このEggと関連する変数を正常にインポートしました。',
'updated_via_import' => '指定されたファイルを使用してこの卵を更新しました。', 'updated_via_import' => 'ファイルを使用してこのEggを更新しました。',
'deleted' => '要求された卵をパネルから削除しました。', 'deleted' => 'Eggを削除しました。',
'updated' => '卵の設定が更新されました。', 'updated' => 'Eggの設定を更新しました。',
'script_updated' => 'Eggのインストールスクリプトが更新され、サーバーがインストールされるたびに実行されます。', 'script_updated' => 'Eggのインストールスクリプトが更新されました。サーバーのインストール時に実行されます。',
'egg_created' => '新しい卵が生成されました。この新しい卵を適用するには、実行中のデーモンを再起動する必要があります。', 'egg_created' => 'Eggを作成しました。このEggを適用するには、実行中のDaemonを再起動してください。',
], ],
'variables' => [ 'variables' => [
'notices' => [ 'notices' => [
'variable_deleted' => '変数 ":variable" が削除され、再構築されると、サーバーで使用できなくなります。', 'variable_deleted' => '変数「:variable」を削除しました。再起動後は使用できなくなります。',
'variable_updated' => '変数 ":variable" が更新されました。変更を適用するには、この変数を使用しているサーバーを再構築する必要があります。', 'variable_updated' => '変数「:variable」を更新しました。再起動後に適用されます。',
'variable_created' => '新しい変数が作成され、この卵に割り当てられました。', 'variable_created' => '変数が作成され、このEggに割り当てられました。',
], ],
], ],
]; ];

View File

@ -2,14 +2,14 @@
return [ return [
'validation' => [ 'validation' => [
'fqdn_not_resolvable' => '提供された FQDN または IP アドレスは、有効な IP アドレスには解決しません。', 'fqdn_not_resolvable' => '入力されたFQDNまたはIPアドレスは、有効なIPアドレスに解決しません。',
'fqdn_required_for_ssl' => 'このードにSSLを使用するには、ドメイン名が必要です。', 'fqdn_required_for_ssl' => 'このードにSSLを使用するには、公開IPアドレスに解決するFQDNが必要です。',
], ],
'notices' => [ 'notices' => [
'allocations_added' => 'このノードに割り当てを追加しました。', 'allocations_added' => '割り当てを追加しました。',
'node_deleted' => 'ノードがパネルから削除されました。', 'node_deleted' => 'ノードを削除しました。',
'node_created' => '正常に新しいノードを作成しました。「設定」タブでデーモンを自動的に設定できます。 <strong>サーバーを追加する前に、最初に少なくとも1つのIPアドレスとポートを割り当てる必要があります。</strong>', 'node_created' => 'ノードを作成しました。「設定」タブでDaemonを自動的に設定できます。 <strong>サーバーを追加する前に、割り当てを追加してください。</strong>',
'node_updated' => 'ノード情報が更新されました。デーモンの設定が変更された場合は、変更を反映するために再起動する必要があります。', 'node_updated' => 'ノードを更新しました。Deamon設定を変更した場合、適用のため再起動が必要です。',
'unallocated_deleted' => '<code>:ip</code>に割り当てられていないポートをすべて削除しました。', 'unallocated_deleted' => '<code>:ip</code>に割り当てられていないポートをすべて削除しました。',
], ],
]; ];

View File

@ -2,25 +2,25 @@
return [ return [
'exceptions' => [ 'exceptions' => [
'no_new_default_allocation' => 'このサーバーのデフォルトの割り当てを削除しようとしていますが、使用するフォールバック割り当てはありません。', 'no_new_default_allocation' => 'デフォルトの割り当て以外に割り当てがないため、デフォルトの割り当てを削除できません。',
'marked_as_failed' => 'このサーバーは以前のインストールに失敗しています。この状態で現在の状態を切り替えることはできません。', 'marked_as_failed' => 'このサーバーは前回、インストールに失敗しています。この状態で現在の状態を切り替えることはできません。',
'bad_variable' => ':name 変数の検証エラーが発生しました。', 'bad_variable' => '変数「:name」の検証エラーが発生しました。',
'daemon_exception' => 'HTTP/:code応答コードを生成するデーモンと通信しようとしたときに例外が発生しました。この例外はログ収集されました。(リクエスト id: :request_id)', 'daemon_exception' => 'HTTP/:code応答コードを生成するデーモンと通信しようとしたときに例外が発生しました。この例外はログ収集されました。(リクエストID: :request_id)',
'default_allocation_not_found' => '要求されたデフォルトの割り当てがこのサーバーの割り当てに見つかりませんでした。', 'default_allocation_not_found' => 'リクエストされたデフォルトの割り当てがこのサーバーの割り当てに見つかりませんでした。',
], ],
'alerts' => [ 'alerts' => [
'startup_changed' => 'このサーバーの起動設定が更新されました。このサーバーのが変更された場合、再インストールが行われます。', 'startup_changed' => 'このサーバーの起動設定が更新されました。このサーバーのEggが変更された場合、再インストールが行われます。',
'server_deleted' => 'サーバーがシステムから削除されました。', 'server_deleted' => 'サーバーを削除しました。',
'server_created' => 'サーバーはパネルに正常に作成されました。デーモンがこのサーバーを完全にインストールするまで数分間お待ちください。', 'server_created' => 'サーバーを作成しました。Daemonがこのサーバーを完全にインストールするまで数分間お待ちください。',
'build_updated' => 'このサーバーのビルド詳細が更新されました。一部の変更を有効にするには再起動が必要な場合があります。', 'build_updated' => 'ビルド詳細を更新しました。一部の変更を有効にするには再起動が必要な場合があります。',
'suspension_toggled' => 'サーバーの保留状態が :status に変更されました。', 'suspension_toggled' => 'サーバーの状態が:statusに変更されました。',
'rebuild_on_boot' => 'このサーバーはDockerコンテナの再構築が必要です。サーバーが次回起動されたときに行われます。', 'rebuild_on_boot' => 'このサーバーはDockerコンテナの再構築が必要です。サーバーが次回起動されたときに行われます。',
'install_toggled' => 'このサーバーのインストールステータスが切り替わりました。', 'install_toggled' => 'このサーバーのインストールステータスが切り替わりました。',
'server_reinstalled' => 'このサーバーは今から再インストールを開始するためキューに入れられています。', 'server_reinstalled' => 'このサーバーは今から再インストールを開始するためキューに入れられています。',
'details_updated' => 'サーバーの詳細が更新されました。', 'details_updated' => 'サーバーの詳細が更新されました。',
'docker_image_updated' => 'このサーバーで使用するデフォルトの Docker イメージを変更しました。この変更を適用するには再起動が必要です。', 'docker_image_updated' => 'このサーバーで使用するデフォルトの Docker イメージを変更しました。この変更を適用するには再起動が必要です。',
'node_required' => 'このパネルにノードを追加する前に、少なくとも1つのロケーションを設定する必要があります。', 'node_required' => 'このパネルにノードを追加する前に、ロケーションを設定する必要があります。',
'transfer_nodes_required' => 'サーバーを転送するには、少なくとも2つのードが設定されている必要があります。', 'transfer_nodes_required' => 'サーバーを転送するには、2つ以上のノードが設定されている必要があります。',
'transfer_started' => 'サーバー転送を開始しました。', 'transfer_started' => 'サーバー転送を開始しました。',
'transfer_not_viable' => '選択したノードには、このサーバに対応するために必要なディスク容量またはメモリが足りません。', 'transfer_not_viable' => '選択したノードには、このサーバに対応するために必要なディスク容量またはメモリが足りません。',
], ],

View File

@ -2,11 +2,11 @@
return [ return [
'exceptions' => [ 'exceptions' => [
'user_has_servers' => 'アクティブなサーバーを持つユーザーは削除できません。続行する前にサーバーを削除してください。', 'user_has_servers' => 'サーバーを所有しているユーザーは削除できません。ユーザーを削除する前にサーバーを削除してください。',
'user_is_self' => '自分のユーザーアカウントは削除できません。', 'user_is_self' => '自分のアカウントは削除できません。',
], ],
'notices' => [ 'notices' => [
'account_created' => 'アカウントを作成しました。', 'account_created' => 'アカウントを作成しました。',
'account_updated' => 'アカウントが更新されました。', 'account_updated' => 'アカウントを更新しました。',
], ],
]; ];

View File

@ -2,41 +2,41 @@
return [ return [
'user' => [ 'user' => [
'search_users' => 'ユーザー名、ユーザーID、またはメールアドレスを入力してください', 'search_users' => 'ユーザー名、ユーザーID、またはメールアドレスを入力してください',
'select_search_user' => '削除するユーザーID再検索するには\'0\'を入力してください', 'select_search_user' => '削除するユーザーID再検索する場合は「0」を入力してください。',
'deleted' => 'ユーザーをパネルから削除しました。', 'deleted' => 'ユーザーを削除しました。',
'confirm_delete' => 'グループからこのユーザを削除しますか?', 'confirm_delete' => 'ユーザを削除しますか?',
'no_users_found' => '指定された検索条件に対するユーザーが見つかりませんでした。', 'no_users_found' => '検索条件に一致するユーザーが見つかりませんでした。',
'multiple_found' => '指定されたユーザーに対して複数のアカウントが見つかりました。--no-interaction フラグのため、ユーザーを削除できません。', 'multiple_found' => '指定されたユーザーに対して複数のアカウントが見つかりました。「--no-interaction」フラグがあるため、ユーザーを削除できません。',
'ask_admin' => 'このユーザーは管理者ですか?', 'ask_admin' => 'このユーザーは管理者ですか?',
'ask_email' => 'メールアドレス', 'ask_email' => 'メールアドレス',
'ask_username' => 'ユーザー名', 'ask_username' => 'ユーザー名',
'ask_name_first' => '名', 'ask_name_first' => '名',
'ask_name_last' => '姓', 'ask_name_last' => '姓',
'ask_password' => 'パスワード', 'ask_password' => 'パスワード',
'ask_password_tip' => 'ランダムなパスワードでアカウントを作成したい場合は、このコマンド(CTRL+C) を実行し、`--no-password` フラグを渡してください。', 'ask_password_tip' => 'ランダムなパスワードでアカウントを作成したい場合は、コマンド「CTRL+C」を実行し、フラグ「--no-password」を設定してください。',
'ask_password_help' => 'パスワードは8文字以上で、少なくとも1つの大文字と数字が含まれている必要があります。', 'ask_password_help' => 'パスワードは8文字以上で、1文字以上の大文字、数字が必要です。',
'2fa_help_text' => [ '2fa_help_text' => [
'このコマンドが有効になっている場合、ユーザーのアカウントの二段階認証を無効にします。 これは、ユーザーがアカウントからロックアウトされている場合にのみ、アカウント回復コマンドとして使用する必要があります。', 'このコマンドが有効になっている場合、ユーザーのアカウントの二段階認証を無効にします。 これは、二段階認証アプリへのアクセス権を失った場合にのみ、アカウントを回復するためのコマンドとして使用してください。',
'この動作を行わない場合は、CTRL+C を押してこのプロセスを終了します。', 'この動作を行わない場合は、「CTRL+C」でこのプロセスを終了します。',
], ],
'2fa_disabled' => '二段階認証が:emailで無効になりました。', '2fa_disabled' => '「:email」で二段階認証が無効になりました。',
], ],
'schedule' => [ 'schedule' => [
'output_line' => '`:schedule` (:hash) で最初のタスクのジョブを送信しています。', 'output_line' => 'スケジュール「:schedule」:hashで最初のタスクのジョブを送信します。',
], ],
'maintenance' => [ 'maintenance' => [
'deleting_service_backup' => 'サービスバックアップファイル:fileを削除しています。', 'deleting_service_backup' => 'サービスバックアップファイル:fileを削除します。',
], ],
'server' => [ 'server' => [
'rebuild_failed' => 'ノード":node"の":name"(#:id)の再構築リクエストがエラーで失敗しました: :message', 'rebuild_failed' => 'ノード「:node」上の「:name」(#:id) の再構築リクエストがエラーで失敗しました: :message',
'reinstall' => [ 'reinstall' => [
'failed' => 'ノード ":node" の ":name" (#:id) の再インストールリクエストがエラーで失敗しました: :message', 'failed' => 'ノード「:node」上の「:name」(#:id) の再インストールリクエストがエラーで失敗しました: :message',
'confirm' => 'サーバーのグループに対して再インストールしようとしています。続行しますか?', 'confirm' => 'サーバーのグループに対して再インストールしようとしています。続行しますか?',
], ],
'power' => [ 'power' => [
'confirm' => ':countサーバーに対して:actionを実行しようとしています。続行しますか', 'confirm' => ':count個のサーバーに対して:actionを実行しようとしています。続行しますか?',
'action_failed' => 'ノード ":node" の ":name" (#:id) の電源アクションリクエストはエラーで失敗しました: :message', 'action_failed' => 'ノード「:node」上の「:name」(#:id) の電源アクションリクエストがエラーで失敗しました: :message',
], ],
], ],
'environment' => [ 'environment' => [
@ -50,10 +50,10 @@ return [
'ask_mailgun_secret' => 'Mailgunシークレット', 'ask_mailgun_secret' => 'Mailgunシークレット',
'ask_mandrill_secret' => 'Mandrillシークレット', 'ask_mandrill_secret' => 'Mandrillシークレット',
'ask_postmark_username' => 'Postmark APIキー', 'ask_postmark_username' => 'Postmark APIキー',
'ask_driver' => 'メールを送信するためにどのドライバーを使用する必要がありますか?', 'ask_driver' => 'どのドライバを使用してメールを送信しますか?',
'ask_mail_from' => 'メールアドレスのメール送信元', 'ask_mail_from' => 'メールアドレスのメール送信元',
'ask_mail_name' => 'メールアドレスの表示先名', 'ask_mail_name' => 'メールアドレスの表示先名',
'ask_encryption' => '暗号化方法', 'ask_encryption' => '暗号化方法',
], ],
], ],
]; ];

View File

@ -2,26 +2,26 @@
return [ return [
'email' => [ 'email' => [
'title' => 'メールアドレスの更新', 'title' => 'メールアドレスを変更',
'updated' => 'メールアドレスが更新されました。', 'updated' => 'メールアドレスを変更しました。',
], ],
'password' => [ 'password' => [
'title' => 'パスワード変更', 'title' => 'パスワード変更',
'requirements' => '新しいパスワードは8文字以上である必要があります。', 'requirements' => '新しいパスワードは8文字以上で入力してください。',
'updated' => 'パスワードが更新されました。', 'updated' => 'パスワードを変更しました。',
], ],
'two_factor' => [ 'two_factor' => [
'button' => '2段階認証の設定', 'button' => '段階認証の設定',
'disabled' => '二段階認証があなたのアカウントで無効になっています。ログイン時にトークンを提供するように求められなくなります。', 'disabled' => '二段階認証が無効化されています。ログイン時のトークン入力をスキップできます。',
'enabled' => '二段階認証がアカウントで有効になりました! これからログインする際には、デバイスによって生成されたコードを入力する必要があります。', 'enabled' => '二段階認証が有効化されています。ログイン時にトークン入力が必要です。',
'invalid' => '入力されたトークンは無効です。', 'invalid' => '入力されたトークンは無効です。',
'setup' => [ 'setup' => [
'title' => '二段階認証のセットアップ', 'title' => '二段階認証のセットアップ',
'help' => 'コードをスキャンできませんか?以下のコードをアプリケーションに入力してください:', 'help' => 'QRコードを読み込めませんか?以下のコードをアプリケーションに入力してください:',
'field' => 'トークンを入力', 'field' => 'トークンを入力',
], ],
'disable' => [ 'disable' => [
'title' => '二段階認証を無効にする', 'title' => '二段階認証の無効化',
'field' => 'トークンを入力', 'field' => 'トークンを入力',
], ],
], ],

View File

@ -1,7 +1,7 @@
<?php <?php
return [ return [
'search' => 'サーバーを検索', 'search' => 'サーバーを検索...',
'no_matches' => '検索条件に一致するサーバーが見つかりませんでした。', 'no_matches' => '検索条件に一致するサーバーが見つかりませんでした。',
'cpu_title' => 'CPU', 'cpu_title' => 'CPU',
'memory_title' => 'メモリ', 'memory_title' => 'メモリ',

View File

@ -9,7 +9,7 @@ return [
'allocations' => [ 'allocations' => [
'server_using' => '現在サーバーは割り当てられています。割り当てはサーバーが現在割り当てられていない場合にのみ削除できます。', 'server_using' => '現在サーバーは割り当てられています。割り当てはサーバーが現在割り当てられていない場合にのみ削除できます。',
'too_many_ports' => '一度に1000以上のポートを追加することはできません。', 'too_many_ports' => '一度に1000以上のポートを追加することはできません。',
'invalid_mapping' => ':port のために提供されたマッピングは無効で、処理することができませんでした。', 'invalid_mapping' => ':port のマッピングは無効で、処理することができませんでした。',
'cidr_out_of_range' => 'CIDR表記では/25から/32までのマスクのみ使用できます。', 'cidr_out_of_range' => 'CIDR表記では/25から/32までのマスクのみ使用できます。',
'port_out_of_range' => '割り当てのポートは 1024 以上、65535 以下である必要があります。', 'port_out_of_range' => '割り当てのポートは 1024 以上、65535 以下である必要があります。',
], ],
@ -21,7 +21,7 @@ return [
'variables' => [ 'variables' => [
'env_not_unique' => '環境変数「:name」はこの卵に固有でなければなりません。', 'env_not_unique' => '環境変数「:name」はこの卵に固有でなければなりません。',
'reserved_name' => '環境変数「:name」は保護されているため、変数に割り当てることはできません。', 'reserved_name' => '環境変数「:name」は保護されているため、変数に割り当てることはできません。',
'bad_validation_rule' => '検証ルール ":rule" は、このアプリケーションの有効なルールではありません。', 'bad_validation_rule' => '検証ルール「:rule」は、このアプリケーションの有効なルールではありません。',
], ],
'importer' => [ 'importer' => [
'json_error' => 'JSON ファイルの解析中にエラーが発生しました: :error', 'json_error' => 'JSON ファイルの解析中にエラーが発生しました: :error',

View File

@ -2,32 +2,32 @@
return [ return [
'permissions' => [ 'permissions' => [
'websocket_*' => 'このサーバーの websocket へのアクセスを許可します。', 'websocket_*' => 'Websocketへのアクセスを許可します。',
'control_console' => 'ユーザーがサーバーコンソールにデータを送信することを許可します。', 'control_console' => 'コンソールへのデータ送信を許可します。',
'control_start' => 'ユーザーがサーバーインスタンスを開始することを許可します。', 'control_start' => 'サーバーの起動を許可します。',
'control_stop' => 'ユーザーがサーバーインスタンスを停止することを許可します。', 'control_stop' => 'サーバーの停止を許可します。',
'control_restart' => 'ユーザーがサーバーインスタンスを再起動することを許可します。', 'control_restart' => 'サーバーの再起動を許可します。',
'control_kill' => 'ユーザーがサーバーインスタンスを強制終了することを許可します。', 'control_kill' => 'サーバーの強制終了を許可します。',
'user_create' => 'ユーザーがサーバーの新しいユーザーアカウントを作成することを許可します。', 'user_create' => 'サブユーザーの作成を許可します。',
'user_read' => 'このサーバーに関連付けられているユーザーを表示する権限をユーザーに許可します。', 'user_read' => 'サブユーザーの閲覧を許可します。',
'user_update' => 'このサーバーに関連付けられている他のユーザーを変更することをユーザーに許可します。', 'user_update' => 'サブユーザーの権限の変更を許可します。',
'user_delete' => 'このサーバーに関連付けられている他のユーザーの削除を許可します。', 'user_delete' => 'サブユーザーの削除を許可します。',
'file_create' => '新しいファイルとディレクトリを作成する権限をユーザーに許可します。', 'file_create' => 'ファイル・ディレクトリの作成を許可します。',
'file_read' => 'ユーザーがこのサーバーインスタンスに関連付けられているファイルやフォルダを表示したり、その内容を表示することを許可します。', 'file_read' => 'ファイル・ディレクトリの閲覧を許可します。',
'file_update' => 'ユーザーがサーバーに関連付けられているファイルとフォルダを更新することを許可します。', 'file_update' => 'ファイル・ディレクトリの編集を許可します。',
'file_delete' => 'ユーザーがファイルとディレクトリを削除することを許可します。', 'file_delete' => 'ファイル・ディレクトリの削除を許可します。',
'file_archive' => 'ユーザーがファイルを圧縮、展開を許可します。', 'file_archive' => 'ファイル・ディレクトリの展開、圧縮を許可します。',
'file_sftp' => 'SFTPクライアントを使用して上記のファイル操作を実行することを許可します。', 'file_sftp' => 'SFTPでのアクセスを許可します。',
'allocation_read' => 'サーバー割り当て管理ページへのアクセスを許可します。', 'allocation_read' => '割り当ての閲覧を許可します。',
'allocation_update' => 'サーバーの割り当てを変更する権限をユーザーに許可します。', 'allocation_update' => '割り当ての変更を許可します。',
'database_create' => 'ユーザーがサーバーの新しいデータベースを作成することを許可します。', 'database_create' => 'データベースの作成を許可します。',
'database_read' => 'ユーザーがサーバーデータベースを表示することを許可します。', 'database_read' => 'データベースの閲覧を許可します。',
'database_update' => 'ユーザーがデータベースを変更する許可を与えます。 ユーザーが「パスワードを表示」権限を持っていない場合、パスワードを変更することはできません。', 'database_update' => 'データベースの変更を許可します。(「パスワードの閲覧」権限がない場合、パスワードを変更できません。)',
'database_delete' => 'ユーザーがデータベースインスタンスを削除することを許可します。', 'database_delete' => 'データベースの削除を許可します。',
'database_view_password' => 'ユーザーがシステム内のデータベースパスワードを表示することを許可します。', 'database_view_password' => 'データベースのパスワードの閲覧を許可します。',
'schedule_create' => 'ユーザーがサーバーの新しいスケジュールを作成することを許可します', 'schedule_create' => 'スケジュールの作成を許可します。',
'schedule_read' => 'ユーザーがサーバーのスケジュールを表示することを許可します。', 'schedule_read' => 'スケジュールの閲覧を許可します。',
'schedule_update' => '既存のサーバーのスケジュールを変更することをユーザーに許可します。', 'schedule_update' => 'スケジュールの変更を許可します。',
'schedule_delete' => 'ユーザーがサーバのスケジュールを削除することを許可します。', 'schedule_delete' => 'スケジュールの削除を許可します。',
], ],
]; ];

View File

@ -11,7 +11,7 @@ return [
'fail' => 'Innlogging feilet', 'fail' => 'Innlogging feilet',
'success' => 'Logget inn', 'success' => 'Logget inn',
'password-reset' => 'Tilbakestill passord', 'password-reset' => 'Tilbakestill passord',
'reset-password' => 'Requested password reset', 'reset-password' => 'Tilbakestilling av passord forespurt',
'checkpoint' => 'Two-factor authentication requested', 'checkpoint' => 'Two-factor authentication requested',
'recovery-token' => 'Used two-factor recovery token', 'recovery-token' => 'Used two-factor recovery token',
'token' => 'Solved two-factor challenge', 'token' => 'Solved two-factor challenge',
@ -30,8 +30,8 @@ return [
'delete' => 'Deleted API key :identifier', 'delete' => 'Deleted API key :identifier',
], ],
'ssh-key' => [ 'ssh-key' => [
'create' => 'Added SSH key :fingerprint to account', 'create' => 'SSH-nøkkel :fingerprint ble lagt til kontoen',
'delete' => 'Removed SSH key :fingerprint from account', 'delete' => 'SSH-nøkkel :fingerprint ble fjernet fra kontoen',
], ],
'two-factor' => [ 'two-factor' => [
'create' => 'Enabled two-factor auth', 'create' => 'Enabled two-factor auth',
@ -51,7 +51,7 @@ return [
], ],
'backup' => [ 'backup' => [
'download' => 'Lastet ned :name sikkerhetskopi', 'download' => 'Lastet ned :name sikkerhetskopi',
'delete' => 'Deleted the :name backup', 'delete' => 'Sikkerhetskopi :name ble slettet',
'restore' => 'Restored the :name backup (deleted files: :truncate)', 'restore' => 'Restored the :name backup (deleted files: :truncate)',
'restore-complete' => 'Completed restoration of the :name backup', 'restore-complete' => 'Completed restoration of the :name backup',
'restore-failed' => 'Failed to complete restoration of the :name backup', 'restore-failed' => 'Failed to complete restoration of the :name backup',

View File

@ -7,7 +7,7 @@ return [
'forgot_password' => [ 'forgot_password' => [
'label' => 'Glemt passord?', 'label' => 'Glemt passord?',
'label_help' => 'Enter your account email address to receive instructions on resetting your password.', 'label_help' => 'Skriv inn din epostadresse for å motta instuksjoner for å resette passordet ditt.',
'button' => 'Gjenopprett konto', 'button' => 'Gjenopprett konto',
], ],
@ -17,7 +17,7 @@ return [
'two_factor' => [ 'two_factor' => [
'label' => 'Tofaktorautentiserings kode', 'label' => 'Tofaktorautentiserings kode',
'label_help' => 'This account requires a second layer of authentication in order to continue. Please enter the code generated by your device to complete this login.', 'label_help' => 'Kontoen krever en tostegsautentiserings kode for å kunne fortsette. Skriv inn koden fra din registerte enhet for å logge inn.',
'checkpoint_failed' => 'Tofaktorautentiseringskoden var ugyldig.', 'checkpoint_failed' => 'Tofaktorautentiseringskoden var ugyldig.',
], ],

View File

@ -10,7 +10,7 @@ return [
'auth' => [ 'auth' => [
'fail' => 'Nie udało się zalogować', 'fail' => 'Nie udało się zalogować',
'success' => 'Zalogowano', 'success' => 'Zalogowano',
'password-reset' => 'Zmień Hasło', 'password-reset' => 'Zresetuj hasło',
'reset-password' => 'Zażądano zresetowania hasła', 'reset-password' => 'Zażądano zresetowania hasła',
'checkpoint' => 'Zażądano uwierzytelnienia dwuetapowego', 'checkpoint' => 'Zażądano uwierzytelnienia dwuetapowego',
'recovery-token' => 'Użyto tokena odzyskiwania uwierzytelnienia dwuetapowego', 'recovery-token' => 'Użyto tokena odzyskiwania uwierzytelnienia dwuetapowego',

View File

@ -46,7 +46,7 @@ return [
'ask_smtp_username' => 'Nazwa użytkownika SMTP', 'ask_smtp_username' => 'Nazwa użytkownika SMTP',
'ask_smtp_password' => 'Hasło SMTP', 'ask_smtp_password' => 'Hasło SMTP',
'ask_mailgun_domain' => 'Serwer Mailgun', 'ask_mailgun_domain' => 'Serwer Mailgun',
'ask_mailgun_endpoint' => 'Mailgun Endpoint', 'ask_mailgun_endpoint' => 'Punkt dostępowy Mailgun',
'ask_mailgun_secret' => 'Sekret Mailgun', 'ask_mailgun_secret' => 'Sekret Mailgun',
'ask_mandrill_secret' => 'Sekret Mandrill', 'ask_mandrill_secret' => 'Sekret Mandrill',
'ask_postmark_username' => 'Klucz API Postmark', 'ask_postmark_username' => 'Klucz API Postmark',

View File

@ -8,123 +8,123 @@
*/ */
return [ return [
'auth' => [ 'auth' => [
'fail' => 'Failed log in', 'fail' => 'Nepodarilo sa prihlásiť',
'success' => 'Logged in', 'success' => 'Prihlásený',
'password-reset' => 'Password reset', 'password-reset' => 'Resetovať heslo',
'reset-password' => 'Requested password reset', 'reset-password' => 'Požiadané o reset hesla',
'checkpoint' => 'Two-factor authentication requested', 'checkpoint' => 'Požadované dvoj-faktorové overenie',
'recovery-token' => 'Used two-factor recovery token', 'recovery-token' => 'Použitý dvoj-faktorový obnovovací token',
'token' => 'Solved two-factor challenge', 'token' => 'Dvoj-faktorové overenie vyriešené',
'ip-blocked' => 'Blocked request from unlisted IP address for :identifier', 'ip-blocked' => 'Požiadavka bola zablokovaná z neuvedenej IP adresy pre :identifier ',
'sftp' => [ 'sftp' => [
'fail' => 'Failed SFTP log in', 'fail' => 'Prihlásenie SFTP zlyhalo',
], ],
], ],
'user' => [ 'user' => [
'account' => [ 'account' => [
'email-changed' => 'Changed email from :old to :new', 'email-changed' => 'Email bol zmenený z :old na :new',
'password-changed' => 'Changed password', 'password-changed' => 'Heslo bolo zmenené',
], ],
'api-key' => [ 'api-key' => [
'create' => 'Created new API key :identifier', 'create' => 'Vytvorený nový API kľúč :identifier',
'delete' => 'Deleted API key :identifier', 'delete' => 'Odstránený API kľúč :identifier',
], ],
'ssh-key' => [ 'ssh-key' => [
'create' => 'Added SSH key :fingerprint to account', 'create' => 'Pridaný SSH kľúč :fingerprint k účtu',
'delete' => 'Removed SSH key :fingerprint from account', 'delete' => 'Zmazaný SSH kľúč :fingerprint z účtu',
], ],
'two-factor' => [ 'two-factor' => [
'create' => 'Enabled two-factor auth', 'create' => 'Dvoj-faktorové overenie zapnuté',
'delete' => 'Disabled two-factor auth', 'delete' => 'Dvoj-faktorové overenie vypnuté',
], ],
], ],
'server' => [ 'server' => [
'reinstall' => 'Reinstalled server', 'reinstall' => 'Server bol preinštalovaný',
'console' => [ 'console' => [
'command' => 'Executed ":command" on the server', 'command' => 'Príkaz ":command" sa vykonal na servery',
], ],
'power' => [ 'power' => [
'start' => 'Started the server', 'start' => 'Server bol spustený',
'stop' => 'Stopped the server', 'stop' => 'Server bol zastavený',
'restart' => 'Restarted the server', 'restart' => 'Server bol reštartovaný',
'kill' => 'Killed the server process', 'kill' => 'Proces serveru bol vynútene ukončený',
], ],
'backup' => [ 'backup' => [
'download' => 'Downloaded the :name backup', 'download' => 'Záloha :name bola stiahnutá',
'delete' => 'Deleted the :name backup', 'delete' => 'Záloha :name bola odstránená',
'restore' => 'Restored the :name backup (deleted files: :truncate)', 'restore' => 'Záloha :name bola obnovená (zmazané súbory: :truncate)',
'restore-complete' => 'Completed restoration of the :name backup', 'restore-complete' => 'Obnova zálohy :name bola dokončená',
'restore-failed' => 'Failed to complete restoration of the :name backup', 'restore-failed' => 'Obnova zálohy :name nebola ukončená úspešne',
'start' => 'Started a new backup :name', 'start' => 'Spustenie zálohovania :name',
'complete' => 'Marked the :name backup as complete', 'complete' => 'Záloha :name bola označená ako dokončená',
'fail' => 'Marked the :name backup as failed', 'fail' => 'Záloha :name bola označená ako zlyhaná',
'lock' => 'Locked the :name backup', 'lock' => 'Záloha :name uzamknutá',
'unlock' => 'Unlocked the :name backup', 'unlock' => 'Záloha :name odomknutá',
], ],
'database' => [ 'database' => [
'create' => 'Created new database :name', 'create' => 'Bola vytvorená nová databáza :name',
'rotate-password' => 'Password rotated for database :name', 'rotate-password' => 'Heslo bolo zmenené pre databázu :name',
'delete' => 'Deleted database :name', 'delete' => 'Odstránená databáza :name',
], ],
'file' => [ 'file' => [
'compress_one' => 'Compressed :directory:file', 'compress_one' => 'Súbor :directory:file bol skomprimovaný',
'compress_other' => 'Compressed :count files in :directory', 'compress_other' => 'Skomprimovaných :count súborov v :directory',
'read' => 'Viewed the contents of :file', 'read' => 'Zobrazený obsah :file',
'copy' => 'Created a copy of :file', 'copy' => 'Vytvorená kópia :file',
'create-directory' => 'Created directory :directory:name', 'create-directory' => 'Vytvorený priečinok :directory:name',
'decompress' => 'Decompressed :files in :directory', 'decompress' => 'Rozbalené :files v :directory',
'delete_one' => 'Deleted :directory:files.0', 'delete_one' => 'Zmazané :directory:files.0',
'delete_other' => 'Deleted :count files in :directory', 'delete_other' => 'Zmazaných :count súborov v :directory',
'download' => 'Downloaded :file', 'download' => 'Stiahnuté :file',
'pull' => 'Downloaded a remote file from :url to :directory', 'pull' => 'Stiahnutý vzdialený súbor z :url do :directory',
'rename_one' => 'Renamed :directory:files.0.from to :directory:files.0.to', 'rename_one' => 'Premenované :directory:files.0.from to :directory:files.0.to',
'rename_other' => 'Renamed :count files in :directory', 'rename_other' => 'Premenovaných :count súborov v :directory',
'write' => 'Wrote new content to :file', 'write' => 'Nový obsah zapísaný do :file',
'upload' => 'Began a file upload', 'upload' => 'Začalo nahrávanie súboru',
'uploaded' => 'Uploaded :directory:file', 'uploaded' => 'Nahrané :directory:file',
], ],
'sftp' => [ 'sftp' => [
'denied' => 'Blocked SFTP access due to permissions', 'denied' => 'SFTP prístup bol zablokovaný kvôli právam',
'create_one' => 'Created :files.0', 'create_one' => 'Vytvorené :files.0',
'create_other' => 'Created :count new files', 'create_other' => 'Vytvorených :count nových súborov',
'write_one' => 'Modified the contents of :files.0', 'write_one' => 'Upravený obsah :files.0',
'write_other' => 'Modified the contents of :count files', 'write_other' => 'Upravený obsah :count súborov',
'delete_one' => 'Deleted :files.0', 'delete_one' => 'Zmazané :files.0',
'delete_other' => 'Deleted :count files', 'delete_other' => 'Zmazaných :count súborov',
'create-directory_one' => 'Created the :files.0 directory', 'create-directory_one' => 'Vytvorený :files.0 priečinok',
'create-directory_other' => 'Created :count directories', 'create-directory_other' => 'Vytvorených :count priečinkov',
'rename_one' => 'Renamed :files.0.from to :files.0.to', 'rename_one' => 'Premenované :files.0.from na :files.0.to',
'rename_other' => 'Renamed or moved :count files', 'rename_other' => 'Premenovaných alebo presunutých :count súborov',
], ],
'allocation' => [ 'allocation' => [
'create' => 'Added :allocation to the server', 'create' => 'Pridaná alokácia :allocation k serveru',
'notes' => 'Updated the notes for :allocation from ":old" to ":new"', 'notes' => 'Aktualizované poznámky k :allocation z ":old" na ":new"',
'primary' => 'Set :allocation as the primary server allocation', 'primary' => 'Nastavená alokácia :allocation ako primárna alokácia serveru',
'delete' => 'Deleted the :allocation allocation', 'delete' => 'Alokácia :allocation bola zmazaná',
], ],
'schedule' => [ 'schedule' => [
'create' => 'Created the :name schedule', 'create' => 'Vytvorené načasovanie :name',
'update' => 'Updated the :name schedule', 'update' => 'Aktualizované načasovanie :name',
'execute' => 'Manually executed the :name schedule', 'execute' => 'Manuálne spustené načasovanie :name',
'delete' => 'Deleted the :name schedule', 'delete' => 'Zmazané načasovanie :name',
], ],
'task' => [ 'task' => [
'create' => 'Created a new ":action" task for the :name schedule', 'create' => 'Vytvorená nová úloha ":action" pre načasovanie :name',
'update' => 'Updated the ":action" task for the :name schedule', 'update' => 'Aktualizovaná úloha ":action" pre načasovanie :name',
'delete' => 'Deleted a task for the :name schedule', 'delete' => 'Úloha pre načasovanie :name bola odstránená',
], ],
'settings' => [ 'settings' => [
'rename' => 'Renamed the server from :old to :new', 'rename' => 'Server bol premenovaný z :old na :new',
'description' => 'Changed the server description from :old to :new', 'description' => 'Popis servera bol zmenený z :old na :new',
], ],
'startup' => [ 'startup' => [
'edit' => 'Changed the :variable variable from ":old" to ":new"', 'edit' => 'Premenná :variable bola zmenená z ":old" na ":new"',
'image' => 'Updated the Docker Image for the server from :old to :new', 'image' => 'Docker Image pre server bol aktualizovaný z :old na :new',
], ],
'subuser' => [ 'subuser' => [
'create' => 'Added :email as a subuser', 'create' => 'Pridaný :email ako podpoužívateľ',
'update' => 'Updated the subuser permissions for :email', 'update' => 'Aktualizované práva podpoužívateľa pre :email',
'delete' => 'Removed :email as a subuser', 'delete' => 'Odstránený :email ako podpoužívateľ',
], ],
], ],
]; ];

View File

@ -2,18 +2,18 @@
return [ return [
'notices' => [ 'notices' => [
'imported' => 'Successfully imported this Egg and its associated variables.', 'imported' => 'Toto vajce a jeho potrebné premenné boli importované úspešne.',
'updated_via_import' => 'This Egg has been updated using the file provided.', 'updated_via_import' => 'Toto vajce bolo aktualizované pomocou nahraného súboru.',
'deleted' => 'Successfully deleted the requested egg from the Panel.', 'deleted' => 'Požadované vajce bolo úspešne odstránené z panelu.',
'updated' => 'Egg configuration has been updated successfully.', 'updated' => 'Konfigurácia vajca bola aktualizovaná úspešne.',
'script_updated' => 'Egg install script has been updated and will run whenever servers are installed.', 'script_updated' => 'Inštalačný skript vajca bol aktualizovaný a bude spustený vždy pri inštalácii servera.',
'egg_created' => 'A new egg was laid successfully. You will need to restart any running daemons to apply this new egg.', 'egg_created' => 'Nové vajce bolo znesené úspešne. Budete musieť reštartovať spustené daemony na aplikovanie nového vajca.',
], ],
'variables' => [ 'variables' => [
'notices' => [ 'notices' => [
'variable_deleted' => 'The variable ":variable" has been deleted and will no longer be available to servers once rebuilt.', 'variable_deleted' => 'Premenná ":variable" bola zmazaná a po prestavaní nebude pre servery dostupná.',
'variable_updated' => 'The variable ":variable" has been updated. You will need to rebuild any servers using this variable in order to apply changes.', 'variable_updated' => 'Premenná ":variable" bola aktualizovaná. Servery, ktoré používajú danú premennú je potrebné prestavať pre aplikovanie zmien.',
'variable_created' => 'New variable has successfully been created and assigned to this egg.', 'variable_created' => 'Nová premenná bola úspešne vytvorená a priradená k tomuto vajcu.',
], ],
], ],
]; ];

View File

@ -2,14 +2,14 @@
return [ return [
'validation' => [ 'validation' => [
'fqdn_not_resolvable' => 'The FQDN or IP address provided does not resolve to a valid IP address.', 'fqdn_not_resolvable' => 'Poskytnutá FQDN neodkazuje na platnú IP adresu.',
'fqdn_required_for_ssl' => 'A fully qualified domain name that resolves to a public IP address is required in order to use SSL for this node.', 'fqdn_required_for_ssl' => 'Na použitie SSL pre tento uzol je potrebná plnohodnotná doména ukazujúca na verejnú IP adresu.',
], ],
'notices' => [ 'notices' => [
'allocations_added' => 'Allocations have successfully been added to this node.', 'allocations_added' => 'Alokácie pre tento uzol boli úspešne pridané.',
'node_deleted' => 'Node has been successfully removed from the panel.', 'node_deleted' => 'Uzol bol úspešne vymazaný z panelu.',
'node_created' => 'Successfully created new node. You can automatically configure the daemon on this machine by visiting the \'Configuration\' tab. <strong>Before you can add any servers you must first allocate at least one IP address and port.</strong>', 'node_created' => 'Nový uzol bol úspešne vytvorený. Daemon na tomto uzle môžete automaticky nakonfigurovať na karte "Konfigurácie". <strong>Pred tým ako pridáte nové servery musíte prideliť aspoň jednu IP adresu a port.</strong>',
'node_updated' => 'Node information has been updated. If any daemon settings were changed you will need to reboot it for those changes to take effect.', 'node_updated' => 'Informácie o uzle boli aktualizované. Ak sa zmenili akékoľvek nastavenia daemonu, budete ho musieť reštartovať na aplikovanie týchto nastavení.',
'unallocated_deleted' => 'Deleted all un-allocated ports for <code>:ip</code>.', 'unallocated_deleted' => 'Boli zmazané všetky nepriradené porty pre <code>:ip</code>.',
], ],
]; ];

View File

@ -2,26 +2,26 @@
return [ return [
'exceptions' => [ 'exceptions' => [
'no_new_default_allocation' => 'You are attempting to delete the default allocation for this server but there is no fallback allocation to use.', 'no_new_default_allocation' => 'Pokúšate sa odstrániť predvolené pridelenie pre tento server, ale nie je možné použiť žiadne záložné pridelenie.',
'marked_as_failed' => 'This server was marked as having failed a previous installation. Current status cannot be toggled in this state.', 'marked_as_failed' => 'Tento server bol označený ako neúspešný pri predchádzajúcej inštalácii. V tomto stave nie je možné prepnúť aktuálny stav.',
'bad_variable' => 'There was a validation error with the :name variable.', 'bad_variable' => 'Pri overení premennej :name sa vyskytla chyba.',
'daemon_exception' => 'There was an exception while attempting to communicate with the daemon resulting in a HTTP/:code response code. This exception has been logged. (request id: :request_id)', 'daemon_exception' => 'Pri pokuse o komunikáciu s daémonom sa vyskytla chyba, čo malo za následok kód odpovede HTTP/:code. Táto chyba bola zaznamenaná. (id žiadosti: :request_id)',
'default_allocation_not_found' => 'The requested default allocation was not found in this server\'s allocations.', 'default_allocation_not_found' => 'Požadované predvolené pridelenie sa nenašlo v pridelení tohto servera.',
], ],
'alerts' => [ 'alerts' => [
'startup_changed' => 'The startup configuration for this server has been updated. If this server\'s egg was changed a reinstall will be occurring now.', 'startup_changed' => 'Konfigurácia spúšťania pre tento server bola aktualizovaná. Ak sa vajíčko tohto servera zmenilo, dôjde k preinštalovaniu.',
'server_deleted' => 'Server has successfully been deleted from the system.', 'server_deleted' => 'Server bol úspešne odstránený zo systému.',
'server_created' => 'Server was successfully created on the panel. Please allow the daemon a few minutes to completely install this server.', 'server_created' => 'Server bol úspešne vytvorený na paneli. Nechajte daémonovi niekoľko minút na úplnú inštaláciu tohto servera.',
'build_updated' => 'The build details for this server have been updated. Some changes may require a restart to take effect.', 'build_updated' => 'Podrobnosti zostavy pre tento server boli aktualizované. Niektoré zmeny môžu vyžadovať reštart, aby sa prejavili.',
'suspension_toggled' => 'Server suspension status has been changed to :status.', 'suspension_toggled' => 'Stav pozastavenia servera sa zmenil na :status.',
'rebuild_on_boot' => 'This server has been marked as requiring a Docker Container rebuild. This will happen the next time the server is started.', 'rebuild_on_boot' => 'Tento server bol označený ako server vyžadujúci prebudovanie kontajnera Docker. Stane sa tak pri ďalšom spustení servera.',
'install_toggled' => 'The installation status for this server has been toggled.', 'install_toggled' => 'Stav inštalácie pre tento server bol prepnutý.',
'server_reinstalled' => 'This server has been queued for a reinstallation beginning now.', 'server_reinstalled' => 'Tento server bol zaradený do poradia na preinštalovanie, ktoré sa teraz začína.',
'details_updated' => 'Server details have been successfully updated.', 'details_updated' => 'Podrobnosti servera boli úspešne aktualizované.',
'docker_image_updated' => 'Successfully changed the default Docker image to use for this server. A reboot is required to apply this change.', 'docker_image_updated' => 'Úspešne sa zmenil predvolený Docker image na použitie pre tento server. Na uplatnenie tejto zmeny je potrebný reštart.',
'node_required' => 'You must have at least one node configured before you can add a server to this panel.', 'node_required' => 'Pred pridaním servera na tento panel musíte mať nakonfigurovaný aspoň jednu node.',
'transfer_nodes_required' => 'You must have at least two nodes configured before you can transfer servers.', 'transfer_nodes_required' => 'Pred prenosom serverov musíte mať nakonfigurované aspoň dve nody.',
'transfer_started' => 'Server transfer has been started.', 'transfer_started' => 'Prenos servera bol spustený.',
'transfer_not_viable' => 'The node you selected does not have the required disk space or memory available to accommodate this server.', 'transfer_not_viable' => 'Nodu, ktorú ste vybrali, nemá k dispozícii požadovaný diskový priestor alebo pamäť na umiestnenie tohto servera.',
], ],
]; ];

View File

@ -2,11 +2,11 @@
return [ return [
'exceptions' => [ 'exceptions' => [
'user_has_servers' => 'Cannot delete a user with active servers attached to their account. Please delete their servers before continuing.', 'user_has_servers' => 'Nie je možné odstrániť používateľa s aktívnymi servermi pripojenými k ich účtu. Pred pokračovaním odstráňte ich servery.',
'user_is_self' => 'Cannot delete your own user account.', 'user_is_self' => 'Nie je možné odstrániť svoj vlastný používateľský účet.',
], ],
'notices' => [ 'notices' => [
'account_created' => 'Account has been created successfully.', 'account_created' => 'Účet bol úspešne vytvorený.',
'account_updated' => 'Account has been successfully updated.', 'account_updated' => 'Účet bol úspešne aktualizovaný.',
], ],
]; ];

View File

@ -1,27 +1,27 @@
<?php <?php
return [ return [
'sign_in' => 'Sign In', 'sign_in' => 'Prihlásiť sa',
'go_to_login' => 'Go to Login', 'go_to_login' => 'Prejsť na prihlásenie',
'failed' => 'No account matching those credentials could be found.', 'failed' => 'Účet s týmito údajmi nebol nájdený.',
'forgot_password' => [ 'forgot_password' => [
'label' => 'Forgot Password?', 'label' => 'Zabudnuté heslo?',
'label_help' => 'Enter your account email address to receive instructions on resetting your password.', 'label_help' => 'Zadajte emailovú adresu svojho účtu, aby ste dostali pokyny na reset hesla.',
'button' => 'Recover Account', 'button' => 'Obnoviť účet',
], ],
'reset_password' => [ 'reset_password' => [
'button' => 'Reset and Sign In', 'button' => 'Resetovať a prihlásiť sa',
], ],
'two_factor' => [ 'two_factor' => [
'label' => '2-Factor Token', 'label' => 'Dvoj-faktorový kód',
'label_help' => 'This account requires a second layer of authentication in order to continue. Please enter the code generated by your device to complete this login.', 'label_help' => 'Tento účet vyžaduje dvoj-faktorové overenie. Prosím zadajte kód vygenerovaný Vašim zariadením.',
'checkpoint_failed' => 'The two-factor authentication token was invalid.', 'checkpoint_failed' => 'Dvoj-faktorový kód bol nesprávny.',
], ],
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 'throttle' => 'Príliš veľa pokusov o prihlásnie. Prosím skúste to znovu o :seconds sekund.',
'password_requirements' => 'Password must be at least 8 characters in length and should be unique to this site.', 'password_requirements' => 'Heslo musí mať aspoň 8 znakov a malo by byť výnimočné pre túto stránku.',
'2fa_must_be_enabled' => 'The administrator has required that 2-Factor Authentication be enabled for your account in order to use the Panel.', '2fa_must_be_enabled' => 'Administrátor vyžaduje, aby bolo 2-faktorové overenie pre Váš účet zapnuté, aby ste mohli panel používať.',
]; ];

View File

@ -2,58 +2,58 @@
return [ return [
'user' => [ 'user' => [
'search_users' => 'Enter a Username, User ID, or Email Address', 'search_users' => 'Zadajte Používateľské meno, ID Používateľa, alebo Emailovú Adresu',
'select_search_user' => 'ID of user to delete (Enter \'0\' to re-search)', 'select_search_user' => 'ID používateľa, ktorého chcete odstrániť (Zadajte "0" pre opätovné vyhľadávanie)',
'deleted' => 'User successfully deleted from the Panel.', 'deleted' => 'Používateľ bol úspešne odstránený z Panela.',
'confirm_delete' => 'Are you sure you want to delete this user from the Panel?', 'confirm_delete' => 'Naozaj chcete odstrániť tohto používateľa z panela?',
'no_users_found' => 'No users were found for the search term provided.', 'no_users_found' => 'Pre zadaný hľadaný výraz sa nenašli žiadni používatelia.',
'multiple_found' => 'Multiple accounts were found for the user provided, unable to delete a user because of the --no-interaction flag.', 'multiple_found' => 'Pre zadaného používateľa sa našlo viacero účtov. Používateľa nebolo možné odstrániť kvôli flagu --no-interaction.',
'ask_admin' => 'Is this user an administrator?', 'ask_admin' => 'Je tento používateľ správcom?',
'ask_email' => 'Email Address', 'ask_email' => 'Emailová Adresa',
'ask_username' => 'Username', 'ask_username' => 'Používateľské meno',
'ask_name_first' => 'First Name', 'ask_name_first' => 'Krstné meno',
'ask_name_last' => 'Last Name', 'ask_name_last' => 'Priezvisko',
'ask_password' => 'Password', 'ask_password' => 'Heslo',
'ask_password_tip' => 'If you would like to create an account with a random password emailed to the user, re-run this command (CTRL+C) and pass the `--no-password` flag.', 'ask_password_tip' => 'Ak by ste chceli vytvoriť účet s náhodným heslom zaslaným používateľovi e-mailom, spustite tento príkaz znova (CTRL+C) a zadajte flag `--no-password`.',
'ask_password_help' => 'Passwords must be at least 8 characters in length and contain at least one capital letter and number.', 'ask_password_help' => 'Heslá musia mať dĺžku aspoň 8 znakov a musia obsahovať aspoň jedno veľké písmeno a číslo.',
'2fa_help_text' => [ '2fa_help_text' => [
'This command will disable 2-factor authentication for a user\'s account if it is enabled. This should only be used as an account recovery command if the user is locked out of their account.', 'Tento príkaz zakáže 2-faktorové overenie pre používateľský účet, ak je povolené. Toto by sa malo používať iba ako príkaz na obnovenie účtu, ak je používateľ zablokovaný vo svojom účte.',
'If this is not what you wanted to do, press CTRL+C to exit this process.', 'Ak to nie je to, čo ste chceli urobiť, stlačte CTRL+C na ukončenie tohto procesu.',
], ],
'2fa_disabled' => '2-Factor authentication has been disabled for :email.', '2fa_disabled' => '2-Faktorové overenie bolo pre :email zakázané.',
], ],
'schedule' => [ 'schedule' => [
'output_line' => 'Dispatching job for first task in `:schedule` (:hash).', 'output_line' => 'Odosiela sa práca pre prvú úlohu v `:schedule` (:hash).',
], ],
'maintenance' => [ 'maintenance' => [
'deleting_service_backup' => 'Deleting service backup file :file.', 'deleting_service_backup' => 'Odstraňuje sa záložný súbor služby :file.',
], ],
'server' => [ 'server' => [
'rebuild_failed' => 'Rebuild request for ":name" (#:id) on node ":node" failed with error: :message', 'rebuild_failed' => 'Žiadosť o opätovné vytvorenie ":name" (#:id) v node ":node" zlyhala s chybou: :message',
'reinstall' => [ 'reinstall' => [
'failed' => 'Reinstall request for ":name" (#:id) on node ":node" failed with error: :message', 'failed' => 'Žiadosť o opätovnú inštaláciu ":name" (#:id) v node ":node" zlyhala s chybou: :message',
'confirm' => 'You are about to reinstall against a group of servers. Do you wish to continue?', 'confirm' => 'Chystáte sa preinštalovať proti skupine serverov. Chcete pokračovať?',
], ],
'power' => [ 'power' => [
'confirm' => 'You are about to perform a :action against :count servers. Do you wish to continue?', 'confirm' => 'Chystáte sa vykonať :akciu proti :count serverom. Chcete pokračovať?',
'action_failed' => 'Power action request for ":name" (#:id) on node ":node" failed with error: :message', 'action_failed' => 'Žiadosť o akciu napájania pre ":name" (#:id) v node ":node" zlyhala s chybou: :message',
], ],
], ],
'environment' => [ 'environment' => [
'mail' => [ 'mail' => [
'ask_smtp_host' => 'SMTP Host (e.g. smtp.gmail.com)', 'ask_smtp_host' => 'SMTP Host (napr. smtp.gmail.com)',
'ask_smtp_port' => 'SMTP Port', 'ask_smtp_port' => 'SMTP Port',
'ask_smtp_username' => 'SMTP Username', 'ask_smtp_username' => 'SMTP Používateľské meno',
'ask_smtp_password' => 'SMTP Password', 'ask_smtp_password' => 'SMTP Heslo',
'ask_mailgun_domain' => 'Mailgun Domain', 'ask_mailgun_domain' => 'Mailgun Doména',
'ask_mailgun_endpoint' => 'Mailgun Endpoint', 'ask_mailgun_endpoint' => 'Mailgun Endpoint',
'ask_mailgun_secret' => 'Mailgun Secret', 'ask_mailgun_secret' => 'Mailgun Secret',
'ask_mandrill_secret' => 'Mandrill Secret', 'ask_mandrill_secret' => 'Mandrill Secret',
'ask_postmark_username' => 'Postmark API Key', 'ask_postmark_username' => 'Postmark API Klúč',
'ask_driver' => 'Which driver should be used for sending emails?', 'ask_driver' => 'Ktorý ovládač by sa mal použiť na odosielanie e-mailov?',
'ask_mail_from' => 'Email address emails should originate from', 'ask_mail_from' => 'E-mailové adresy by mali pochádzať z',
'ask_mail_name' => 'Name that emails should appear from', 'ask_mail_name' => 'Meno, z ktorého sa majú e-maily zobrazovať',
'ask_encryption' => 'Encryption method to use', 'ask_encryption' => 'Spôsob šifrovania, ktorý sa má použiť',
], ],
], ],
]; ];

View File

@ -2,27 +2,27 @@
return [ return [
'email' => [ 'email' => [
'title' => 'Update your email', 'title' => 'Aktualizujte svoj e-mail',
'updated' => 'Your email address has been updated.', 'updated' => 'Vaša e-mailová adresa bola aktualizovaná.',
], ],
'password' => [ 'password' => [
'title' => 'Change your password', 'title' => 'Zmeň si heslo',
'requirements' => 'Your new password should be at least 8 characters in length.', 'requirements' => 'Vaše nové heslo by malo mať aspoň 8 znakov.',
'updated' => 'Your password has been updated.', 'updated' => 'Vaše heslo bolo aktualizované.',
], ],
'two_factor' => [ 'two_factor' => [
'button' => 'Configure 2-Factor Authentication', 'button' => 'Nakonfigurujte 2-Faktorové overenie',
'disabled' => 'Two-factor authentication has been disabled on your account. You will no longer be prompted to provide a token when logging in.', 'disabled' => 'Dvojfaktorová autentifikácia bola vo vašom účte zakázaná. Pri prihlásení sa vám už nebude zobrazovať výzva na zadanie tokenu.',
'enabled' => 'Two-factor authentication has been enabled on your account! From now on, when logging in, you will be required to provide the code generated by your device.', 'enabled' => 'Na vašom účte bola aktivovaná dvojfaktorová autentifikácia! Odteraz budete pri prihlasovaní musieť zadať kód vygenerovaný vaším zariadením.',
'invalid' => 'The token provided was invalid.', 'invalid' => 'Poskytnutý token bol neplatný.',
'setup' => [ 'setup' => [
'title' => 'Setup two-factor authentication', 'title' => 'Nastavte dvojfaktorové overenie',
'help' => 'Can\'t scan the code? Enter the code below into your application:', 'help' => 'Nemôžete naskenovať kód? Do svojej aplikácie zadajte nižšie uvedený kód:',
'field' => 'Enter token', 'field' => 'Zadajte token',
], ],
'disable' => [ 'disable' => [
'title' => 'Disable two-factor authentication', 'title' => 'Zakázať dvojfaktorové overenie',
'field' => 'Enter token', 'field' => 'Zadajte token',
], ],
], ],
]; ];

View File

@ -1,8 +1,8 @@
<?php <?php
return [ return [
'search' => 'Search for servers...', 'search' => 'Hľadať servery...',
'no_matches' => 'There were no servers found matching the search criteria provided.', 'no_matches' => 'Nenašli sa žiadne servery zodpovedajúce zadaným kritériám vyhľadávania.',
'cpu_title' => 'CPU', 'cpu_title' => 'CPU',
'memory_title' => 'Memory', 'memory_title' => 'Pamäť',
]; ];

View File

@ -1,55 +1,55 @@
<?php <?php
return [ return [
'daemon_connection_failed' => 'There was an exception while attempting to communicate with the daemon resulting in a HTTP/:code response code. This exception has been logged.', 'daemon_connection_failed' => 'Pri pokuse o komunikáciu s daemonom sa vyskytla chyba s kódom HTTP/:code. Táto chyba bola zaznamenaná.',
'node' => [ 'node' => [
'servers_attached' => 'A node must have no servers linked to it in order to be deleted.', 'servers_attached' => 'Uzol nemôže mať priradené žiadne servery aby mohol byť vymazaný.',
'daemon_off_config_updated' => 'The daemon configuration <strong>has been updated</strong>, however there was an error encountered while attempting to automatically update the configuration file on the Daemon. You will need to manually update the configuration file (config.yml) for the daemon to apply these changes.', 'daemon_off_config_updated' => 'Konfigurácia daemonu <strong>bola aktualizovaná</strong>, no pri pokuse o automatickú aktualizáciu konfigurácie na daemonovi sa vyskytla chyba. Budete musieť manuálne aktualizovať konfiguračný súbor (config.yml) aby sa táto zmena aplikovala na daemon.',
], ],
'allocations' => [ 'allocations' => [
'server_using' => 'A server is currently assigned to this allocation. An allocation can only be deleted if no server is currently assigned.', 'server_using' => 'Server je momentálne priradený k tejto alokácii. Alokácia môže byť zmazaná, len ak k nej nieje priradený žiadny server.',
'too_many_ports' => 'Adding more than 1000 ports in a single range at once is not supported.', 'too_many_ports' => 'Pridanie viac ako 1000 portov v jednom rozsahu nieje podporované.',
'invalid_mapping' => 'The mapping provided for :port was invalid and could not be processed.', 'invalid_mapping' => 'Mapovanie poskytnuté pre port :port nieje správne a nemohlo byť spracované.',
'cidr_out_of_range' => 'CIDR notation only allows masks between /25 and /32.', 'cidr_out_of_range' => 'CIDR notácia dovoľuje len masky medzi /25 a /32.',
'port_out_of_range' => 'Ports in an allocation must be greater than 1024 and less than or equal to 65535.', 'port_out_of_range' => 'Porty v alokácii musia mať vyššiu hodnotu ako 1024 a menšiu, alebo rovnú 65535.',
], ],
'egg' => [ 'egg' => [
'delete_has_servers' => 'An Egg with active servers attached to it cannot be deleted from the Panel.', 'delete_has_servers' => 'Vajce s priradenými aktívnymi servermi nemože byť vymazané z panelu.',
'invalid_copy_id' => 'The Egg selected for copying a script from either does not exist, or is copying a script itself.', 'invalid_copy_id' => 'Vybrané vajce na kopírovanie skriptu buď neexistuje, alebo samé ešte skript kopíruje.',
'has_children' => 'This Egg is a parent to one or more other Eggs. Please delete those Eggs before deleting this Egg.', 'has_children' => 'Toto vajce je rodičom ďalšieho jedného, alebo viacero iných vajec. Prosím zmažte tieto vajcia pred zmazaním tohto vajca.',
], ],
'variables' => [ 'variables' => [
'env_not_unique' => 'The environment variable :name must be unique to this Egg.', 'env_not_unique' => 'Premenná prostredia :name musí byť unikátna tomuto vajcu.',
'reserved_name' => 'The environment variable :name is protected and cannot be assigned to a variable.', 'reserved_name' => 'Premenná prostredia :name je chránená a nemôže byť priradená premennej.',
'bad_validation_rule' => 'The validation rule ":rule" is not a valid rule for this application.', 'bad_validation_rule' => 'Pravidlo validácie ":rule" nieje validné pravidlo pre túto aplikáciu.',
], ],
'importer' => [ 'importer' => [
'json_error' => 'There was an error while attempting to parse the JSON file: :error.', 'json_error' => 'Pri pokuse o analýzu JSON súboru sa vyskytla chyba: :error.',
'file_error' => 'The JSON file provided was not valid.', 'file_error' => 'Poskytnutý JSON súbor nieje validný.',
'invalid_json_provided' => 'The JSON file provided is not in a format that can be recognized.', 'invalid_json_provided' => 'JSON súbor nieje vo formáte, ktorý je možné rozpoznať.',
], ],
'subusers' => [ 'subusers' => [
'editing_self' => 'Editing your own subuser account is not permitted.', 'editing_self' => 'Upravovať vlastného podpoužívateľa nieje povolené.',
'user_is_owner' => 'You cannot add the server owner as a subuser for this server.', 'user_is_owner' => 'Nemôžete pridať majiteľa serveru ako podpoužívateľa pre tento server.',
'subuser_exists' => 'A user with that email address is already assigned as a subuser for this server.', 'subuser_exists' => 'Používateľov s rovnakou emailovou adresou je už priradený ako podpoužívateľ pre tento server.',
], ],
'databases' => [ 'databases' => [
'delete_has_databases' => 'Cannot delete a database host server that has active databases linked to it.', 'delete_has_databases' => 'Nieje možné odstrániť databázový server, ktorý má priradené aktívne databázy.',
], ],
'tasks' => [ 'tasks' => [
'chain_interval_too_long' => 'The maximum interval time for a chained task is 15 minutes.', 'chain_interval_too_long' => 'Maximálny časový interval pre reťazovú úlohu je 15 minút.',
], ],
'locations' => [ 'locations' => [
'has_nodes' => 'Cannot delete a location that has active nodes attached to it.', 'has_nodes' => 'Nieje možné zmazať lokáciu, ktorá má priradené aktívne uzly.',
], ],
'users' => [ 'users' => [
'node_revocation_failed' => 'Failed to revoke keys on <a href=":link">Node #:node</a>. :error', 'node_revocation_failed' => 'Nebolo možné odobrať kľúče na <a href=":link"> Uzol #:node</a>. :error',
], ],
'deployment' => [ 'deployment' => [
'no_viable_nodes' => 'No nodes satisfying the requirements specified for automatic deployment could be found.', 'no_viable_nodes' => 'Neboli nájdené žiadne uzly spĺňajúce požiadavky pre automatické nasadenie.',
'no_viable_allocations' => 'No allocations satisfying the requirements for automatic deployment were found.', 'no_viable_allocations' => 'Neboli nájdené žiadne alokácie spĺňajúce požiadavky pre automatické nasadenie.',
], ],
'api' => [ 'api' => [
'resource_not_found' => 'The requested resource does not exist on this server.', 'resource_not_found' => 'Požadovaný zdroj neexistuje na tomto servery.',
], ],
]; ];

View File

@ -12,6 +12,6 @@ return [
| |
*/ */
'previous' => '&laquo; Previous', 'previous' => '&laquo; Predchádzajúce',
'next' => 'Next &raquo;', 'next' => 'Ďalšie &raquo;',
]; ];

View File

@ -11,9 +11,9 @@ return [
| has failed, such as for an invalid token or invalid new password. | has failed, such as for an invalid token or invalid new password.
| |
*/ */
'password' => 'Passwords must be at least six characters and match the confirmation.', 'password' => 'Heslá musia mať aspoň 6 znakov a musia sa zhodovať s potvrdením.',
'reset' => 'Your password has been reset!', 'reset' => 'Vaše heslo bolo resetované!',
'sent' => 'We have e-mailed your password reset link!', 'sent' => 'Link na resetovanie hesla Vám bol zaslaný na email!',
'token' => 'This password reset token is invalid.', 'token' => 'Tento token na reset hesla je invalidný.',
'user' => 'We can\'t find a user with that e-mail address.', 'user' => 'Používateľa s danou emailovou adresou sme nenašli.',
]; ];

Some files were not shown because too many files have changed in this diff Show More