Upgrade to rc5

This commit is contained in:
Bastian Allgeier
2020-12-10 11:24:42 +01:00
parent 3fec0d7c93
commit c378376bc9
257 changed files with 13009 additions and 1846 deletions

View File

@@ -5,8 +5,8 @@
* stop at older or too recent versions * stop at older or too recent versions
*/ */
if ( if (
version_compare(PHP_VERSION, '7.2.0', '>=') === false || version_compare(PHP_VERSION, '7.3.0', '>=') === false ||
version_compare(PHP_VERSION, '7.5.0', '<') === false version_compare(PHP_VERSION, '8.1.0', '<') === false
) { ) {
die(include __DIR__ . '/views/php.php'); die(include __DIR__ . '/views/php.php');
} }

View File

@@ -1,7 +1,7 @@
## ##
## Bundle of CA Root Certificates ## Bundle of CA Root Certificates
## ##
## Certificate data from Mozilla as of: Wed Oct 14 03:12:15 2020 GMT ## Certificate data from Mozilla as of: Tue Dec 8 04:12:05 2020 GMT
## ##
## This is a bundle of X.509 certificates of public Certificate Authorities ## This is a bundle of X.509 certificates of public Certificate Authorities
## (CA). These were automatically extracted from Mozilla's root certificates ## (CA). These were automatically extracted from Mozilla's root certificates
@@ -14,7 +14,7 @@
## Just configure this file as the SSLCACertificateFile. ## Just configure this file as the SSLCACertificateFile.
## ##
## Conversion done with mk-ca-bundle.pl version 1.28. ## Conversion done with mk-ca-bundle.pl version 1.28.
## SHA256: a831d3bc63ba1f65478afe28038742b7150c0c2efd243ac342b64792a75d2038 ## SHA256: d820b8696d8ffe42064a1384a56a8981cdc7e7e198036bbb5fa04a6c282dd9a2
## ##

View File

@@ -1,7 +1,7 @@
{ {
"name": "getkirby/cms", "name": "getkirby/cms",
"description": "The Kirby 3 core", "description": "The Kirby 3 core",
"version": "3.4.5", "version": "3.5.0-rc.5",
"license": "proprietary", "license": "proprietary",
"keywords": ["kirby", "cms", "core"], "keywords": ["kirby", "cms", "core"],
"homepage": "https://getkirby.com", "homepage": "https://getkirby.com",
@@ -20,17 +20,17 @@
"source": "https://github.com/getkirby/kirby" "source": "https://github.com/getkirby/kirby"
}, },
"require": { "require": {
"php": ">=7.2.0 <7.5.0", "php": ">=7.3.0 <8.1.0",
"ext-mbstring": "*", "ext-mbstring": "*",
"ext-ctype": "*", "ext-ctype": "*",
"getkirby/composer-installer": "^1.0", "getkirby/composer-installer": "^1.2.0",
"mustangostang/spyc": "0.6.3", "mustangostang/spyc": "0.6.3",
"michelf/php-smartypants": "1.8.1", "michelf/php-smartypants": "1.8.1",
"claviska/simpleimage": "3.3.4", "claviska/simpleimage": "3.5.1",
"phpmailer/phpmailer": "6.1.6", "phpmailer/phpmailer": "6.2.0",
"filp/whoops": "2.7.2", "filp/whoops": "2.9.1",
"true/punycode": "2.1.1", "true/punycode": "2.1.1",
"laminas/laminas-escaper": "2.6.1" "laminas/laminas-escaper": "2.7.0"
}, },
"autoload": { "autoload": {
"files": ["config/setup.php"], "files": ["config/setup.php"],
@@ -48,6 +48,7 @@
"zip": "composer archive --format=zip --file=dist" "zip": "composer archive --format=zip --file=dist"
}, },
"config": { "config": {
"optimize-autoloader": true "optimize-autoloader": true,
"platform-check": false
} }
} }

112
kirby/composer.lock generated
View File

@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "1ca40c0fbd9e8d3584e7ae28b84e0a1c", "content-hash": "661c9880132ba63c8203537da65196e1",
"packages": [ "packages": [
{ {
"name": "claviska/simpleimage", "name": "claviska/simpleimage",
"version": "3.3.4", "version": "3.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/claviska/SimpleImage.git", "url": "https://github.com/claviska/SimpleImage.git",
"reference": "3786d80af8e6d05e5e42f0350e5e5da5b92041a0" "reference": "ab2ab8a4672738ab77b39b00922ee4e79aeadb11"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/claviska/SimpleImage/zipball/3786d80af8e6d05e5e42f0350e5e5da5b92041a0", "url": "https://api.github.com/repos/claviska/SimpleImage/zipball/ab2ab8a4672738ab77b39b00922ee4e79aeadb11",
"reference": "3786d80af8e6d05e5e42f0350e5e5da5b92041a0", "reference": "ab2ab8a4672738ab77b39b00922ee4e79aeadb11",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -43,29 +43,39 @@
} }
], ],
"description": "A PHP class that makes working with images as simple as possible.", "description": "A PHP class that makes working with images as simple as possible.",
"time": "2019-09-26T01:22:02+00:00" "support": {
"issues": "https://github.com/claviska/SimpleImage/issues",
"source": "https://github.com/claviska/SimpleImage/tree/3.5.1"
},
"funding": [
{
"url": "https://github.com/claviska",
"type": "github"
}
],
"time": "2020-10-30T20:47:26+00:00"
}, },
{ {
"name": "filp/whoops", "name": "filp/whoops",
"version": "2.7.2", "version": "2.9.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filp/whoops.git", "url": "https://github.com/filp/whoops.git",
"reference": "17d0d3f266c8f925ebd035cd36f83cf802b47d4a" "reference": "307fb34a5ab697461ec4c9db865b20ff2fd40771"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filp/whoops/zipball/17d0d3f266c8f925ebd035cd36f83cf802b47d4a", "url": "https://api.github.com/repos/filp/whoops/zipball/307fb34a5ab697461ec4c9db865b20ff2fd40771",
"reference": "17d0d3f266c8f925ebd035cd36f83cf802b47d4a", "reference": "307fb34a5ab697461ec4c9db865b20ff2fd40771",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^5.5.9 || ^7.0", "php": "^5.5.9 || ^7.0 || ^8.0",
"psr/log": "^1.0.1" "psr/log": "^1.0.1"
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "^0.9 || ^1.0", "mockery/mockery": "^0.9 || ^1.0",
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0", "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
"symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
}, },
"suggest": { "suggest": {
@@ -75,7 +85,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.6-dev" "dev-master": "2.7-dev"
} }
}, },
"autoload": { "autoload": {
@@ -104,7 +114,11 @@
"throwable", "throwable",
"whoops" "whoops"
], ],
"time": "2020-05-05T12:28:07+00:00" "support": {
"issues": "https://github.com/filp/whoops/issues",
"source": "https://github.com/filp/whoops/tree/2.9.1"
},
"time": "2020-11-01T12:00:00+00:00"
}, },
{ {
"name": "getkirby/composer-installer", "name": "getkirby/composer-installer",
@@ -150,36 +164,36 @@
}, },
{ {
"name": "laminas/laminas-escaper", "name": "laminas/laminas-escaper",
"version": "2.6.1", "version": "2.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laminas/laminas-escaper.git", "url": "https://github.com/laminas/laminas-escaper.git",
"reference": "25f2a053eadfa92ddacb609dcbbc39362610da70" "reference": "5e04bc5ae5990b17159d79d331055e2c645e5cc5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/25f2a053eadfa92ddacb609dcbbc39362610da70", "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/5e04bc5ae5990b17159d79d331055e2c645e5cc5",
"reference": "25f2a053eadfa92ddacb609dcbbc39362610da70", "reference": "5e04bc5ae5990b17159d79d331055e2c645e5cc5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"laminas/laminas-zendframework-bridge": "^1.0", "laminas/laminas-zendframework-bridge": "^1.0",
"php": "^5.6 || ^7.0" "php": "^7.3 || ~8.0.0"
}, },
"replace": { "replace": {
"zendframework/zend-escaper": "self.version" "zendframework/zend-escaper": "^2.6.1"
}, },
"require-dev": { "require-dev": {
"laminas/laminas-coding-standard": "~1.0.0", "laminas/laminas-coding-standard": "~1.0.0",
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2" "phpunit/phpunit": "^9.3",
"psalm/plugin-phpunit": "^0.12.2",
"vimeo/psalm": "^3.16"
},
"suggest": {
"ext-iconv": "*",
"ext-mbstring": "*"
}, },
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.6.x-dev",
"dev-develop": "2.7.x-dev"
}
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Laminas\\Escaper\\": "src/" "Laminas\\Escaper\\": "src/"
@@ -195,7 +209,21 @@
"escaper", "escaper",
"laminas" "laminas"
], ],
"time": "2019-12-31T16:43:30+00:00" "support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-escaper/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-escaper/issues",
"rss": "https://github.com/laminas/laminas-escaper/releases.atom",
"source": "https://github.com/laminas/laminas-escaper"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2020-11-17T21:26:43+00:00"
}, },
{ {
"name": "laminas/laminas-zendframework-bridge", "name": "laminas/laminas-zendframework-bridge",
@@ -421,27 +449,31 @@
}, },
{ {
"name": "phpmailer/phpmailer", "name": "phpmailer/phpmailer",
"version": "v6.1.6", "version": "v6.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/PHPMailer/PHPMailer.git", "url": "https://github.com/PHPMailer/PHPMailer.git",
"reference": "c2796cb1cb99d7717290b48c4e6f32cb6c60b7b3" "reference": "e38888a75c070304ca5514197d4847a59a5c853f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/c2796cb1cb99d7717290b48c4e6f32cb6c60b7b3", "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/e38888a75c070304ca5514197d4847a59a5c853f",
"reference": "c2796cb1cb99d7717290b48c4e6f32cb6c60b7b3", "reference": "e38888a75c070304ca5514197d4847a59a5c853f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-ctype": "*", "ext-ctype": "*",
"ext-filter": "*", "ext-filter": "*",
"ext-hash": "*",
"php": ">=5.5.0" "php": ">=5.5.0"
}, },
"require-dev": { "require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
"doctrine/annotations": "^1.2", "doctrine/annotations": "^1.2",
"friendsofphp/php-cs-fixer": "^2.2", "phpcompatibility/php-compatibility": "^9.3.5",
"phpunit/phpunit": "^4.8 || ^5.7" "roave/security-advisories": "dev-latest",
"squizlabs/php_codesniffer": "^3.5.6",
"yoast/phpunit-polyfills": "^0.2.0"
}, },
"suggest": { "suggest": {
"ext-mbstring": "Needed to send email in multibyte encoding charset", "ext-mbstring": "Needed to send email in multibyte encoding charset",
@@ -479,13 +511,17 @@
} }
], ],
"description": "PHPMailer is a full-featured email creation and transfer class for PHP", "description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"support": {
"issues": "https://github.com/PHPMailer/PHPMailer/issues",
"source": "https://github.com/PHPMailer/PHPMailer/tree/v6.2.0"
},
"funding": [ "funding": [
{ {
"url": "https://github.com/synchro", "url": "https://github.com/Synchro",
"type": "github" "type": "github"
} }
], ],
"time": "2020-05-27T12:24:03+00:00" "time": "2020-11-25T15:24:57+00:00"
}, },
{ {
"name": "psr/log", "name": "psr/log",
@@ -675,10 +711,10 @@
"prefer-stable": false, "prefer-stable": false,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": ">=7.2.0 <7.5.0", "php": ">=7.3.0 <8.1.0",
"ext-mbstring": "*", "ext-mbstring": "*",
"ext-ctype": "*" "ext-ctype": "*"
}, },
"platform-dev": [], "platform-dev": [],
"plugin-api-version": "1.1.0" "plugin-api-version": "2.0.0"
} }

View File

@@ -48,7 +48,7 @@ return [
return $file->next(); return $file->next();
}, },
'nextWithTemplate' => function (File $file) { 'nextWithTemplate' => function (File $file) {
$files = $file->templateSiblings()->sortBy('sort', 'asc', 'filename', 'asc'); $files = $file->templateSiblings()->sort('sort', 'asc', 'filename', 'asc');
$index = $files->indexOf($file); $index = $files->indexOf($file);
return $files->nth($index + 1); return $files->nth($index + 1);
@@ -72,7 +72,7 @@ return [
return $file->prev(); return $file->prev();
}, },
'prevWithTemplate' => function (File $file) { 'prevWithTemplate' => function (File $file) {
$files = $file->templateSiblings()->sortBy('sort', 'asc', 'filename', 'asc'); $files = $file->templateSiblings()->sort('sort', 'asc', 'filename', 'asc');
$index = $files->indexOf($file); $index = $files->indexOf($file);
return $files->nth($index - 1); return $files->nth($index - 1);

View File

@@ -27,7 +27,7 @@ return [
return $page->errors(); return $page->errors();
}, },
'files' => function (Page $page) { 'files' => function (Page $page) {
return $page->files()->sortBy('sort', 'asc', 'filename', 'asc'); return $page->files()->sort('sort', 'asc', 'filename', 'asc');
}, },
'hasChildren' => function (Page $page) { 'hasChildren' => function (Page $page) {
return $page->hasChildren(); return $page->hasChildren();
@@ -47,9 +47,9 @@ return [
'next' => function (Page $page) { 'next' => function (Page $page) {
return $page return $page
->nextAll() ->nextAll()
->filterBy('intendedTemplate', $page->intendedTemplate()) ->filter('intendedTemplate', $page->intendedTemplate())
->filterBy('status', $page->status()) ->filter('status', $page->status())
->filterBy('isReadable', true) ->filter('isReadable', true)
->first(); ->first();
}, },
'num' => function (Page $page) { 'num' => function (Page $page) {
@@ -73,9 +73,9 @@ return [
'prev' => function (Page $page) { 'prev' => function (Page $page) {
return $page return $page
->prevAll() ->prevAll()
->filterBy('intendedTemplate', $page->intendedTemplate()) ->filter('intendedTemplate', $page->intendedTemplate())
->filterBy('status', $page->status()) ->filter('status', $page->status())
->filterBy('isReadable', true) ->filter('isReadable', true)
->last(); ->last();
}, },
'previewUrl' => function (Page $page) { 'previewUrl' => function (Page $page) {

View File

@@ -24,7 +24,7 @@ return [
return $site->drafts(); return $site->drafts();
}, },
'files' => function (Site $site) { 'files' => function (Site $site) {
return $site->files()->sortBy('sort', 'asc', 'filename', 'asc'); return $site->files()->sort('sort', 'asc', 'filename', 'asc');
}, },
'options' => function (Site $site) { 'options' => function (Site $site) {
return $site->permissions()->toArray(); return $site->permissions()->toArray();

View File

@@ -35,6 +35,21 @@ return [
'license' => function (System $system) { 'license' => function (System $system) {
return $system->license(); return $system->license();
}, },
'loginMethods' => function (System $system) {
return array_keys($system->loginMethods());
},
'pendingChallenge' => function () {
if ($this->session()->get('kirby.challenge.email') === null) {
return null;
}
// fake the email challenge if no challenge was created
// to avoid leaking whether the user exists
return $this->session()->get('kirby.challenge.type', 'email');
},
'pendingEmail' => function () {
return $this->session()->get('kirby.challenge.email');
},
'requirements' => function (System $system) { 'requirements' => function (System $system) {
return $system->toArray(); return $system->toArray();
}, },
@@ -86,6 +101,9 @@ return [
'isOk', 'isOk',
'isInstallable', 'isInstallable',
'isInstalled', 'isInstalled',
'loginMethods',
'pendingChallenge',
'pendingEmail',
'title', 'title',
'translation' 'translation'
], ],

View File

@@ -24,7 +24,7 @@ return [
return $user->email(); return $user->email();
}, },
'files' => function (User $user) { 'files' => function (User $user) {
return $user->files()->sortBy('sort', 'asc', 'filename', 'asc'); return $user->files()->sort('sort', 'asc', 'filename', 'asc');
}, },
'id' => function (User $user) { 'id' => function (User $user) {
return $user->id(); return $user->id();

View File

@@ -19,7 +19,7 @@ return [
} }
], ],
[ [
'pattern' => 'auth/login', 'pattern' => 'auth/code',
'method' => 'POST', 'method' => 'POST',
'auth' => false, 'auth' => false,
'action' => function () { 'action' => function () {
@@ -30,11 +30,7 @@ return [
throw new InvalidArgumentException('Invalid CSRF token'); throw new InvalidArgumentException('Invalid CSRF token');
} }
$email = $this->requestBody('email'); $user = $auth->verifyChallenge($this->requestBody('code'));
$long = $this->requestBody('long');
$password = $this->requestBody('password');
$user = $this->kirby()->auth()->login($email, $password, $long);
return [ return [
'code' => 200, 'code' => 200,
@@ -43,6 +39,65 @@ return [
]; ];
} }
], ],
[
'pattern' => 'auth/login',
'method' => 'POST',
'auth' => false,
'action' => function () {
$auth = $this->kirby()->auth();
$methods = $this->kirby()->system()->loginMethods();
// csrf token check
if ($auth->type() === 'session' && $auth->csrf() === false) {
throw new InvalidArgumentException('Invalid CSRF token');
}
$email = $this->requestBody('email');
$long = $this->requestBody('long');
$password = $this->requestBody('password');
if ($password) {
if (isset($methods['password']) !== true) {
throw new InvalidArgumentException('Login with password is not enabled');
}
if (
isset($methods['password']['2fa']) === true &&
$methods['password']['2fa'] === true
) {
$challenge = $auth->login2fa($email, $password, $long);
} else {
$user = $auth->login($email, $password, $long);
}
} else {
if (isset($methods['code']) === true) {
$mode = 'login';
} elseif (isset($methods['password-reset']) === true) {
$mode = 'password-reset';
} else {
throw new InvalidArgumentException('Login without password is not enabled');
}
$challenge = $auth->createChallenge($email, $long, $mode);
}
if (isset($user)) {
return [
'code' => 200,
'status' => 'ok',
'user' => $this->resolve($user)->view('auth')->toArray()
];
} else {
return [
'code' => 200,
'status' => 'ok',
// don't leak users that don't exist at this point
'challenge' => $challenge ?? 'email'
];
}
}
],
[ [
'pattern' => 'auth/logout', 'pattern' => 'auth/logout',
'method' => 'POST', 'method' => 'POST',

View File

@@ -27,7 +27,7 @@ return [
'pattern' => '(:all)/files', 'pattern' => '(:all)/files',
'method' => 'GET', 'method' => 'GET',
'action' => function (string $path) { 'action' => function (string $path) {
return $this->parent($path)->files()->sortBy('sort', 'asc', 'filename', 'asc'); return $this->parent($path)->files()->sort('sort', 'asc', 'filename', 'asc');
} }
], ],
[ [
@@ -110,7 +110,7 @@ return [
$files = $this $files = $this
->site() ->site()
->index(true) ->index(true)
->filterBy('isReadable', true) ->filter('isReadable', true)
->files(); ->files();
if ($this->requestMethod() === 'GET') { if ($this->requestMethod() === 'GET') {

View File

@@ -78,7 +78,7 @@ return [
$pages = $this $pages = $this
->site() ->site()
->index(true) ->index(true)
->filterBy('isReadable', true); ->filter('isReadable', true);
if ($this->requestMethod() === 'GET') { if ($this->requestMethod() === 'GET') {
return $pages->search($this->requestQuery('q')); return $pages->search($this->requestQuery('q'));

View File

@@ -11,7 +11,7 @@ return [
'pattern' => 'users', 'pattern' => 'users',
'method' => 'GET', 'method' => 'GET',
'action' => function () { 'action' => function () {
return $this->users(); return $this->users()->sort('username', 'asc', 'email', 'asc');
} }
], ],
[ [

View File

@@ -0,0 +1 @@
<pre><code class="language-<?= $block->language()->or('text') ?>"><?= $block->code()->html(false) ?></code></pre>

View File

@@ -0,0 +1,59 @@
name: field.blocks.code.name
icon: code
wysiwyg: true
preview: code
fields:
code:
label: field.blocks.code.name
type: textarea
placeholder: field.blocks.code.placeholder
buttons: false
font: monospace
language:
label: field.blocks.code.language
type: select
default: text
options:
bash: Bash
basic: BASIC
c: C
clojure: Clojure
cpp: C++
csharp: C#
css: CSS
diff: Diff
elixir: Elixir
elm: Elm
erlang: Erlang
go: Go
graphql: GraphQL
haskell: Haskell
html: HTML
java: Java
js: JavaScript
json: JSON
latext: LaTeX
less: Less
lisp: Lisp
lua: Lua
makefile: Makefile
markdown: Markdown
markup: Markup
objectivec: Objective-C
pascal: Pascal
perl: Perl
php: PHP
text: Plain Text
python: Python
r: R
ruby: Ruby
rust: Rust
sass: Sass
scss: SCSS
shell: Shell
sql: SQL
swift: Swift
typescript: TypeScript
vbnet: VB.net
xml: XML
yaml: YAML

View File

@@ -0,0 +1,9 @@
<figure>
<ul>
<?php foreach ($block->images()->toFiles() as $image): ?>
<li>
<?= $image ?>
</li>
<?php endforeach ?>
</ul>
</figure>

View File

@@ -0,0 +1,15 @@
name: field.blocks.gallery.name
icon: dashboard
preview: gallery
fields:
images:
label: field.blocks.gallery.images.label
type: files
multiple: true
layout: cards
size: tiny
empty: field.blocks.gallery.images.empty
uploads:
template: blocks/image
image:
ratio: 1/1

View File

@@ -0,0 +1 @@
<<?= $level = $block->level()->or('h2') ?>><?= $block->text() ?></<?= $level ?>>

View File

@@ -0,0 +1,24 @@
name: field.blocks.heading.name
icon: title
wysiwyg: true
preview: heading
fields:
level:
label: field.blocks.heading.level
type: select
empty: false
default: "h2"
width: 1/6
options:
- h1
- h2
- h3
- h4
- h5
- h6
text:
label: field.blocks.heading.text
type: writer
inline: true
width: 5/6
placeholder: field.blocks.heading.placeholder

View File

@@ -0,0 +1,34 @@
<?php
$alt = $block->alt();
$caption = $block->caption();
$crop = $block->crop()->isTrue();
$link = $block->link();
$ratio = $block->ratio()->or('auto');
$src = null;
if ($block->location() == 'web') {
$src = $block->src();
} elseif ($image = $block->image()->toFile()) {
$alt = $alt ?? $image->alt();
$src = $image->url();
}
?>
<?php if ($src): ?>
<figure<?= attr(['data-ratio' => $ratio, 'data-crop' => $crop], ' ') ?>>
<?php if ($link->isNotEmpty()): ?>
<a href="<?= $link->toUrl() ?>">
<img src="<?= $src ?>" alt="<?= $alt ?>">
</a>
<?php else: ?>
<img src="<?= $src ?>" alt="<?= $alt ?>">
<?php endif ?>
<?php if ($caption->isNotEmpty()): ?>
<figcaption>
<?= $caption ?>
</figcaption>
<?php endif ?>
</figure>
<?php endif ?>

View File

@@ -0,0 +1,59 @@
name: field.blocks.image.name
icon: image
preview: image
fields:
location:
label: field.blocks.image.location
type: radio
columns: 2
default: "kirby"
options:
kirby: Kirby
web: Web
image:
label: field.blocks.image.name
type: files
multiple: false
image:
back: black
uploads:
template: blocks/image
when:
location: kirby
src:
label: Image URL
type: url
when:
location: web
alt:
label: field.blocks.image.alt
type: text
icon: title
caption:
label: field.blocks.image.caption
type: writer
icon: text
inline: true
link:
label: field.blocks.image.link
type: text
icon: url
ratio:
label: field.blocks.image.ratio
type: select
placeholder: Auto
width: 1/2
options:
1/1: "1:1"
16/9: "16:9"
10/8: "10:8"
21/9: "21:9"
7/5: "7:5"
4/3: "4:3"
5/3: "5:3"
3/2: "3:2"
3/1: "3:1"
crop:
label: field.blocks.image.crop
type: toggle
width: 1/2

View File

@@ -0,0 +1 @@
<?= $block->text();

View File

@@ -0,0 +1,8 @@
name: field.blocks.list.name
icon: list-bullet
wysiwyg: true
preview: list
fields:
text:
label: field.blocks.list.name
type: list

View File

@@ -0,0 +1 @@
<?= $block->text()->kt();

View File

@@ -0,0 +1,11 @@
name: field.blocks.markdown.name
icon: markdown
preview: markdown
wysiwyg: true
fields:
text:
label: field.blocks.markdown.label
placeholder: field.blocks.markdown.placeholder
type: textarea
buttons: false
font: monospace

View File

@@ -0,0 +1,8 @@
<blockquote>
<?= $block->text() ?>
<?php if ($block->citation()->isNotEmpty()): ?>
<footer>
<?= $block->citation() ?>
</footer>
<?php endif ?>
</blockquote>

View File

@@ -0,0 +1,17 @@
name: field.blocks.quote.name
icon: quote
wysiwyg: true
preview: quote
fields:
text:
label: field.blocks.quote.text.label
placeholder: field.blocks.quote.text.placeholder
type: writer
inline: true
icon: quote
citation:
label: field.blocks.quote.citation.label
placeholder: field.blocks.quote.citation.placeholder
type: writer
inline: true
icon: user

View File

@@ -0,0 +1,3 @@
name: Table
icon: menu
preview: table

View File

@@ -0,0 +1 @@
<?= $block->text();

View File

@@ -0,0 +1,9 @@
name: field.blocks.text.name
icon: text
wysiwyg: true
preview: text
fields:
text:
type: writer
nodes: false
placeholder: field.blocks.text.placeholder

View File

@@ -0,0 +1,8 @@
<?php if ($block->url()->isNotEmpty()): ?>
<figure>
<?= video($block->url()) ?>
<?php if ($block->caption()->isNotEmpty()): ?>
<figcaption><?= $block->caption() ?></figcaption>
<?php endif ?>
</figure>
<?php endif ?>

View File

@@ -0,0 +1,12 @@
name: field.blocks.video.name
icon: video
preview: video
fields:
url:
label: field.blocks.video.url.label
type: url
placeholder: field.blocks.video.url.placeholder
caption:
label: field.blocks.video.caption
type: writer
inline: true

View File

@@ -1,7 +1,26 @@
<?php <?php
$blocksRoot = __DIR__ . '/blocks';
return [ return [
'files/default' => __DIR__ . '/blueprints/file.yml', // blocks
'pages/default' => __DIR__ . '/blueprints/page.yml', 'blocks/code' => $blocksRoot . '/code/code.yml',
'blocks/gallery' => $blocksRoot . '/gallery/gallery.yml',
'blocks/heading' => $blocksRoot . '/heading/heading.yml',
'blocks/image' => $blocksRoot . '/image/image.yml',
'blocks/list' => $blocksRoot . '/list/list.yml',
'blocks/markdown' => $blocksRoot . '/markdown/markdown.yml',
'blocks/quote' => $blocksRoot . '/quote/quote.yml',
'blocks/table' => $blocksRoot . '/table/table.yml',
'blocks/text' => $blocksRoot . '/text/text.yml',
'blocks/video' => $blocksRoot . '/video/video.yml',
// file blueprints
'files/default' => __DIR__ . '/blueprints/files/default.yml',
// page blueprints
'pages/default' => __DIR__ . '/blueprints/pages/default.yml',
// site blueprints
'site' => __DIR__ . '/blueprints/site.yml' 'site' => __DIR__ . '/blueprints/site.yml'
]; ];

View File

@@ -0,0 +1,56 @@
name: Code
icon: code
fields:
code:
label: Code
type: textarea
buttons: false
font: monospace
language:
label: Language
type: select
default: text
options:
bash: Bash
basic: BASIC
c: C
clojure: Clojure
cpp: C++
csharp: C#
css: CSS
diff: Diff
elixir: Elixir
elm: Elm
erlang: Erlang
go: Go
graphql: GraphQL
haskell: Haskell
html: HTML
java: Java
js: JavaScript
json: JSON
latext: LaTeX
less: Less
lisp: Lisp
lua: Lua
makefile: Makefile
markdown: Markdown
markup: Markup
objectivec: Objective-C
pascal: Pascal
perl: Perl
php: PHP
text: Plain Text
python: Python
r: R
ruby: Ruby
rust: Rust
sass: Sass
scss: SCSS
shell: Shell
sql: SQL
swift: Swift
typescript: TypeScript
vbnet: VB.net
xml: XML
yaml: YAML

View File

@@ -0,0 +1,21 @@
icon: title
fields:
text:
type: text
level:
type: select
width: 1/2
default: 1
empty: false
default: "2"
options:
- value: "1"
text: Heading 1
- value: "2"
text: Heading 2
- value: "3"
text: Heading 3
id:
type: text
label: ID
width: 1/2

View File

@@ -0,0 +1,16 @@
name: Image
icon: image
fields:
image:
type: files
multiple: false
alt:
type: text
icon: title
caption:
type: writer
inline: true
icon: text
link:
type: text
icon: url

View File

@@ -0,0 +1,12 @@
name: Quote
icon: quote
fields:
text:
label: Quote Text
type: writer
inline: true
citation:
label: Citation
type: writer
inline: true
placeholder: by …

View File

@@ -0,0 +1,25 @@
name: Table
icon: menu
fields:
rows:
label: Menu
type: structure
columns:
dish: true
description: true
price:
before:
width: 1/4
align: right
fields:
dish:
label: Dish
type: text
description:
label: Description
type: text
price:
label: Price
type: number
before:
step: 0.01

View File

@@ -0,0 +1,5 @@
name: Text
icon: text
fields:
text:
type: writer

View File

@@ -0,0 +1,8 @@
name: Video
icon: video
label: "{{ url }}"
fields:
url:
type: url
caption:
type: writer

View File

@@ -236,7 +236,7 @@ return [
return $item->searchHits > 0 ? true : false; return $item->searchHits > 0 ? true : false;
}); });
return $results->sortBy('searchScore', 'desc'); return $results->sort('searchScore', 'desc');
}, },
/** /**

View File

@@ -1,6 +1,7 @@
<?php <?php
return [ return [
'blocks' => 'Kirby\Form\Field\BlocksField',
'checkboxes' => __DIR__ . '/fields/checkboxes.php', 'checkboxes' => __DIR__ . '/fields/checkboxes.php',
'date' => __DIR__ . '/fields/date.php', 'date' => __DIR__ . '/fields/date.php',
'email' => __DIR__ . '/fields/email.php', 'email' => __DIR__ . '/fields/email.php',
@@ -9,7 +10,9 @@ return [
'headline' => __DIR__ . '/fields/headline.php', 'headline' => __DIR__ . '/fields/headline.php',
'hidden' => __DIR__ . '/fields/hidden.php', 'hidden' => __DIR__ . '/fields/hidden.php',
'info' => __DIR__ . '/fields/info.php', 'info' => __DIR__ . '/fields/info.php',
'layout' => 'Kirby\Form\Field\LayoutField',
'line' => __DIR__ . '/fields/line.php', 'line' => __DIR__ . '/fields/line.php',
'list' => __DIR__ . '/fields/list.php',
'multiselect' => __DIR__ . '/fields/multiselect.php', 'multiselect' => __DIR__ . '/fields/multiselect.php',
'number' => __DIR__ . '/fields/number.php', 'number' => __DIR__ . '/fields/number.php',
'pages' => __DIR__ . '/fields/pages.php', 'pages' => __DIR__ . '/fields/pages.php',
@@ -24,5 +27,6 @@ return [
'time' => __DIR__ . '/fields/time.php', 'time' => __DIR__ . '/fields/time.php',
'toggle' => __DIR__ . '/fields/toggle.php', 'toggle' => __DIR__ . '/fields/toggle.php',
'url' => __DIR__ . '/fields/url.php', 'url' => __DIR__ . '/fields/url.php',
'users' => __DIR__ . '/fields/users.php' 'users' => __DIR__ . '/fields/users.php',
'writer' => __DIR__ . '/fields/writer.php'
]; ];

View File

@@ -1,21 +1,38 @@
<?php <?php
use Kirby\Exception\Exception; use Kirby\Exception\Exception;
use Kirby\Toolkit\I18n;
use Kirby\Toolkit\Str;
return [ return [
'mixins' => ['datetime'],
'props' => [ 'props' => [
/**
* Unset inherited props
*/
'placeholder' => null,
/**
* Activate/deactivate the dropdown calendar
*/
'calendar' => function (bool $calendar = true) {
return $calendar;
},
/** /**
* Default date when a new page/file/user gets created * Default date when a new page/file/user gets created
*/ */
'default' => function ($default = null) { 'default' => function (string $default = null) {
return $default; return $default;
}, },
/** /**
* Defines a custom format that is used when the field is saved * Custom format (dayjs tokens: `DD`, `MM`, `YYYY`) that is
* used to display the field in the Panel
*/ */
'format' => function (string $format = null) { 'display' => function ($display = 'YYYY-MM-DD') {
return $format; return I18n::translate($display, $display);
}, },
/** /**
@@ -24,22 +41,52 @@ return [
'icon' => function (string $icon = 'calendar') { 'icon' => function (string $icon = 'calendar') {
return $icon; return $icon;
}, },
/** /**
* Youngest date, which can be selected/saved * Latest date, which can be selected/saved (Y-m-d)
*/ */
'max' => function (string $max = null) { 'max' => function (string $max = null) {
return $this->toDate($max); return $this->toDatetime($max);
}, },
/** /**
* Oldest date, which can be selected/saved * Earliest date, which can be selected/saved (Y-m-d)
*/ */
'min' => function (string $min = null) { 'min' => function (string $min = null) {
return $this->toDate($min); return $this->toDatetime($min);
}, },
/** /**
* The placeholder is not available * Round to the nearest: sub-options for `unit` (day) and `size` (1)
*/ */
'placeholder' => null, 'step' => function ($step = null) {
if ($step === null) {
return [
'size' => 1,
'unit' => 'day'
];
}
if (is_array($step) === true) {
return $step;
}
if (is_int($step) === true) {
return [
'size' => $step,
'unit' => 'day'
];
}
if (is_string($step) === true) {
return [
'size' => 1,
'unit' => $step
];
}
throw new Exception('step option has to be defined as array');
},
/** /**
* Pass `true` or an array of time field options to show the time selector. * Pass `true` or an array of time field options to show the time selector.
*/ */
@@ -55,27 +102,29 @@ return [
], ],
'computed' => [ 'computed' => [
'default' => function () { 'default' => function () {
return $this->toDate($this->default); return $this->toDatetime($this->default);
}, },
'format' => function () { 'display' => function () {
return $this->props['format'] ?? ($this->time() === false ? 'Y-m-d' : 'Y-m-d H:i'); if ($this->display) {
return Str::upper($this->display);
}
}, },
'value' => function () { 'step' => function () {
return $this->toDate($this->value); if ($this->time !== false) {
}, $timeField = require __DIR__ . '/time.php';
], return $timeField['props']['step']($this->time['step'] ?? null);
'methods' => [
'toDate' => function ($value) {
if ($timestamp = timestamp($value, $this->time['step'] ?? 5)) {
return date('Y-m-d H:i:s', $timestamp);
} }
return null; return $this->step;
} },
'value' => function () {
return $this->toDatetime($this->value);
},
], ],
'save' => function ($value) { 'save' => function ($value) {
if ($value !== null && $date = strtotime($value)) { if ($value !== null && $timestamp = timestamp($value)) {
return date($this->format(), $date); $format = $this->time === false ? 'Y-m-d' : 'Y-m-d H:i:s';
return $this->toISO($timestamp, $format);
} }
return ''; return '';
@@ -86,7 +135,7 @@ return [
$min = $this->min ? strtotime($this->min) : null; $min = $this->min ? strtotime($this->min) : null;
$max = $this->max ? strtotime($this->max) : null; $max = $this->max ? strtotime($this->max) : null;
$value = strtotime($this->value()); $value = strtotime($this->value());
$format = 'd.m.Y'; $format = $this->time === false ? 'd.m.Y' : 'd.m.Y H:i';
$errors = []; $errors = [];
if ($value && $min && $value < $min) { if ($value && $min && $value < $min) {

View File

@@ -11,7 +11,6 @@ return [
'before' => null, 'before' => null,
'default' => null, 'default' => null,
'disabled' => null, 'disabled' => null,
'help' => null,
'icon' => null, 'icon' => null,
'placeholder' => null, 'placeholder' => null,
'required' => null, 'required' => null,

View File

@@ -4,6 +4,19 @@ use Kirby\Toolkit\I18n;
return [ return [
'props' => [ 'props' => [
/**
* Unset inherited props
*/
'after' => null,
'autofocus' => null,
'before' => null,
'default' => null,
'disabled' => null,
'icon' => null,
'placeholder' => null,
'required' => null,
'translate' => null,
/** /**
* Text to be displayed * Text to be displayed
*/ */

12
kirby/config/fields/list.php Executable file
View File

@@ -0,0 +1,12 @@
<?php
return [
'props' => [
/**
* Sets the allowed HTML formats. Available formats: `bold`, `italic`, `underline`, `strike`, `code`, `link`. Activate them all by passing `true`. Deactivate them all by passing `false`
*/
'marks' => function ($marks = true) {
return $marks;
}
]
];

View File

@@ -0,0 +1,16 @@
<?php
return [
'methods' => [
'toDatetime' => function ($value, string $format = 'Y-m-d H:i:s') {
if ($timestamp = timestamp($value, $this->step)) {
return $this->toISO($timestamp, $format);
}
return null;
},
'toISO' => function (int $time, string $format = 'Y-m-d H:i:s') {
return date($format, $time);
}
]
];

View File

@@ -30,7 +30,7 @@ return [
'template' => $template 'template' => $template
]); ]);
$uploads['accept'] = $file->blueprint()->accept()['mime'] ?? '*'; $uploads['accept'] = $file->blueprint()->acceptMime();
} else { } else {
$uploads['accept'] = '*'; $uploads['accept'] = '*';
} }

View File

@@ -99,6 +99,7 @@ return [
], ],
[ [
'pattern' => 'upload', 'pattern' => 'upload',
'method' => 'POST',
'action' => function () { 'action' => function () {
$field = $this->field(); $field = $this->field();
$uploads = $field->uploads(); $uploads = $field->uploads();

View File

@@ -1,24 +1,51 @@
<?php <?php
use Kirby\Exception\Exception;
use Kirby\Toolkit\I18n;
return [ return [
'mixins' => ['datetime'],
'props' => [ 'props' => [
/** /**
* Unset inherited props * Unset inherited props
*/ */
'placeholder' => null, 'placeholder' => null,
/** /**
* Sets the default time when a new page/file/user is created * Sets the default time when a new page/file/user is created
*/ */
'default' => function ($default = null) { 'default' => function ($default = null) {
return $default; return $default;
}, },
/**
* Custom format (dayjs tokens: `HH`, `hh`, `mm`, `ss`, `a`) that is
* used to display the field in the Panel
*/
'display' => function ($display = null) {
return I18n::translate($display, $display);
},
/** /**
* Changes the clock icon * Changes the clock icon
*/ */
'icon' => function (string $icon = 'clock') { 'icon' => function (string $icon = 'clock') {
return $icon; return $icon;
}, },
/**
* Latest time, which can be selected/saved (H:i or H:i:s)
*/
'max' => function (string $max = null) {
return $max ? $this->toDatetime(date('Y-m-d ') . $max) : null;
},
/**
* Earliest time, which can be selected/saved (H:i or H:i:s)
*/
'min' => function (string $min = null) {
return $min ? $this->toDatetime(date('Y-m-d ') . $min) : null;
},
/** /**
* `12` or `24` hour notation. If `12`, an AM/PM selector will be shown. * `12` or `24` hour notation. If `12`, an AM/PM selector will be shown.
*/ */
@@ -26,10 +53,35 @@ return [
return $value === 24 ? 24 : 12; return $value === 24 ? 24 : 12;
}, },
/** /**
* The interval between minutes in the minutes select dropdown. * Round to the nearest: sub-options for `unit` (minute) and `size` (5)
*/ */
'step' => function (int $step = 5) { 'step' => function ($step = null) {
if ($step === null) {
return [
'size' => 5,
'unit' => 'minute'
];
}
if (is_array($step) === true) {
return $step; return $step;
}
if (is_int($step) === true) {
return [
'size' => $step,
'unit' => 'minute'
];
}
if (is_string($step) === true) {
return [
'size' => 1,
'unit' => $step
];
}
throw new Exception('step option has to be defined as array');
}, },
'value' => function ($value = null) { 'value' => function ($value = null) {
return $value; return $value;
@@ -37,32 +89,70 @@ return [
], ],
'computed' => [ 'computed' => [
'default' => function () { 'default' => function () {
return $this->toTime($this->default); return $this->toDatetime($this->default, 'H:i:s');
}, },
'format' => function () { 'display' => function () {
return $this->notation === 24 ? 'H:i' : 'h:i a'; if ($this->display) {
}, return $this->display;
'value' => function () {
return $this->toTime($this->value);
}
],
'methods' => [
'toTime' => function ($value) {
if ($timestamp = timestamp($value, $this->step)) {
return date('H:i', $timestamp);
} }
return null; return $this->notation === 24 ? 'HH:mm' : 'hh:mm a';
},
'value' => function () {
return $this->toDatetime($this->value, 'H:i:s');
} }
], ],
'save' => function ($value): string { 'save' => function ($value): string {
if ($timestamp = strtotime($value)) { if ($value != null && $timestamp = strtotime($value)) {
return date($this->format, $timestamp); return date('H:i:s', $timestamp);
} }
return ''; return '';
}, },
'validations' => [ 'validations' => [
'time', 'time',
'minMax' => function ($value) {
$min = $this->min ? strtotime($this->min) : null;
$max = $this->max ? strtotime($this->max) : null;
$value = strtotime($this->value());
$format = 'H:i:s';
$errors = [];
if ($value && $min && $value < $min) {
$errors['min'] = $min;
}
if ($value && $max && $value > $max) {
$errors['max'] = $max;
}
if (empty($errors) === false) {
if ($min && $max) {
throw new Exception([
'key' => 'validation.time.between',
'data' => [
'min' => date($format, $min),
'max' => date($format, $max)
]
]);
} elseif ($min) {
throw new Exception([
'key' => 'validation.time.after',
'data' => [
'time' => date($format, $min),
]
]);
} else {
throw new Exception([
'key' => 'validation.time.before',
'data' => [
'time' => date($format, $max),
]
]);
}
}
return true;
},
] ]
]; ];

View File

@@ -59,9 +59,7 @@ return [
'boolean', 'boolean',
'required' => function ($value) { 'required' => function ($value) {
if ($this->isRequired() && ($value === false || $this->isEmpty($value))) { if ($this->isRequired() && ($value === false || $this->isEmpty($value))) {
throw new InvalidArgumentException([ throw new InvalidArgumentException(I18n::translate('field.required'));
'key' => 'form.field.required'
]);
} }
}, },
] ]

20
kirby/config/fields/writer.php Executable file
View File

@@ -0,0 +1,20 @@
<?php
return [
'props' => [
/**
* Enables inline mode, which will not wrap new lines in paragraphs and creates hard breaks instead.
*
* @param bool $inline
*/
'inline' => function (bool $inline = false) {
return $inline;
},
/**
* Sets the allowed HTML formats. Available formats: `bold`, `italic`, `underline`, `strike`, `code`, `link`. Activate them all by passing `true`. Deactivate them all by passing `false`
*/
'marks' => function ($marks = true) {
return $marks;
}
]
];

View File

@@ -66,16 +66,16 @@ function csrf(string $check = null)
if (func_num_args() === 0) { if (func_num_args() === 0) {
// no arguments, generate/return a token // no arguments, generate/return a token
$token = $session->get('csrf'); $token = $session->get('kirby.csrf');
if (is_string($token) !== true) { if (is_string($token) !== true) {
$token = bin2hex(random_bytes(32)); $token = bin2hex(random_bytes(32));
$session->set('csrf', $token); $session->set('kirby.csrf', $token);
} }
return $token; return $token;
} elseif (is_string($check) === true && is_string($session->get('csrf')) === true) { } elseif (is_string($check) === true && is_string($session->get('kirby.csrf')) === true) {
// argument has been passed, check the token // argument has been passed, check the token
return hash_equals($session->get('csrf'), $check) === true; return hash_equals($session->get('kirby.csrf'), $check) === true;
} }
return false; return false;
@@ -747,10 +747,10 @@ function tc($key, int $count)
* by the defined step * by the defined step
* *
* @param string $date * @param string $date
* @param int $step * @param int $step array of `unit` and `size` to round to nearest
* @return string|null * @return string|null
*/ */
function timestamp(string $date = null, int $step = null): ?string function timestamp(string $date = null, $step = null): ?string
{ {
if (V::date($date) === false) { if (V::date($date) === false) {
return null; return null;
@@ -762,13 +762,46 @@ function timestamp(string $date = null, int $step = null): ?string
return $date; return $date;
} }
$hours = date('H', $date); if (is_int($step) === true) {
$minutes = date('i', $date); $step = [
$minutes = floor($minutes / $step) * $step; 'unit' => 'minute',
$minutes = str_pad($minutes, 2, 0, STR_PAD_LEFT); 'size' => 1
$date = date('Y-m-d', $date) . ' ' . $hours . ':' . $minutes; ];
}
return strtotime($date); if (is_array($step) === false) {
return $date;
}
$parts = [
'second' => date('s', $date),
'minute' => date('i', $date),
'hour' => date('H', $date),
'day' => date('d', $date),
'month' => date('m', $date),
'year' => date('Y', $date),
];
$current = $parts[$step['unit']];
$nearest = round($current / $step['size']) * $step['size'];
$parts[$step['unit']] = $nearest;
foreach ($parts as $part => $value) {
if ($part === $step['unit']) {
break;
}
$parts[$part] = 0;
}
return strtotime(
$parts['year'] . '-' .
str_pad($parts['month'], 2, 0, STR_PAD_LEFT) . '-' .
str_pad($parts['day'], 2, 0, STR_PAD_LEFT) . ' ' .
str_pad($parts['hour'], 2, 0, STR_PAD_LEFT) . ':' .
str_pad($parts['minute'], 2, 0, STR_PAD_LEFT) . ':' .
str_pad($parts['second'], 2, 0, STR_PAD_LEFT)
);
} }
/** /**
@@ -829,6 +862,36 @@ function url(string $path = null, $options = null): string
return Url::to($path, $options); return Url::to($path, $options);
} }
/**
* Creates a compliant v4 UUID
* Taken from: https://github.com/symfony/polyfill
*
* @return string
*/
function uuid(): string
{
$uuid = bin2hex(random_bytes(16));
return sprintf(
'%08s-%04s-4%03s-%04x-%012s',
// 32 bits for "time_low"
substr($uuid, 0, 8),
// 16 bits for "time_mid"
substr($uuid, 8, 4),
// 16 bits for "time_hi_and_version",
// four most significant bits holds version number 4
substr($uuid, 13, 3),
// 16 bits:
// * 8 bits for "clk_seq_hi_res",
// * 8 bits for "clk_seq_low",
// two most significant bits holds zero and one for variant DCE1.1
hexdec(substr($uuid, 16, 4)) & 0x3fff | 0x8000,
// 48 bits for "node"
substr($uuid, 20, 12)
);
}
/** /**
* Creates a video embed via iframe for Youtube or Vimeo * Creates a video embed via iframe for Youtube or Vimeo
* videos. The embed Urls are automatically detected from * videos. The embed Urls are automatically detected from

View File

@@ -1,9 +1,11 @@
<?php <?php
use Kirby\Cms\App; use Kirby\Cms\App;
use Kirby\Cms\Blocks;
use Kirby\Cms\Field; use Kirby\Cms\Field;
use Kirby\Cms\Files; use Kirby\Cms\Files;
use Kirby\Cms\Html; use Kirby\Cms\Html;
use Kirby\Cms\Layouts;
use Kirby\Cms\Structure; use Kirby\Cms\Structure;
use Kirby\Cms\Url; use Kirby\Cms\Url;
use Kirby\Data\Data; use Kirby\Data\Data;
@@ -53,6 +55,41 @@ return function (App $app) {
}, },
// converters // converters
/**
* Converts a yaml or json field to a Blocks object
*
* @param \Kirby\Cms\Field $field
* @return \Kirby\Cms\Blocks
*/
'toBlocks' => function (Field $field) {
try {
$blocks = Blocks::factory(Blocks::parse($field->value()), [
'parent' => $field->parent(),
]);
return $blocks->filter('isHidden', false);
} catch (Throwable $e) {
if ($field->parent() === null) {
$message = 'Invalid blocks data for "' . $field->key() . '" field';
} else {
$message = 'Invalid blocks data for "' . $field->key() . '" field on parent "' . $field->parent()->title() . '"';
}
throw new InvalidArgumentException($message);
}
},
/**
* Converts the field value into a proper boolean
*
* @param \Kirby\Cms\Field $field
* @param bool $default Default value if the field is empty
* @return bool
*/
'toBool' => function (Field $field, $default = false): bool {
$value = $field->isEmpty() ? $default : $field->value;
return filter_var($value, FILTER_VALIDATE_BOOLEAN);
},
/** /**
* Parses the field value with the given method * Parses the field value with the given method
@@ -71,18 +108,6 @@ return function (App $app) {
} }
}, },
/**
* Converts the field value into a proper boolean
*
* @param \Kirby\Cms\Field $field
* @param bool $default Default value if the field is empty
* @return bool
*/
'toBool' => function (Field $field, $default = false): bool {
$value = $field->isEmpty() ? $default : $field->value;
return filter_var($value, FILTER_VALIDATE_BOOLEAN);
},
/** /**
* Converts the field value to a timestamp or a formatted date * Converts the field value to a timestamp or a formatted date
* *
@@ -159,6 +184,19 @@ return function (App $app) {
return (int)$value; return (int)$value;
}, },
/**
* Parse layouts and turn them into
* Layout objects
*
* @param \Kirby\Cms\Field $field
* @return \Kirby\Cms\Layouts
*/
'toLayouts' => function (Field $field) {
return Layouts::factory(Data::decode($field->value, 'json'), [
'parent' => $field->parent()
]);
},
/** /**
* Wraps a link tag around the field value. The field value is used as the link text * Wraps a link tag around the field value. The field value is used as the link text
* *

View File

@@ -67,6 +67,9 @@ return [
'languages' => function (array $roots) { 'languages' => function (array $roots) {
return $roots['site'] . '/languages'; return $roots['site'] . '/languages';
}, },
'logs' => function (array $roots) {
return $roots['site'] . '/logs';
},
'models' => function (array $roots) { 'models' => function (array $roots) {
return $roots['site'] . '/models'; return $roots['site'] . '/models';
}, },

View File

@@ -41,25 +41,15 @@ return [
} }
return $fields; return $fields;
}, }
],
'methods' => [
'errors' => function () { 'errors' => function () {
return $this->form->errors(); return $this->form->errors();
},
'data' => function () {
$values = $this->form->values();
if (is_a($this->model, 'Kirby\Cms\Page') === true || is_a($this->model, 'Kirby\Cms\Site') === true) {
// the title should never be updated directly via
// fields section to avoid conflicts with the rename dialog
unset($values['title']);
}
return $values;
} }
], ],
'toArray' => function () { 'toArray' => function () {
return [ return [
'errors' => $this->errors,
'fields' => $this->fields, 'fields' => $this->fields,
]; ];
} }

View File

@@ -72,7 +72,7 @@ return [
'template' => $this->template 'template' => $this->template
]); ]);
return $file->blueprint()->accept()['mime'] ?? '*'; return $file->blueprint()->acceptMime();
} }
return null; return null;
@@ -84,12 +84,12 @@ return [
$files = $this->parent->files()->template($this->template); $files = $this->parent->files()->template($this->template);
// filter out all protected files // filter out all protected files
$files = $files->filterBy('isReadable', true); $files = $files->filter('isReadable', true);
if ($this->sortBy) { if ($this->sortBy) {
$files = $files->sortBy(...$files::sortArgs($this->sortBy)); $files = $files->sort(...$files::sortArgs($this->sortBy));
} elseif ($this->sortable === true) { } else {
$files = $files->sortBy('sort', 'asc', 'filename', 'asc'); $files = $files->sort('sort', 'asc', 'filename', 'asc');
} }
// flip // flip
@@ -206,13 +206,15 @@ return [
$multiple = true; $multiple = true;
} }
$template = $this->template === 'default' ? null : $this->template;
return [ return [
'accept' => $this->accept, 'accept' => $this->accept,
'multiple' => $multiple, 'multiple' => $multiple,
'max' => $max, 'max' => $max,
'api' => $this->parent->apiUrl(true) . '/files', 'api' => $this->parent->apiUrl(true) . '/files',
'attributes' => array_filter([ 'attributes' => array_filter([
'template' => $this->template 'template' => $template
]) ])
]; ];
} }

View File

@@ -126,7 +126,7 @@ return [
// sort // sort
if ($this->sortBy) { if ($this->sortBy) {
$pages = $pages->sortBy(...$pages::sortArgs($this->sortBy)); $pages = $pages->sort(...$pages::sortArgs($this->sortBy));
} }
// flip // flip
@@ -165,7 +165,9 @@ return [
'status' => $item->status(), 'status' => $item->status(),
'permissions' => [ 'permissions' => [
'sort' => $permissions->can('sort'), 'sort' => $permissions->can('sort'),
'changeStatus' => $permissions->can('changeStatus') 'changeSlug' => $permissions->can('changeSlug'),
'changeStatus' => $permissions->can('changeStatus'),
'changeTitle' => $permissions->can('changeTitle')
] ]
]; ];
} }

17
kirby/config/snippets.php Executable file
View File

@@ -0,0 +1,17 @@
<?php
$blocksRoot = __DIR__ . '/blocks';
return [
// blocks
'blocks/code' => $blocksRoot . '/code/code.php',
'blocks/gallery' => $blocksRoot . '/gallery/gallery.php',
'blocks/heading' => $blocksRoot . '/heading/heading.php',
'blocks/image' => $blocksRoot . '/image/image.php',
'blocks/list' => $blocksRoot . '/list/list.php',
'blocks/markdown' => $blocksRoot . '/markdown/markdown.php',
'blocks/quote' => $blocksRoot . '/quote/quote.php',
'blocks/table' => $blocksRoot . '/table/table.php',
'blocks/text' => $blocksRoot . '/text/text.php',
'blocks/video' => $blocksRoot . '/video/video.php',
];

8
kirby/config/templates.php Executable file
View File

@@ -0,0 +1,8 @@
<?php
// @codeCoverageIgnoreStart
return [
'emails/auth/login' => __DIR__ . '/templates/emails/auth/login.php',
'emails/auth/password-reset' => __DIR__ . '/templates/emails/auth/password-reset.php'
];
// @codeCoverageIgnoreEnd

View File

@@ -0,0 +1,3 @@
<?php
echo I18n::template('login.email.login.body', null, compact('user', 'code', 'timeout'));

View File

@@ -0,0 +1,3 @@
<?php
echo I18n::template('login.email.password-reset.body', null, compact('user', 'code', 'timeout'));

View File

@@ -64,6 +64,9 @@
"だ": "da", "だ": "da",
"ば": "ba", "ば": "ba",
"ぱ": "pa", "ぱ": "pa",
"中": "naka",
"場": "ba",
"版": "han",
"い": "i", "い": "i",
"イ": "i", "イ": "i",
@@ -88,6 +91,10 @@
"ぢ": "ji", "ぢ": "ji",
"び": "bi", "び": "bi",
"ぴ": "pi", "ぴ": "pi",
"仮": "kari",
"国": "kuni",
"鳥": "tori",
"劇": "geki",
"う": "u", "う": "u",
"ウ": "u", "ウ": "u",
@@ -139,6 +146,7 @@
"で": "de", "で": "de",
"べ": "be", "べ": "be",
"ぺ": "pe", "ぺ": "pe",
"面": "men",
"お": "o", "お": "o",
"オ": "o", "オ": "o",
@@ -168,5 +176,7 @@
"ド": "do", "ド": "do",
"ぼ": "bo", "ぼ": "bo",
"ポ": "po", "ポ": "po",
"ぽ": "po" "ぽ": "po",
"男": "otoko",
"人": "hito"
} }

View File

@@ -6,6 +6,8 @@
"change": "\u041f\u0440\u043e\u043c\u0435\u043d\u0438", "change": "\u041f\u0440\u043e\u043c\u0435\u043d\u0438",
"close": "\u0417\u0430\u0442\u0432\u043e\u0440\u0438", "close": "\u0417\u0430\u0442\u0432\u043e\u0440\u0438",
"confirm": "Ок", "confirm": "Ок",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Копирай", "copy": "Копирай",
"create": "Създай", "create": "Създай",
@@ -22,12 +24,15 @@
"days.wed": "\u0421\u0440", "days.wed": "\u0421\u0440",
"delete": "\u0418\u0437\u0442\u0440\u0438\u0439", "delete": "\u0418\u0437\u0442\u0440\u0438\u0439",
"delete.all": "Delete all",
"dimensions": "Размери", "dimensions": "Размери",
"disabled": "Disabled", "disabled": "Disabled",
"discard": "\u041e\u0442\u043c\u0435\u043d\u0438", "discard": "\u041e\u0442\u043c\u0435\u043d\u0438",
"download": "Download", "download": "Download",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"edit": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u0439", "edit": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u0439",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "No files to select", "dialog.files.empty": "No files to select",
"dialog.pages.empty": "No pages to select", "dialog.pages.empty": "No pages to select",
@@ -36,6 +41,7 @@
"email": "Email", "email": "Email",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "Invalid code",
"error.access.login": "Invalid login", "error.access.login": "Invalid login",
"error.access.panel": "Нямате права за достъп до панела", "error.access.panel": "Нямате права за достъп до панела",
"error.access.view": "You are not allowed to access this part of the panel", "error.access.view": "You are not allowed to access this part of the panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Образецът \"{name}\" не може да бъде зареден", "error.blueprint.notFound": "Образецът \"{name}\" не може да бъде зареден",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "Email шаблонът \"{name}\" не може да бъде открит", "error.email.preset.notFound": "Email шаблонът \"{name}\" не може да бъде открит",
"error.field.converter.invalid": "Невалиден конвертор \"{converter}\"", "error.field.converter.invalid": "Невалиден конвертор \"{converter}\"",
@@ -185,22 +197,77 @@
"error.validation.size": "Размерът на стойността трябва да бъде \"{size}\"", "error.validation.size": "Размерът на стойността трябва да бъде \"{size}\"",
"error.validation.startswith": "Стойността трябва да започва с \"{start}\"", "error.validation.startswith": "Стойността трябва да започва с \"{start}\"",
"error.validation.time": "Моля въведете валидно време", "error.validation.time": "Моля въведете валидно време",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Моля въведете валиден URL", "error.validation.url": "Моля въведете валиден URL",
"field.required": "The field is required", "field.required": "The field is required",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Код",
"field.blocks.code.language": "Език",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Връзка",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Изображение",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Все още не са избрани файлове", "field.files.empty": "Все още не са избрани файлове",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Все още не са избрани страници", "field.pages.empty": "Все още не са избрани страници",
"field.structure.delete.confirm": "Сигурни ли сте, че искате да изтриете това вписване?", "field.structure.delete.confirm": "Сигурни ли сте, че искате да изтриете това вписване?",
"field.structure.empty": "Все още няма статии", "field.structure.empty": "Все още няма статии",
"field.users.empty": "Все още не са избрани потребители", "field.users.empty": "Все още не са избрани потребители",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Сигурни ли сте, че искате да изтриете <br><strong>{filename}</strong>?", "file.delete.confirm": "Сигурни ли сте, че искате да изтриете <br><strong>{filename}</strong>?",
"file.sort": "Change position",
"files": "Файлове", "files": "Файлове",
"files.empty": "Няма файлове", "files.empty": "Няма файлове",
"hide": "Hide",
"hour": "Hour", "hour": "Hour",
"insert": "\u0412\u043c\u044a\u043a\u043d\u0438", "insert": "\u0412\u043c\u044a\u043a\u043d\u0438",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Инсталирай", "install": "Инсталирай",
"installation": "Инсталация", "installation": "Инсталация",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.", "lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.",
"login": "Вход", "login": "Вход",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Keep me logged in", "login.remember": "Keep me logged in",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Изход", "logout": "Изход",
@@ -296,6 +376,7 @@
"orientation.portrait": "Портрет", "orientation.portrait": "Портрет",
"orientation.square": "Квадрат", "orientation.square": "Квадрат",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "\u041f\u0440\u043e\u043c\u0435\u043d\u0438 URL", "page.changeSlug": "\u041f\u0440\u043e\u043c\u0435\u043d\u0438 URL",
"page.changeSlug.fromTitle": "\u0421\u044a\u0437\u0434\u0430\u0439\u0442\u0435 \u043e\u0442 \u0437\u0430\u0433\u043b\u0430\u0432\u0438\u0435\u0442\u043e", "page.changeSlug.fromTitle": "\u0421\u044a\u0437\u0434\u0430\u0439\u0442\u0435 \u043e\u0442 \u0437\u0430\u0433\u043b\u0430\u0432\u0438\u0435\u0442\u043e",
"page.changeStatus": "Промени статус", "page.changeStatus": "Промени статус",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Копирай", "page.duplicate.appendix": "Копирай",
"page.duplicate.files": "Copy files", "page.duplicate.files": "Copy files",
"page.duplicate.pages": "Copy pages", "page.duplicate.pages": "Copy pages",
"page.sort": "Change position",
"page.status": "Status", "page.status": "Status",
"page.status.draft": "Чернова", "page.status.draft": "Чернова",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +410,7 @@
"password": "\u041f\u0430\u0440\u043e\u043b\u0430", "password": "\u041f\u0430\u0440\u043e\u043b\u0430",
"pixel": "Пиксел", "pixel": "Пиксел",
"prev": "Previous", "prev": "Previous",
"preview": "Preview",
"remove": "Премахни", "remove": "Премахни",
"rename": "Преименувай", "rename": "Преименувай",
"replace": "\u0417\u0430\u043c\u0435\u0441\u0442\u0438", "replace": "\u0417\u0430\u043c\u0435\u0441\u0442\u0438",
@@ -354,6 +437,7 @@
"select": "Избери", "select": "Избери",
"settings": "Настройки", "settings": "Настройки",
"show": "Show",
"size": "Размер", "size": "Размер",
"slug": "URL-\u0434\u043e\u0431\u0430\u0432\u043a\u0430", "slug": "URL-\u0434\u043e\u0431\u0430\u0432\u043a\u0430",
"sort": "Сортирай", "sort": "Сортирай",
@@ -361,6 +445,8 @@
"template": "Образец", "template": "Образец",
"today": "Днес", "today": "Днес",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Код", "toolbar.button.code": "Код",
"toolbar.button.bold": "\u041f\u043e\u043b\u0443\u0447\u0435\u0440 \u0448\u0440\u0438\u0444\u0442", "toolbar.button.bold": "\u041f\u043e\u043b\u0443\u0447\u0435\u0440 \u0448\u0440\u0438\u0444\u0442",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -419,6 +505,7 @@
"view.account": "\u0412\u0430\u0448\u0438\u044f \u0430\u043a\u0430\u0443\u043d\u0442", "view.account": "\u0412\u0430\u0448\u0438\u044f \u0430\u043a\u0430\u0443\u043d\u0442",
"view.installation": "\u0418\u043d\u0441\u0442\u0430\u043b\u0430\u0446\u0438\u044f", "view.installation": "\u0418\u043d\u0441\u0442\u0430\u043b\u0430\u0446\u0438\u044f",
"view.resetPassword": "Reset password",
"view.settings": "Настройки", "view.settings": "Настройки",
"view.site": "Сайт", "view.site": "Сайт",
"view.users": "\u041f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438", "view.users": "\u041f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438",

View File

@@ -6,6 +6,8 @@
"change": "Canviar", "change": "Canviar",
"close": "Tancar", "close": "Tancar",
"confirm": "Ok", "confirm": "Ok",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Copiar", "copy": "Copiar",
"create": "Crear", "create": "Crear",
@@ -22,12 +24,15 @@
"days.wed": "dc.", "days.wed": "dc.",
"delete": "Eliminar", "delete": "Eliminar",
"delete.all": "Delete all",
"dimensions": "Dimensions", "dimensions": "Dimensions",
"disabled": "Desactivat", "disabled": "Desactivat",
"discard": "Descartar", "discard": "Descartar",
"download": "Descarregar", "download": "Descarregar",
"duplicate": "Duplicar", "duplicate": "Duplicar",
"edit": "Editar", "edit": "Editar",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "No hi ha cap fitxer per seleccionar", "dialog.files.empty": "No hi ha cap fitxer per seleccionar",
"dialog.pages.empty": "No hi ha cap pàgina per seleccionar", "dialog.pages.empty": "No hi ha cap pàgina per seleccionar",
@@ -36,6 +41,7 @@
"email": "Email", "email": "Email",
"email.placeholder": "mail@exemple.com", "email.placeholder": "mail@exemple.com",
"error.access.code": "Invalid code",
"error.access.login": "Inici de sessió no vàlid", "error.access.login": "Inici de sessió no vàlid",
"error.access.panel": "No tens permís per accedir al panell", "error.access.panel": "No tens permís per accedir al panell",
"error.access.view": "No tens accés a aquesta part del tauler", "error.access.view": "No tens accés a aquesta part del tauler",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "No s'ha potgut carregar el blueprint \"{name}\"", "error.blueprint.notFound": "No s'ha potgut carregar el blueprint \"{name}\"",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "No es pot trobar la configuració de correu electrònic \"{name}\"", "error.email.preset.notFound": "No es pot trobar la configuració de correu electrònic \"{name}\"",
"error.field.converter.invalid": "Convertidor no vàlid \"{converter}\"", "error.field.converter.invalid": "Convertidor no vàlid \"{converter}\"",
@@ -185,22 +197,77 @@
"error.validation.size": "La mida del valor ha de ser \"{size}\"", "error.validation.size": "La mida del valor ha de ser \"{size}\"",
"error.validation.startswith": "El valor ha de començar amb \"{start}\"", "error.validation.startswith": "El valor ha de començar amb \"{start}\"",
"error.validation.time": "Si us plau, introduïu una hora vàlida", "error.validation.time": "Si us plau, introduïu una hora vàlida",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Si us plau, introduïu una URL vàlida", "error.validation.url": "Si us plau, introduïu una URL vàlida",
"field.required": "El camp és obligatori", "field.required": "El camp és obligatori",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Codi",
"field.blocks.code.language": "Idioma",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Enllaç",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Imatge",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Encara no hi ha cap fitxer seleccionat", "field.files.empty": "Encara no hi ha cap fitxer seleccionat",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Encara no s'ha seleccionat cap pàgina", "field.pages.empty": "Encara no s'ha seleccionat cap pàgina",
"field.structure.delete.confirm": "Segur que voleu eliminar aquesta fila?", "field.structure.delete.confirm": "Segur que voleu eliminar aquesta fila?",
"field.structure.empty": "Encara no hi ha entrades.", "field.structure.empty": "Encara no hi ha entrades.",
"field.users.empty": "Encara no s'ha seleccionat cap usuari", "field.users.empty": "Encara no s'ha seleccionat cap usuari",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Esteu segurs d'eliminar <br><strong>{filename}</strong>?", "file.delete.confirm": "Esteu segurs d'eliminar <br><strong>{filename}</strong>?",
"file.sort": "Change position",
"files": "Arxius", "files": "Arxius",
"files.empty": "Encara no hi ha fitxers", "files.empty": "Encara no hi ha fitxers",
"hide": "Hide",
"hour": "Hora", "hour": "Hora",
"insert": "Insertar", "insert": "Insertar",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Instal·lar", "install": "Instal·lar",
"installation": "Instal·lació", "installation": "Instal·lació",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Els teus canvis sense guardar han estat sobreescrits per a un altra usuario. Pots descarregar els teus canvis per combinar-los manualment.", "lock.isUnlocked": "Els teus canvis sense guardar han estat sobreescrits per a un altra usuario. Pots descarregar els teus canvis per combinar-los manualment.",
"login": "Entrar", "login": "Entrar",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Manten-me connectat", "login.remember": "Manten-me connectat",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Tancar sessi\u00f3", "logout": "Tancar sessi\u00f3",
@@ -296,6 +376,7 @@
"orientation.portrait": "Vertical", "orientation.portrait": "Vertical",
"orientation.square": "Quadrat", "orientation.square": "Quadrat",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Canviar URL", "page.changeSlug": "Canviar URL",
"page.changeSlug.fromTitle": "Crear a partir del t\u00edtol", "page.changeSlug.fromTitle": "Crear a partir del t\u00edtol",
"page.changeStatus": "Canviar l'estat", "page.changeStatus": "Canviar l'estat",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Copiar", "page.duplicate.appendix": "Copiar",
"page.duplicate.files": "Copiar fitxers", "page.duplicate.files": "Copiar fitxers",
"page.duplicate.pages": "Copiar pàgines", "page.duplicate.pages": "Copiar pàgines",
"page.sort": "Change position",
"page.status": "Estat", "page.status": "Estat",
"page.status.draft": "Esborrany", "page.status.draft": "Esborrany",
"page.status.draft.description": "La pàgina està en mode d'esborrany i només és visible per als editors registrats o a través d'un enllaç secret", "page.status.draft.description": "La pàgina està en mode d'esborrany i només és visible per als editors registrats o a través d'un enllaç secret",
@@ -328,6 +410,7 @@
"password": "Contrasenya", "password": "Contrasenya",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Anterior", "prev": "Anterior",
"preview": "Preview",
"remove": "Eliminar", "remove": "Eliminar",
"rename": "Canviar el nom", "rename": "Canviar el nom",
"replace": "Reempla\u00e7ar", "replace": "Reempla\u00e7ar",
@@ -354,6 +437,7 @@
"select": "Seleccionar", "select": "Seleccionar",
"settings": "Configuració", "settings": "Configuració",
"show": "Show",
"size": "Tamany", "size": "Tamany",
"slug": "URL-ap\u00e8ndix", "slug": "URL-ap\u00e8ndix",
"sort": "Ordenar", "sort": "Ordenar",
@@ -361,6 +445,8 @@
"template": "Plantilla", "template": "Plantilla",
"today": "Avui", "today": "Avui",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Codi", "toolbar.button.code": "Codi",
"toolbar.button.bold": "Negreta", "toolbar.button.bold": "Negreta",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -419,6 +505,7 @@
"view.account": "La teva compta", "view.account": "La teva compta",
"view.installation": "Instal·lació", "view.installation": "Instal·lació",
"view.resetPassword": "Reset password",
"view.settings": "Configuració", "view.settings": "Configuració",
"view.site": "Lloc web", "view.site": "Lloc web",
"view.users": "Usuaris", "view.users": "Usuaris",

View File

@@ -6,6 +6,8 @@
"change": "Zm\u011bnit", "change": "Zm\u011bnit",
"close": "Zav\u0159it", "close": "Zav\u0159it",
"confirm": "Ok", "confirm": "Ok",
"collapse": "Sbalit",
"collapse.all": "Sbalit vše",
"copy": "Kopírovat", "copy": "Kopírovat",
"create": "Vytvořit", "create": "Vytvořit",
@@ -22,12 +24,15 @@
"days.wed": "st", "days.wed": "st",
"delete": "Smazat", "delete": "Smazat",
"delete.all": "Smazat vše",
"dimensions": "Rozměry", "dimensions": "Rozměry",
"disabled": "Zakázáno", "disabled": "Zakázáno",
"discard": "Zahodit", "discard": "Zahodit",
"download": "Stáhnout", "download": "Stáhnout",
"duplicate": "Duplikovat", "duplicate": "Duplikovat",
"edit": "Upravit", "edit": "Upravit",
"expand": "Rozbalit",
"expand.all": "Rozbalit vše",
"dialog.files.empty": "Žádné soubory k výběru", "dialog.files.empty": "Žádné soubory k výběru",
"dialog.pages.empty": "Žádné stránky k výběru", "dialog.pages.empty": "Žádné stránky k výběru",
@@ -36,6 +41,7 @@
"email": "Email", "email": "Email",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "Neplatný kód",
"error.access.login": "Neplatné přihlášení", "error.access.login": "Neplatné přihlášení",
"error.access.panel": "Nemáte povoleno vstoupit do panelu", "error.access.panel": "Nemáte povoleno vstoupit do panelu",
"error.access.view": "Nejste oprávněni vstoupit do této části panelu.", "error.access.view": "Nejste oprávněni vstoupit do této části panelu.",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Nelze načíst blueprint \"{name}\" ", "error.blueprint.notFound": "Nelze načíst blueprint \"{name}\" ",
"error.blocks.max.plural": "Nelze přidat více něž {max} bloků",
"error.blocks.max.singular": "Nelze přidat více než jeden blok",
"error.blocks.min.plural": "Musíte přidat alespoň {min} bloků",
"error.blocks.min.singular": "Musíte přidat alespoň jeden blok",
"error.blocks.validation": "Chyba v bloku {index}",
"error.email.preset.notFound": "Nelze nalézt emailové přednastavení \"{name}\"", "error.email.preset.notFound": "Nelze nalézt emailové přednastavení \"{name}\"",
"error.field.converter.invalid": "Neplatný konvertor \"{converter}\"", "error.field.converter.invalid": "Neplatný konvertor \"{converter}\"",
@@ -102,6 +114,7 @@
"error.page.notFound": "Str\u00e1nku se nepoda\u0159ilo nal\u00e9zt.", "error.page.notFound": "Str\u00e1nku se nepoda\u0159ilo nal\u00e9zt.",
"error.page.num.invalid": "Zadejte prosím platné pořadové číslo. Čísla nesmí být záporná.", "error.page.num.invalid": "Zadejte prosím platné pořadové číslo. Čísla nesmí být záporná.",
"error.page.slug.invalid": "Zadejte prosím platnou předponu URL", "error.page.slug.invalid": "Zadejte prosím platnou předponu URL",
"error.page.slug.maxlength": "URL musí mít méně než \"{length}\" znaků",
"error.page.sort.permission": "Stránce \"{slug}\" nelze změnit pořadí", "error.page.sort.permission": "Stránce \"{slug}\" nelze změnit pořadí",
"error.page.status.invalid": "Nastavte prosím platný status stránky", "error.page.status.invalid": "Nastavte prosím platný status stránky",
"error.page.undefined": "Str\u00e1nku se nepoda\u0159ilo nal\u00e9zt.", "error.page.undefined": "Str\u00e1nku se nepoda\u0159ilo nal\u00e9zt.",
@@ -184,22 +197,77 @@
"error.validation.size": "Velikost hodnoty musí být \"{size}\"", "error.validation.size": "Velikost hodnoty musí být \"{size}\"",
"error.validation.startswith": "Hodnota musí začínat \"{start}\"", "error.validation.startswith": "Hodnota musí začínat \"{start}\"",
"error.validation.time": "Zadejte prosím platný čas", "error.validation.time": "Zadejte prosím platný čas",
"error.validation.time.after": "Zadejte prosím čas po {time}",
"error.validation.time.before": "Zadejte prosím čas před {time}",
"error.validation.time.between": "Zadejte prosím čas v rozmezí od {min} do {max}",
"error.validation.url": "Zadejte prosím platnou adresu URL", "error.validation.url": "Zadejte prosím platnou adresu URL",
"field.required": "Pole musí být vyplněno.", "field.required": "Pole musí být vyplněno.",
"field.blocks.changeType": "Změnit typ",
"field.blocks.code.name": "Kód",
"field.blocks.code.language": "Jazyk",
"field.blocks.code.placeholder": "Váš kód …",
"field.blocks.delete.confirm": "Opravdu chcete smazat tento blok?",
"field.blocks.delete.confirm.all": "Opravdu chcete smazat všechny bloky?",
"field.blocks.delete.confirm.selected": "Opravdu chcete smazat vybrané bloky?",
"field.blocks.empty": "Zatím žádné bloky",
"field.blocks.fieldsets.label": "Vyberte prosím typ bloku …",
"field.blocks.gallery.name": "Galerie",
"field.blocks.gallery.images.empty": "Zatím žádné obrázky",
"field.blocks.gallery.images.label": "Obrázky",
"field.blocks.heading.level": "Úroveň",
"field.blocks.heading.name": "Nadpis",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Nadpis …",
"field.blocks.image.alt": "Alternativní text",
"field.blocks.image.caption": "Titulek",
"field.blocks.image.crop": "Oříznout",
"field.blocks.image.link": "Odkaz",
"field.blocks.image.location": "Pozice",
"field.blocks.image.name": "Obrázek",
"field.blocks.image.placeholder": "Vyberte obrázek",
"field.blocks.image.ratio": "Poměr stran",
"field.blocks.list.name": "Seznam",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Citát",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Citát …",
"field.blocks.quote.citation.label": "Citace",
"field.blocks.quote.citation.placeholder": "od …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Titulek",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Zadejte URL adresu videa",
"field.blocks.video.url.label": "URL adresa videa",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Nebyly zatím vybrány žádné soubory", "field.files.empty": "Nebyly zatím vybrány žádné soubory",
"field.layout.delete": "Smazat rozložení",
"field.layout.delete.confirm": "Opravdu chcete smazat toto rozložení?",
"field.layout.empty": "Zatím žádné řádky",
"field.layout.select": "Vyberte rozložení",
"field.pages.empty": "Nebyly zatím vybrány žádné stránky", "field.pages.empty": "Nebyly zatím vybrány žádné stránky",
"field.structure.delete.confirm": "Opravdu chcete smazat tento z\u00e1znam?", "field.structure.delete.confirm": "Opravdu chcete smazat tento z\u00e1znam?",
"field.structure.empty": "Zat\u00edm nejsou \u017e\u00e1dn\u00e9 z\u00e1znamy.", "field.structure.empty": "Zat\u00edm nejsou \u017e\u00e1dn\u00e9 z\u00e1znamy.",
"field.users.empty": "Nebyli zatím vybráni žádní uživatelé", "field.users.empty": "Nebyli zatím vybráni žádní uživatelé",
"file.blueprint": "Tento typ souboru nemá blueprint. Blueprint můžete definovat v <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Opravdu chcete smazat tento soubor?", "file.delete.confirm": "Opravdu chcete smazat tento soubor?",
"file.sort": "Změnit pozici",
"files": "Soubory", "files": "Soubory",
"files.empty": "Zatím žádné soubory", "files.empty": "Zatím žádné soubory",
"hide": "Skrýt",
"hour": "Hodina", "hour": "Hodina",
"insert": "Vlo\u017eit", "insert": "Vlo\u017eit",
"insert.after": "Vložit za",
"insert.before": "Vložit před",
"install": "Instalovat", "install": "Instalovat",
"installation": "Instalace", "installation": "Instalace",
@@ -258,7 +326,20 @@
"lock.isUnlocked": "Vaše neuložené změny byly přepsány jiným uživatelem. Můžeze si své úpravy stáhnout a zapracovat je ručně.", "lock.isUnlocked": "Vaše neuložené změny byly přepsány jiným uživatelem. Můžeze si své úpravy stáhnout a zapracovat je ručně.",
"login": "P\u0159ihl\u00e1sit se", "login": "P\u0159ihl\u00e1sit se",
"login.code.label.login": "Kód pro přihlášení",
"login.code.label.password-reset": "Kód pro resetování hesla",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "Vaše e-mailová adresa byla zaregistrována, kód byl odeslán do Vaší e-mailové schránky.",
"login.email.login.body": "Ahoj {user.nameOrEmail},\n\nV nedávné době jsi zažádal(a) o kód pro přihlášení do Kirby Panelu.\nNásledující kód pro přihlášení je platný {timeout} minut:\n\n{code}\n\nPokud jsi o kód pro přihlášení nežádal(a), tuto zprávu prosím ignoruj a v případě dotazů prosím kontaktuj svého administrátora.\nZ bezpečnostních důvodů prosím tuto zprávu nepřeposílej.",
"login.email.login.subject": "Váš kód pro přihlášení",
"login.email.password-reset.body": "Ahoj {user.nameOrEmail},\n\nV nedávné době jsi zažádal(a) o kód pro přihlášení do Kirby Panelu.\nNásledující kód pro přihlášení je platný {timeout} minut:\n\n{code}\n\nPokud jsi o kód pro přihlášení nežádal(a), tuto zprávu prosím ignoruj a v případě dotazů prosím kontaktuj svého administrátora.\nZ bezpečnostních důvodů prosím tuto zprávu nepřeposílej.",
"login.email.password-reset.subject": "Váš kód pro resetování hesla",
"login.remember": "Zůstat přihlášen", "login.remember": "Zůstat přihlášen",
"login.reset": "Resetovat heslo",
"login.toggleText.code.email": "Přihlásit se pomocí e-mailu",
"login.toggleText.code.email-password": "Přihlásit se pomocí hesla",
"login.toggleText.password-reset.email": "Zapomenuté heslo?",
"login.toggleText.password-reset.email-password": "← Zpět na přihlášení",
"logout": "Odhl\u00e1sit se", "logout": "Odhl\u00e1sit se",
@@ -288,12 +369,14 @@
"on": "zapnuto", "on": "zapnuto",
"open": "Otevřít", "open": "Otevřít",
"options": "Možnosti", "options": "Možnosti",
"options.none": "Žádné možnosti",
"orientation": "Orientace", "orientation": "Orientace",
"orientation.landscape": "Na šířku", "orientation.landscape": "Na šířku",
"orientation.portrait": "Na výšku", "orientation.portrait": "Na výšku",
"orientation.square": "Čtverec", "orientation.square": "Čtverec",
"page.blueprint": "Tento typ stránky nemá blueprint. Blueprint můžete definovat v <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Zm\u011bnit URL", "page.changeSlug": "Zm\u011bnit URL",
"page.changeSlug.fromTitle": "Vytvo\u0159it z n\u00e1zvu", "page.changeSlug.fromTitle": "Vytvo\u0159it z n\u00e1zvu",
"page.changeStatus": "Změnit status", "page.changeStatus": "Změnit status",
@@ -307,6 +390,7 @@
"page.duplicate.appendix": "Kopírovat", "page.duplicate.appendix": "Kopírovat",
"page.duplicate.files": "Kopírovat soubory", "page.duplicate.files": "Kopírovat soubory",
"page.duplicate.pages": "Kopírovat stránky", "page.duplicate.pages": "Kopírovat stránky",
"page.sort": "Změnit pozici",
"page.status": "Stav", "page.status": "Stav",
"page.status.draft": "Koncept", "page.status.draft": "Koncept",
"page.status.draft.description": "Stránka je ve stavu konceptu a je viditelná pouze pro přihlášené editory, nebo přes tajný odkaz", "page.status.draft.description": "Stránka je ve stavu konceptu a je viditelná pouze pro přihlášené editory, nebo přes tajný odkaz",
@@ -326,6 +410,7 @@
"password": "Heslo", "password": "Heslo",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Předchozí", "prev": "Předchozí",
"preview": "Náhled",
"remove": "Odstranit", "remove": "Odstranit",
"rename": "Přejmenovat", "rename": "Přejmenovat",
"replace": "Nahradit", "replace": "Nahradit",
@@ -344,11 +429,15 @@
"save": "Ulo\u017eit", "save": "Ulo\u017eit",
"search": "Hledat", "search": "Hledat",
"search.min": "Pro vyhledání zadejte alespoň {min} znaky",
"search.all": "Zobrazit vše",
"search.results.none": "Žádné výsledky",
"section.required": "Sekce musí být vyplněna", "section.required": "Sekce musí být vyplněna",
"select": "Vybrat", "select": "Vybrat",
"settings": "Nastavení", "settings": "Nastavení",
"show": "Zobrazit",
"size": "Velikost", "size": "Velikost",
"slug": "P\u0159\u00edpona URL", "slug": "P\u0159\u00edpona URL",
"sort": "Řadit", "sort": "Řadit",
@@ -356,6 +445,8 @@
"template": "\u0160ablona", "template": "\u0160ablona",
"today": "Dnes", "today": "Dnes",
"site.blueprint": "Hlavní panel nemá blueprint. Blueprint můžete definovat v <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Kód", "toolbar.button.code": "Kód",
"toolbar.button.bold": "Tu\u010dn\u00fd text", "toolbar.button.bold": "Tu\u010dn\u00fd text",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -414,6 +505,7 @@
"view.account": "V\u00e1\u0161 \u00fa\u010det", "view.account": "V\u00e1\u0161 \u00fa\u010det",
"view.installation": "Instalace", "view.installation": "Instalace",
"view.resetPassword": "Resetovat heslo",
"view.settings": "Nastavení", "view.settings": "Nastavení",
"view.site": "Stránka", "view.site": "Stránka",
"view.users": "U\u017eivatel\u00e9", "view.users": "U\u017eivatel\u00e9",

View File

@@ -6,6 +6,8 @@
"change": "\u00c6ndre", "change": "\u00c6ndre",
"close": "Luk", "close": "Luk",
"confirm": "Gem", "confirm": "Gem",
"collapse": "Fold sammen",
"collapse.all": "Fold alle sammen",
"copy": "Kopier", "copy": "Kopier",
"create": "Opret", "create": "Opret",
@@ -22,12 +24,15 @@
"days.wed": "Ons", "days.wed": "Ons",
"delete": "Slet", "delete": "Slet",
"delete.all": "Slet alle",
"dimensions": "Dimensioner", "dimensions": "Dimensioner",
"disabled": "Deaktiveret", "disabled": "Deaktiveret",
"discard": "Kass\u00e9r", "discard": "Kass\u00e9r",
"download": "Download", "download": "Download",
"duplicate": "Dupliker", "duplicate": "Dupliker",
"edit": "Rediger", "edit": "Rediger",
"expand": "Fold ud",
"expand.all": "Fold alle ud",
"dialog.files.empty": "Ingen filer kan vælges", "dialog.files.empty": "Ingen filer kan vælges",
"dialog.pages.empty": "Ingen sider kan vælges", "dialog.pages.empty": "Ingen sider kan vælges",
@@ -36,6 +41,7 @@
"email": "Email", "email": "Email",
"email.placeholder": "mail@eksempel.dk", "email.placeholder": "mail@eksempel.dk",
"error.access.code": "Invalid code",
"error.access.login": "Ugyldigt log ind", "error.access.login": "Ugyldigt log ind",
"error.access.panel": "Du har ikke adgang til panelet", "error.access.panel": "Du har ikke adgang til panelet",
"error.access.view": "Du har ikke adgang til denne del af panelet", "error.access.view": "Du har ikke adgang til denne del af panelet",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Blueprint \"{name}\" kunne ikke indlæses", "error.blueprint.notFound": "Blueprint \"{name}\" kunne ikke indlæses",
"error.blocks.max.plural": "Du må ikke tilføje flere end {max} blokke",
"error.blocks.max.singular": "Du må ikke tilføje mere end een blok",
"error.blocks.min.plural": "Du skal tilføje minimum {min} blokke",
"error.blocks.min.singular": "Du skal tilføje minimum een blok",
"error.blocks.validation": "Der er fejl i blok {index}",
"error.email.preset.notFound": "Email preset \"{name}\" findes ikke", "error.email.preset.notFound": "Email preset \"{name}\" findes ikke",
"error.field.converter.invalid": "Ugyldig converter \"{converter}\"", "error.field.converter.invalid": "Ugyldig converter \"{converter}\"",
@@ -83,7 +95,7 @@
"error.license.email": "Indtast venligst en gyldig email adresse", "error.license.email": "Indtast venligst en gyldig email adresse",
"error.license.verification": "Licensen kunne ikke verificeres", "error.license.verification": "Licensen kunne ikke verificeres",
"error.page.changeSlug.permission": "Du kan ikke \u00e6ndre denne sides URL", "error.page.changeSlug.permission": "Du kan ikke ændre URL-endelse for \"{slug}\"",
"error.page.changeStatus.incomplete": "Siden indeholder fejl og kan derfor ikke udgives", "error.page.changeStatus.incomplete": "Siden indeholder fejl og kan derfor ikke udgives",
"error.page.changeStatus.permission": "Status for denne side kan ikke ændres", "error.page.changeStatus.permission": "Status for denne side kan ikke ændres",
"error.page.changeStatus.toDraft.invalid": "Siden \"{slug}\" kan ikke konverteres om til en kladde", "error.page.changeStatus.toDraft.invalid": "Siden \"{slug}\" kan ikke konverteres om til en kladde",
@@ -102,21 +114,21 @@
"error.page.notFound": "Siden kunne ikke findes", "error.page.notFound": "Siden kunne ikke findes",
"error.page.num.invalid": "Indtast venligst et gyldigt sorteringsnummer. Nummeret kan ikke være negativt.", "error.page.num.invalid": "Indtast venligst et gyldigt sorteringsnummer. Nummeret kan ikke være negativt.",
"error.page.slug.invalid": "Indtast venligst en gyldig URL prefix", "error.page.slug.invalid": "Indtast venligst en gyldig URL prefix",
"error.page.slug.maxlength": "Slug length must be less than \"{length}\" characters", "error.page.slug.maxlength": "Navnet skal være kortere end \"{length}\" tegn",
"error.page.sort.permission": "Siden \"{slug}\" kan ikke sorteres", "error.page.sort.permission": "Siden \"{slug}\" kan ikke sorteres",
"error.page.status.invalid": "Sæt venligst en gyldig status for siden", "error.page.status.invalid": "Sæt venligst en gyldig status for siden",
"error.page.undefined": "Siden kunne ikke findes", "error.page.undefined": "Siden kunne ikke findes",
"error.page.update.permission": "Du har ikke tilladelse til at opdatere \"{slug}\"", "error.page.update.permission": "Du har ikke tilladelse til at opdatere \"{slug}\"",
"error.section.files.max.plural": "Du kan ikk tilføje mere end {max} filer til \"{section}\" sektionen", "error.section.files.max.plural": "Du kan ikk tilføje mere end {max} filer til \"{section}\" sektionen",
"error.section.files.max.singular": "Du kan ikke tilføje mere end en fil til \"{section}\" sektionen", "error.section.files.max.singular": "Du kan ikke tilføje mere end een fil til \"{section}\" sektionen",
"error.section.files.min.plural": "Sektionen \"{section}\" kræver mindst {min} filer", "error.section.files.min.plural": "Sektionen \"{section}\" kræver mindst {min} filer",
"error.section.files.min.singular": "Sektionen \"{section}\" kræver mindst en fil", "error.section.files.min.singular": "Sektionen \"{section}\" kræver mindst een fil",
"error.section.pages.max.plural": "Du kan ikke tilføje flere end {max} sider til \"{section}\" sektionen", "error.section.pages.max.plural": "Du kan ikke tilføje flere end {max} sider til \"{section}\" sektionen",
"error.section.pages.max.singular": "Du kan ikke tilføje mere end een side til \"{section}\" sektionen", "error.section.pages.max.singular": "Du kan ikke tilføje mere end een side til \"{section}\" sektionen",
"error.section.pages.min.plural": "Sektionen \"{section}\" kræver mindst {min} sider", "error.section.pages.min.plural": "Sektionen \"{section}\" kræver mindst {min} sider",
"error.section.pages.min.singular": "Sektionen \"{section}\" kræver mindst en side", "error.section.pages.min.singular": "Sektionen \"{section}\" kræver mindst een side",
"error.section.notLoaded": "Sektionen \"{section}\" kunne ikke indlæses", "error.section.notLoaded": "Sektionen \"{section}\" kunne ikke indlæses",
"error.section.type.invalid": "Sektionstypen \"{type}\" er ikke gyldig", "error.section.type.invalid": "Sektionstypen \"{type}\" er ikke gyldig",
@@ -185,22 +197,77 @@
"error.validation.size": "Størrelsen på værdien skal være \"{size}\"", "error.validation.size": "Størrelsen på værdien skal være \"{size}\"",
"error.validation.startswith": "Værdien skal starte med \"{start}\"", "error.validation.startswith": "Værdien skal starte med \"{start}\"",
"error.validation.time": "Indtast venligst et gyldigt tidspunkt", "error.validation.time": "Indtast venligst et gyldigt tidspunkt",
"error.validation.time.after": "Indtast venligst et tidspunkt efter {time}",
"error.validation.time.before": "Indtast venligst et tidspunkt inden {time}",
"error.validation.time.between": "Indtast venligst et tidspunkt imellem {min} og {max}",
"error.validation.url": "Indtast venligst en gyldig URL", "error.validation.url": "Indtast venligst en gyldig URL",
"field.required": "Feltet er påkrævet", "field.required": "Feltet er påkrævet",
"field.blocks.changeType": "Skift type",
"field.blocks.code.name": "Kode",
"field.blocks.code.language": "Sprog",
"field.blocks.code.placeholder": "Din kode …",
"field.blocks.delete.confirm": "Ønsker du virkelig at slette denne blok?",
"field.blocks.delete.confirm.all": "Ønsker du virkelig at slette alle blokke?",
"field.blocks.delete.confirm.selected": "Ønsker du virkelig at slette de valgte blokke?",
"field.blocks.empty": "Ingen blokke endnu",
"field.blocks.fieldsets.label": "Vælg venligst en blok type",
"field.blocks.gallery.name": "Galleri",
"field.blocks.gallery.images.empty": "Ingen billeder endnu",
"field.blocks.gallery.images.label": "Billeder",
"field.blocks.heading.level": "Niveau",
"field.blocks.heading.name": "Overskrift",
"field.blocks.heading.text": "Tekst",
"field.blocks.heading.placeholder": "Overskrift …",
"field.blocks.image.alt": "Alternativ tekst",
"field.blocks.image.caption": "Billedtekst",
"field.blocks.image.crop": "Beskær",
"field.blocks.image.link": "Link",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Billede",
"field.blocks.image.placeholder": "Vælg et billede",
"field.blocks.image.ratio": "Størrelsesforhold",
"field.blocks.list.name": "Liste",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Tekst",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Citat",
"field.blocks.quote.text.label": "Tekst",
"field.blocks.quote.text.placeholder": "Citat …",
"field.blocks.quote.citation.label": "Citeret af",
"field.blocks.quote.citation.placeholder": "af …",
"field.blocks.text.name": "Tekst",
"field.blocks.text.placeholder": "Tekst …",
"field.blocks.video.caption": "Billedtekst",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Indtast URL til en video",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Ingen filer valgt endnu", "field.files.empty": "Ingen filer valgt endnu",
"field.layout.delete": "Slet layout",
"field.layout.delete.confirm": "Ønsker du virkelig at slette dette layout",
"field.layout.empty": "Ingen rækker endnu",
"field.layout.select": "Vælg et layout",
"field.pages.empty": "Ingen sider valgt endnu", "field.pages.empty": "Ingen sider valgt endnu",
"field.structure.delete.confirm": "\u00d8nsker du virkelig at slette denne indtastning?", "field.structure.delete.confirm": "\u00d8nsker du virkelig at slette denne indtastning?",
"field.structure.empty": "Ingen indtastninger endnu.", "field.structure.empty": "Ingen indtastninger endnu.",
"field.users.empty": "Ingen brugere er valgt", "field.users.empty": "Ingen brugere er valgt",
"file.blueprint": "Denne fil har intet blueprint endnu. Du kan definere opsætningen i <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "\u00d8nsker du virkelig at slette denne fil?", "file.delete.confirm": "\u00d8nsker du virkelig at slette denne fil?",
"file.sort": "Skift position",
"files": "Filer", "files": "Filer",
"files.empty": "Ingen filer endnu", "files.empty": "Ingen filer endnu",
"hide": "Skjul",
"hour": "Time", "hour": "Time",
"insert": "Inds\u00e6t", "insert": "Inds\u00e6t",
"insert.after": "Indsæt efter",
"insert.before": "Indsæt før",
"install": "Installer", "install": "Installer",
"installation": "Installation", "installation": "Installation",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Dine ugemte ændringer er blevet overskrevet af en anden bruger. Du kan downloade dine ændringer for at flette dem ind manuelt.", "lock.isUnlocked": "Dine ugemte ændringer er blevet overskrevet af en anden bruger. Du kan downloade dine ændringer for at flette dem ind manuelt.",
"login": "Log ind", "login": "Log ind",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Forbliv logget ind", "login.remember": "Forbliv logget ind",
"login.reset": "Nulstil adgangskode",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Log ud", "logout": "Log ud",
@@ -289,13 +369,14 @@
"on": "Tænd", "on": "Tænd",
"open": "Åben", "open": "Åben",
"options": "Indstillinger", "options": "Indstillinger",
"options.none": "No options", "options.none": "Ingen muligheder",
"orientation": "Orientering", "orientation": "Orientering",
"orientation.landscape": "Landskab", "orientation.landscape": "Landskab",
"orientation.portrait": "Portræt", "orientation.portrait": "Portræt",
"orientation.square": "Kvadrat", "orientation.square": "Kvadrat",
"page.blueprint": "Denne side har intet blueprint endnu. Du kan definere opsætningen i <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "\u00c6ndre URL", "page.changeSlug": "\u00c6ndre URL",
"page.changeSlug.fromTitle": "Generer udfra titel", "page.changeSlug.fromTitle": "Generer udfra titel",
"page.changeStatus": "Skift status", "page.changeStatus": "Skift status",
@@ -309,9 +390,10 @@
"page.duplicate.appendix": "Kopier", "page.duplicate.appendix": "Kopier",
"page.duplicate.files": "Kopier filer", "page.duplicate.files": "Kopier filer",
"page.duplicate.pages": "Kopier sider", "page.duplicate.pages": "Kopier sider",
"page.sort": "Skift position",
"page.status": "Status", "page.status": "Status",
"page.status.draft": "Kladde", "page.status.draft": "Kladde",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "Siden er i kladde udgave og er kun synlig for redaktører der er logget ind eller via hemmeligt link",
"page.status.listed": "Offentlig", "page.status.listed": "Offentlig",
"page.status.listed.description": "Siden er offentlig for enhver", "page.status.listed.description": "Siden er offentlig for enhver",
"page.status.unlisted": "Ulistede", "page.status.unlisted": "Ulistede",
@@ -328,12 +410,13 @@
"password": "Adgangskode", "password": "Adgangskode",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Forrige", "prev": "Forrige",
"preview": "Forhåndsvisning",
"remove": "Fjern", "remove": "Fjern",
"rename": "Omdøb", "rename": "Omdøb",
"replace": "Erstat", "replace": "Erstat",
"retry": "Pr\u00f8v igen", "retry": "Pr\u00f8v igen",
"revert": "Kass\u00e9r", "revert": "Kass\u00e9r",
"revert.confirm": "Do you really want to <strong>delete all unsaved changes</strong>?", "revert.confirm": "Ønsker du virkelig at <strong>slette all ændringer der ikke er gemt</strong>?",
"role": "Rolle", "role": "Rolle",
"role.admin.description": "Admin har alle rettigheder", "role.admin.description": "Admin har alle rettigheder",
@@ -346,14 +429,15 @@
"save": "Gem", "save": "Gem",
"search": "Søg", "search": "Søg",
"search.min": "Enter {min} characters to search", "search.min": "Indtast {min} tegn for at søge",
"search.all": "Show all", "search.all": "Vis alle",
"search.results.none": "No results", "search.results.none": "Ingen resultater",
"section.required": "Sektionen er påkrævet", "section.required": "Sektionen er påkrævet",
"select": "Vælg", "select": "Vælg",
"settings": "Indstillinger", "settings": "Indstillinger",
"show": "Vis",
"size": "Størrelse", "size": "Størrelse",
"slug": "URL-appendiks", "slug": "URL-appendiks",
"sort": "Sorter", "sort": "Sorter",
@@ -361,6 +445,8 @@
"template": "Skabelon", "template": "Skabelon",
"today": "Idag", "today": "Idag",
"site.blueprint": "Sitet har intet blueprint endnu. Du kan definere opsætningen i <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Kode", "toolbar.button.code": "Kode",
"toolbar.button.bold": "Fed tekst", "toolbar.button.bold": "Fed tekst",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -419,6 +505,7 @@
"view.account": "Din konto", "view.account": "Din konto",
"view.installation": "Installation", "view.installation": "Installation",
"view.resetPassword": "Nulstil adgangskode",
"view.settings": "Indstillinger", "view.settings": "Indstillinger",
"view.site": "Website", "view.site": "Website",
"view.users": "Brugere", "view.users": "Brugere",

View File

@@ -6,6 +6,8 @@
"change": "\u00c4ndern", "change": "\u00c4ndern",
"close": "Schlie\u00dfen", "close": "Schlie\u00dfen",
"confirm": "OK", "confirm": "OK",
"collapse": "Zusammenklappen",
"collapse.all": "Alle zusammenklappen",
"copy": "Kopieren", "copy": "Kopieren",
"create": "Erstellen", "create": "Erstellen",
@@ -22,12 +24,15 @@
"days.wed": "Mi", "days.wed": "Mi",
"delete": "L\u00f6schen", "delete": "L\u00f6schen",
"delete.all": "Alle löschen",
"dimensions": "Maße", "dimensions": "Maße",
"disabled": "Gesperrt", "disabled": "Gesperrt",
"discard": "Verwerfen", "discard": "Verwerfen",
"download": "Download", "download": "Download",
"duplicate": "Duplizieren", "duplicate": "Duplizieren",
"edit": "Bearbeiten", "edit": "Bearbeiten",
"expand": "Aufklappen",
"expand.all": "Alle aufklappen",
"dialog.files.empty": "Keine verfügbaren Dateien", "dialog.files.empty": "Keine verfügbaren Dateien",
"dialog.pages.empty": "Keine verfügbaren Seiten", "dialog.pages.empty": "Keine verfügbaren Seiten",
@@ -36,6 +41,7 @@
"email": "E-Mail", "email": "E-Mail",
"email.placeholder": "mail@beispiel.de", "email.placeholder": "mail@beispiel.de",
"error.access.code": "Ungültiger Code",
"error.access.login": "Ungültige Zugangsdaten", "error.access.login": "Ungültige Zugangsdaten",
"error.access.panel": "Du hast keinen Zugang zum Panel", "error.access.panel": "Du hast keinen Zugang zum Panel",
"error.access.view": "Du hast keinen Zugriff auf diesen Teil des Panels", "error.access.view": "Du hast keinen Zugriff auf diesen Teil des Panels",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Das Blueprint \"{name}\" konnte nicht geladen werden.", "error.blueprint.notFound": "Das Blueprint \"{name}\" konnte nicht geladen werden.",
"error.blocks.max.plural": "Bitte füge nicht mehr als {max} Blöcke hinzu",
"error.blocks.max.singular": "Bitte füge nicht mehr als einen Block hinzu",
"error.blocks.min.plural": "Bitte füge mindestens {min} Blöcke hinzu",
"error.blocks.min.singular": "Bitte füge mindestens einen Block hinzu",
"error.blocks.validation": "Fehler in Block {index}",
"error.email.preset.notFound": "Die E-Mailvorlage \"{name}\" wurde nicht gefunden", "error.email.preset.notFound": "Die E-Mailvorlage \"{name}\" wurde nicht gefunden",
"error.field.converter.invalid": "Ungültiger Konverter: \"{converter}\"", "error.field.converter.invalid": "Ungültiger Konverter: \"{converter}\"",
@@ -102,6 +114,7 @@
"error.page.notFound": "Die Seite \"{slug}\" konnte nicht gefunden werden", "error.page.notFound": "Die Seite \"{slug}\" konnte nicht gefunden werden",
"error.page.num.invalid": "Bitte gib eine gültige Sortierungszahl an. Negative Zahlen sind nicht erlaubt.", "error.page.num.invalid": "Bitte gib eine gültige Sortierungszahl an. Negative Zahlen sind nicht erlaubt.",
"error.page.slug.invalid": "Bitte gib ein gültiges URL-Kürzel an", "error.page.slug.invalid": "Bitte gib ein gültiges URL-Kürzel an",
"error.page.slug.maxlength": "Die Pfadlänge darf {length} Zeichen nicht überschreiten",
"error.page.sort.permission": "Die Seite \"{slug}\" kann nicht umsortiert werden", "error.page.sort.permission": "Die Seite \"{slug}\" kann nicht umsortiert werden",
"error.page.status.invalid": "Bitte gib einen gültigen Seitenstatus an", "error.page.status.invalid": "Bitte gib einen gültigen Seitenstatus an",
"error.page.undefined": "Die Seite konnte nicht gefunden werden", "error.page.undefined": "Die Seite konnte nicht gefunden werden",
@@ -132,7 +145,7 @@
"error.user.changePassword.permission": "Du kannst das Passwort für den Account \"{name}\" nicht ändern", "error.user.changePassword.permission": "Du kannst das Passwort für den Account \"{name}\" nicht ändern",
"error.user.changeRole.lastAdmin": "Die Rolle des letzten Accounts mit Administrationsrechten kann nicht geändert werden", "error.user.changeRole.lastAdmin": "Die Rolle des letzten Accounts mit Administrationsrechten kann nicht geändert werden",
"error.user.changeRole.permission": "Du kannst die Rolle für den Benutzer \"{name}\" nicht ändern", "error.user.changeRole.permission": "Du kannst die Rolle für den Benutzer \"{name}\" nicht ändern",
"error.user.changeRole.toAdmin": "Du darfst die Admin Rolle nicht an andere Accounts vergeben", "error.user.changeRole.toAdmin": "Du darfst die Admin-Rolle nicht an andere Accounts vergeben",
"error.user.create.permission": "Du darfst diesen Account nicht anlegen", "error.user.create.permission": "Du darfst diesen Account nicht anlegen",
"error.user.delete": "Der Account \"{name}\" konnte nicht gelöscht werden", "error.user.delete": "Der Account \"{name}\" konnte nicht gelöscht werden",
"error.user.delete.lastAdmin": "Du kannst den letzten Account mit Administrationsrechten nicht löschen", "error.user.delete.lastAdmin": "Du kannst den letzten Account mit Administrationsrechten nicht löschen",
@@ -184,22 +197,77 @@
"error.validation.size": "Die Größe des Wertes muss \"{size}\" sein", "error.validation.size": "Die Größe des Wertes muss \"{size}\" sein",
"error.validation.startswith": "Der Wert muss mit \"{start}\" beginnen", "error.validation.startswith": "Der Wert muss mit \"{start}\" beginnen",
"error.validation.time": "Bitte gib eine gültige Uhrzeit ein", "error.validation.time": "Bitte gib eine gültige Uhrzeit ein",
"error.validation.time.after": "Bitte gib eine Zeit nach {time} ein",
"error.validation.time.before": "Bitte gib eine Zeit vor {time} ein",
"error.validation.time.between": "Bitte gib eine Zeit zwischen {min} und {max} ein",
"error.validation.url": "Bitte gib eine gültige URL ein", "error.validation.url": "Bitte gib eine gültige URL ein",
"field.required": "Das Feld ist Pflicht", "field.required": "Das Feld ist Pflicht",
"field.blocks.changeType": "Blocktyp ändern",
"field.blocks.code.name": "Code",
"field.blocks.code.language": "Sprache",
"field.blocks.code.placeholder": "Code …",
"field.blocks.delete.confirm": "Willst du diesen Block wirklich löschen?",
"field.blocks.delete.confirm.all": "Willst du wirklich alle Blöcke löschen?",
"field.blocks.delete.confirm.selected": "Willst du wirklich die ausgewählten Blöcke löschen?",
"field.blocks.empty": "Keine Blöcke",
"field.blocks.fieldsets.label": "Bitte wähle einen Blocktyp aus …",
"field.blocks.gallery.name": "Galerie",
"field.blocks.gallery.images.empty": "Keine Bilder",
"field.blocks.gallery.images.label": "Bilder",
"field.blocks.heading.level": "Ebene",
"field.blocks.heading.name": "Überschrift",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Überschrift …",
"field.blocks.image.alt": "Alternativer Text",
"field.blocks.image.caption": "Bildunterschrift",
"field.blocks.image.crop": "Beschneiden",
"field.blocks.image.link": "Link",
"field.blocks.image.location": "Ort",
"field.blocks.image.name": "Bild",
"field.blocks.image.placeholder": "Bild auswählen",
"field.blocks.image.ratio": "Seitenverhältnis",
"field.blocks.list.name": "Liste",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Zitat",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Zitat …",
"field.blocks.quote.citation.label": "Quelle",
"field.blocks.quote.citation.placeholder": "Quelle …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Bildunterschrift",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Video-URL eingeben",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Keine Dateien ausgewählt", "field.files.empty": "Keine Dateien ausgewählt",
"field.layout.delete": "Layout löschen",
"field.layout.delete.confirm": "Willst du dieses Layout wirklich löschen?",
"field.layout.empty": "Keine Layouts",
"field.layout.select": "Layout auswählen",
"field.pages.empty": "Keine Seiten ausgewählt", "field.pages.empty": "Keine Seiten ausgewählt",
"field.structure.delete.confirm": "Willst du diesen Eintrag wirklich l\u00f6schen?", "field.structure.delete.confirm": "Willst du diesen Eintrag wirklich l\u00f6schen?",
"field.structure.empty": "Es bestehen keine Eintr\u00e4ge.", "field.structure.empty": "Es bestehen keine Eintr\u00e4ge.",
"field.users.empty": "Keine Accounts ausgewählt", "field.users.empty": "Keine Accounts ausgewählt",
"file.blueprint": "Du kannst zusätzliche Felder und Bereiche für diese Datei in <strong>/site/blueprints/{template}.yml</strong> anlegen",
"file.delete.confirm": "Willst du die Datei <strong>{filename}</strong> <br>wirklich löschen?", "file.delete.confirm": "Willst du die Datei <strong>{filename}</strong> <br>wirklich löschen?",
"file.sort": "Position ändern",
"files": "Dateien", "files": "Dateien",
"files.empty": "Keine Dateien", "files.empty": "Keine Dateien",
"hide": "Verbergen",
"hour": "Stunde", "hour": "Stunde",
"insert": "Einf\u00fcgen", "insert": "Einf\u00fcgen",
"insert.after": "Danach einfügen",
"insert.before": "Davor einfügen",
"install": "Installieren", "install": "Installieren",
"installation": "Installation", "installation": "Installation",
@@ -258,7 +326,20 @@
"lock.isUnlocked": "Deine ungespeicherten Änderungen wurden von einem anderen Account überschrieben. Du kannst sie herunterladen, um sie manuell einzufügen. ", "lock.isUnlocked": "Deine ungespeicherten Änderungen wurden von einem anderen Account überschrieben. Du kannst sie herunterladen, um sie manuell einzufügen. ",
"login": "Anmelden", "login": "Anmelden",
"login.code.label.login": "Anmeldecode",
"login.code.label.password-reset": "Anmeldecode",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "Wenn deine E-Mail-Adresse registriert ist, wurde der angeforderte Code per E-Mail versendet.",
"login.email.login.body": "Hallo {user.nameOrEmail},\n\ndu hast gerade einen Anmeldecode für das Kirby Panel angefordert.\nDer folgende Anmeldecode ist für die nächsten {timeout} Minuten gültig:\n\n{code}\n\nWenn du keinen Anmeldecode angefordert hast, ignoriere bitte diese E-Mail oder kontaktiere bei Fragen deinen Administrator.\nBitte leite diese E-Mail aus Sicherheitsgründen NICHT weiter.",
"login.email.login.subject": "Dein Anmeldecode",
"login.email.password-reset.body": "Hallo {user.nameOrEmail},\n\ndu hast gerade einen Anmeldecode für das Kirby Panel angefordert.\nDer folgende Anmeldecode ist für die nächsten {timeout} Minuten gültig:\n\n{code}\n\nWenn du keinen Anmeldecode angefordert hast, ignoriere bitte diese E-Mail oder kontaktiere bei Fragen deinen Administrator.\nBitte leite diese E-Mail aus Sicherheitsgründen NICHT weiter.",
"login.email.password-reset.subject": "Dein Anmeldecode",
"login.remember": "Angemeldet bleiben", "login.remember": "Angemeldet bleiben",
"login.reset": "Passwort zurücksetzen",
"login.toggleText.code.email": "Anmelden über E-Mail",
"login.toggleText.code.email-password": "Anmelden mit Passwort",
"login.toggleText.password-reset.email": "Passwort vergessen?",
"login.toggleText.password-reset.email-password": "← Zurück zur Anmeldung",
"logout": "Abmelden", "logout": "Abmelden",
@@ -288,12 +369,14 @@
"on": "an", "on": "an",
"open": "Öffnen", "open": "Öffnen",
"options": "Optionen", "options": "Optionen",
"options.none": "Keine Optionen",
"orientation": "Ausrichtung", "orientation": "Ausrichtung",
"orientation.landscape": "Querformat", "orientation.landscape": "Querformat",
"orientation.portrait": "Hochformat", "orientation.portrait": "Hochformat",
"orientation.square": "Quadratisch", "orientation.square": "Quadratisch",
"page.blueprint": "Du kannst zusätzliche Felder und Bereiche für diese Seite in <strong>/site/blueprints/{template}.yml</strong> anlegen",
"page.changeSlug": "URL \u00e4ndern", "page.changeSlug": "URL \u00e4ndern",
"page.changeSlug.fromTitle": "Aus Titel erzeugen", "page.changeSlug.fromTitle": "Aus Titel erzeugen",
"page.changeStatus": "Status ändern", "page.changeStatus": "Status ändern",
@@ -307,6 +390,7 @@
"page.duplicate.appendix": "Kopie", "page.duplicate.appendix": "Kopie",
"page.duplicate.files": "Dateien kopieren", "page.duplicate.files": "Dateien kopieren",
"page.duplicate.pages": "Seiten kopieren", "page.duplicate.pages": "Seiten kopieren",
"page.sort": "Position ändern",
"page.status": "Status", "page.status": "Status",
"page.status.draft": "Entwurf", "page.status.draft": "Entwurf",
"page.status.draft.description": "Die Seite ist im Entwurfsmodus und ist nur nach Anmeldung oder über den geheimen Link sichtbar", "page.status.draft.description": "Die Seite ist im Entwurfsmodus und ist nur nach Anmeldung oder über den geheimen Link sichtbar",
@@ -326,6 +410,7 @@
"password": "Passwort", "password": "Passwort",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Vorheriger Eintrag", "prev": "Vorheriger Eintrag",
"preview": "Vorschau",
"remove": "Entfernen", "remove": "Entfernen",
"rename": "Umbenennen", "rename": "Umbenennen",
"replace": "Ersetzen", "replace": "Ersetzen",
@@ -344,11 +429,15 @@
"save": "Speichern", "save": "Speichern",
"search": "Suchen", "search": "Suchen",
"search.min": "Gib mindestens {min}  Zeichen ein, um zu suchen",
"search.all": "Alles zeigen",
"search.results.none": "Keine Ergebnisse",
"section.required": "Der Bereich ist Pflicht", "section.required": "Der Bereich ist Pflicht",
"select": "Auswählen", "select": "Auswählen",
"settings": "Einstellungen", "settings": "Einstellungen",
"show": "Anzeigen",
"size": "Größe", "size": "Größe",
"slug": "URL-Anhang", "slug": "URL-Anhang",
"sort": "Sortieren", "sort": "Sortieren",
@@ -356,6 +445,8 @@
"template": "Vorlage", "template": "Vorlage",
"today": "Heute", "today": "Heute",
"site.blueprint": "Du kannst zusätzliche Felder und Bereiche für die Seite in <strong>/site/blueprints/site.yml</strong> anlegen",
"toolbar.button.code": "Code", "toolbar.button.code": "Code",
"toolbar.button.bold": "Fetter Text", "toolbar.button.bold": "Fetter Text",
"toolbar.button.email": "E-Mail", "toolbar.button.email": "E-Mail",
@@ -414,6 +505,7 @@
"view.account": "Dein Account", "view.account": "Dein Account",
"view.installation": "Installation", "view.installation": "Installation",
"view.resetPassword": "Passwort zurücksetzen",
"view.settings": "Einstellungen", "view.settings": "Einstellungen",
"view.site": "Seite", "view.site": "Seite",
"view.users": "Accounts", "view.users": "Accounts",

View File

@@ -6,6 +6,8 @@
"change": "\u0391\u03bb\u03bb\u03b1\u03b3\u03ae", "change": "\u0391\u03bb\u03bb\u03b1\u03b3\u03ae",
"close": "\u039a\u03bb\u03b5\u03af\u03c3\u03b9\u03bc\u03bf", "close": "\u039a\u03bb\u03b5\u03af\u03c3\u03b9\u03bc\u03bf",
"confirm": "Εντάξει", "confirm": "Εντάξει",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Αντιγραφή", "copy": "Αντιγραφή",
"create": "Δημιουργία", "create": "Δημιουργία",
@@ -22,12 +24,15 @@
"days.wed": "\u03a4\u03b5\u03c4", "days.wed": "\u03a4\u03b5\u03c4",
"delete": "\u0394\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae", "delete": "\u0394\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae",
"delete.all": "Delete all",
"dimensions": "Διαστάσεις", "dimensions": "Διαστάσεις",
"disabled": "Disabled", "disabled": "Disabled",
"discard": "Απόρριψη", "discard": "Απόρριψη",
"download": "Download", "download": "Download",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"edit": "\u0395\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1", "edit": "\u0395\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "No files to select", "dialog.files.empty": "No files to select",
"dialog.pages.empty": "No pages to select", "dialog.pages.empty": "No pages to select",
@@ -36,6 +41,7 @@
"email": "Διεύθυνση ηλεκτρονικού ταχυδρομείου", "email": "Διεύθυνση ηλεκτρονικού ταχυδρομείου",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "Invalid code",
"error.access.login": "Mη έγκυρη σύνδεση", "error.access.login": "Mη έγκυρη σύνδεση",
"error.access.panel": "Δεν επιτρέπεται η πρόσβαση στον πίνακα ελέγχου", "error.access.panel": "Δεν επιτρέπεται η πρόσβαση στον πίνακα ελέγχου",
"error.access.view": "You are not allowed to access this part of the panel", "error.access.view": "You are not allowed to access this part of the panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Δεν ήταν δυνατή η φόρτωση του προσχεδίου \"{name}\"", "error.blueprint.notFound": "Δεν ήταν δυνατή η φόρτωση του προσχεδίου \"{name}\"",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "Δεν είναι δυνατή η εύρεση της προεπιλογής διεύθινσης ηλεκτρονικού ταχυδρομείου \"{name}\"", "error.email.preset.notFound": "Δεν είναι δυνατή η εύρεση της προεπιλογής διεύθινσης ηλεκτρονικού ταχυδρομείου \"{name}\"",
"error.field.converter.invalid": "Μη έγκυρος μετατροπέας \"{converter}\"", "error.field.converter.invalid": "Μη έγκυρος μετατροπέας \"{converter}\"",
@@ -185,22 +197,77 @@
"error.validation.size": "Το μέγεθος της τιμής πρέπει να είναι \"{size}\"", "error.validation.size": "Το μέγεθος της τιμής πρέπει να είναι \"{size}\"",
"error.validation.startswith": "Η τιμή πρέπει να αρχίζει με \"{start}\"", "error.validation.startswith": "Η τιμή πρέπει να αρχίζει με \"{start}\"",
"error.validation.time": "Παρακαλώ εισάγετε μια έγκυρη ώρα", "error.validation.time": "Παρακαλώ εισάγετε μια έγκυρη ώρα",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση URL", "error.validation.url": "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση URL",
"field.required": "The field is required", "field.required": "The field is required",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Κώδικας",
"field.blocks.code.language": "Γλώσσα",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Σύνδεσμος",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Εικόνα",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Δεν έχουν επιλεγεί αρχεία ακόμα", "field.files.empty": "Δεν έχουν επιλεγεί αρχεία ακόμα",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Δεν έχουν επιλεγεί ακόμη σελίδες", "field.pages.empty": "Δεν έχουν επιλεγεί ακόμη σελίδες",
"field.structure.delete.confirm": "\u0395\u03af\u03c3\u03c4\u03b5 \u03c3\u03af\u03b3\u03bf\u03c5\u03c1\u03bf\u03c2 \u03cc\u03c4\u03b9 \u03b8\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03b4\u03b9\u03b1\u03b3\u03c1\u03ac\u03c8\u03b5\u03c4\u03b5 \u03b1\u03c5\u03c4\u03ae\u03bd \u03c4\u03b7\u03bd \u03ba\u03b1\u03c4\u03b1\u03c7\u03ce\u03c1\u03b9\u03c3\u03b7;", "field.structure.delete.confirm": "\u0395\u03af\u03c3\u03c4\u03b5 \u03c3\u03af\u03b3\u03bf\u03c5\u03c1\u03bf\u03c2 \u03cc\u03c4\u03b9 \u03b8\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03b4\u03b9\u03b1\u03b3\u03c1\u03ac\u03c8\u03b5\u03c4\u03b5 \u03b1\u03c5\u03c4\u03ae\u03bd \u03c4\u03b7\u03bd \u03ba\u03b1\u03c4\u03b1\u03c7\u03ce\u03c1\u03b9\u03c3\u03b7;",
"field.structure.empty": "\u0394\u03b5\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03bf\u03c5\u03bd \u03b1\u03ba\u03cc\u03bc\u03b7 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03af\u03c3\u03b5\u03b9\u03c2.", "field.structure.empty": "\u0394\u03b5\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03bf\u03c5\u03bd \u03b1\u03ba\u03cc\u03bc\u03b7 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03af\u03c3\u03b5\u03b9\u03c2.",
"field.users.empty": "Δεν έχουν επιλεγεί ακόμη χρήστες", "field.users.empty": "Δεν έχουν επιλεγεί ακόμη χρήστες",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "\u0398\u03ad\u03bb\u03b5\u03c4\u03b5 \u03c3\u03af\u03b3\u03bf\u03c5\u03c1\u03b1 \u03bd\u03b1 \u03b4\u03b9\u03b1\u03b3\u03c1\u03ac\u03c8\u03b5\u03c4\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03b1\u03c1\u03c7\u03b5\u03af\u03bf;", "file.delete.confirm": "\u0398\u03ad\u03bb\u03b5\u03c4\u03b5 \u03c3\u03af\u03b3\u03bf\u03c5\u03c1\u03b1 \u03bd\u03b1 \u03b4\u03b9\u03b1\u03b3\u03c1\u03ac\u03c8\u03b5\u03c4\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03b1\u03c1\u03c7\u03b5\u03af\u03bf;",
"file.sort": "Change position",
"files": "Αρχεία", "files": "Αρχεία",
"files.empty": "Δεν υπάρχουν ακόμα αρχεία", "files.empty": "Δεν υπάρχουν ακόμα αρχεία",
"hide": "Hide",
"hour": "Ώρα", "hour": "Ώρα",
"insert": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae", "insert": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Εγκατάσταση", "install": "Εγκατάσταση",
"installation": "Εγκατάσταση", "installation": "Εγκατάσταση",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.", "lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.",
"login": "\u03a3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7", "login": "\u03a3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Κρατήστε με συνδεδεμένο", "login.remember": "Κρατήστε με συνδεδεμένο",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "\u0391\u03c0\u03bf\u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7", "logout": "\u0391\u03c0\u03bf\u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7",
@@ -296,6 +376,7 @@
"orientation.portrait": "Κάθετος", "orientation.portrait": "Κάθετος",
"orientation.square": "Τετράγωνος", "orientation.square": "Τετράγωνος",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "\u0391\u03bb\u03bb\u03b1\u03b3\u03ae URL", "page.changeSlug": "\u0391\u03bb\u03bb\u03b1\u03b3\u03ae URL",
"page.changeSlug.fromTitle": "\u0394\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b1\u03c0\u03cc \u03c4\u03bf\u03bd \u03c4\u03af\u03c4\u03bb\u03bf", "page.changeSlug.fromTitle": "\u0394\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b1\u03c0\u03cc \u03c4\u03bf\u03bd \u03c4\u03af\u03c4\u03bb\u03bf",
"page.changeStatus": "Αλλαγή κατάστασης", "page.changeStatus": "Αλλαγή κατάστασης",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Αντιγραφή", "page.duplicate.appendix": "Αντιγραφή",
"page.duplicate.files": "Copy files", "page.duplicate.files": "Copy files",
"page.duplicate.pages": "Copy pages", "page.duplicate.pages": "Copy pages",
"page.sort": "Change position",
"page.status": "Kατάσταση", "page.status": "Kατάσταση",
"page.status.draft": "Προσχέδιο", "page.status.draft": "Προσχέδιο",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +410,7 @@
"password": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03a0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2", "password": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03a0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2",
"pixel": "Εικονοστοιχέιο", "pixel": "Εικονοστοιχέιο",
"prev": "Προηγούμενο", "prev": "Προηγούμενο",
"preview": "Preview",
"remove": "Αφαίρεση", "remove": "Αφαίρεση",
"rename": "Μετονομασία", "rename": "Μετονομασία",
"replace": "\u0391\u03bd\u03c4\u03b9\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7", "replace": "\u0391\u03bd\u03c4\u03b9\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7",
@@ -354,6 +437,7 @@
"select": "Επιλογή", "select": "Επιλογή",
"settings": "Ρυθμίσεις", "settings": "Ρυθμίσεις",
"show": "Show",
"size": "Μέγεθος", "size": "Μέγεθος",
"slug": "\u0395\u03c0\u03af\u03b8\u03b5\u03bc\u03b1 URL", "slug": "\u0395\u03c0\u03af\u03b8\u03b5\u03bc\u03b1 URL",
"sort": "Ταξινόμηση", "sort": "Ταξινόμηση",
@@ -361,6 +445,8 @@
"template": "\u03a0\u03c1\u03cc\u03c4\u03c5\u03c0\u03bf", "template": "\u03a0\u03c1\u03cc\u03c4\u03c5\u03c0\u03bf",
"today": "Σήμερα", "today": "Σήμερα",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Κώδικας", "toolbar.button.code": "Κώδικας",
"toolbar.button.bold": "\u0388\u03bd\u03c4\u03bf\u03bd\u03b7 \u03b3\u03c1\u03b1\u03c6\u03ae", "toolbar.button.bold": "\u0388\u03bd\u03c4\u03bf\u03bd\u03b7 \u03b3\u03c1\u03b1\u03c6\u03ae",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -419,6 +505,7 @@
"view.account": "\u039f \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03c3\u03b1\u03c2", "view.account": "\u039f \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03c3\u03b1\u03c2",
"view.installation": "\u0395\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7", "view.installation": "\u0395\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7",
"view.resetPassword": "Reset password",
"view.settings": "Ρυθμίσεις", "view.settings": "Ρυθμίσεις",
"view.site": "Iστοσελίδα", "view.site": "Iστοσελίδα",
"view.users": "\u03a7\u03c1\u03ae\u03c3\u03c4\u03b5\u03c2", "view.users": "\u03a7\u03c1\u03ae\u03c3\u03c4\u03b5\u03c2",

View File

@@ -6,6 +6,8 @@
"change": "Change", "change": "Change",
"close": "Close", "close": "Close",
"confirm": "Ok", "confirm": "Ok",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Copy", "copy": "Copy",
"create": "Create", "create": "Create",
@@ -22,12 +24,15 @@
"days.wed": "Wed", "days.wed": "Wed",
"delete": "Delete", "delete": "Delete",
"delete.all": "Delete all",
"dimensions": "Dimensions", "dimensions": "Dimensions",
"disabled": "Disabled", "disabled": "Disabled",
"discard": "Discard", "discard": "Discard",
"download": "Download", "download": "Download",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"edit": "Edit", "edit": "Edit",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "No files to select", "dialog.files.empty": "No files to select",
"dialog.pages.empty": "No pages to select", "dialog.pages.empty": "No pages to select",
@@ -36,6 +41,7 @@
"email": "Email", "email": "Email",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "Invalid code",
"error.access.login": "Invalid login", "error.access.login": "Invalid login",
"error.access.panel": "You are not allowed to access the panel", "error.access.panel": "You are not allowed to access the panel",
"error.access.view": "You are not allowed to access this part of the panel", "error.access.view": "You are not allowed to access this part of the panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "The blueprint \"{name}\" could not be loaded", "error.blueprint.notFound": "The blueprint \"{name}\" could not be loaded",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "The email preset \"{name}\" cannot be found", "error.email.preset.notFound": "The email preset \"{name}\" cannot be found",
"error.field.converter.invalid": "Invalid converter \"{converter}\"", "error.field.converter.invalid": "Invalid converter \"{converter}\"",
@@ -55,6 +67,7 @@
"error.file.changeName.permission": "You are not allowed to change the name of \"{filename}\"", "error.file.changeName.permission": "You are not allowed to change the name of \"{filename}\"",
"error.file.duplicate": "A file with the name \"{filename}\" already exists", "error.file.duplicate": "A file with the name \"{filename}\" already exists",
"error.file.extension.forbidden": "The extension \"{extension}\" is not allowed", "error.file.extension.forbidden": "The extension \"{extension}\" is not allowed",
"error.file.extension.invalid": "Invalid extension: {extension}",
"error.file.extension.missing": "The extensions for \"{filename}\" is missing", "error.file.extension.missing": "The extensions for \"{filename}\" is missing",
"error.file.maxheight": "The height of the image must not exceed {height} pixels", "error.file.maxheight": "The height of the image must not exceed {height} pixels",
"error.file.maxsize": "The file is too large", "error.file.maxsize": "The file is too large",
@@ -70,6 +83,7 @@
"error.file.notFound": "The file \"{filename}\" cannot be found", "error.file.notFound": "The file \"{filename}\" cannot be found",
"error.file.orientation": "The orientation of the image must be \"{orientation}\"", "error.file.orientation": "The orientation of the image must be \"{orientation}\"",
"error.file.type.forbidden": "You are not allowed to upload {type} files", "error.file.type.forbidden": "You are not allowed to upload {type} files",
"error.file.type.invalid": "Invalid file type: {type}",
"error.file.undefined": "The file cannot be found", "error.file.undefined": "The file cannot be found",
"error.form.incomplete": "Please fix all form errors…", "error.form.incomplete": "Please fix all form errors…",
@@ -79,6 +93,9 @@
"error.language.duplicate": "The language already exists", "error.language.duplicate": "The language already exists",
"error.language.name": "Please enter a valid name for the language", "error.language.name": "Please enter a valid name for the language",
"error.layout.validation.block": "There's an error in block {blockIndex} in layout {layoutIndex}",
"error.layout.validation.settings": "There's an error in layout {index} settings",
"error.license.format": "Please enter a valid license key", "error.license.format": "Please enter a valid license key",
"error.license.email": "Please enter a valid email address", "error.license.email": "Please enter a valid email address",
"error.license.verification": "The license could not be verified", "error.license.verification": "The license could not be verified",
@@ -185,22 +202,77 @@
"error.validation.size": "The size of the value must be \"{size}\"", "error.validation.size": "The size of the value must be \"{size}\"",
"error.validation.startswith": "The value must start with \"{start}\"", "error.validation.startswith": "The value must start with \"{start}\"",
"error.validation.time": "Please enter a valid time", "error.validation.time": "Please enter a valid time",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Please enter a valid URL", "error.validation.url": "Please enter a valid URL",
"field.required": "The field is required", "field.required": "The field is required",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Code",
"field.blocks.code.language": "Language",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Link",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Image",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "No files selected yet", "field.files.empty": "No files selected yet",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "No pages selected yet", "field.pages.empty": "No pages selected yet",
"field.structure.delete.confirm": "Do you really want to delete this row?", "field.structure.delete.confirm": "Do you really want to delete this row?",
"field.structure.empty": "No entries yet", "field.structure.empty": "No entries yet",
"field.users.empty": "No users selected yet", "field.users.empty": "No users selected yet",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Do you really want to delete <br><strong>{filename}</strong>?", "file.delete.confirm": "Do you really want to delete <br><strong>{filename}</strong>?",
"file.sort": "Change position",
"files": "Files", "files": "Files",
"files.empty": "No files yet", "files.empty": "No files yet",
"hide": "Hide",
"hour": "Hour", "hour": "Hour",
"insert": "Insert", "insert": "Insert",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Install", "install": "Install",
"installation": "Installation", "installation": "Installation",
@@ -259,7 +331,20 @@
"lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.", "lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.",
"login": "Login", "login": "Login",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Keep me logged in", "login.remember": "Keep me logged in",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Logout", "logout": "Logout",
@@ -296,6 +381,7 @@
"orientation.portrait": "Portrait", "orientation.portrait": "Portrait",
"orientation.square": "Square", "orientation.square": "Square",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Change URL", "page.changeSlug": "Change URL",
"page.changeSlug.fromTitle": "Create from title", "page.changeSlug.fromTitle": "Create from title",
"page.changeStatus": "Change status", "page.changeStatus": "Change status",
@@ -309,6 +395,7 @@
"page.duplicate.appendix": "Copy", "page.duplicate.appendix": "Copy",
"page.duplicate.files": "Copy files", "page.duplicate.files": "Copy files",
"page.duplicate.pages": "Copy pages", "page.duplicate.pages": "Copy pages",
"page.sort": "Change position",
"page.status": "Status", "page.status": "Status",
"page.status.draft": "Draft", "page.status.draft": "Draft",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +415,7 @@
"password": "Password", "password": "Password",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Previous", "prev": "Previous",
"preview": "Preview",
"remove": "Remove", "remove": "Remove",
"rename": "Rename", "rename": "Rename",
"replace": "Replace", "replace": "Replace",
@@ -354,6 +442,7 @@
"select": "Select", "select": "Select",
"settings": "Settings", "settings": "Settings",
"show": "Show",
"size": "Size", "size": "Size",
"slug": "URL appendix", "slug": "URL appendix",
"sort": "Sort", "sort": "Sort",
@@ -361,6 +450,8 @@
"template": "Template", "template": "Template",
"today": "Today", "today": "Today",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Code", "toolbar.button.code": "Code",
"toolbar.button.bold": "Bold", "toolbar.button.bold": "Bold",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -419,6 +510,7 @@
"view.account": "Your account", "view.account": "Your account",
"view.installation": "Installation", "view.installation": "Installation",
"view.resetPassword": "Reset password",
"view.settings": "Settings", "view.settings": "Settings",
"view.site": "Site", "view.site": "Site",
"view.users": "Users", "view.users": "Users",

View File

@@ -6,6 +6,8 @@
"change": "Cambiar", "change": "Cambiar",
"close": "Cerrar", "close": "Cerrar",
"confirm": "De acuerdo", "confirm": "De acuerdo",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Copiar", "copy": "Copiar",
"create": "Crear", "create": "Crear",
@@ -22,12 +24,15 @@
"days.wed": "Mi\u00e9", "days.wed": "Mi\u00e9",
"delete": "Eliminar", "delete": "Eliminar",
"delete.all": "Delete all",
"dimensions": "Dimensiones", "dimensions": "Dimensiones",
"disabled": "Desabilitado", "disabled": "Desabilitado",
"discard": "Descartar", "discard": "Descartar",
"download": "Descargar", "download": "Descargar",
"duplicate": "Duplicar", "duplicate": "Duplicar",
"edit": "Editar", "edit": "Editar",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "No has seleccionado ningún archivo", "dialog.files.empty": "No has seleccionado ningún archivo",
"dialog.pages.empty": "No has seleccionado ninguna página", "dialog.pages.empty": "No has seleccionado ninguna página",
@@ -36,6 +41,7 @@
"email": "Correo Electrónico", "email": "Correo Electrónico",
"email.placeholder": "correo@ejemplo.com", "email.placeholder": "correo@ejemplo.com",
"error.access.code": "Invalid code",
"error.access.login": "Ingreso inválido", "error.access.login": "Ingreso inválido",
"error.access.panel": "No tienes permitido acceder al panel.", "error.access.panel": "No tienes permitido acceder al panel.",
"error.access.view": "No tienes permiso para acceder a esta parte del panel", "error.access.view": "No tienes permiso para acceder a esta parte del panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "El blueprint \"{name}\" no se pudo cargar.", "error.blueprint.notFound": "El blueprint \"{name}\" no se pudo cargar.",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "El preajuste de email \"{name}\" no se pudo encontrar.", "error.email.preset.notFound": "El preajuste de email \"{name}\" no se pudo encontrar.",
"error.field.converter.invalid": "Convertidor inválido \"{converter}\"", "error.field.converter.invalid": "Convertidor inválido \"{converter}\"",
@@ -185,22 +197,77 @@
"error.validation.size": "El tamaño del valor debe ser \"{size}\"", "error.validation.size": "El tamaño del valor debe ser \"{size}\"",
"error.validation.startswith": "El valor debe comenzar con \"{start}\"", "error.validation.startswith": "El valor debe comenzar con \"{start}\"",
"error.validation.time": "Por favor ingresa una hora válida", "error.validation.time": "Por favor ingresa una hora válida",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Por favor ingresa un URL válido", "error.validation.url": "Por favor ingresa un URL válido",
"field.required": "Este campo es requerido", "field.required": "Este campo es requerido",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Código",
"field.blocks.code.language": "Idioma",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Enlace",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Imágen",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Aún no ha seleccionado ningún archivo", "field.files.empty": "Aún no ha seleccionado ningún archivo",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Aún no ha seleccionado ningúna pagina", "field.pages.empty": "Aún no ha seleccionado ningúna pagina",
"field.structure.delete.confirm": "\u00bfEn realidad desea borrar esta entrada?", "field.structure.delete.confirm": "\u00bfEn realidad desea borrar esta entrada?",
"field.structure.empty": "A\u00fan no existen entradas.", "field.structure.empty": "A\u00fan no existen entradas.",
"field.users.empty": "Aún no ha seleccionado ningún usuario", "field.users.empty": "Aún no ha seleccionado ningún usuario",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "\u00bfEst\u00e1s seguro que deseas eliminar este archivo?", "file.delete.confirm": "\u00bfEst\u00e1s seguro que deseas eliminar este archivo?",
"file.sort": "Change position",
"files": "Archivos", "files": "Archivos",
"files.empty": "Aún no existen archivos", "files.empty": "Aún no existen archivos",
"hide": "Hide",
"hour": "Hora", "hour": "Hora",
"insert": "Insertar", "insert": "Insertar",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Instalar", "install": "Instalar",
"installation": "Instalación", "installation": "Instalación",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Tus cambios sin guardar han sido sobrescritos por otro usuario. Puedes descargar los cambios y fusionarlos manualmente.", "lock.isUnlocked": "Tus cambios sin guardar han sido sobrescritos por otro usuario. Puedes descargar los cambios y fusionarlos manualmente.",
"login": "Iniciar sesi\u00f3n", "login": "Iniciar sesi\u00f3n",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Mantener mi sesión iniciada", "login.remember": "Mantener mi sesión iniciada",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Cerrar sesi\u00f3n", "logout": "Cerrar sesi\u00f3n",
@@ -296,6 +376,7 @@
"orientation.portrait": "Retrato", "orientation.portrait": "Retrato",
"orientation.square": "Diapositiva", "orientation.square": "Diapositiva",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Cambiar URL", "page.changeSlug": "Cambiar URL",
"page.changeSlug.fromTitle": "Crear a partir del t\u00edtulo", "page.changeSlug.fromTitle": "Crear a partir del t\u00edtulo",
"page.changeStatus": "Cambiar estado", "page.changeStatus": "Cambiar estado",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Copiar", "page.duplicate.appendix": "Copiar",
"page.duplicate.files": "Copiar archivos", "page.duplicate.files": "Copiar archivos",
"page.duplicate.pages": "Copiar páginas", "page.duplicate.pages": "Copiar páginas",
"page.sort": "Change position",
"page.status": "Estado", "page.status": "Estado",
"page.status.draft": "Borrador", "page.status.draft": "Borrador",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +410,7 @@
"password": "Contrase\u00f1a", "password": "Contrase\u00f1a",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Anterior", "prev": "Anterior",
"preview": "Preview",
"remove": "Eliminar", "remove": "Eliminar",
"rename": "Renombrar", "rename": "Renombrar",
"replace": "Reemplazar", "replace": "Reemplazar",
@@ -354,6 +437,7 @@
"select": "Seleccionar", "select": "Seleccionar",
"settings": "Ajustes", "settings": "Ajustes",
"show": "Show",
"size": "Tamaño", "size": "Tamaño",
"slug": "Apéndice URL", "slug": "Apéndice URL",
"sort": "Ordenar", "sort": "Ordenar",
@@ -361,6 +445,8 @@
"template": "Plantilla", "template": "Plantilla",
"today": "Hoy", "today": "Hoy",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Código", "toolbar.button.code": "Código",
"toolbar.button.bold": "Negrita", "toolbar.button.bold": "Negrita",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -419,6 +505,7 @@
"view.account": "Tu cuenta", "view.account": "Tu cuenta",
"view.installation": "Instalaci\u00f3n", "view.installation": "Instalaci\u00f3n",
"view.resetPassword": "Reset password",
"view.settings": "Ajustes", "view.settings": "Ajustes",
"view.site": "Sitio", "view.site": "Sitio",
"view.users": "Usuarios", "view.users": "Usuarios",

View File

@@ -6,6 +6,8 @@
"change": "Cambiar", "change": "Cambiar",
"close": "Cerrar", "close": "Cerrar",
"confirm": "Confirmar", "confirm": "Confirmar",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Copiar", "copy": "Copiar",
"create": "Crear", "create": "Crear",
@@ -22,12 +24,15 @@
"days.wed": "Mi", "days.wed": "Mi",
"delete": "Borrar", "delete": "Borrar",
"delete.all": "Delete all",
"dimensions": "Dimensiones", "dimensions": "Dimensiones",
"disabled": "Desabilitado", "disabled": "Desabilitado",
"discard": "Descartar", "discard": "Descartar",
"download": "Descargar", "download": "Descargar",
"duplicate": "Duplicar", "duplicate": "Duplicar",
"edit": "Editar", "edit": "Editar",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "No se ha seleccionado ningún archivo", "dialog.files.empty": "No se ha seleccionado ningún archivo",
"dialog.pages.empty": "No se ha seleccionado ninguna página", "dialog.pages.empty": "No se ha seleccionado ninguna página",
@@ -36,6 +41,7 @@
"email": "Correo electrónico", "email": "Correo electrónico",
"email.placeholder": "correo@ejemplo.com", "email.placeholder": "correo@ejemplo.com",
"error.access.code": "Invalid code",
"error.access.login": "Ingreso inválido", "error.access.login": "Ingreso inválido",
"error.access.panel": "No estás autorizado para acceder al panel", "error.access.panel": "No estás autorizado para acceder al panel",
"error.access.view": "You are not allowed to access this part of the panel", "error.access.view": "You are not allowed to access this part of the panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "El blueprint \"{name}\" no pudo ser cargado", "error.blueprint.notFound": "El blueprint \"{name}\" no pudo ser cargado",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "El preset del correo \"{name}\" no pudo ser encontrado", "error.email.preset.notFound": "El preset del correo \"{name}\" no pudo ser encontrado",
"error.field.converter.invalid": "Convertidor \"{converter}\" inválido", "error.field.converter.invalid": "Convertidor \"{converter}\" inválido",
@@ -185,22 +197,77 @@
"error.validation.size": "El tamaño del valor debe ser \"{size}\"", "error.validation.size": "El tamaño del valor debe ser \"{size}\"",
"error.validation.startswith": "El valor debe comenzar con \"{start}\"", "error.validation.startswith": "El valor debe comenzar con \"{start}\"",
"error.validation.time": "Por favor ingrese una hora válida", "error.validation.time": "Por favor ingrese una hora válida",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Por favor introduzca un URL válido", "error.validation.url": "Por favor introduzca un URL válido",
"field.required": "The field is required", "field.required": "The field is required",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Código",
"field.blocks.code.language": "Idioma",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Enlace",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Imágen",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Aún no hay archivos seleccionados", "field.files.empty": "Aún no hay archivos seleccionados",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Aún no hay páginas seleccionadas", "field.pages.empty": "Aún no hay páginas seleccionadas",
"field.structure.delete.confirm": "¿Realmente quieres eliminar esta fila?", "field.structure.delete.confirm": "¿Realmente quieres eliminar esta fila?",
"field.structure.empty": "Aún no hay entradas", "field.structure.empty": "Aún no hay entradas",
"field.users.empty": "Aún no hay usuarios seleccionados", "field.users.empty": "Aún no hay usuarios seleccionados",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "¿Realmente quieres eliminar <br><strong>{filename}</strong>?", "file.delete.confirm": "¿Realmente quieres eliminar <br><strong>{filename}</strong>?",
"file.sort": "Change position",
"files": "Archivos", "files": "Archivos",
"files.empty": "Aún no hay archivos", "files.empty": "Aún no hay archivos",
"hide": "Hide",
"hour": "Hora", "hour": "Hora",
"insert": "Insertar", "insert": "Insertar",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Instalar", "install": "Instalar",
"installation": "Instalación", "installation": "Instalación",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.", "lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.",
"login": "Iniciar sesión", "login": "Iniciar sesión",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Mantener sesión iniciada", "login.remember": "Mantener sesión iniciada",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Cerrar sesión", "logout": "Cerrar sesión",
@@ -296,6 +376,7 @@
"orientation.portrait": "Retrato", "orientation.portrait": "Retrato",
"orientation.square": "Cuadrado", "orientation.square": "Cuadrado",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Cambiar URL", "page.changeSlug": "Cambiar URL",
"page.changeSlug.fromTitle": "Crear en base al título", "page.changeSlug.fromTitle": "Crear en base al título",
"page.changeStatus": "Cambiar estado", "page.changeStatus": "Cambiar estado",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Copiar", "page.duplicate.appendix": "Copiar",
"page.duplicate.files": "Copy files", "page.duplicate.files": "Copy files",
"page.duplicate.pages": "Copy pages", "page.duplicate.pages": "Copy pages",
"page.sort": "Change position",
"page.status": "Estado", "page.status": "Estado",
"page.status.draft": "Borrador", "page.status.draft": "Borrador",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +410,7 @@
"password": "Contraseña", "password": "Contraseña",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Anterior", "prev": "Anterior",
"preview": "Preview",
"remove": "Eliminar", "remove": "Eliminar",
"rename": "Renombrar", "rename": "Renombrar",
"replace": "Remplazar", "replace": "Remplazar",
@@ -354,6 +437,7 @@
"select": "Seleccionar", "select": "Seleccionar",
"settings": "Ajustes", "settings": "Ajustes",
"show": "Show",
"size": "Tamaño", "size": "Tamaño",
"slug": "Apéndice URL", "slug": "Apéndice URL",
"sort": "Ordenar", "sort": "Ordenar",
@@ -361,6 +445,8 @@
"template": "Plantilla", "template": "Plantilla",
"today": "Hoy", "today": "Hoy",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Código", "toolbar.button.code": "Código",
"toolbar.button.bold": "Negritas", "toolbar.button.bold": "Negritas",
"toolbar.button.email": "Correo electrónico", "toolbar.button.email": "Correo electrónico",
@@ -419,6 +505,7 @@
"view.account": "Su cuenta", "view.account": "Su cuenta",
"view.installation": "Instalación", "view.installation": "Instalación",
"view.resetPassword": "Reset password",
"view.settings": "Ajustes", "view.settings": "Ajustes",
"view.site": "Sitio", "view.site": "Sitio",
"view.users": "Usuarios", "view.users": "Usuarios",

View File

@@ -6,6 +6,8 @@
"change": "\u0627\u0635\u0644\u0627\u062d", "change": "\u0627\u0635\u0644\u0627\u062d",
"close": "\u0628\u0633\u062a\u0646", "close": "\u0628\u0633\u062a\u0646",
"confirm": "تایید", "confirm": "تایید",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "کپی", "copy": "کپی",
"create": "ایجاد", "create": "ایجاد",
@@ -22,12 +24,15 @@
"days.wed": "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647", "days.wed": "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
"delete": "\u062d\u0630\u0641", "delete": "\u062d\u0630\u0641",
"delete.all": "Delete all",
"dimensions": "ابعاد", "dimensions": "ابعاد",
"disabled": "Disabled", "disabled": "Disabled",
"discard": "\u0627\u0646\u0635\u0631\u0627\u0641", "discard": "\u0627\u0646\u0635\u0631\u0627\u0641",
"download": "Download", "download": "Download",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"edit": "\u0648\u06cc\u0631\u0627\u06cc\u0634", "edit": "\u0648\u06cc\u0631\u0627\u06cc\u0634",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "No files to select", "dialog.files.empty": "No files to select",
"dialog.pages.empty": "No pages to select", "dialog.pages.empty": "No pages to select",
@@ -36,6 +41,7 @@
"email": "\u067e\u0633\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9", "email": "\u067e\u0633\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "Invalid code",
"error.access.login": "اطلاعات ورودی نامعتبر است", "error.access.login": "اطلاعات ورودی نامعتبر است",
"error.access.panel": "شما اجازه دسترسی به پانل را ندارید", "error.access.panel": "شما اجازه دسترسی به پانل را ندارید",
"error.access.view": "You are not allowed to access this part of the panel", "error.access.view": "You are not allowed to access this part of the panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "بلوپرینت با نام «{name}» قابل بارگذاری نیست", "error.blueprint.notFound": "بلوپرینت با نام «{name}» قابل بارگذاری نیست",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "قالب ایمیل «{name}» پیدا نشد", "error.email.preset.notFound": "قالب ایمیل «{name}» پیدا نشد",
"error.field.converter.invalid": "مبدل «{converter}» نامعتبر است", "error.field.converter.invalid": "مبدل «{converter}» نامعتبر است",
@@ -185,22 +197,77 @@
"error.validation.size": "اندازه ورودی باید معادل «{size}» باشد", "error.validation.size": "اندازه ورودی باید معادل «{size}» باشد",
"error.validation.startswith": "مقدار باید با «{start}» شروع شود", "error.validation.startswith": "مقدار باید با «{start}» شروع شود",
"error.validation.time": "لطفا زمان معتبری وارد کنید", "error.validation.time": "لطفا زمان معتبری وارد کنید",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "لطفا آدرس URL صحیح وارد کنید", "error.validation.url": "لطفا آدرس URL صحیح وارد کنید",
"field.required": "The field is required", "field.required": "The field is required",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "کد",
"field.blocks.code.language": "زبان",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "پیوند",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "تصویر",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "فایلی انتخاب نشده است", "field.files.empty": "فایلی انتخاب نشده است",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "صفحه‌ای انتخاب نشده است", "field.pages.empty": "صفحه‌ای انتخاب نشده است",
"field.structure.delete.confirm": "\u0645\u062f\u062e\u0644 \u062c\u0627\u0631\u06cc \u062d\u0630\u0641 \u0634\u0648\u062f\u061f", "field.structure.delete.confirm": "\u0645\u062f\u062e\u0644 \u062c\u0627\u0631\u06cc \u062d\u0630\u0641 \u0634\u0648\u062f\u061f",
"field.structure.empty": "\u0645\u0648\u0631\u062f\u06cc \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f.", "field.structure.empty": "\u0645\u0648\u0631\u062f\u06cc \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f.",
"field.users.empty": "کاربری انتخاب نشده است", "field.users.empty": "کاربری انتخاب نشده است",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "آیا واقعا می خواهید این فایل را حذف کنید؟<br><strong>{filename}</strong>", "file.delete.confirm": "آیا واقعا می خواهید این فایل را حذف کنید؟<br><strong>{filename}</strong>",
"file.sort": "Change position",
"files": "فایل‌ها", "files": "فایل‌ها",
"files.empty": "فایلی موجود نیست", "files.empty": "فایلی موجود نیست",
"hide": "Hide",
"hour": "ساعت", "hour": "ساعت",
"insert": "\u062f\u0631\u062c", "insert": "\u062f\u0631\u062c",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "نصب", "install": "نصب",
"installation": "نصب و راه اندازی", "installation": "نصب و راه اندازی",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.", "lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.",
"login": "ورود", "login": "ورود",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "مرا به خاطر بسپار", "login.remember": "مرا به خاطر بسپار",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "خروج", "logout": "خروج",
@@ -296,6 +376,7 @@
"orientation.portrait": "عمودی", "orientation.portrait": "عمودی",
"orientation.square": "مربع", "orientation.square": "مربع",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "تغییر Url صفحه", "page.changeSlug": "تغییر Url صفحه",
"page.changeSlug.fromTitle": "\u0627\u06cc\u062c\u0627\u062f \u0627\u0632 \u0631\u0648\u06cc \u0639\u0646\u0648\u0627\u0646", "page.changeSlug.fromTitle": "\u0627\u06cc\u062c\u0627\u062f \u0627\u0632 \u0631\u0648\u06cc \u0639\u0646\u0648\u0627\u0646",
"page.changeStatus": "تغییر وضعیت", "page.changeStatus": "تغییر وضعیت",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "کپی", "page.duplicate.appendix": "کپی",
"page.duplicate.files": "Copy files", "page.duplicate.files": "Copy files",
"page.duplicate.pages": "Copy pages", "page.duplicate.pages": "Copy pages",
"page.sort": "Change position",
"page.status": "وضعیت", "page.status": "وضعیت",
"page.status.draft": "پیش‌نویس", "page.status.draft": "پیش‌نویس",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +410,7 @@
"password": "\u06af\u0630\u0631\u0648\u0627\u0698\u0647", "password": "\u06af\u0630\u0631\u0648\u0627\u0698\u0647",
"pixel": "پیکسل", "pixel": "پیکسل",
"prev": "قبلی", "prev": "قبلی",
"preview": "Preview",
"remove": "حذف", "remove": "حذف",
"rename": "تغییر نام", "rename": "تغییر نام",
"replace": "\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646\u06cc", "replace": "\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646\u06cc",
@@ -354,6 +437,7 @@
"select": "انتخاب", "select": "انتخاب",
"settings": "تنظیمات", "settings": "تنظیمات",
"show": "Show",
"size": "اندازه", "size": "اندازه",
"slug": "پسوند Url", "slug": "پسوند Url",
"sort": "ترتیب", "sort": "ترتیب",
@@ -361,6 +445,8 @@
"template": "\u0642\u0627\u0644\u0628 \u0635\u0641\u062d\u0647", "template": "\u0642\u0627\u0644\u0628 \u0635\u0641\u062d\u0647",
"today": "امروز", "today": "امروز",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "کد", "toolbar.button.code": "کد",
"toolbar.button.bold": "\u0645\u062a\u0646 \u0628\u0627 \u062d\u0631\u0648\u0641 \u062f\u0631\u0634\u062a", "toolbar.button.bold": "\u0645\u062a\u0646 \u0628\u0627 \u062d\u0631\u0648\u0641 \u062f\u0631\u0634\u062a",
"toolbar.button.email": "\u067e\u0633\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9", "toolbar.button.email": "\u067e\u0633\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9",
@@ -419,6 +505,7 @@
"view.account": "حساب کاربری شما", "view.account": "حساب کاربری شما",
"view.installation": "\u0646\u0635\u0628 \u0648 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc", "view.installation": "\u0646\u0635\u0628 \u0648 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc",
"view.resetPassword": "Reset password",
"view.settings": "تنظیمات", "view.settings": "تنظیمات",
"view.site": "سایت", "view.site": "سایت",
"view.users": "\u06a9\u0627\u0631\u0628\u0631\u0627\u0646", "view.users": "\u06a9\u0627\u0631\u0628\u0631\u0627\u0646",

View File

@@ -6,6 +6,8 @@
"change": "Muuta", "change": "Muuta",
"close": "Sulje", "close": "Sulje",
"confirm": "Ok", "confirm": "Ok",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Kopioi", "copy": "Kopioi",
"create": "Luo", "create": "Luo",
@@ -22,12 +24,15 @@
"days.wed": "Ke", "days.wed": "Ke",
"delete": "Poista", "delete": "Poista",
"delete.all": "Delete all",
"dimensions": "Mitat", "dimensions": "Mitat",
"disabled": "Disabled", "disabled": "Disabled",
"discard": "Hylkää", "discard": "Hylkää",
"download": "Lataa", "download": "Lataa",
"duplicate": "Kahdenna", "duplicate": "Kahdenna",
"edit": "Muokkaa", "edit": "Muokkaa",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "Ei valittavissa olevia tiedostoja", "dialog.files.empty": "Ei valittavissa olevia tiedostoja",
"dialog.pages.empty": "Ei valittavissa olevia sivuja", "dialog.pages.empty": "Ei valittavissa olevia sivuja",
@@ -36,6 +41,7 @@
"email": "S\u00e4hk\u00f6posti", "email": "S\u00e4hk\u00f6posti",
"email.placeholder": "nimi@osoite.fi", "email.placeholder": "nimi@osoite.fi",
"error.access.code": "Invalid code",
"error.access.login": "Kirjautumistiedot eivät kelpaa", "error.access.login": "Kirjautumistiedot eivät kelpaa",
"error.access.panel": "Sinulla ei ole oikeutta käyttää paneelia", "error.access.panel": "Sinulla ei ole oikeutta käyttää paneelia",
"error.access.view": "Sinulla ei ole oikeutta käyttää tätä osaa paneelista", "error.access.view": "Sinulla ei ole oikeutta käyttää tätä osaa paneelista",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Kaavaa \"{name}\" ei voitu ladata", "error.blueprint.notFound": "Kaavaa \"{name}\" ei voitu ladata",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "Nimellä \"{name}\" ja kyseisellä verkkotunnuksella ei löydy sähköpostiosoitetta", "error.email.preset.notFound": "Nimellä \"{name}\" ja kyseisellä verkkotunnuksella ei löydy sähköpostiosoitetta",
"error.field.converter.invalid": "Muunnin \"{converter}\" ei kelpaa", "error.field.converter.invalid": "Muunnin \"{converter}\" ei kelpaa",
@@ -185,22 +197,77 @@
"error.validation.size": "Arvon koko täytyy olla \"{size}\"", "error.validation.size": "Arvon koko täytyy olla \"{size}\"",
"error.validation.startswith": "Arvon alkuosa täytyy olla \"{start}\"", "error.validation.startswith": "Arvon alkuosa täytyy olla \"{start}\"",
"error.validation.time": "Anna kelpaava aika", "error.validation.time": "Anna kelpaava aika",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Anna kelpaava URL", "error.validation.url": "Anna kelpaava URL",
"field.required": "Kenttä on pakollinen", "field.required": "Kenttä on pakollinen",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Koodi",
"field.blocks.code.language": "Kieli",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Linkki",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Kuva",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Tiedostoja ei ole vielä valittu", "field.files.empty": "Tiedostoja ei ole vielä valittu",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": " Sivuja ei ole vielä valittu", "field.pages.empty": " Sivuja ei ole vielä valittu",
"field.structure.delete.confirm": "Haluatko varmasti poistaa tämän rivin?", "field.structure.delete.confirm": "Haluatko varmasti poistaa tämän rivin?",
"field.structure.empty": "Rivejä ei ole vielä lisätty", "field.structure.empty": "Rivejä ei ole vielä lisätty",
"field.users.empty": "Käyttäjiä ei ole vielä valittu", "field.users.empty": "Käyttäjiä ei ole vielä valittu",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Haluatko varmasti poistaa tiedoston <br><strong>{filename}</strong>?", "file.delete.confirm": "Haluatko varmasti poistaa tiedoston <br><strong>{filename}</strong>?",
"file.sort": "Change position",
"files": "Tiedostot", "files": "Tiedostot",
"files.empty": "Tiedostoja ei ole vielä lisätty", "files.empty": "Tiedostoja ei ole vielä lisätty",
"hide": "Hide",
"hour": "Tunti", "hour": "Tunti",
"insert": "Lis\u00e4\u00e4", "insert": "Lis\u00e4\u00e4",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Asenna", "install": "Asenna",
"installation": "Asennus", "installation": "Asennus",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.", "lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.",
"login": "Kirjaudu", "login": "Kirjaudu",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Pidä minut kirjautuneena", "login.remember": "Pidä minut kirjautuneena",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Kirjaudu ulos", "logout": "Kirjaudu ulos",
@@ -296,6 +376,7 @@
"orientation.portrait": "Pystysuuntainen", "orientation.portrait": "Pystysuuntainen",
"orientation.square": "Neliskulmainen", "orientation.square": "Neliskulmainen",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Vaihda URL-osoite", "page.changeSlug": "Vaihda URL-osoite",
"page.changeSlug.fromTitle": "Luo nimen perusteella", "page.changeSlug.fromTitle": "Luo nimen perusteella",
"page.changeStatus": "Muuta tilaa", "page.changeStatus": "Muuta tilaa",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Kopioi", "page.duplicate.appendix": "Kopioi",
"page.duplicate.files": "Copy files", "page.duplicate.files": "Copy files",
"page.duplicate.pages": "Copy pages", "page.duplicate.pages": "Copy pages",
"page.sort": "Change position",
"page.status": "Tila", "page.status": "Tila",
"page.status.draft": "Luonnos", "page.status.draft": "Luonnos",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +410,7 @@
"password": "Salasana", "password": "Salasana",
"pixel": "Pikseli", "pixel": "Pikseli",
"prev": "Edellinen", "prev": "Edellinen",
"preview": "Preview",
"remove": "Poista", "remove": "Poista",
"rename": "Nimeä uudelleen", "rename": "Nimeä uudelleen",
"replace": "Korvaa", "replace": "Korvaa",
@@ -354,6 +437,7 @@
"select": "Valitse", "select": "Valitse",
"settings": "Asetukset", "settings": "Asetukset",
"show": "Show",
"size": "Koko", "size": "Koko",
"slug": "URL-tunniste", "slug": "URL-tunniste",
"sort": "Järjestele", "sort": "Järjestele",
@@ -361,6 +445,8 @@
"template": "Sivupohja", "template": "Sivupohja",
"today": "Tänään", "today": "Tänään",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Koodi", "toolbar.button.code": "Koodi",
"toolbar.button.bold": "Lihavointi", "toolbar.button.bold": "Lihavointi",
"toolbar.button.email": "S\u00e4hk\u00f6posti", "toolbar.button.email": "S\u00e4hk\u00f6posti",
@@ -419,6 +505,7 @@
"view.account": "Oma käyttäjätili", "view.account": "Oma käyttäjätili",
"view.installation": "Asennus", "view.installation": "Asennus",
"view.resetPassword": "Reset password",
"view.settings": "Asetukset", "view.settings": "Asetukset",
"view.site": "Sivusto", "view.site": "Sivusto",
"view.users": "K\u00e4ytt\u00e4j\u00e4t", "view.users": "K\u00e4ytt\u00e4j\u00e4t",

View File

@@ -6,6 +6,8 @@
"change": "Changer", "change": "Changer",
"close": "Fermer", "close": "Fermer",
"confirm": "Ok", "confirm": "Ok",
"collapse": "Replier",
"collapse.all": "Tout replier",
"copy": "Copier", "copy": "Copier",
"create": "Créer", "create": "Créer",
@@ -22,12 +24,15 @@
"days.wed": "Mer", "days.wed": "Mer",
"delete": "Supprimer", "delete": "Supprimer",
"delete.all": "Tout supprimer",
"dimensions": "Dimensions", "dimensions": "Dimensions",
"disabled": "Désactivé", "disabled": "Désactivé",
"discard": "Supprimer", "discard": "Supprimer",
"download": "Télécharger", "download": "Télécharger",
"duplicate": "Dupliquer", "duplicate": "Dupliquer",
"edit": "Éditer", "edit": "Éditer",
"expand": "Déplier",
"expand.all": "Tout déplier",
"dialog.files.empty": "Aucun fichier à sélectionner", "dialog.files.empty": "Aucun fichier à sélectionner",
"dialog.pages.empty": "Aucune page à sélectionner", "dialog.pages.empty": "Aucune page à sélectionner",
@@ -36,6 +41,7 @@
"email": "Courriel", "email": "Courriel",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "Code incorrect",
"error.access.login": "Identifiant incorrect", "error.access.login": "Identifiant incorrect",
"error.access.panel": "Vous nêtes pas autorisé à accéder au Panel", "error.access.panel": "Vous nêtes pas autorisé à accéder au Panel",
"error.access.view": "Vous nêtes pas autorisé à accéder à cette section du Panel", "error.access.view": "Vous nêtes pas autorisé à accéder à cette section du Panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Le blueprint «&nbsp;{name}&nbsp;» na pu être chargé", "error.blueprint.notFound": "Le blueprint «&nbsp;{name}&nbsp;» na pu être chargé",
"error.blocks.max.plural": "Vous ne devez pas ajouter plus de {max} blocs",
"error.blocks.max.singular": "Vous ne devez pas ajouter plus d'un bloc",
"error.blocks.min.plural": "Vous devez ajouter au moins {min} blocs",
"error.blocks.min.singular": "Vous devez ajouter au moins un bloc",
"error.blocks.validation": "Il y a une erreur dans le bloc {index}",
"error.email.preset.notFound": "La configuration de courriel «&nbsp;{name}&nbsp;» na pu être trouvé", "error.email.preset.notFound": "La configuration de courriel «&nbsp;{name}&nbsp;» na pu être trouvé",
"error.field.converter.invalid": "Convertisseur «&nbsp;{converter}&nbsp;» incorrect", "error.field.converter.invalid": "Convertisseur «&nbsp;{converter}&nbsp;» incorrect",
@@ -185,22 +197,77 @@
"error.validation.size": "La grandeur de la valeur doit être «&nbsp;{size}&nbsp;»", "error.validation.size": "La grandeur de la valeur doit être «&nbsp;{size}&nbsp;»",
"error.validation.startswith": "La valeur doit commencer par «&nbsp;{start}&nbsp;»", "error.validation.startswith": "La valeur doit commencer par «&nbsp;{start}&nbsp;»",
"error.validation.time": "Veuillez saisir une heure valide", "error.validation.time": "Veuillez saisir une heure valide",
"error.validation.time.after": "Veuillez entrer une heure après {time}",
"error.validation.time.before": "Veuillez entrer une heure avant {time}",
"error.validation.time.between": "Veuillez entrer une heure entre {min} et {max}",
"error.validation.url": "Veuillez saisir une URL valide", "error.validation.url": "Veuillez saisir une URL valide",
"field.required": "Le champ est obligatoire", "field.required": "Le champ est obligatoire",
"field.blocks.changeType": "Changer le type",
"field.blocks.code.name": "Code",
"field.blocks.code.language": "Langue",
"field.blocks.code.placeholder": "Votre code…",
"field.blocks.delete.confirm": "Voulez-vous vraiment supprimer ce bloc ?",
"field.blocks.delete.confirm.all": "Voulez-vous vraiment supprimer tous les blocs ?",
"field.blocks.delete.confirm.selected": "Voulez-vous vraiment supprimer les blocs sélectionnés ?",
"field.blocks.empty": "Pas encore de blocs",
"field.blocks.fieldsets.label": "Veuillez sélectionner un type de bloc…",
"field.blocks.gallery.name": "Galerie",
"field.blocks.gallery.images.empty": "Pas encore dimages",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Niveau",
"field.blocks.heading.name": "Titre",
"field.blocks.heading.text": "Texte",
"field.blocks.heading.placeholder": "Titre…",
"field.blocks.image.alt": "Texte alternatif",
"field.blocks.image.caption": "Légende",
"field.blocks.image.crop": "Recadrer",
"field.blocks.image.link": "Lien",
"field.blocks.image.location": "Emplacement",
"field.blocks.image.name": "Image",
"field.blocks.image.placeholder": "Sélectionnez une image",
"field.blocks.image.ratio": "Proportions",
"field.blocks.list.name": "Liste",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Texte",
"field.blocks.markdown.placeholder": "Markdown…",
"field.blocks.quote.name": "Citation",
"field.blocks.quote.text.label": "Texte",
"field.blocks.quote.text.placeholder": "Citation…",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "par…",
"field.blocks.text.name": "Texte",
"field.blocks.text.placeholder": "Texte…",
"field.blocks.video.caption": "Légende",
"field.blocks.video.name": "Vidéo",
"field.blocks.video.placeholder": "Entrez lURL dune vidéo",
"field.blocks.video.url.label": "URL de la vidéo",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Pas encore de fichier sélectionné", "field.files.empty": "Pas encore de fichier sélectionné",
"field.layout.delete": "Supprimer cette disposition",
"field.layout.delete.confirm": "Voulez-vous vraiment supprimer cette disposition ?",
"field.layout.empty": "Pas encore de rangées",
"field.layout.select": "Choisir une disposition",
"field.pages.empty": "Pas encore de page sélectionnée", "field.pages.empty": "Pas encore de page sélectionnée",
"field.structure.delete.confirm": "Voulez-vous vraiment supprimer cette ligne?", "field.structure.delete.confirm": "Voulez-vous vraiment supprimer cette ligne?",
"field.structure.empty": "Pas encore dentrée", "field.structure.empty": "Pas encore dentrée",
"field.users.empty": "Pas encore dutilisateur sélectionné", "field.users.empty": "Pas encore dutilisateur sélectionné",
"file.blueprint": "Ce fichier na pas encore de blueprint. Vous pouvez en définir les paramètres dans <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Voulez-vous vraiment supprimer <br><strong>{filename}</strong>&nbsp;?", "file.delete.confirm": "Voulez-vous vraiment supprimer <br><strong>{filename}</strong>&nbsp;?",
"file.sort": "Modifier la position",
"files": "Fichiers", "files": "Fichiers",
"files.empty": "Pas encore de fichier", "files.empty": "Pas encore de fichier",
"hide": "Masquer",
"hour": "Heure", "hour": "Heure",
"insert": "Insérer", "insert": "Insérer",
"insert.after": "Insérer après",
"insert.before": "Insérer avant",
"install": "Installer", "install": "Installer",
"installation": "Installation", "installation": "Installation",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Vos modifications non enregistrées ont été écrasées pas un autre utilisateur. Vous pouvez télécharger vos modifications pour les fusionner manuellement.", "lock.isUnlocked": "Vos modifications non enregistrées ont été écrasées pas un autre utilisateur. Vous pouvez télécharger vos modifications pour les fusionner manuellement.",
"login": "Se connecter", "login": "Se connecter",
"login.code.label.login": "Code de connexion",
"login.code.label.password-reset": "Code de réinitialisation du mot de passe",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "Si votre adresse de courriel est enregistrée, le code demandé vous sera envoyé par courriel.",
"login.email.login.body": "Bonjour {user.nameOrEmail},\n\nVous avez demandé récemment un code de connexion pour le Panel de Kirby.\nLe code suivant sera valide pendant {timeout} minutes:\n\n{code}\n\nSi vous navez pas demandé de code de connexion, veuillez ignorer cet email ou contacter ladministrateur si vous avez des questions.\nPar sécurité, ne faites PAS suivre cet email.",
"login.email.login.subject": "Votre code de connexion",
"login.email.password-reset.body": "Bonjour {user.nameOrEmail},\n\nVous avez demandé récemment un code de connexion pour le Panel de Kirby.\nLe code suivant sera valide pendant {timeout} minutes:\n\n{code}\n\nSi vous navez pas demandé de code de connexion, veuillez ignorer ce courriel ou contacter ladministrateur si vous avez des questions.\nPar sécurité, ne faites PAS suivre ce courriel.",
"login.email.password-reset.subject": "Votre code de réinitialisation du mot de passe",
"login.remember": "Rester connecté", "login.remember": "Rester connecté",
"login.reset": "Réinitialiser le mot de passe",
"login.toggleText.code.email": "Se connecter par courriel",
"login.toggleText.code.email-password": "Se connecter avec un mot de passe",
"login.toggleText.password-reset.email": "Mot de passe oublié ?",
"login.toggleText.password-reset.email-password": "← Retour à la connexion",
"logout": "Se déconnecter", "logout": "Se déconnecter",
@@ -296,6 +376,7 @@
"orientation.portrait": "Portrait", "orientation.portrait": "Portrait",
"orientation.square": "Carré", "orientation.square": "Carré",
"page.blueprint": "Cette page na pas encore de blueprint. Vous pouvez en définir les paramètres dans <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Modifier lURL", "page.changeSlug": "Modifier lURL",
"page.changeSlug.fromTitle": "Créer à partir du titre", "page.changeSlug.fromTitle": "Créer à partir du titre",
"page.changeStatus": "Changer le statut", "page.changeStatus": "Changer le statut",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Copier", "page.duplicate.appendix": "Copier",
"page.duplicate.files": "Copier les fichiers", "page.duplicate.files": "Copier les fichiers",
"page.duplicate.pages": "Copier les pages", "page.duplicate.pages": "Copier les pages",
"page.sort": "Modifier la position",
"page.status": "Statut", "page.status": "Statut",
"page.status.draft": "Brouillon", "page.status.draft": "Brouillon",
"page.status.draft.description": "Cette page est un brouillon et nest visible que pour les éditeurs connectés ou par un lien secret", "page.status.draft.description": "Cette page est un brouillon et nest visible que pour les éditeurs connectés ou par un lien secret",
@@ -328,6 +410,7 @@
"password": "Mot de passe", "password": "Mot de passe",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Précédent", "prev": "Précédent",
"preview": "Prévisualiser",
"remove": "Supprimer", "remove": "Supprimer",
"rename": "Renommer", "rename": "Renommer",
"replace": "Remplacer", "replace": "Remplacer",
@@ -354,6 +437,7 @@
"select": "Sélectionner", "select": "Sélectionner",
"settings": "Paramètres", "settings": "Paramètres",
"show": "Afficher",
"size": "Poids", "size": "Poids",
"slug": "Identifiant de lURL", "slug": "Identifiant de lURL",
"sort": "Trier", "sort": "Trier",
@@ -361,6 +445,8 @@
"template": "Modèle", "template": "Modèle",
"today": "Aujourdhui", "today": "Aujourdhui",
"site.blueprint": "Ce site na pas encore de blueprint. Vous pouvez en définir les paramètres dans <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Code", "toolbar.button.code": "Code",
"toolbar.button.bold": "Gras", "toolbar.button.bold": "Gras",
"toolbar.button.email": "Courriel", "toolbar.button.email": "Courriel",
@@ -419,6 +505,7 @@
"view.account": "Votre compte", "view.account": "Votre compte",
"view.installation": "Installation", "view.installation": "Installation",
"view.resetPassword": "Réinitialiser le mot de passe",
"view.settings": "Paramètres", "view.settings": "Paramètres",
"view.site": "Site", "view.site": "Site",
"view.users": "Utilisateurs", "view.users": "Utilisateurs",

View File

@@ -6,6 +6,8 @@
"change": "M\u00f3dos\u00edt\u00e1s", "change": "M\u00f3dos\u00edt\u00e1s",
"close": "Bez\u00e1r", "close": "Bez\u00e1r",
"confirm": "Mentés", "confirm": "Mentés",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Másol", "copy": "Másol",
"create": "Létrehoz", "create": "Létrehoz",
@@ -22,12 +24,15 @@
"days.wed": "sze", "days.wed": "sze",
"delete": "T\u00f6rl\u00e9s", "delete": "T\u00f6rl\u00e9s",
"delete.all": "Delete all",
"dimensions": "Méretek", "dimensions": "Méretek",
"disabled": "Disabled", "disabled": "Disabled",
"discard": "Visszavon\u00e1s", "discard": "Visszavon\u00e1s",
"download": "Letöltés", "download": "Letöltés",
"duplicate": "Másolat", "duplicate": "Másolat",
"edit": "Aloldal szerkeszt\u00e9se", "edit": "Aloldal szerkeszt\u00e9se",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "Nincsenek fájlok kiválasztva", "dialog.files.empty": "Nincsenek fájlok kiválasztva",
"dialog.pages.empty": "Nincsenek oldalak kiválasztva", "dialog.pages.empty": "Nincsenek oldalak kiválasztva",
@@ -36,6 +41,7 @@
"email": "Email", "email": "Email",
"email.placeholder": "mail@pelda.hu", "email.placeholder": "mail@pelda.hu",
"error.access.code": "Invalid code",
"error.access.login": "Érvénytelen bejelentkezés", "error.access.login": "Érvénytelen bejelentkezés",
"error.access.panel": "Nincs jogosultságod megnyitni a panelt", "error.access.panel": "Nincs jogosultságod megnyitni a panelt",
"error.access.view": "You are not allowed to access this part of the panel", "error.access.view": "You are not allowed to access this part of the panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "A \"{name}\" oldalsablon nem tölthető be", "error.blueprint.notFound": "A \"{name}\" oldalsablon nem tölthető be",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "A \"{name}\" email-beállítás nem található", "error.email.preset.notFound": "A \"{name}\" email-beállítás nem található",
"error.field.converter.invalid": "Érvénytelen konverter: \"{converter}\"", "error.field.converter.invalid": "Érvénytelen konverter: \"{converter}\"",
@@ -185,22 +197,77 @@
"error.validation.size": "Az értéknek az alábbi méretűnek kell lennie: \"{size}\"", "error.validation.size": "Az értéknek az alábbi méretűnek kell lennie: \"{size}\"",
"error.validation.startswith": "Az értéknek ezzel kell kezdődnie: \"{start}\"", "error.validation.startswith": "Az értéknek ezzel kell kezdődnie: \"{start}\"",
"error.validation.time": "Kérlek megfelelő időt adj meg", "error.validation.time": "Kérlek megfelelő időt adj meg",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Kérlek megfelelő URL-t adj meg", "error.validation.url": "Kérlek megfelelő URL-t adj meg",
"field.required": "The field is required", "field.required": "The field is required",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Kód",
"field.blocks.code.language": "Nyelv",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Link",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Kép",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Nincs fálj kiválasztva", "field.files.empty": "Nincs fálj kiválasztva",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Nincs oldal kiválasztva", "field.pages.empty": "Nincs oldal kiválasztva",
"field.structure.delete.confirm": "Biztos t\u00f6r\u00f6lni szeretn\u00e9d ezt a bejegyz\u00e9st?", "field.structure.delete.confirm": "Biztos t\u00f6r\u00f6lni szeretn\u00e9d ezt a bejegyz\u00e9st?",
"field.structure.empty": "Nincs m\u00e9g bejegyz\u00e9s", "field.structure.empty": "Nincs m\u00e9g bejegyz\u00e9s",
"field.users.empty": "Nincs felhasználó kiválasztva", "field.users.empty": "Nincs felhasználó kiválasztva",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Biztos törölni akarod ezt a fájlt: <br><strong>{filename}</strong>?", "file.delete.confirm": "Biztos törölni akarod ezt a fájlt: <br><strong>{filename}</strong>?",
"file.sort": "Change position",
"files": "Fájlok", "files": "Fájlok",
"files.empty": "Még nincsenek fájlok", "files.empty": "Még nincsenek fájlok",
"hide": "Hide",
"hour": "Óra", "hour": "Óra",
"insert": "Beilleszt", "insert": "Beilleszt",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Telepítés", "install": "Telepítés",
"installation": "Telepítés", "installation": "Telepítés",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "A nem mentett módosításokat egy másik felhasználó felülírta. A módosításokat manuálisan egyesítheted.", "lock.isUnlocked": "A nem mentett módosításokat egy másik felhasználó felülírta. A módosításokat manuálisan egyesítheted.",
"login": "Bejelentkezés", "login": "Bejelentkezés",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Maradjak bejelentkezve", "login.remember": "Maradjak bejelentkezve",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Kijelentkezés", "logout": "Kijelentkezés",
@@ -296,6 +376,7 @@
"orientation.portrait": "Álló", "orientation.portrait": "Álló",
"orientation.square": "Négyzetes", "orientation.square": "Négyzetes",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "URL v\u00e1ltoztat\u00e1sa", "page.changeSlug": "URL v\u00e1ltoztat\u00e1sa",
"page.changeSlug.fromTitle": "L\u00e9trehoz\u00e1s c\u00edmb\u0151l", "page.changeSlug.fromTitle": "L\u00e9trehoz\u00e1s c\u00edmb\u0151l",
"page.changeStatus": "Állapot módosítása", "page.changeStatus": "Állapot módosítása",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Másol", "page.duplicate.appendix": "Másol",
"page.duplicate.files": "Fájlok másolása", "page.duplicate.files": "Fájlok másolása",
"page.duplicate.pages": "Oldalak másolása", "page.duplicate.pages": "Oldalak másolása",
"page.sort": "Change position",
"page.status": "Állapot", "page.status": "Állapot",
"page.status.draft": "Piszkozat", "page.status.draft": "Piszkozat",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +410,7 @@
"password": "Jelsz\u00f3", "password": "Jelsz\u00f3",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Előző", "prev": "Előző",
"preview": "Preview",
"remove": "Eltávolítás", "remove": "Eltávolítás",
"rename": "Átnevezés", "rename": "Átnevezés",
"replace": "Cser\u00e9l", "replace": "Cser\u00e9l",
@@ -354,6 +437,7 @@
"select": "Kiválasztás", "select": "Kiválasztás",
"settings": "Beállítások", "settings": "Beállítások",
"show": "Show",
"size": "Méret", "size": "Méret",
"slug": "URL n\u00e9v", "slug": "URL n\u00e9v",
"sort": "Rendezés", "sort": "Rendezés",
@@ -361,6 +445,8 @@
"template": "Sablon", "template": "Sablon",
"today": "Ma", "today": "Ma",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Kód", "toolbar.button.code": "Kód",
"toolbar.button.bold": "F\u00e9lk\u00f6v\u00e9r sz\u00f6veg", "toolbar.button.bold": "F\u00e9lk\u00f6v\u00e9r sz\u00f6veg",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -419,6 +505,7 @@
"view.account": "Fi\u00f3kod", "view.account": "Fi\u00f3kod",
"view.installation": "Telep\u00edt\u00e9s", "view.installation": "Telep\u00edt\u00e9s",
"view.resetPassword": "Reset password",
"view.settings": "Beállítások", "view.settings": "Beállítások",
"view.site": "Weboldal", "view.site": "Weboldal",
"view.users": "Felhaszn\u00e1l\u00f3k", "view.users": "Felhaszn\u00e1l\u00f3k",

View File

@@ -6,6 +6,8 @@
"change": "Ubah", "change": "Ubah",
"close": "Tutup", "close": "Tutup",
"confirm": "Oke", "confirm": "Oke",
"collapse": "Lipat",
"collapse.all": "Lipat Semua",
"copy": "Salin", "copy": "Salin",
"create": "Buat", "create": "Buat",
@@ -22,12 +24,15 @@
"days.wed": "Rab", "days.wed": "Rab",
"delete": "Hapus", "delete": "Hapus",
"delete.all": "Hapus semua",
"dimensions": "Dimensi", "dimensions": "Dimensi",
"disabled": "Dimatikan", "disabled": "Dimatikan",
"discard": "Buang", "discard": "Buang",
"download": "Unduh", "download": "Unduh",
"duplicate": "Duplikasi", "duplicate": "Duplikasi",
"edit": "Sunting", "edit": "Sunting",
"expand": "Luaskan",
"expand.all": "Luaskan Semua",
"dialog.files.empty": "Tidak ada berkas untuk dipilih", "dialog.files.empty": "Tidak ada berkas untuk dipilih",
"dialog.pages.empty": "Tidak ada halaman untuk dipilih", "dialog.pages.empty": "Tidak ada halaman untuk dipilih",
@@ -36,6 +41,7 @@
"email": "Surel", "email": "Surel",
"email.placeholder": "surel@contoh.com", "email.placeholder": "surel@contoh.com",
"error.access.code": "Kode tidak valid",
"error.access.login": "Upaya masuk tidak valid", "error.access.login": "Upaya masuk tidak valid",
"error.access.panel": "Anda tidak diizinkan mengakses panel", "error.access.panel": "Anda tidak diizinkan mengakses panel",
"error.access.view": "Anda tidak diizinkan mengakses bagian panel ini", "error.access.view": "Anda tidak diizinkan mengakses bagian panel ini",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Cetak biru \"{name}\" tidak dapat dimuat", "error.blueprint.notFound": "Cetak biru \"{name}\" tidak dapat dimuat",
"error.blocks.max.plural": "Anda tidak boleh menambahkan lebih dari {max} blok",
"error.blocks.max.singular": "Anda tidak boleh menambahkan lebih dari satu blok",
"error.blocks.min.plural": "Anda setidaknya menambahkan {min} blok",
"error.blocks.min.singular": "Anda setidaknya menambahkan satu blok",
"error.blocks.validation": "Ada kesalahan di blok {index}",
"error.email.preset.notFound": "Surel \"{name}\" tidak dapat ditemukan", "error.email.preset.notFound": "Surel \"{name}\" tidak dapat ditemukan",
"error.field.converter.invalid": "Konverter \"{converter}\" tidak valid", "error.field.converter.invalid": "Konverter \"{converter}\" tidak valid",
@@ -102,6 +114,7 @@
"error.page.notFound": "Halaman \"{slug}\" tidak dapat ditemukan", "error.page.notFound": "Halaman \"{slug}\" tidak dapat ditemukan",
"error.page.num.invalid": "Masukkan nomor urut yang valid. Nomor tidak boleh negatif.", "error.page.num.invalid": "Masukkan nomor urut yang valid. Nomor tidak boleh negatif.",
"error.page.slug.invalid": "Masukkan awalan URL yang valid", "error.page.slug.invalid": "Masukkan awalan URL yang valid",
"error.page.slug.maxlength": "Panjang slug harus kurang dari \"{length}\" karakter",
"error.page.sort.permission": "Halaman \"{slug}\" tidak dapat diurutkan", "error.page.sort.permission": "Halaman \"{slug}\" tidak dapat diurutkan",
"error.page.status.invalid": "Atur status halaman yang valid", "error.page.status.invalid": "Atur status halaman yang valid",
"error.page.undefined": "Halaman tidak dapat ditemukan", "error.page.undefined": "Halaman tidak dapat ditemukan",
@@ -184,22 +197,77 @@
"error.validation.size": "Ukuran dari nilai harus \"{size}\"", "error.validation.size": "Ukuran dari nilai harus \"{size}\"",
"error.validation.startswith": "Nilai harus diawali dengan \"{start}\"", "error.validation.startswith": "Nilai harus diawali dengan \"{start}\"",
"error.validation.time": "Masukkan waktu yang valid", "error.validation.time": "Masukkan waktu yang valid",
"error.validation.time.after": "Masukkan waktu setelah {time}",
"error.validation.time.before": "Masukkan waktu sebelum {time}",
"error.validation.time.between": "Masukkan waktu antara {min} dan {max}",
"error.validation.url": "Masukkan URL yang valid", "error.validation.url": "Masukkan URL yang valid",
"field.required": "Bidang ini wajib", "field.required": "Bidang ini wajib",
"field.blocks.changeType": "Ubah tipe",
"field.blocks.code.name": "Kode",
"field.blocks.code.language": "Bahasa",
"field.blocks.code.placeholder": "Kode Anda …",
"field.blocks.delete.confirm": "Anda yakin menghapus blok ini?",
"field.blocks.delete.confirm.all": "Anda yakin menghapus semua blok?",
"field.blocks.delete.confirm.selected": "Anda yakin menghapus blok yang dipilih?",
"field.blocks.empty": "Belum ada blok",
"field.blocks.fieldsets.label": "Pilih tipe blok …",
"field.blocks.gallery.name": "Galeri",
"field.blocks.gallery.images.empty": "Belum ada gambar",
"field.blocks.gallery.images.label": "Gambar",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Penajukan",
"field.blocks.heading.text": "Teks",
"field.blocks.heading.placeholder": "Penajukan …",
"field.blocks.image.alt": "Teks alternatif",
"field.blocks.image.caption": "Keterangan",
"field.blocks.image.crop": "Pangkas",
"field.blocks.image.link": "Tautan",
"field.blocks.image.location": "Lokasi",
"field.blocks.image.name": "Gambar",
"field.blocks.image.placeholder": "Pilih gambar",
"field.blocks.image.ratio": "Rasio",
"field.blocks.list.name": "Daftar",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Teks",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Kutipan",
"field.blocks.quote.text.label": "Teks",
"field.blocks.quote.text.placeholder": "Kutipan …",
"field.blocks.quote.citation.label": "Sitasi",
"field.blocks.quote.citation.placeholder": "oleh …",
"field.blocks.text.name": "Teks",
"field.blocks.text.placeholder": "Teks …",
"field.blocks.video.caption": "Deskripsi",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Masukkan URL video",
"field.blocks.video.url.label": "URL Video",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Belum ada berkas yang dipilih", "field.files.empty": "Belum ada berkas yang dipilih",
"field.layout.delete": "Hapus tata letak",
"field.layout.delete.confirm": "Anda yakin menghapus tata letak ini?",
"field.layout.empty": "Belum ada baris",
"field.layout.select": "Pilih tata letak",
"field.pages.empty": "Belum ada halaman yang dipilih", "field.pages.empty": "Belum ada halaman yang dipilih",
"field.structure.delete.confirm": "Anda yakin menghapus baris ini?", "field.structure.delete.confirm": "Anda yakin menghapus baris ini?",
"field.structure.empty": "Belum ada entri", "field.structure.empty": "Belum ada entri",
"field.users.empty": "Belum ada pengguna yang dipilih", "field.users.empty": "Belum ada pengguna yang dipilih",
"file.blueprint": "Berkas ini belum memiliki cetak biru. Anda dapat mendefinisikannya di <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Anda yakin menghapus <br> <strong>{filename}</strong>?", "file.delete.confirm": "Anda yakin menghapus <br> <strong>{filename}</strong>?",
"file.sort": "Ubah posisi",
"files": "Berkas", "files": "Berkas",
"files.empty": "Belum ada berkas", "files.empty": "Belum ada berkas",
"hide": "Sembunyikan",
"hour": "Jam", "hour": "Jam",
"insert": "Sisipkan", "insert": "Sisipkan",
"insert.after": "Sisipkan setelah",
"insert.before": "Sisipkan sebelum",
"install": "Pasang", "install": "Pasang",
"installation": "Pemasangan", "installation": "Pemasangan",
@@ -258,7 +326,20 @@
"lock.isUnlocked": "Perubahan Anda yang belum tersimpan telah terubah oleh pengguna lain. Anda dapat mengunduh perubahan Anda untuk menggabungkannya manual.", "lock.isUnlocked": "Perubahan Anda yang belum tersimpan telah terubah oleh pengguna lain. Anda dapat mengunduh perubahan Anda untuk menggabungkannya manual.",
"login": "Masuk", "login": "Masuk",
"login.code.label.login": "Kode masuk",
"login.code.label.password-reset": "Kode atur ulang sandi",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "Jika alamat surel terdaftar, kode yang diminta dikirim via surel",
"login.email.login.body": "Hai {user.nameOrEmail},\n\nAnda baru saja meminta kode masuk untuk Kirby Panel.\nKode masuk berikut valid selama {timeout} menit:\n\n{code}\n\nJika Anda tidak meminta kode masuk, abaikan surel ini atau hubungi admin apabila ada yang ingin ditanyakan.\nUntuk alasan keamanan, JANGAN teruskan surel ini.",
"login.email.login.subject": "Kode masuk Anda",
"login.email.password-reset.body": "Hai {user.nameOrEmail},\n\nAnda baru saja meminta kode atur ulang sandi untuk Kirby Panel.\nKode atur ulang sandi berikut valid selama {timeout} menit:\n\n{code}\n\nJika Anda tidak meminta kode atur ulang sandi, abaikan surel ini atau hubungi admin apabila ada yang ingin ditanyakan.\nUntuk alasan keamanan, JANGAN teruskan surel ini.",
"login.email.password-reset.subject": "Kode atur ulang sandi Anda",
"login.remember": "Biarkan tetap masuk", "login.remember": "Biarkan tetap masuk",
"login.reset": "Atur ulang sandi",
"login.toggleText.code.email": "Masuk via surel",
"login.toggleText.code.email-password": "Masuk dengan sandi",
"login.toggleText.password-reset.email": "Lupa sandi Anda?",
"login.toggleText.password-reset.email-password": "← Kembali ke masuk",
"logout": "Keluar", "logout": "Keluar",
@@ -288,12 +369,14 @@
"on": "hidup", "on": "hidup",
"open": "Buka", "open": "Buka",
"options": "Opsi", "options": "Opsi",
"options.none": "Tidak ada opsi",
"orientation": "Orientasi", "orientation": "Orientasi",
"orientation.landscape": "Rebah", "orientation.landscape": "Rebah",
"orientation.portrait": "Tegak", "orientation.portrait": "Tegak",
"orientation.square": "Persegi", "orientation.square": "Persegi",
"page.blueprint": "Halaman ini belum memiliki cetak biru. Anda dapat mendefinisikannya di <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Ubah URL", "page.changeSlug": "Ubah URL",
"page.changeSlug.fromTitle": "Buat dari judul", "page.changeSlug.fromTitle": "Buat dari judul",
"page.changeStatus": "Ubah status", "page.changeStatus": "Ubah status",
@@ -307,6 +390,7 @@
"page.duplicate.appendix": "Salin", "page.duplicate.appendix": "Salin",
"page.duplicate.files": "Salin berkas", "page.duplicate.files": "Salin berkas",
"page.duplicate.pages": "Salin halaman", "page.duplicate.pages": "Salin halaman",
"page.sort": "Ubah posisi",
"page.status": "Status", "page.status": "Status",
"page.status.draft": "Draf", "page.status.draft": "Draf",
"page.status.draft.description": "Halaman ini ada pada mode draf dan hanya dapat dilihat oleh penyunting atau via tautan rahasia", "page.status.draft.description": "Halaman ini ada pada mode draf dan hanya dapat dilihat oleh penyunting atau via tautan rahasia",
@@ -326,6 +410,7 @@
"password": "Sandi", "password": "Sandi",
"pixel": "Piksel", "pixel": "Piksel",
"prev": "Sebelumnya", "prev": "Sebelumnya",
"preview": "Pratinjau",
"remove": "Hapus", "remove": "Hapus",
"rename": "Ubah nama", "rename": "Ubah nama",
"replace": "Ganti", "replace": "Ganti",
@@ -344,11 +429,15 @@
"save": "Simpan", "save": "Simpan",
"search": "Cari", "search": "Cari",
"search.min": "Masukkan {min} karakter untuk mencari",
"search.all": "Tampilkan semua",
"search.results.none": "Tidak ada hasil",
"section.required": "Bagian ini wajib", "section.required": "Bagian ini wajib",
"select": "Pilih", "select": "Pilih",
"settings": "Pengaturan", "settings": "Pengaturan",
"show": "Tampilkan",
"size": "Ukuran", "size": "Ukuran",
"slug": "Akhiran URL", "slug": "Akhiran URL",
"sort": "Urutkan", "sort": "Urutkan",
@@ -356,6 +445,8 @@
"template": "Templat", "template": "Templat",
"today": "Hari ini", "today": "Hari ini",
"site.blueprint": "Situs ini belum memiliki cetak biru. Anda dapat mendefinisikannya di <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Kode", "toolbar.button.code": "Kode",
"toolbar.button.bold": "Tebal", "toolbar.button.bold": "Tebal",
"toolbar.button.email": "Surel", "toolbar.button.email": "Surel",
@@ -414,6 +505,7 @@
"view.account": "Akun Anda", "view.account": "Akun Anda",
"view.installation": "Pemasangan", "view.installation": "Pemasangan",
"view.resetPassword": "Atur ulang sandi",
"view.settings": "Pengaturan", "view.settings": "Pengaturan",
"view.site": "Situs", "view.site": "Situs",
"view.users": "Pengguna", "view.users": "Pengguna",

View File

@@ -6,6 +6,8 @@
"change": "Cambia", "change": "Cambia",
"close": "Chiudi", "close": "Chiudi",
"confirm": "OK", "confirm": "OK",
"collapse": "Comprimi",
"collapse.all": "Comprimi tutto",
"copy": "Copia", "copy": "Copia",
"create": "Crea", "create": "Crea",
@@ -22,12 +24,15 @@
"days.wed": "Me", "days.wed": "Me",
"delete": "Elimina", "delete": "Elimina",
"delete.all": "Elimina tutti",
"dimensions": "Dimensioni", "dimensions": "Dimensioni",
"disabled": "Disabled", "disabled": "Disabilitato",
"discard": "Abbandona", "discard": "Abbandona",
"download": "Scarica", "download": "Scarica",
"duplicate": "Duplica", "duplicate": "Duplica",
"edit": "Modifica", "edit": "Modifica",
"expand": "Espandi",
"expand.all": "Espandi tutto",
"dialog.files.empty": "Nessun file selezionabile", "dialog.files.empty": "Nessun file selezionabile",
"dialog.pages.empty": "Nessuna pagina selezionabile", "dialog.pages.empty": "Nessuna pagina selezionabile",
@@ -36,9 +41,10 @@
"email": "Email", "email": "Email",
"email.placeholder": "mail@esempio.com", "email.placeholder": "mail@esempio.com",
"error.access.code": "Codice non valido",
"error.access.login": "Login Invalido", "error.access.login": "Login Invalido",
"error.access.panel": "Non ti è permesso accedere al pannello", "error.access.panel": "Non ti è permesso accedere al pannello",
"error.access.view": "You are not allowed to access this part of the panel", "error.access.view": "Non ti è permesso accedere a questa parte del pannello",
"error.avatar.create.fail": "Non è stato possibile caricare l'immagine del profilo", "error.avatar.create.fail": "Non è stato possibile caricare l'immagine del profilo",
"error.avatar.delete.fail": "Non è stato possibile eliminare l'immagine del profilo", "error.avatar.delete.fail": "Non è stato possibile eliminare l'immagine del profilo",
@@ -47,28 +53,34 @@
"error.blueprint.notFound": "Non è stato possibile caricare il blueprint \"{name}\"", "error.blueprint.notFound": "Non è stato possibile caricare il blueprint \"{name}\"",
"error.blocks.max.plural": "Non puoi aggiungere più di {max} blocchi",
"error.blocks.max.singular": "Non puoi aggiungere più di un blocco",
"error.blocks.min.plural": "Devi aggiungere almeno {min} blocchi",
"error.blocks.min.singular": "Devi aggiungere almeno un blocco",
"error.blocks.validation": "C'è un errore nel blocco {index}",
"error.email.preset.notFound": "Non è stato possibile trovare il preset email \"{name}\"", "error.email.preset.notFound": "Non è stato possibile trovare il preset email \"{name}\"",
"error.field.converter.invalid": "Convertitore \"{converter}\" non valido", "error.field.converter.invalid": "Convertitore \"{converter}\" non valido",
"error.file.changeName.empty": "The name must not be empty", "error.file.changeName.empty": "Il nome non dev'essere vuoto",
"error.file.changeName.permission": "Non ti è permesso modificare il nome di \"{filename}\"", "error.file.changeName.permission": "Non ti è permesso modificare il nome di \"{filename}\"",
"error.file.duplicate": "Un file con il nome \"{filename}\" esiste già", "error.file.duplicate": "Un file con il nome \"{filename}\" esiste già",
"error.file.extension.forbidden": "L'estensione \"{extension}\" non è consentita", "error.file.extension.forbidden": "L'estensione \"{extension}\" non è consentita",
"error.file.extension.missing": "Il file \"{filename}\" non ha estensione", "error.file.extension.missing": "Il file \"{filename}\" non ha estensione",
"error.file.maxheight": "The height of the image must not exceed {height} pixels", "error.file.maxheight": "L'immagine non dev'essere più alta di {height} pixel",
"error.file.maxsize": "The file is too large", "error.file.maxsize": "Il file è troppo pesante",
"error.file.maxwidth": "The width of the image must not exceed {width} pixels", "error.file.maxwidth": "L'immagine non dev'essere più larga di {width} pixel",
"error.file.mime.differs": "Il file caricato dev'essere dello stesso MIME type \"{mime}\"", "error.file.mime.differs": "Il file caricato dev'essere dello stesso MIME type \"{mime}\"",
"error.file.mime.forbidden": "Il MIME type \"{mime}\" non è consentito", "error.file.mime.forbidden": "Il MIME type \"{mime}\" non è consentito",
"error.file.mime.invalid": "Invalid mime type: {mime}", "error.file.mime.invalid": "Tipo mime non valido: {mime}",
"error.file.mime.missing": "Il MIME type per \"{filename}\" non può essere rilevato", "error.file.mime.missing": "Il MIME type per \"{filename}\" non può essere rilevato",
"error.file.minheight": "The height of the image must be at least {height} pixels", "error.file.minheight": "L'immagine dev'essere alta almeno {height} pixel",
"error.file.minsize": "The file is too small", "error.file.minsize": "Il file è troppo leggero",
"error.file.minwidth": "The width of the image must be at least {width} pixels", "error.file.minwidth": "L'immagine dev'essere larga almeno {height} pixel",
"error.file.name.missing": "Il nome del file non può essere vuoto", "error.file.name.missing": "Il nome del file non può essere vuoto",
"error.file.notFound": "Il file non \u00e8 stato trovato", "error.file.notFound": "Il file non \u00e8 stato trovato",
"error.file.orientation": "The orientation of the image must be \"{orientation}\"", "error.file.orientation": "L'imaggine dev'essere orientata in \"{orientation}\"",
"error.file.type.forbidden": "Non ti è permesso caricare file {type}", "error.file.type.forbidden": "Non ti è permesso caricare file {type}",
"error.file.undefined": "Il file non \u00e8 stato trovato", "error.file.undefined": "Il file non \u00e8 stato trovato",
@@ -102,7 +114,7 @@
"error.page.notFound": "La pagina \"{slug}\" non è stata trovata", "error.page.notFound": "La pagina \"{slug}\" non è stata trovata",
"error.page.num.invalid": "Inserisci un numero di ordinamento valido. I numeri non devono essere negativi", "error.page.num.invalid": "Inserisci un numero di ordinamento valido. I numeri non devono essere negativi",
"error.page.slug.invalid": "Inserisci un prefisso URL valido", "error.page.slug.invalid": "Inserisci un prefisso URL valido",
"error.page.slug.maxlength": "Slug length must be less than \"{length}\" characters", "error.page.slug.maxlength": "Lo \"slug\" dev'essere più corto di \"{length}\" caratteri",
"error.page.sort.permission": "La pagina \"{slug}\" non può essere ordinata", "error.page.sort.permission": "La pagina \"{slug}\" non può essere ordinata",
"error.page.status.invalid": "Imposta uno stato valido per la pagina", "error.page.status.invalid": "Imposta uno stato valido per la pagina",
"error.page.undefined": "La pagina non \u00e8 stata trovata", "error.page.undefined": "La pagina non \u00e8 stata trovata",
@@ -133,7 +145,7 @@
"error.user.changePassword.permission": "Non ti è permesso modificare la password dell'utente \"{name}\"", "error.user.changePassword.permission": "Non ti è permesso modificare la password dell'utente \"{name}\"",
"error.user.changeRole.lastAdmin": "Il ruolo dell'ultimo amministratore non può esser cambiato", "error.user.changeRole.lastAdmin": "Il ruolo dell'ultimo amministratore non può esser cambiato",
"error.user.changeRole.permission": "Non ti è permesso modificare il ruolo dell'utente \"{name}\"", "error.user.changeRole.permission": "Non ti è permesso modificare il ruolo dell'utente \"{name}\"",
"error.user.changeRole.toAdmin": "You are not allowed to promote someone to the admin role", "error.user.changeRole.toAdmin": "Non ti è permesso assegnare il ruolo di amministratore ad altri utenti",
"error.user.create.permission": "Non ti è permesso creare questo utente", "error.user.create.permission": "Non ti è permesso creare questo utente",
"error.user.delete": "L'utente non pu\u00f2 essere eliminato", "error.user.delete": "L'utente non pu\u00f2 essere eliminato",
"error.user.delete.lastAdmin": "L'ultimo amministratore non può essere eliminato", "error.user.delete.lastAdmin": "L'ultimo amministratore non può essere eliminato",
@@ -185,22 +197,77 @@
"error.validation.size": "La dimensione del valore dev'essere \"{size}\"", "error.validation.size": "La dimensione del valore dev'essere \"{size}\"",
"error.validation.startswith": "Il valore deve iniziare con \"{start}\"", "error.validation.startswith": "Il valore deve iniziare con \"{start}\"",
"error.validation.time": "Inserisci un orario valido", "error.validation.time": "Inserisci un orario valido",
"error.validation.time.after": "Inserisci un orario dopo le {time}",
"error.validation.time.before": "Inserisci un orario prima delle {time}",
"error.validation.time.between": "Inserisci un orario tra le {min} e le {max}",
"error.validation.url": "Inserisci un URL valido", "error.validation.url": "Inserisci un URL valido",
"field.required": "The field is required", "field.required": "Il campo è obbligatorio",
"field.blocks.changeType": "Cambia tipo",
"field.blocks.code.name": "Codice",
"field.blocks.code.language": "Lingua",
"field.blocks.code.placeholder": "Il tuo codice …",
"field.blocks.delete.confirm": "Vuoi veramente eliminare questo blocco?",
"field.blocks.delete.confirm.all": "Vuoi veramente eliminare tutti i blocchi? ",
"field.blocks.delete.confirm.selected": "Vuoi veramente eliminare i blocchi selezionati?",
"field.blocks.empty": "Nessun blocco inserito",
"field.blocks.fieldsets.label": "Seleziona il tipo di blocco …",
"field.blocks.gallery.name": "Galleria",
"field.blocks.gallery.images.empty": "Nessuna immagine inserita",
"field.blocks.gallery.images.label": "Immagini",
"field.blocks.heading.level": "Livello",
"field.blocks.heading.name": "Titolo",
"field.blocks.heading.text": "Testo",
"field.blocks.heading.placeholder": "Titolo …",
"field.blocks.image.alt": "Testo alternativo",
"field.blocks.image.caption": "Didascalia",
"field.blocks.image.crop": "Ritaglio",
"field.blocks.image.link": "Link",
"field.blocks.image.location": "Posizione",
"field.blocks.image.name": "Immagine",
"field.blocks.image.placeholder": "Seleziona un'immagine",
"field.blocks.image.ratio": "Rapporto",
"field.blocks.list.name": "Lista",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Testo",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Citazione",
"field.blocks.quote.text.label": "Testo",
"field.blocks.quote.text.placeholder": "Citazione …",
"field.blocks.quote.citation.label": "Fonte",
"field.blocks.quote.citation.placeholder": "di …",
"field.blocks.text.name": "Testo",
"field.blocks.text.placeholder": "Testo …",
"field.blocks.video.caption": "Didascalia",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Inserisci un URL di un video",
"field.blocks.video.url.label": "URL Video",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Nessun file selezionato", "field.files.empty": "Nessun file selezionato",
"field.layout.delete": "Elimina layout",
"field.layout.delete.confirm": "Vuoi veramente eliminare questo layout?",
"field.layout.empty": "Nessuna riga inserita",
"field.layout.select": "Scegli un layout",
"field.pages.empty": "Nessuna pagina selezionata", "field.pages.empty": "Nessuna pagina selezionata",
"field.structure.delete.confirm": "Vuoi veramente eliminare questo elemento?", "field.structure.delete.confirm": "Vuoi veramente eliminare questo elemento?",
"field.structure.empty": "Non ci sono ancora elementi.", "field.structure.empty": "Non ci sono ancora elementi.",
"field.users.empty": "Nessun utente selezionato", "field.users.empty": "Nessun utente selezionato",
"file.blueprint": "Questo file non ha ancora un \"blueprint\". Puoi impostarne uno in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Sei sicuro di voler eliminare questo file?", "file.delete.confirm": "Sei sicuro di voler eliminare questo file?",
"file.sort": "Cambia posizione",
"files": "Files", "files": "Files",
"files.empty": "Nessun file caricato", "files.empty": "Nessun file caricato",
"hide": "Nascondi",
"hour": "Ora", "hour": "Ora",
"insert": "Inserisci", "insert": "Inserisci",
"insert.after": "Inserisci dopo",
"insert.before": "Inserisci prima",
"install": "Installa", "install": "Installa",
"installation": "Installazione", "installation": "Installazione",
@@ -251,7 +318,7 @@
"loading": "Caricamento", "loading": "Caricamento",
"lock.unsaved": "Modifiche non salvate", "lock.unsaved": "Modifiche non salvate",
"lock.unsaved.empty": "There are no more unsaved changes", "lock.unsaved.empty": "Non ci sono altre modifiche non salvate",
"lock.isLocked": "Modifiche non salvate di <strong>{email}</strong>", "lock.isLocked": "Modifiche non salvate di <strong>{email}</strong>",
"lock.file.isLocked": "Il file viene attualmente modificato da {email} e non può essere cambiato.", "lock.file.isLocked": "Il file viene attualmente modificato da {email} e non può essere cambiato.",
"lock.page.isLocked": "la pagina viene attualmente modificata da {email} e non può essere cambiata.", "lock.page.isLocked": "la pagina viene attualmente modificata da {email} e non può essere cambiata.",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Un altro utente ha sovrascritto le tue modifiche non salvate. Puoi scaricarle per recuperarle e quindi incorporarle manualmente. ", "lock.isUnlocked": "Un altro utente ha sovrascritto le tue modifiche non salvate. Puoi scaricarle per recuperarle e quindi incorporarle manualmente. ",
"login": "Accedi", "login": "Accedi",
"login.code.label.login": "Codice di accesso",
"login.code.label.password-reset": "Codice per reimpostare la password",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "Qualora il tuo indirizzo email fosse registrato, il codice richiesto è stato inviato tramite email.",
"login.email.login.body": "Ciao {user.nameOrEmail},\n\nHai recentemente richiesto un codice di accesso per il pannello Kirby.\nIl seguente codice sarà valido per {timeout} minuti:\n\n{code}\n\nSe non hai richiesto un codice di accesso, per favore ignora questa email o contatta il tuo amministratore se hai domande. \nPer motivi di sicurezza, per favore NON inoltrare questa email.",
"login.email.login.subject": "Il tuo codice di accesso",
"login.email.password-reset.body": "Ciao {user.nameOrEmail},\n\nHai recentemente richiesto un codice per reimpostare la tua password per il pannello Kirby.\nIl seguente codice sarà valido per {timeout} minuti:\n\n{code}\n\nSe non hai richiesto questo codice, per favore ignora questa email o contatta il tuo amministratore se hai domande. \nPer motivi di sicurezza, per favore NON inoltrare questa email.",
"login.email.password-reset.subject": "Il tuo codice di reimpostazione della password",
"login.remember": "Resta collegato", "login.remember": "Resta collegato",
"login.reset": "Reimposta la password",
"login.toggleText.code.email": "Accedi tramite email",
"login.toggleText.code.email-password": "Accedi con la password",
"login.toggleText.password-reset.email": "Hai dimenticato la password?",
"login.toggleText.password-reset.email-password": "← Torna al login",
"logout": "Esci", "logout": "Esci",
@@ -289,13 +369,14 @@
"on": "on", "on": "on",
"open": "Apri", "open": "Apri",
"options": "Opzioni", "options": "Opzioni",
"options.none": "No options", "options.none": "Nessuna opzione",
"orientation": "Orientamento", "orientation": "Orientamento",
"orientation.landscape": "Panorama", "orientation.landscape": "Orizzontale",
"orientation.portrait": "Ritratto", "orientation.portrait": "Verticale",
"orientation.square": "Quadrato", "orientation.square": "Quadrato",
"page.blueprint": "Questa pagina non ha ancora un \"blueprint\". Puoi impostarne uno in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Modifica URL", "page.changeSlug": "Modifica URL",
"page.changeSlug.fromTitle": "Crea in base al titolo", "page.changeSlug.fromTitle": "Crea in base al titolo",
"page.changeStatus": "Cambia stato", "page.changeStatus": "Cambia stato",
@@ -309,9 +390,10 @@
"page.duplicate.appendix": "Copia", "page.duplicate.appendix": "Copia",
"page.duplicate.files": "Copia file", "page.duplicate.files": "Copia file",
"page.duplicate.pages": "Copia pagine", "page.duplicate.pages": "Copia pagine",
"page.sort": "Cambia posizione",
"page.status": "Stato", "page.status": "Stato",
"page.status.draft": "Bozza", "page.status.draft": "Bozza",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "Questa pagina è una bozza ed è visibile soltanto agli utenti registrati o tramite link segreto",
"page.status.listed": "Pubblico", "page.status.listed": "Pubblico",
"page.status.listed.description": "La pagina è pubblicata per tutti", "page.status.listed.description": "La pagina è pubblicata per tutti",
"page.status.unlisted": "Non in elenco", "page.status.unlisted": "Non in elenco",
@@ -328,12 +410,13 @@
"password": "Password", "password": "Password",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Precedente", "prev": "Precedente",
"preview": "Anteprima",
"remove": "Rimuovi", "remove": "Rimuovi",
"rename": "Rinomina", "rename": "Rinomina",
"replace": "Sostituisci", "replace": "Sostituisci",
"retry": "Riprova", "retry": "Riprova",
"revert": "Abbandona", "revert": "Abbandona",
"revert.confirm": "Do you really want to <strong>delete all unsaved changes</strong>?", "revert.confirm": "Sei sicuro di voler <strong>cancellare tutte le modifiche non salvate</strong>?",
"role": "Ruolo", "role": "Ruolo",
"role.admin.description": "L'amministratore ha tutti i permessi", "role.admin.description": "L'amministratore ha tutti i permessi",
@@ -346,14 +429,15 @@
"save": "Salva", "save": "Salva",
"search": "Cerca", "search": "Cerca",
"search.min": "Enter {min} characters to search", "search.min": "Inserisci almeno {min} caratteri per la ricerca",
"search.all": "Show all", "search.all": "Mostra tutti",
"search.results.none": "No results", "search.results.none": "Nessun risultato",
"section.required": "The section is required", "section.required": "La sezione è obbligatoria",
"select": "Seleziona", "select": "Seleziona",
"settings": "Impostazioni", "settings": "Impostazioni",
"show": "Mostra",
"size": "Dimensioni", "size": "Dimensioni",
"slug": "URL", "slug": "URL",
"sort": "Ordina", "sort": "Ordina",
@@ -361,6 +445,8 @@
"template": "Template", "template": "Template",
"today": "Oggi", "today": "Oggi",
"site.blueprint": "Il sito non ha ancora un \"blueprint\". Puoi impostarne uno in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Codice", "toolbar.button.code": "Codice",
"toolbar.button.bold": "Grassetto", "toolbar.button.bold": "Grassetto",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -382,17 +468,17 @@
"translation.locale": "it_IT", "translation.locale": "it_IT",
"upload": "Carica", "upload": "Carica",
"upload.error.cantMove": "The uploaded file could not be moved", "upload.error.cantMove": "Non è stato possibile spostare il file caricato",
"upload.error.cantWrite": "Failed to write file to disk", "upload.error.cantWrite": "Impossibile scrivere il file su disco",
"upload.error.default": "The file could not be uploaded", "upload.error.default": "Impossibile caricare il file",
"upload.error.extension": "File upload stopped by extension", "upload.error.extension": "Caricamento del file interrotto per via dell'estensione",
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form", "upload.error.formSize": "La dimensione del file caricato supera la direttiva MAX_FILE_SIZE specificata nel form",
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini", "upload.error.iniPostSize": "La dimensione del file caricato supera la direttiva post_max_size specificata in php.ini",
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini", "upload.error.iniSize": "La dimensione del file caricato supera la direttiva upload_max_filesize specificata in php.ini",
"upload.error.noFile": "No file was uploaded", "upload.error.noFile": "Il file non è stato caricato",
"upload.error.noFiles": "No files were uploaded", "upload.error.noFiles": "Nessun file è stato caricato",
"upload.error.partial": "The uploaded file was only partially uploaded", "upload.error.partial": "Il file è stato caricato solo parzialmente",
"upload.error.tmpDir": "Missing a temporary folder", "upload.error.tmpDir": "Manca la cartella temporanea",
"upload.errors": "Errore", "upload.errors": "Errore",
"upload.progress": "Caricamento...", "upload.progress": "Caricamento...",
@@ -411,7 +497,7 @@
"user.changeRole.select": "Seleziona un nuovo ruolo", "user.changeRole.select": "Seleziona un nuovo ruolo",
"user.create": "Aggiungi nuovo utente", "user.create": "Aggiungi nuovo utente",
"user.delete": "Elimina questo utente", "user.delete": "Elimina questo utente",
"user.delete.confirm": "Sei sicuro di voler eliminare questo utente?", "user.delete.confirm": "Sei sicuro di voler eliminare l'utente <br><strong>{email}</strong>?",
"users": "Utenti", "users": "Utenti",
@@ -419,6 +505,7 @@
"view.account": "Il tuo account", "view.account": "Il tuo account",
"view.installation": "Installazione", "view.installation": "Installazione",
"view.resetPassword": "Reimposta la password",
"view.settings": "Impostazioni", "view.settings": "Impostazioni",
"view.site": "Sito", "view.site": "Sito",
"view.users": "Utenti", "view.users": "Utenti",

View File

@@ -6,11 +6,13 @@
"change": "\ubcc0\uacbd", "change": "\ubcc0\uacbd",
"close": "\ub2eb\uae30", "close": "\ub2eb\uae30",
"confirm": "확인", "confirm": "확인",
"collapse": "접기",
"collapse.all": "모두 접기",
"copy": "복사", "copy": "복사",
"create": "등록", "create": "등록",
"date": "날짜", "date": "날짜",
"date.select": "날짜 선택", "date.select": "날짜 지정",
"day": "일", "day": "일",
"days.fri": "\uae08", "days.fri": "\uae08",
@@ -22,12 +24,15 @@
"days.wed": "\uc218", "days.wed": "\uc218",
"delete": "\uc0ad\uc81c", "delete": "\uc0ad\uc81c",
"delete.all": "모두 삭제",
"dimensions": "크기", "dimensions": "크기",
"disabled": "비활성화", "disabled": "비활성화",
"discard": "무시", "discard": "무시",
"download": "다운로드", "download": "다운로드",
"duplicate": "복제", "duplicate": "복제",
"edit": "\ud3b8\uc9d1", "edit": "\ud3b8\uc9d1",
"expand": "열기",
"expand.all": "모두 열기",
"dialog.files.empty": "선택한 파일이 없습니다.", "dialog.files.empty": "선택한 파일이 없습니다.",
"dialog.pages.empty": "선택한 페이지가 없습니다.", "dialog.pages.empty": "선택한 페이지가 없습니다.",
@@ -36,6 +41,7 @@
"email": "\uc774\uba54\uc77c \uc8fc\uc18c", "email": "\uc774\uba54\uc77c \uc8fc\uc18c",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "코드가 올바르지 않습니다.",
"error.access.login": "로그인할 수 없습니다.", "error.access.login": "로그인할 수 없습니다.",
"error.access.panel": "패널에 접근할 권한이 없습니다.", "error.access.panel": "패널에 접근할 권한이 없습니다.",
"error.access.view": "패널에 접근할 권한이 없습니다.", "error.access.view": "패널에 접근할 권한이 없습니다.",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "블루프린트({name})를 확인할 수 없습니다.", "error.blueprint.notFound": "블루프린트({name})를 확인할 수 없습니다.",
"error.blocks.max.plural": "블록을 {max}개 이상 추가할 수 없습니다.",
"error.blocks.max.singular": "블록을 하나 이상 추가할 수 없습니다.",
"error.blocks.min.plural": "블록을 {min}개 이상 추가하세요.",
"error.blocks.min.singular": "블록을 하나 이상 추가하세요.",
"error.blocks.validation": "블록({index})이 올바르지 않습니다.",
"error.email.preset.notFound": "기본 이메일 주소({name})가 없습니다.", "error.email.preset.notFound": "기본 이메일 주소({name})가 없습니다.",
"error.field.converter.invalid": "컨버터({converter})가 올바르지 않습니다.", "error.field.converter.invalid": "컨버터({converter})가 올바르지 않습니다.",
@@ -101,8 +113,8 @@
"error.page.duplicate.permission": "페이지({slug})를 복제할 권한이 없습니다.", "error.page.duplicate.permission": "페이지({slug})를 복제할 권한이 없습니다.",
"error.page.notFound": "페이지({slug})가 없습니다.", "error.page.notFound": "페이지({slug})가 없습니다.",
"error.page.num.invalid": "올바른 정수를 입력하세요.", "error.page.num.invalid": "올바른 정수를 입력하세요.",
"error.page.slug.invalid": "올바른 접두를 입력하세요.", "error.page.slug.invalid": "올바른 접두를 입력하세요.",
"error.page.slug.maxlength": "{length}자 이하로 지정하세요.", "error.page.slug.maxlength": "{length}자 이하로 고유 주소를 입력하세요.",
"error.page.sort.permission": "페이지({slug})를 정렬할 수 없습니다.", "error.page.sort.permission": "페이지({slug})를 정렬할 수 없습니다.",
"error.page.status.invalid": "올바른 상태를 설정하세요.", "error.page.status.invalid": "올바른 상태를 설정하세요.",
"error.page.undefined": "\ud398\uc774\uc9c0\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.", "error.page.undefined": "\ud398\uc774\uc9c0\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.",
@@ -146,7 +158,7 @@
"error.user.password.invalid": "암호를 8자 이상으로 설정하세요.", "error.user.password.invalid": "암호를 8자 이상으로 설정하세요.",
"error.user.password.notSame": "\uc554\ud638\ub97c \ud655\uc778\ud558\uc138\uc694.", "error.user.password.notSame": "\uc554\ud638\ub97c \ud655\uc778\ud558\uc138\uc694.",
"error.user.password.undefined": "암호가 설정되지 않았습니다.", "error.user.password.undefined": "암호가 설정되지 않았습니다.",
"error.user.role.invalid": "올바른 역할을 입력하세요.", "error.user.role.invalid": "올바른 역할을 지정하세요.",
"error.user.update.permission": "사용자({name})의 정보를 변경할 권한이 없습니다.", "error.user.update.permission": "사용자({name})의 정보를 변경할 권한이 없습니다.",
"error.validation.accepted": "확인하세요.", "error.validation.accepted": "확인하세요.",
@@ -154,7 +166,7 @@
"error.validation.alphanum": "로마자(a~z) 또는 숫자(0~9)만 입력할 수 있습니다.", "error.validation.alphanum": "로마자(a~z) 또는 숫자(0~9)만 입력할 수 있습니다.",
"error.validation.between": "{min}, {max} 사이의 값을 입력하세요.", "error.validation.between": "{min}, {max} 사이의 값을 입력하세요.",
"error.validation.boolean": "확인하거나 취소하세요.", "error.validation.boolean": "확인하거나 취소하세요.",
"error.validation.contains": "다음을 포함 값을 입력하세요: {needle}", "error.validation.contains": "{needle}에 포함 값을 입력하세요.",
"error.validation.date": "올바른 날짜를 입력하세요.", "error.validation.date": "올바른 날짜를 입력하세요.",
"error.validation.date.after": "{date} 이후 날짜를 입력하세요.", "error.validation.date.after": "{date} 이후 날짜를 입력하세요.",
"error.validation.date.before": "{date} 이전 날짜를 입력하세요.", "error.validation.date.before": "{date} 이전 날짜를 입력하세요.",
@@ -164,7 +176,7 @@
"error.validation.email": "올바른 이메일 주소를 입력하세요.", "error.validation.email": "올바른 이메일 주소를 입력하세요.",
"error.validation.endswith": "값은 다음으로 끝나야 합니다: {end}", "error.validation.endswith": "값은 다음으로 끝나야 합니다: {end}",
"error.validation.filename": "올바른 파일명을 입력하세요.", "error.validation.filename": "올바른 파일명을 입력하세요.",
"error.validation.in": "다음 중 하나를 입력하세요: {in}", "error.validation.in": "{in} 중 하나를 입력하세요.",
"error.validation.integer": "올바른 정수를 입력하세요.", "error.validation.integer": "올바른 정수를 입력하세요.",
"error.validation.ip": "올바른 IP 주소를 입력하세요.", "error.validation.ip": "올바른 IP 주소를 입력하세요.",
"error.validation.less": "{max} 미만의 값을 입력하세요.", "error.validation.less": "{max} 미만의 값을 입력하세요.",
@@ -181,26 +193,81 @@
"error.validation.option": "올바른 옵션을 선택하세요.", "error.validation.option": "올바른 옵션을 선택하세요.",
"error.validation.num": "올바른 숫자를 입력하세요.", "error.validation.num": "올바른 숫자를 입력하세요.",
"error.validation.required": "해당 항목을 확인하세요.", "error.validation.required": "해당 항목을 확인하세요.",
"error.validation.same": "다음을 입력하세요: {other}", "error.validation.same": "이 값({other})을 입력하세요.",
"error.validation.size": "값의 크기는 다음과 같아야 합니다: {size}", "error.validation.size": "값의 크기({size})를 확인하세요. ",
"error.validation.startswith": "값은 다음으로 시작해야 합니다: {start}", "error.validation.startswith": "값은 다음으로 시작해야 합니다: {start}",
"error.validation.time": "올바른 시각을 입력하세요.", "error.validation.time": "올바른 시각을 입력하세요.",
"error.validation.time.after": "{time} 이후 시각을 입력하세요.",
"error.validation.time.before": "{time} 이전 시각을 입력하세요.",
"error.validation.time.between": "{min}, {max} 사이의 시각을 입력하세요.",
"error.validation.url": "올바른 URL을 입력하세요.", "error.validation.url": "올바른 URL을 입력하세요.",
"field.required": "필드를 채우세요.", "field.required": "필드를 채우세요.",
"field.blocks.changeType": "유형 변경",
"field.blocks.code.name": "언어 코드",
"field.blocks.code.language": "언어",
"field.blocks.code.placeholder": "코드 …",
"field.blocks.delete.confirm": "블록을 삭제할까요?",
"field.blocks.delete.confirm.all": "모든 블록을 삭제할까요?",
"field.blocks.delete.confirm.selected": "선택한 블록을 삭제할까요?",
"field.blocks.empty": "블록이 없습니다.",
"field.blocks.fieldsets.label": "블록의 유형을 선택하세요.",
"field.blocks.gallery.name": "갤러리",
"field.blocks.gallery.images.empty": "이미지가 없습니다.",
"field.blocks.gallery.images.label": "이미지",
"field.blocks.heading.level": "단계",
"field.blocks.heading.name": "제목",
"field.blocks.heading.text": "텍스트",
"field.blocks.heading.placeholder": "제목 …",
"field.blocks.image.alt": "대체 텍스트",
"field.blocks.image.caption": "캡션",
"field.blocks.image.crop": "자르기",
"field.blocks.image.link": "링크",
"field.blocks.image.location": "위치",
"field.blocks.image.name": "이미지",
"field.blocks.image.placeholder": "이미지 선택",
"field.blocks.image.ratio": "비율",
"field.blocks.list.name": "목록",
"field.blocks.markdown.name": "마크다운",
"field.blocks.markdown.label": "텍스트",
"field.blocks.markdown.placeholder": "마크다운 …",
"field.blocks.quote.name": "인용문",
"field.blocks.quote.text.label": "텍스트",
"field.blocks.quote.text.placeholder": "인용문 …",
"field.blocks.quote.citation.label": "출처",
"field.blocks.quote.citation.placeholder": "출처 …",
"field.blocks.text.name": "텍스트",
"field.blocks.text.placeholder": "텍스트 …",
"field.blocks.video.caption": "캡션",
"field.blocks.video.name": "영상",
"field.blocks.video.placeholder": "영상 URL 입력",
"field.blocks.video.url.label": "영상 URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "선택한 파일이 없습니다.", "field.files.empty": "선택한 파일이 없습니다.",
"field.layout.delete": "레이아웃 삭제",
"field.layout.delete.confirm": "레이아웃을 삭제할까요?",
"field.layout.empty": "행이 없습니다.",
"field.layout.select": "레이아웃 선택",
"field.pages.empty": "선택한 페이지가 없습니다.", "field.pages.empty": "선택한 페이지가 없습니다.",
"field.structure.delete.confirm": "이 항목을 삭제할까요?", "field.structure.delete.confirm": "이 항목을 삭제할까요?",
"field.structure.empty": "항목이 없습니다.", "field.structure.empty": "항목이 없습니다.",
"field.users.empty": "선택한 사용자가 없습니다.", "field.users.empty": "선택한 사용자가 없습니다.",
"file.delete.confirm": "<strong>파일({filename})</strong>을 삭제할까요?", "file.blueprint": "블루프린트(<strong>/site/blueprints/{template}.yml</strong>)를 설정하세요.",
"file.delete.confirm": "파일(<strong>{filename}</strong>)을 삭제할까요?",
"file.sort": "순서 변경",
"files": "파일", "files": "파일",
"files.empty": "파일이 없습니다.", "files.empty": "파일이 없습니다.",
"hide": "숨기기",
"hour": "시", "hour": "시",
"insert": "\uc0bd\uc785", "insert": "\uc0bd\uc785",
"insert.after": "앞에 삽입",
"insert.before": "뒤에 삽입",
"install": "설치", "install": "설치",
"installation": "설치", "installation": "설치",
@@ -219,9 +286,9 @@
"language": "\uc5b8\uc5b4", "language": "\uc5b8\uc5b4",
"language.code": "언어 코드", "language.code": "언어 코드",
"language.convert": "기본 언어로 설정", "language.convert": "기본 언어로 설정",
"language.convert.confirm": "이 <strong>언어({name})</strong>를 기본 언어로 정할까요? 정한 뒤에는 복원할 수 없으며, 이 언어로 번역되지 않은 항목은 올바르게 표시되지 않을 수 있습니다.", "language.convert.confirm": "이 언어(<strong>{name}</strong>)를 기본 언어로 정할까요? 정한 뒤에는 복원할 수 없으며, 이 언어로 번역되지 않은 항목은 올바르게 표시되지 않을 수 있습니다.",
"language.create": "새 언어 추가", "language.create": "새 언어 추가",
"language.delete.confirm": "<strong>언어({name})</strong>를 삭제할까요? 삭제한 뒤에는 복원할 수 없습니다.", "language.delete.confirm": "언어(<strong>{name}</strong>)를 삭제할까요? 삭제한 뒤에는 복원할 수 없습니다.",
"language.deleted": "언어를 삭제했습니다.", "language.deleted": "언어를 삭제했습니다.",
"language.direction": "읽기 방향", "language.direction": "읽기 방향",
"language.direction.ltr": "왼쪽에서 오른쪽", "language.direction.ltr": "왼쪽에서 오른쪽",
@@ -240,7 +307,7 @@
"license": "라이선스", "license": "라이선스",
"license.buy": "라이선스 구매", "license.buy": "라이선스 구매",
"license.register": "등록", "license.register": "등록",
"license.register.help": "이메일 주소로 라이선스 코드를 전송했습니다. Kirby를 등록하려면 라이선스 코드와 이메일 주소를 입력하세요.", "license.register.help": "Kirby를 등록하려면 이메일로 전송받은 라이선스 코드와 이메일 주소를 입력하세요.",
"license.register.label": "라이선스 코드를 입력하세요.", "license.register.label": "라이선스 코드를 입력하세요.",
"license.register.success": "Kirby를 구입해주셔서 감사합니다.", "license.register.success": "Kirby를 구입해주셔서 감사합니다.",
"license.unregistered": "Kirby가 등록되지 않았습니다.", "license.unregistered": "Kirby가 등록되지 않았습니다.",
@@ -250,16 +317,29 @@
"loading": "로딩 중…", "loading": "로딩 중…",
"lock.unsaved": "저장되지 않은 수정 사항이 있습니다.", "lock.unsaved": "저장되지 않은 항이 있습니다",
"lock.unsaved.empty": "모든 페이지를 저장했습니다.", "lock.unsaved.empty": "모든 페이지를 저장했습니다.",
"lock.isLocked": "<strong>다른 사용자({email})</strong>가 수정한 사항이 저장되지 않았습니다.", "lock.isLocked": "다른 사용자(<strong>{email}</strong>)가 수정한 사항이 저장되지 않았습니다.",
"lock.file.isLocked": "파일을 편집할 수 없습니다. 다른 사용자({email})가 편집 중입니다.", "lock.file.isLocked": "파일을 편집할 수 없습니다. 다른 사용자({email})가 편집 중입니다.",
"lock.page.isLocked": "페이지를 편집할 수 없습니다. 다른 사용자({email}가 편집 중입니다.", "lock.page.isLocked": "페이지를 편집할 수 없습니다. 다른 사용자({email})가 편집 중입니다.",
"lock.unlock": "잠금", "lock.unlock": "잠금",
"lock.isUnlocked": "다른 사용자가 이미 내용을 수정했으므로 현재 내용이 올바르게 저장되지 않았습니다. 저장되지 않은 내용은 내려받아 수동으로 대치할 수 있습니다.", "lock.isUnlocked": "다른 사용자가 이미 내용을 수정했으므로 현재 내용이 올바르게 저장되지 않았습니다. 저장되지 않은 내용은 내려받아 수동으로 대치할 수 있습니다.",
"login": "\ub85c\uadf8\uc778", "login": "\ub85c\uadf8\uc778",
"login.code.label.login": "로그인 코드",
"login.code.label.password-reset": "암호 초기화 코드",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "입력한 이메일 주소로 코드를 전송했습니다.",
"login.email.login.body": "{user.nameOrEmail} 님,\n\nKirby 패널에서 요청한 로그인 코드는 다음과 같습니다. 로그인 코드는 {timeout} 분 동안 유효합니다.\n\n{code}\n\n로그인 코드를 요청한 적이 없다면, 이 이메일을 무시하거나 관리자에게 문의하세요. 보안을 위해 이 이메일은 다른 사람과 공유하지 마세요.",
"login.email.login.subject": "로그인 코드",
"login.email.password-reset.body": "{user.nameOrEmail} 님,\n\nKirby 패널에서 요청한 로그인 코드는 다음과 같습니다. 로그인 코드는 {timeout} 분 동안 유효합니다.\n\n{code}\n\n로그인 코드를 요청한 적이 없다면, 이 이메일을 무시하거나 관리자에게 문의하세요. 보안을 위해 이 이메일은 다른 사람과 공유하지 마세요.",
"login.email.password-reset.subject": "암호 초기화 코드",
"login.remember": "로그인 유지", "login.remember": "로그인 유지",
"login.reset": "암호 초기화",
"login.toggleText.code.email": "이메일 주소로 로그인",
"login.toggleText.code.email-password": "로그인",
"login.toggleText.password-reset.email": "암호 찾기",
"login.toggleText.password-reset.email-password": "로그인 화면으로",
"logout": "\ub85c\uadf8\uc544\uc6c3", "logout": "\ub85c\uadf8\uc544\uc6c3",
@@ -296,26 +376,28 @@
"orientation.portrait": "세로로 긴 사각형", "orientation.portrait": "세로로 긴 사각형",
"orientation.square": "정사각형", "orientation.square": "정사각형",
"page.blueprint": "블루프린트(<strong>/site/blueprints/{template}.yml</strong>)를 설정하세요.",
"page.changeSlug": "고유 주소 변경", "page.changeSlug": "고유 주소 변경",
"page.changeSlug.fromTitle": "제목에서 가져오기", "page.changeSlug.fromTitle": "제목에서 가져오기",
"page.changeStatus": "상태 변경", "page.changeStatus": "상태 변경",
"page.changeStatus.position": "위치를 선택하세요.", "page.changeStatus.position": "순서를 지정하세요.",
"page.changeStatus.select": "새 상태 선택", "page.changeStatus.select": "새 상태 선택",
"page.changeTemplate": "템플릿 변경", "page.changeTemplate": "템플릿 변경",
"page.delete.confirm": "<strong>페이지({title})</strong>를 삭제할까요?", "page.delete.confirm": "페이지(<strong>{title}</strong>)를 삭제할까요?",
"page.delete.confirm.subpages": "<strong>페이지에 하위 페이지가 있습니다.</strong> 모든 하위 페이지가 삭제됩니다.", "page.delete.confirm.subpages": "<strong>페이지에 하위 페이지가 있습니다.</strong> 모든 하위 페이지가 삭제됩니다.",
"page.delete.confirm.title": "페이지 제목을 입력하세요.", "page.delete.confirm.title": "페이지 제목을 입력하세요.",
"page.draft.create": "초안 등록", "page.draft.create": "초안 등록",
"page.duplicate.appendix": "복사", "page.duplicate.appendix": "복사",
"page.duplicate.files": "파일 복사", "page.duplicate.files": "파일 복사",
"page.duplicate.pages": "페이지 복사", "page.duplicate.pages": "페이지 복사",
"page.sort": "순서 변경",
"page.status": "상태", "page.status": "상태",
"page.status.draft": "초안", "page.status.draft": "초안",
"page.status.draft.description": "로그인한 사용자나 URL을 통해서만 읽을 수 있습니다.", "page.status.draft.description": "로그인한 사용자나 URL을 통해 접근할 수 있습니다.",
"page.status.listed": "공개", "page.status.listed": "공개",
"page.status.listed.description": "누구나 읽을 수 있습니다.", "page.status.listed.description": "누구나 읽을 수 있습니다.",
"page.status.unlisted": "비공개", "page.status.unlisted": "비공개",
"page.status.unlisted.description": "URL을 통해서만 접근할 수 있습니다.", "page.status.unlisted.description": "URL을 통해 접근할 수 있습니다.",
"pages": "하위 페이지", "pages": "하위 페이지",
"pages.empty": "페이지가 없습니다.", "pages.empty": "페이지가 없습니다.",
@@ -328,6 +410,7 @@
"password": "\uc554\ud638", "password": "\uc554\ud638",
"pixel": "픽셀", "pixel": "픽셀",
"prev": "이전", "prev": "이전",
"preview": "미리 보기",
"remove": "삭제", "remove": "삭제",
"rename": "제목 변경", "rename": "제목 변경",
"replace": "\uad50\uccb4", "replace": "\uad50\uccb4",
@@ -354,6 +437,7 @@
"select": "선택", "select": "선택",
"settings": "설정", "settings": "설정",
"show": "보기",
"size": "크기", "size": "크기",
"slug": "고유 주소", "slug": "고유 주소",
"sort": "정렬", "sort": "정렬",
@@ -361,6 +445,8 @@
"template": "\ud15c\ud50c\ub9bf", "template": "\ud15c\ud50c\ub9bf",
"today": "오늘", "today": "오늘",
"site.blueprint": "블루프린트(<strong>/site/blueprints/site.yml</strong>)를 설정하세요.",
"toolbar.button.code": "코드", "toolbar.button.code": "코드",
"toolbar.button.bold": "강조 1", "toolbar.button.bold": "강조 1",
"toolbar.button.email": "이메일 주소", "toolbar.button.email": "이메일 주소",
@@ -391,7 +477,7 @@
"upload.error.iniSize": "업로드한 파일이 허용된 크기(upload_max_filesize)를 초과했습니다.", "upload.error.iniSize": "업로드한 파일이 허용된 크기(upload_max_filesize)를 초과했습니다.",
"upload.error.noFile": "업로드한 파일이 없습니다.", "upload.error.noFile": "업로드한 파일이 없습니다.",
"upload.error.noFiles": "업로드한 파일이 없습니다.", "upload.error.noFiles": "업로드한 파일이 없습니다.",
"upload.error.partial": "일부 파일 업로드했습니다.", "upload.error.partial": "일부 파일 업로드했습니다.",
"upload.error.tmpDir": "임시 폴더가 없습니다.", "upload.error.tmpDir": "임시 폴더가 없습니다.",
"upload.errors": "오류", "upload.errors": "오류",
"upload.progress": "업로드 중…", "upload.progress": "업로드 중…",
@@ -400,7 +486,7 @@
"url.placeholder": "https://example.com", "url.placeholder": "https://example.com",
"user": "사용자", "user": "사용자",
"user.blueprint": "파일(<strong>/site/blueprints/users/{role}.yml</strong>)에 섹션 및 폼 필드를 추가할 수 있습니다.", "user.blueprint": "블루프린트(<strong>/site/blueprints/users/{role}.yml</strong>)에 섹션 필드를 추가할 수 있습니다.",
"user.changeEmail": "이메일 주소 변경", "user.changeEmail": "이메일 주소 변경",
"user.changeLanguage": "언어 변경", "user.changeLanguage": "언어 변경",
"user.changeName": "사용자명 변경", "user.changeName": "사용자명 변경",
@@ -411,7 +497,7 @@
"user.changeRole.select": "새 역할 선택", "user.changeRole.select": "새 역할 선택",
"user.create": "사용자 추가", "user.create": "사용자 추가",
"user.delete": "사용자 삭제", "user.delete": "사용자 삭제",
"user.delete.confirm": "<strong>사용자({email})</strong>를 삭제할까요?", "user.delete.confirm": "사용자(<strong>{email}</strong>)를 삭제할까요?",
"users": "사용자", "users": "사용자",
@@ -419,10 +505,11 @@
"view.account": "계정", "view.account": "계정",
"view.installation": "\uc124\uce58", "view.installation": "\uc124\uce58",
"view.resetPassword": "암호 초기화",
"view.settings": "설정", "view.settings": "설정",
"view.site": "사이트", "view.site": "사이트",
"view.users": "\uc0ac\uc6a9\uc790", "view.users": "\uc0ac\uc6a9\uc790",
"welcome": "안녕하세요?", "welcome": "반갑습니다.",
"year": "년" "year": "년"
} }

View File

@@ -6,6 +6,8 @@
"change": "Keisti", "change": "Keisti",
"close": "Uždaryti", "close": "Uždaryti",
"confirm": "Ok", "confirm": "Ok",
"collapse": "Sutraukti",
"collapse.all": "Sutraukti viską",
"copy": "Kopijuoti", "copy": "Kopijuoti",
"create": "Sukurti", "create": "Sukurti",
@@ -22,12 +24,15 @@
"days.wed": "Tre", "days.wed": "Tre",
"delete": "Pašalinti", "delete": "Pašalinti",
"delete.all": "Pašalinti viską",
"dimensions": "Išmatavimai", "dimensions": "Išmatavimai",
"disabled": "Išjungta", "disabled": "Išjungta",
"discard": "Atšaukti", "discard": "Atšaukti",
"download": "Parsisiųsti", "download": "Parsisiųsti",
"duplicate": "Kopijuoti", "duplicate": "Kopijuoti",
"edit": "Redaguoti", "edit": "Redaguoti",
"expand": "Išskleisti",
"expand.all": "Išskleisti viską",
"dialog.files.empty": "Nėra failų pasirinkimui", "dialog.files.empty": "Nėra failų pasirinkimui",
"dialog.pages.empty": "Nėra puslapių pasirinkimui", "dialog.pages.empty": "Nėra puslapių pasirinkimui",
@@ -36,6 +41,7 @@
"email": "El. paštas", "email": "El. paštas",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "Invalid code",
"error.access.login": "Neteisingas prisijungimo vardas", "error.access.login": "Neteisingas prisijungimo vardas",
"error.access.panel": "Neturite teisės prisijungti prie valdymo pulto", "error.access.panel": "Neturite teisės prisijungti prie valdymo pulto",
"error.access.view": "Neturite teisės peržiūrėti šios valdymo pulto dalies", "error.access.view": "Neturite teisės peržiūrėti šios valdymo pulto dalies",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Blueprint \"{name}\" negali būti užkrautas", "error.blueprint.notFound": "Blueprint \"{name}\" negali būti užkrautas",
"error.blocks.max.plural": "Didžiausias įmanomas blokų kiekis: {max}",
"error.blocks.max.singular": "Jūs galite pridėti daugiausiai vieną bloką",
"error.blocks.min.plural": "Minimalus blokų kiekis: {min}",
"error.blocks.min.singular": "Jūs turite pridėti bent vieną bloką",
"error.blocks.validation": "Bloke {index} yra klaida",
"error.email.preset.notFound": "El. pašto paruoštukas \"{name}\" nerastas", "error.email.preset.notFound": "El. pašto paruoštukas \"{name}\" nerastas",
"error.field.converter.invalid": "Neteisingas konverteris \"{converter}\"", "error.field.converter.invalid": "Neteisingas konverteris \"{converter}\"",
@@ -102,7 +114,7 @@
"error.page.notFound": "Puslapis \"{slug}\" nerastas", "error.page.notFound": "Puslapis \"{slug}\" nerastas",
"error.page.num.invalid": "Įrašykite teisingą eiliškumo numerį. Numeris negali būti neigiamas.", "error.page.num.invalid": "Įrašykite teisingą eiliškumo numerį. Numeris negali būti neigiamas.",
"error.page.slug.invalid": "Įrašykite teisingą URL prefiksą", "error.page.slug.invalid": "Įrašykite teisingą URL prefiksą",
"error.page.slug.maxlength": "Slug length must be less than \"{length}\" characters", "error.page.slug.maxlength": "url adreso maksimalus simbolių kiekis: \"{length}\"",
"error.page.sort.permission": "Puslapiui \"{slug}\" negalima pakeisti eiliškumo", "error.page.sort.permission": "Puslapiui \"{slug}\" negalima pakeisti eiliškumo",
"error.page.status.invalid": "Nustatykite teisingą puslapio statusą", "error.page.status.invalid": "Nustatykite teisingą puslapio statusą",
"error.page.undefined": "Puslapis nerastas", "error.page.undefined": "Puslapis nerastas",
@@ -185,22 +197,77 @@
"error.validation.size": "Reikšmės dydis turi būti \"{size}\"", "error.validation.size": "Reikšmės dydis turi būti \"{size}\"",
"error.validation.startswith": "Reikšmė turi prasidėti su \"{start}\"", "error.validation.startswith": "Reikšmė turi prasidėti su \"{start}\"",
"error.validation.time": "Prašome įrašyti korektišką laiką", "error.validation.time": "Prašome įrašyti korektišką laiką",
"error.validation.time.after": "Įrašykite laiką po {time}",
"error.validation.time.before": "Įrašykite laiką prieš {time}",
"error.validation.time.between": "Įrašykite laiką tarp {min} ir {max}",
"error.validation.url": "Prašome įrašyti teisingą URL", "error.validation.url": "Prašome įrašyti teisingą URL",
"field.required": "Laukas privalomas", "field.required": "Laukas privalomas",
"field.blocks.changeType": "Pakeisti tipą",
"field.blocks.code.name": "Kodas",
"field.blocks.code.language": "Kalba",
"field.blocks.code.placeholder": "Jūsų kodas ...",
"field.blocks.delete.confirm": "Ar tikrai norite pašalinti šį bloką?",
"field.blocks.delete.confirm.all": "Ar tikrai norite pašalinti visus blokus?",
"field.blocks.delete.confirm.selected": "Ar tikrai norite pašalinti pasirinktus blokus?",
"field.blocks.empty": "Dar nėra blokų",
"field.blocks.fieldsets.label": "Pasirinkite bloko tipą ...",
"field.blocks.gallery.name": "Galerija",
"field.blocks.gallery.images.empty": "Dar nėra nuotraukų",
"field.blocks.gallery.images.label": "Nuotraukos",
"field.blocks.heading.level": "Lygis",
"field.blocks.heading.name": "Antraštė",
"field.blocks.heading.text": "Tekstas",
"field.blocks.heading.placeholder": "Antraštė ...",
"field.blocks.image.alt": "Alternatyvus tekstas",
"field.blocks.image.caption": "Aprašymas",
"field.blocks.image.crop": "Kirpti",
"field.blocks.image.link": "Nuoroda",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Nuotrauka",
"field.blocks.image.placeholder": "Pasirinkite nuotrauką",
"field.blocks.image.ratio": "Proporcijos",
"field.blocks.list.name": "Sąrašas",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Tekstas",
"field.blocks.markdown.placeholder": "Markdown ...",
"field.blocks.quote.name": "Citata",
"field.blocks.quote.text.label": "Tekstas",
"field.blocks.quote.text.placeholder": "Citata ...",
"field.blocks.quote.citation.label": "Citatos turinys",
"field.blocks.quote.citation.placeholder": "autorius",
"field.blocks.text.name": "Tekstas",
"field.blocks.text.placeholder": "Tekstas ...",
"field.blocks.video.caption": "Aprašymas",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Įrašykite video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Pasirinkti", "field.files.empty": "Pasirinkti",
"field.layout.delete": "Pašalinti eilutę",
"field.layout.delete.confirm": "Ar tikrai norite pašalinti šią eilutę",
"field.layout.empty": "Dar nėra eilučių",
"field.layout.select": "Pasirinkite išdėstymą",
"field.pages.empty": "Dar nėra puslapių", "field.pages.empty": "Dar nėra puslapių",
"field.structure.delete.confirm": "Ar tikrai norite pašalinti šią eilutę?", "field.structure.delete.confirm": "Ar tikrai norite pašalinti šią eilutę?",
"field.structure.empty": "Dar nėra įrašų", "field.structure.empty": "Dar nėra įrašų",
"field.users.empty": "Dar nėra vartotojų", "field.users.empty": "Dar nėra vartotojų",
"file.blueprint": "Šis failas dar neturi blueprint. Jūs galite nustatyti jį <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Ar tikrai norite pašalinti <br><strong>{filename}</strong>?", "file.delete.confirm": "Ar tikrai norite pašalinti <br><strong>{filename}</strong>?",
"file.sort": "Pakeisti poziciją",
"files": "Failai", "files": "Failai",
"files.empty": "Įkelti", "files.empty": "Įkelti",
"hide": "Paslėpti",
"hour": "Valanda", "hour": "Valanda",
"insert": "Įterpti", "insert": "Įterpti",
"insert.after": "Įterpti po",
"insert.before": "Įterpti prieš",
"install": "Įdiegti", "install": "Įdiegti",
"installation": "Įdiegimas", "installation": "Įdiegimas",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Jūsų neišsaugoti pakeitimai buvo perrašyti kito vartotojo. Galite parsisiųsti savo pakeitimus ir įkelti juos rankiniu būdu.", "lock.isUnlocked": "Jūsų neišsaugoti pakeitimai buvo perrašyti kito vartotojo. Galite parsisiųsti savo pakeitimus ir įkelti juos rankiniu būdu.",
"login": "Prisijungti", "login": "Prisijungti",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Likti prisijungus", "login.remember": "Likti prisijungus",
"login.reset": "Sukurti naują slaptažodį",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Atsijungti", "logout": "Atsijungti",
@@ -289,13 +369,14 @@
"on": "on", "on": "on",
"open": "Atidaryti", "open": "Atidaryti",
"options": "Pasirinkimai", "options": "Pasirinkimai",
"options.none": "No options", "options.none": "Nėra pasirinkimų",
"orientation": "Orientacija", "orientation": "Orientacija",
"orientation.landscape": "Horizontali", "orientation.landscape": "Horizontali",
"orientation.portrait": "Portretas", "orientation.portrait": "Portretas",
"orientation.square": "Kvadratas", "orientation.square": "Kvadratas",
"page.blueprint": "Šis puslapis dar neturi blueprint. Jūs galite nustatyti jį <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Pakeisti URL", "page.changeSlug": "Pakeisti URL",
"page.changeSlug.fromTitle": "Sukurti URL pagal pavadinimą", "page.changeSlug.fromTitle": "Sukurti URL pagal pavadinimą",
"page.changeStatus": "Pakeisti statusą", "page.changeStatus": "Pakeisti statusą",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Kopijuoti", "page.duplicate.appendix": "Kopijuoti",
"page.duplicate.files": "Kopijuoti failus", "page.duplicate.files": "Kopijuoti failus",
"page.duplicate.pages": "Kopijuoti puslapius", "page.duplicate.pages": "Kopijuoti puslapius",
"page.sort": "Pakeisti poziciją",
"page.status": "Statusas", "page.status": "Statusas",
"page.status.draft": "Juodraštis", "page.status.draft": "Juodraštis",
"page.status.draft.description": "Šis puslapis yra juodraščio režime ir prieinamas tik redaktoriams arba per slaptą nuorodą", "page.status.draft.description": "Šis puslapis yra juodraščio režime ir prieinamas tik redaktoriams arba per slaptą nuorodą",
@@ -328,6 +410,7 @@
"password": "Slaptažodis", "password": "Slaptažodis",
"pixel": "Pikselis", "pixel": "Pikselis",
"prev": "Ankstesnis", "prev": "Ankstesnis",
"preview": "Peržiūra",
"remove": "Pašalinti", "remove": "Pašalinti",
"rename": "Pervadinti", "rename": "Pervadinti",
"replace": "Apkeisti", "replace": "Apkeisti",
@@ -346,14 +429,15 @@
"save": "Išsaugoti", "save": "Išsaugoti",
"search": "Ieškoti", "search": "Ieškoti",
"search.min": "Enter {min} characters to search", "search.min": "Minimalus simbolių kiekis paieškai: {min}",
"search.all": "Show all", "search.all": "Rodyti viską",
"search.results.none": "No results", "search.results.none": "Nėra rezultatų",
"section.required": "Sekcija privaloma", "section.required": "Sekcija privaloma",
"select": "Pasirinkti", "select": "Pasirinkti",
"settings": "Nustatymai", "settings": "Nustatymai",
"show": "Rodyti",
"size": "Dydis", "size": "Dydis",
"slug": "URL pabaiga", "slug": "URL pabaiga",
"sort": "Rikiuoti", "sort": "Rikiuoti",
@@ -361,6 +445,8 @@
"template": "Puslapio šablonas", "template": "Puslapio šablonas",
"today": "Šiandien", "today": "Šiandien",
"site.blueprint": "Svetainė neturi blueprint. Jūs galite nustatyti jį <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Kodas", "toolbar.button.code": "Kodas",
"toolbar.button.bold": "Bold", "toolbar.button.bold": "Bold",
"toolbar.button.email": "El. paštas", "toolbar.button.email": "El. paštas",
@@ -419,6 +505,7 @@
"view.account": "Jūsų paskyra", "view.account": "Jūsų paskyra",
"view.installation": "Installation", "view.installation": "Installation",
"view.resetPassword": "Sukurti naują slaptažodį",
"view.settings": "Nustatymai", "view.settings": "Nustatymai",
"view.site": "Svetainė", "view.site": "Svetainė",
"view.users": "Vartotojai", "view.users": "Vartotojai",

View File

@@ -6,6 +6,8 @@
"change": "Endre", "change": "Endre",
"close": "Lukk", "close": "Lukk",
"confirm": "Lagre", "confirm": "Lagre",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Kopier", "copy": "Kopier",
"create": "Opprett", "create": "Opprett",
@@ -22,12 +24,15 @@
"days.wed": "Ons", "days.wed": "Ons",
"delete": "Slett", "delete": "Slett",
"delete.all": "Delete all",
"dimensions": "Dimensjoner", "dimensions": "Dimensjoner",
"disabled": "Disabled", "disabled": "Disabled",
"discard": "Forkast", "discard": "Forkast",
"download": "Download", "download": "Download",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"edit": "Rediger", "edit": "Rediger",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "No files to select", "dialog.files.empty": "No files to select",
"dialog.pages.empty": "No pages to select", "dialog.pages.empty": "No pages to select",
@@ -36,6 +41,7 @@
"email": "Epost", "email": "Epost",
"email.placeholder": "epost@eksempel.no", "email.placeholder": "epost@eksempel.no",
"error.access.code": "Invalid code",
"error.access.login": "Ugyldig innlogging", "error.access.login": "Ugyldig innlogging",
"error.access.panel": "Du har ikke tilgang til panelet", "error.access.panel": "Du har ikke tilgang til panelet",
"error.access.view": "You are not allowed to access this part of the panel", "error.access.view": "You are not allowed to access this part of the panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Blueprint \"{name}\" kunne ikke lastes inn", "error.blueprint.notFound": "Blueprint \"{name}\" kunne ikke lastes inn",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "E-postinnstillingen \"{name}\" ble ikke funnet", "error.email.preset.notFound": "E-postinnstillingen \"{name}\" ble ikke funnet",
"error.field.converter.invalid": "Ugyldig omformer \"{converter}\"", "error.field.converter.invalid": "Ugyldig omformer \"{converter}\"",
@@ -185,22 +197,77 @@
"error.validation.size": "Størrelsen på verdien må være \"{size}\"", "error.validation.size": "Størrelsen på verdien må være \"{size}\"",
"error.validation.startswith": "Verdien må starte med \"{start}\"", "error.validation.startswith": "Verdien må starte med \"{start}\"",
"error.validation.time": "Vennligst angi et gyldig tidspunkt", "error.validation.time": "Vennligst angi et gyldig tidspunkt",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Vennligst skriv inn en gyldig URL", "error.validation.url": "Vennligst skriv inn en gyldig URL",
"field.required": "The field is required", "field.required": "The field is required",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Kode",
"field.blocks.code.language": "Språk",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Adresse",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Bilde",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Ingen filer har blitt valgt", "field.files.empty": "Ingen filer har blitt valgt",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Ingen side har blitt valgt", "field.pages.empty": "Ingen side har blitt valgt",
"field.structure.delete.confirm": "\u00d8nsker du virkelig \u00e5 slette denne oppf\u00f8ringen?", "field.structure.delete.confirm": "\u00d8nsker du virkelig \u00e5 slette denne oppf\u00f8ringen?",
"field.structure.empty": "Ingen oppf\u00f8ringer enda", "field.structure.empty": "Ingen oppf\u00f8ringer enda",
"field.users.empty": "Ingen bruker har blitt valgt", "field.users.empty": "Ingen bruker har blitt valgt",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Vil du virkelig slette denne filen?", "file.delete.confirm": "Vil du virkelig slette denne filen?",
"file.sort": "Change position",
"files": "Filer", "files": "Filer",
"files.empty": "Ingen filer ennå", "files.empty": "Ingen filer ennå",
"hide": "Hide",
"hour": "Time", "hour": "Time",
"insert": "Sett Inn", "insert": "Sett Inn",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Installer", "install": "Installer",
"installation": "Installasjon", "installation": "Installasjon",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.", "lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.",
"login": "Logg Inn", "login": "Logg Inn",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Hold meg innlogget", "login.remember": "Hold meg innlogget",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Logg ut", "logout": "Logg ut",
@@ -296,6 +376,7 @@
"orientation.portrait": "Portrett", "orientation.portrait": "Portrett",
"orientation.square": "Kvadrat", "orientation.square": "Kvadrat",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Endre URL", "page.changeSlug": "Endre URL",
"page.changeSlug.fromTitle": "Opprett fra tittel", "page.changeSlug.fromTitle": "Opprett fra tittel",
"page.changeStatus": "Endre status", "page.changeStatus": "Endre status",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Kopier", "page.duplicate.appendix": "Kopier",
"page.duplicate.files": "Copy files", "page.duplicate.files": "Copy files",
"page.duplicate.pages": "Copy pages", "page.duplicate.pages": "Copy pages",
"page.sort": "Change position",
"page.status": "Status", "page.status": "Status",
"page.status.draft": "Utkast", "page.status.draft": "Utkast",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +410,7 @@
"password": "Passord", "password": "Passord",
"pixel": "Piksel", "pixel": "Piksel",
"prev": "Forrige", "prev": "Forrige",
"preview": "Preview",
"remove": "Fjern", "remove": "Fjern",
"rename": "Endre navn", "rename": "Endre navn",
"replace": "Erstatt", "replace": "Erstatt",
@@ -354,6 +437,7 @@
"select": "Velg", "select": "Velg",
"settings": "Innstillinger", "settings": "Innstillinger",
"show": "Show",
"size": "Størrelse", "size": "Størrelse",
"slug": "URL-appendiks", "slug": "URL-appendiks",
"sort": "Sortere", "sort": "Sortere",
@@ -361,6 +445,8 @@
"template": "Mal", "template": "Mal",
"today": "I dag", "today": "I dag",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Kode", "toolbar.button.code": "Kode",
"toolbar.button.bold": "Tykk tekst", "toolbar.button.bold": "Tykk tekst",
"toolbar.button.email": "Epost", "toolbar.button.email": "Epost",
@@ -419,6 +505,7 @@
"view.account": "Din konto", "view.account": "Din konto",
"view.installation": "Installasjon", "view.installation": "Installasjon",
"view.resetPassword": "Reset password",
"view.settings": "Innstillinger", "view.settings": "Innstillinger",
"view.site": "Side", "view.site": "Side",
"view.users": "Brukere", "view.users": "Brukere",

View File

@@ -6,6 +6,8 @@
"change": "Wijzigen", "change": "Wijzigen",
"close": "Sluiten", "close": "Sluiten",
"confirm": "OK", "confirm": "OK",
"collapse": "Sluit",
"collapse.all": "Sluit alles",
"copy": "Kopiëren", "copy": "Kopiëren",
"create": "Aanmaken", "create": "Aanmaken",
@@ -22,12 +24,15 @@
"days.wed": "Wo", "days.wed": "Wo",
"delete": "Verwijderen", "delete": "Verwijderen",
"delete.all": "Verwijder alles",
"dimensions": "Dimensies", "dimensions": "Dimensies",
"disabled": "Uitgeschakeld", "disabled": "Uitgeschakeld",
"discard": "Annuleren", "discard": "Annuleren",
"download": "Download", "download": "Download",
"duplicate": "Dupliceren", "duplicate": "Dupliceren",
"edit": "Wijzig", "edit": "Wijzig",
"expand": "Open",
"expand.all": "Open alles",
"dialog.files.empty": "Geen bestanden om te selecteren", "dialog.files.empty": "Geen bestanden om te selecteren",
"dialog.pages.empty": "Geen pagina's om te selecteren", "dialog.pages.empty": "Geen pagina's om te selecteren",
@@ -36,6 +41,7 @@
"email": "E-mailadres", "email": "E-mailadres",
"email.placeholder": "mail@voorbeeld.nl", "email.placeholder": "mail@voorbeeld.nl",
"error.access.code": "Invalid code",
"error.access.login": "Ongeldige login", "error.access.login": "Ongeldige login",
"error.access.panel": "Je hebt geen toegang tot het Panel", "error.access.panel": "Je hebt geen toegang tot het Panel",
"error.access.view": "Je hebt geen toegangsrechten voor deze zone van het Panel", "error.access.view": "Je hebt geen toegangsrechten voor deze zone van het Panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "De blueprint \"{name}\" kon niet geladen worden", "error.blueprint.notFound": "De blueprint \"{name}\" kon niet geladen worden",
"error.blocks.max.plural": "Je kunt niet meer dan {max} blokken toevoegen",
"error.blocks.max.singular": "Je kunt niet meer dan één blok toevoegen",
"error.blocks.min.plural": "Je moet ten minste {min} blok toevoegen",
"error.blocks.min.singular": "Je moet ten minste één blok toevoegen",
"error.blocks.validation": "Er is een fout gevonden in blok {index}",
"error.email.preset.notFound": "De e-mailvoorinstelling \"{name}\" kan niet worden gevonden", "error.email.preset.notFound": "De e-mailvoorinstelling \"{name}\" kan niet worden gevonden",
"error.field.converter.invalid": "Ongeldige converter \"{converter}\"", "error.field.converter.invalid": "Ongeldige converter \"{converter}\"",
@@ -56,19 +68,19 @@
"error.file.duplicate": "Er bestaat al een bestand met de naam \"{filename}\"", "error.file.duplicate": "Er bestaat al een bestand met de naam \"{filename}\"",
"error.file.extension.forbidden": "Bestandsextensie \"{extension}\" is niet toegestaan", "error.file.extension.forbidden": "Bestandsextensie \"{extension}\" is niet toegestaan",
"error.file.extension.missing": "Je kunt geen bestanden uploaden zonder bestandsextensie", "error.file.extension.missing": "Je kunt geen bestanden uploaden zonder bestandsextensie",
"error.file.maxheight": "The height of the image must not exceed {height} pixels", "error.file.maxheight": "De hoogte van de afbeelding mag niet groter zijn dan {height} pixels",
"error.file.maxsize": "The file is too large", "error.file.maxsize": "Het bestand is te groot",
"error.file.maxwidth": "The width of the image must not exceed {width} pixels", "error.file.maxwidth": "De breedte van de afbeelding mag niet groter zijn dan {width} pixels",
"error.file.mime.differs": "Het geüploade bestand moet van hetzelfde mime-type zijn: \"{mime}\"", "error.file.mime.differs": "Het geüploade bestand moet van hetzelfde mime-type zijn: \"{mime}\"",
"error.file.mime.forbidden": "Het type \"{mime}\" is niet toegestaan", "error.file.mime.forbidden": "Het type \"{mime}\" is niet toegestaan",
"error.file.mime.invalid": "Invalid mime type: {mime}", "error.file.mime.invalid": "Ongeldig media type: {mine}",
"error.file.mime.missing": "Het mediatype voor \"{filename}\" kan niet worden gedecteerd", "error.file.mime.missing": "Het mediatype voor \"{filename}\" kan niet worden gedecteerd",
"error.file.minheight": "The height of the image must be at least {height} pixels", "error.file.minheight": "De hoogte van de afbeelding moet minimaal {height} pixels zijn",
"error.file.minsize": "The file is too small", "error.file.minsize": "Het bestand is te klein",
"error.file.minwidth": "The width of the image must be at least {width} pixels", "error.file.minwidth": "De breedte van de afbeelding moet minimaal {width} pixels zijn",
"error.file.name.missing": "De bestandsnaam mag niet leeg zijn", "error.file.name.missing": "De bestandsnaam mag niet leeg zijn",
"error.file.notFound": "Het bestand kan niet worden gevonden", "error.file.notFound": "Het bestand kan niet worden gevonden",
"error.file.orientation": "The orientation of the image must be \"{orientation}\"", "error.file.orientation": "De oriëntatie van de afbeelding moet \"{orientation}\" zijn",
"error.file.type.forbidden": "Je hebt geen rechten om {type} bestanden up te loaden", "error.file.type.forbidden": "Je hebt geen rechten om {type} bestanden up te loaden",
"error.file.undefined": "Het bestand kan niet worden gevonden", "error.file.undefined": "Het bestand kan niet worden gevonden",
@@ -102,7 +114,7 @@
"error.page.notFound": "De pagina \"{slug}\" kan niet worden gevonden", "error.page.notFound": "De pagina \"{slug}\" kan niet worden gevonden",
"error.page.num.invalid": "Vul een geldig sorteer-cijfer in. Het cijfer mag niet negatief zijn", "error.page.num.invalid": "Vul een geldig sorteer-cijfer in. Het cijfer mag niet negatief zijn",
"error.page.slug.invalid": "Vul een geldige URL-prefix in", "error.page.slug.invalid": "Vul een geldige URL-prefix in",
"error.page.slug.maxlength": "Slug length must be less than \"{length}\" characters", "error.page.slug.maxlength": "Slug lengte moet minder dan \"{length}\" tekens bevatten",
"error.page.sort.permission": "De pagina \"{slug}\" kan niet worden gesorteerd", "error.page.sort.permission": "De pagina \"{slug}\" kan niet worden gesorteerd",
"error.page.status.invalid": "Zorg voor een geldige paginastatus", "error.page.status.invalid": "Zorg voor een geldige paginastatus",
"error.page.undefined": "De pagina kan niet worden gevonden", "error.page.undefined": "De pagina kan niet worden gevonden",
@@ -171,13 +183,13 @@
"error.validation.match": "De invoer klopt niet met het verwachte patroon", "error.validation.match": "De invoer klopt niet met het verwachte patroon",
"error.validation.max": "Vul een waarde in die gelijk is aan of lager dan {max}", "error.validation.max": "Vul een waarde in die gelijk is aan of lager dan {max}",
"error.validation.maxlength": "Gebruik minder karakters (maximaal {max} karakters)", "error.validation.maxlength": "Gebruik minder karakters (maximaal {max} karakters)",
"error.validation.maxwords": "Vul minder dan {max} woorden in", "error.validation.maxwords": "Vul minder dan {max} woord(en) in",
"error.validation.min": "Vul een waarde in die gelijk is aan of groter dan {min}", "error.validation.min": "Vul een waarde in die gelijk is aan of groter dan {min}",
"error.validation.minlength": "Gebruik meer karakters (minimaal {min} karakters)", "error.validation.minlength": "Gebruik meer karakters (minimaal {min} karakters)",
"error.validation.minwords": "Vul minimaal {min} woorden in", "error.validation.minwords": "Vul minimaal {min} woord(en) in",
"error.validation.more": "Vul een grotere waarde in dan {min}", "error.validation.more": "Vul een grotere waarde in dan {min}",
"error.validation.notcontains": "Zorg dat de invoer niet \"{needle}\" bevat", "error.validation.notcontains": "Zorg dat de invoer niet \"{needle}\" bevat",
"error.validation.notin": "Vul de volgende dingen niet in: {{notIn}}", "error.validation.notin": "Vul de volgende dingen niet in: ({notIn})",
"error.validation.option": "Selecteer een geldige optie", "error.validation.option": "Selecteer een geldige optie",
"error.validation.num": "Vul een geldig cijfer in", "error.validation.num": "Vul een geldig cijfer in",
"error.validation.required": "Vul iets in", "error.validation.required": "Vul iets in",
@@ -185,22 +197,77 @@
"error.validation.size": "De lengte van de invoer moet \"{size}\" zijn", "error.validation.size": "De lengte van de invoer moet \"{size}\" zijn",
"error.validation.startswith": "De invoer moet beginnen met \"{start}\"", "error.validation.startswith": "De invoer moet beginnen met \"{start}\"",
"error.validation.time": "Vul een geldige tijd in", "error.validation.time": "Vul een geldige tijd in",
"error.validation.time.after": "Voer een tijd in na {time}",
"error.validation.time.before": "Voer een tijd in voor {time}",
"error.validation.time.between": "Voer een tijd in tussen {min} en {max}",
"error.validation.url": "Vul een geldige URL in", "error.validation.url": "Vul een geldige URL in",
"field.required": "Dit veld is verplicht", "field.required": "Dit veld is verplicht",
"field.blocks.changeType": "Wijzig type",
"field.blocks.code.name": "Code",
"field.blocks.code.language": "Taal",
"field.blocks.code.placeholder": "Jouw code ...",
"field.blocks.delete.confirm": "Wil je echt dit blok wilt verwijderen?",
"field.blocks.delete.confirm.all": "Wil je echt alle blokken verwijderen?",
"field.blocks.delete.confirm.selected": "Wil je de geselecteerde blokken echt verwijderen?",
"field.blocks.empty": "Nog geen blokken",
"field.blocks.fieldsets.label": "Selecteer een bloktype ...",
"field.blocks.gallery.name": "Galerij",
"field.blocks.gallery.images.empty": "Nog geen afbeeldingen",
"field.blocks.gallery.images.label": "Afbeeldingen",
"field.blocks.heading.level": "Niveau",
"field.blocks.heading.name": "Koptekst",
"field.blocks.heading.text": "Tekst",
"field.blocks.heading.placeholder": "Koptekst ...",
"field.blocks.image.alt": "Alternatieve tekst",
"field.blocks.image.caption": "Beschrijving",
"field.blocks.image.crop": "Uitsnede",
"field.blocks.image.link": "Link",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Afbeelding",
"field.blocks.image.placeholder": "Selecteer een afbeelding",
"field.blocks.image.ratio": "Verhouding",
"field.blocks.list.name": "Lijst",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Tekst",
"field.blocks.markdown.placeholder": "Markdown ...",
"field.blocks.quote.name": "Citaat",
"field.blocks.quote.text.label": "Tekst",
"field.blocks.quote.text.placeholder": "Citaat ...",
"field.blocks.quote.citation.label": "Bron",
"field.blocks.quote.citation.placeholder": "door ...",
"field.blocks.text.name": "Tekst",
"field.blocks.text.placeholder": "Tekst ...",
"field.blocks.video.caption": "Beschrijving",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Voer een video link in",
"field.blocks.video.url.label": "Video link",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Nog geen bestanden geselecteerd", "field.files.empty": "Nog geen bestanden geselecteerd",
"field.layout.delete": "Verwijder indeling",
"field.layout.delete.confirm": "Weet je zeker dat je deze indeling wilt verwijderen?",
"field.layout.empty": "Er zijn nog geen rijen",
"field.layout.select": "Selecteer een indeling",
"field.pages.empty": "Nog geen pagina's geselecteerd", "field.pages.empty": "Nog geen pagina's geselecteerd",
"field.structure.delete.confirm": "Wil je deze entry verwijderen?", "field.structure.delete.confirm": "Wil je deze entry verwijderen?",
"field.structure.empty": "Nog geen items.", "field.structure.empty": "Nog geen items.",
"field.users.empty": "Nog geen gebruikers geselecteerd", "field.users.empty": "Nog geen gebruikers geselecteerd",
"file.blueprint": "Dit bestand heeft nog geen ontwerp. Je kan het ontwerp hier plaatsen <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Wil je dit bestand <br><strong>{filename}</strong> verwijderen?", "file.delete.confirm": "Wil je dit bestand <br><strong>{filename}</strong> verwijderen?",
"file.sort": "Verander positie",
"files": "Bestanden", "files": "Bestanden",
"files.empty": "Nog geen bestanden", "files.empty": "Nog geen bestanden",
"hide": "Verberg",
"hour": "Uur", "hour": "Uur",
"insert": "Toevoegen", "insert": "Toevoegen",
"insert.after": "Voeg toe na",
"insert.before": "Voeg toe voor",
"install": "Installeren", "install": "Installeren",
"installation": "Installatie", "installation": "Installatie",
@@ -227,7 +294,7 @@
"language.direction.ltr": "Links naar rechts", "language.direction.ltr": "Links naar rechts",
"language.direction.rtl": "Rechts naar links", "language.direction.rtl": "Rechts naar links",
"language.locale": "PHP-locale regel", "language.locale": "PHP-locale regel",
"language.locale.warning": "You are using a custom locale set up. Please modify it in the language file in /site/languages", "language.locale.warning": "Je gebruikt een aangepaste landinstelling. Wijzig het het taalbestand in /site/languages",
"language.name": "Naam", "language.name": "Naam",
"language.updated": "De taal is geüpdatet", "language.updated": "De taal is geüpdatet",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Je niet opgeslagen wijzigingen zijn overschreven door een andere gebruiker. Je kunt je wijzigingen downloaden om ze handmatig samen te voegen.", "lock.isUnlocked": "Je niet opgeslagen wijzigingen zijn overschreven door een andere gebruiker. Je kunt je wijzigingen downloaden om ze handmatig samen te voegen.",
"login": "Inloggen", "login": "Inloggen",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Houd mij ingelogd", "login.remember": "Houd mij ingelogd",
"login.reset": "Wachtwoord herstellen",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Uitloggen", "logout": "Uitloggen",
@@ -289,13 +369,14 @@
"on": "aan", "on": "aan",
"open": "Open", "open": "Open",
"options": "Opties", "options": "Opties",
"options.none": "No options", "options.none": "Geen opties beschikbaar",
"orientation": "Oriëntatie", "orientation": "Oriëntatie",
"orientation.landscape": "Liggend", "orientation.landscape": "Liggend",
"orientation.portrait": "Staand", "orientation.portrait": "Staand",
"orientation.square": "Vierkant", "orientation.square": "Vierkant",
"page.blueprint": "Deze pagina heeft nog geen ontwerp. Je kan het ontwerp hier plaatsten <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Verander URL", "page.changeSlug": "Verander URL",
"page.changeSlug.fromTitle": "Aanmaken op basis van titel", "page.changeSlug.fromTitle": "Aanmaken op basis van titel",
"page.changeStatus": "Wijzig status", "page.changeStatus": "Wijzig status",
@@ -303,15 +384,16 @@
"page.changeStatus.select": "Selecteer een nieuwe status", "page.changeStatus.select": "Selecteer een nieuwe status",
"page.changeTemplate": "Verander template", "page.changeTemplate": "Verander template",
"page.delete.confirm": "Weet je zeker dat je pagina <strong>{title}</strong> wilt verwijderen?", "page.delete.confirm": "Weet je zeker dat je pagina <strong>{title}</strong> wilt verwijderen?",
"page.delete.confirm.subpages": "<strong>Deze pagina heeft subpagina's</strong>. <br>Alle subpagina's worden ook verwijderd.", "page.delete.confirm.subpages": "<strong>Deze pagina heeft subpagina's</strong>. <br>Alle subpagina's zullen ook worden verwijderd.",
"page.delete.confirm.title": "Voeg een paginatitel in om te bevestigen", "page.delete.confirm.title": "Voeg een paginatitel in om te bevestigen",
"page.draft.create": "Maak concept", "page.draft.create": "Maak concept",
"page.duplicate.appendix": "Kopiëren", "page.duplicate.appendix": "Kopiëren",
"page.duplicate.files": "Kopieer bestanden", "page.duplicate.files": "Kopieer bestanden",
"page.duplicate.pages": "Kopieer pagina's", "page.duplicate.pages": "Kopieer pagina's",
"page.sort": "Verander positie",
"page.status": "Status", "page.status": "Status",
"page.status.draft": "Concept", "page.status.draft": "Concept",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "De pagina is in concept-modus en alleen zichtbaar voor ingelogde redacteuren of via een geheime link",
"page.status.listed": "Openbaar", "page.status.listed": "Openbaar",
"page.status.listed.description": "Deze pagina is toegankelijk voor iedereen", "page.status.listed.description": "Deze pagina is toegankelijk voor iedereen",
"page.status.unlisted": "Niet gepubliceerd", "page.status.unlisted": "Niet gepubliceerd",
@@ -328,12 +410,13 @@
"password": "Wachtwoord", "password": "Wachtwoord",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Vorige", "prev": "Vorige",
"preview": "Voorbeeld",
"remove": "Verwijder", "remove": "Verwijder",
"rename": "Hernoem", "rename": "Hernoem",
"replace": "Vervang", "replace": "Vervang",
"retry": "Probeer opnieuw", "retry": "Probeer opnieuw",
"revert": "Annuleren", "revert": "Annuleren",
"revert.confirm": "Do you really want to <strong>delete all unsaved changes</strong>?", "revert.confirm": "Weet je zeker dat je <strong>alle niet-opgeslagen veranderingen wilt verwijderen</strong>?",
"role": "Rol", "role": "Rol",
"role.admin.description": "De admin heeft alle rechten", "role.admin.description": "De admin heeft alle rechten",
@@ -346,14 +429,15 @@
"save": "Opslaan", "save": "Opslaan",
"search": "Zoeken", "search": "Zoeken",
"search.min": "Enter {min} characters to search", "search.min": "Voer {min} tekens in om te zoeken",
"search.all": "Show all", "search.all": "Toon alles",
"search.results.none": "No results", "search.results.none": "Geen resultaten",
"section.required": "De sectie is verplicht", "section.required": "De sectie is verplicht",
"select": "Selecteren", "select": "Selecteren",
"settings": "Opties", "settings": "Opties",
"show": "Toon",
"size": "Grootte", "size": "Grootte",
"slug": "URL-toevoeging", "slug": "URL-toevoeging",
"sort": "Sorteren", "sort": "Sorteren",
@@ -361,13 +445,15 @@
"template": "Template", "template": "Template",
"today": "Vandaag", "today": "Vandaag",
"site.blueprint": "Deze website heeft nog geen ontwerp. Je kan het ontwerp hier plaatsen<strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Code", "toolbar.button.code": "Code",
"toolbar.button.bold": "Dikgedrukte tekst", "toolbar.button.bold": "Dikgedrukte tekst",
"toolbar.button.email": "E-mailadres", "toolbar.button.email": "E-mailadres",
"toolbar.button.headings": "Titels", "toolbar.button.headings": "Kopteksten",
"toolbar.button.heading.1": "Titel 1", "toolbar.button.heading.1": "Koptekst 1",
"toolbar.button.heading.2": "Titel 2", "toolbar.button.heading.2": "Koptekst 2",
"toolbar.button.heading.3": "Titel 3", "toolbar.button.heading.3": "Koptekst 3",
"toolbar.button.italic": "Cursieve tekst", "toolbar.button.italic": "Cursieve tekst",
"toolbar.button.file": "Bestand", "toolbar.button.file": "Bestand",
"toolbar.button.file.select": "Selecteer een bestand", "toolbar.button.file.select": "Selecteer een bestand",
@@ -419,6 +505,7 @@
"view.account": "Jouw account", "view.account": "Jouw account",
"view.installation": "Installatie", "view.installation": "Installatie",
"view.resetPassword": "Wachtwoord herstellen",
"view.settings": "Opties", "view.settings": "Opties",
"view.site": "Site", "view.site": "Site",
"view.users": "Gebruikers", "view.users": "Gebruikers",

View File

@@ -6,6 +6,8 @@
"change": "Zmie\u0144", "change": "Zmie\u0144",
"close": "Zamknij", "close": "Zamknij",
"confirm": "Ok", "confirm": "Ok",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Kopiuj", "copy": "Kopiuj",
"create": "Utwórz", "create": "Utwórz",
@@ -22,12 +24,15 @@
"days.wed": "\u015ar", "days.wed": "\u015ar",
"delete": "Usu\u0144", "delete": "Usu\u0144",
"delete.all": "Delete all",
"dimensions": "Wymiary", "dimensions": "Wymiary",
"disabled": "Wyłączone", "disabled": "Wyłączone",
"discard": "Odrzu\u0107", "discard": "Odrzu\u0107",
"download": "Pobierz", "download": "Pobierz",
"duplicate": "Zduplikuj", "duplicate": "Zduplikuj",
"edit": "Edytuj", "edit": "Edytuj",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "Brak plików do wyboru", "dialog.files.empty": "Brak plików do wyboru",
"dialog.pages.empty": "Brak stron do wyboru", "dialog.pages.empty": "Brak stron do wyboru",
@@ -36,6 +41,7 @@
"email": "Email", "email": "Email",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "Invalid code",
"error.access.login": "Nieprawidłowy login", "error.access.login": "Nieprawidłowy login",
"error.access.panel": "Nie masz uprawnień by dostać się do panelu", "error.access.panel": "Nie masz uprawnień by dostać się do panelu",
"error.access.view": "Nie masz uprawnień, by dostać się do tej części panelu", "error.access.view": "Nie masz uprawnień, by dostać się do tej części panelu",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Nie udało się załadować wzorca \"{name}\"", "error.blueprint.notFound": "Nie udało się załadować wzorca \"{name}\"",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "Nie udało się załadować wzorca wiadomości e-mail \"{name}\"", "error.email.preset.notFound": "Nie udało się załadować wzorca wiadomości e-mail \"{name}\"",
"error.field.converter.invalid": "Nieprawidłowy konwerter \"{converter}\"", "error.field.converter.invalid": "Nieprawidłowy konwerter \"{converter}\"",
@@ -185,22 +197,77 @@
"error.validation.size": "Rozmiar wartości musi wynosić \"{size}\"", "error.validation.size": "Rozmiar wartości musi wynosić \"{size}\"",
"error.validation.startswith": "Wartość musi zaczynać się od \"{start}\"", "error.validation.startswith": "Wartość musi zaczynać się od \"{start}\"",
"error.validation.time": "Wprowadź poprawny czas", "error.validation.time": "Wprowadź poprawny czas",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Wprowadź poprawny adres URL", "error.validation.url": "Wprowadź poprawny adres URL",
"field.required": "Pole jest wymagane", "field.required": "Pole jest wymagane",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Kod",
"field.blocks.code.language": "Język",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Link",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Obrazek",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Nie wybrano jeszcze żadnych plików", "field.files.empty": "Nie wybrano jeszcze żadnych plików",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Nie wybrano jeszcze żadnych stron", "field.pages.empty": "Nie wybrano jeszcze żadnych stron",
"field.structure.delete.confirm": "Czy na pewno chcesz usunąć ten wiersz?", "field.structure.delete.confirm": "Czy na pewno chcesz usunąć ten wiersz?",
"field.structure.empty": "Nie ma jeszcze \u017cadnych wpis\u00f3w.", "field.structure.empty": "Nie ma jeszcze \u017cadnych wpis\u00f3w.",
"field.users.empty": "Nie wybrano jeszcze żadnych użytkowników", "field.users.empty": "Nie wybrano jeszcze żadnych użytkowników",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Czy na pewno chcesz usunąć <br><strong>{filename}</strong>?", "file.delete.confirm": "Czy na pewno chcesz usunąć <br><strong>{filename}</strong>?",
"file.sort": "Change position",
"files": "Pliki", "files": "Pliki",
"files.empty": "Nie ma jeszcze żadnych plików", "files.empty": "Nie ma jeszcze żadnych plików",
"hide": "Hide",
"hour": "Godzina", "hour": "Godzina",
"insert": "Wstaw", "insert": "Wstaw",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Zainstaluj", "install": "Zainstaluj",
"installation": "Instalacja", "installation": "Instalacja",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Twoje niezapisane zmiany zostały nadpisane przez innego użytkownika. Możesz pobrać swoje zmiany, by scalić je ręcznie.", "lock.isUnlocked": "Twoje niezapisane zmiany zostały nadpisane przez innego użytkownika. Możesz pobrać swoje zmiany, by scalić je ręcznie.",
"login": "Zaloguj", "login": "Zaloguj",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Nie wylogowuj mnie", "login.remember": "Nie wylogowuj mnie",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Wyloguj", "logout": "Wyloguj",
@@ -296,6 +376,7 @@
"orientation.portrait": "Pionowa", "orientation.portrait": "Pionowa",
"orientation.square": "Kwadrat", "orientation.square": "Kwadrat",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Zmie\u0144 URL", "page.changeSlug": "Zmie\u0144 URL",
"page.changeSlug.fromTitle": "Utw\u00f3rz na podstawie tytu\u0142u", "page.changeSlug.fromTitle": "Utw\u00f3rz na podstawie tytu\u0142u",
"page.changeStatus": "Zmień status", "page.changeStatus": "Zmień status",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Kopiuj", "page.duplicate.appendix": "Kopiuj",
"page.duplicate.files": "Kopiuj pliki", "page.duplicate.files": "Kopiuj pliki",
"page.duplicate.pages": "Kopiuj strony", "page.duplicate.pages": "Kopiuj strony",
"page.sort": "Change position",
"page.status": "Status", "page.status": "Status",
"page.status.draft": "Szkic", "page.status.draft": "Szkic",
"page.status.draft.description": "Strona jest w trybie roboczym i widoczna tylko dla zalogowanych redaktorów lub pod sekretnym linkiem", "page.status.draft.description": "Strona jest w trybie roboczym i widoczna tylko dla zalogowanych redaktorów lub pod sekretnym linkiem",
@@ -328,6 +410,7 @@
"password": "Has\u0142o", "password": "Has\u0142o",
"pixel": "Piksel", "pixel": "Piksel",
"prev": "Poprzednie", "prev": "Poprzednie",
"preview": "Preview",
"remove": "Usuń", "remove": "Usuń",
"rename": "Zmień nazwę", "rename": "Zmień nazwę",
"replace": "Zamie\u0144", "replace": "Zamie\u0144",
@@ -354,6 +437,7 @@
"select": "Wybierz", "select": "Wybierz",
"settings": "Ustawienia", "settings": "Ustawienia",
"show": "Show",
"size": "Rozmiar", "size": "Rozmiar",
"slug": "Końcówka URL", "slug": "Końcówka URL",
"sort": "Sortuj", "sort": "Sortuj",
@@ -361,6 +445,8 @@
"template": "Szablon", "template": "Szablon",
"today": "Dzisiaj", "today": "Dzisiaj",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Kod", "toolbar.button.code": "Kod",
"toolbar.button.bold": "Pogrubienie", "toolbar.button.bold": "Pogrubienie",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -419,6 +505,7 @@
"view.account": "Twoje konto", "view.account": "Twoje konto",
"view.installation": "Instalacja", "view.installation": "Instalacja",
"view.resetPassword": "Reset password",
"view.settings": "Ustawienia", "view.settings": "Ustawienia",
"view.site": "Strona", "view.site": "Strona",
"view.users": "U\u017cytkownicy", "view.users": "U\u017cytkownicy",

View File

@@ -6,6 +6,8 @@
"change": "Alterar", "change": "Alterar",
"close": "Fechar", "close": "Fechar",
"confirm": "Salvar", "confirm": "Salvar",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Copiar", "copy": "Copiar",
"create": "Criar", "create": "Criar",
@@ -22,12 +24,15 @@
"days.wed": "Qua", "days.wed": "Qua",
"delete": "Excluir", "delete": "Excluir",
"delete.all": "Delete all",
"dimensions": "Dimensões", "dimensions": "Dimensões",
"disabled": "Disabled", "disabled": "Disabled",
"discard": "Descartar", "discard": "Descartar",
"download": "Download", "download": "Download",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"edit": "Editar", "edit": "Editar",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "No files to select", "dialog.files.empty": "No files to select",
"dialog.pages.empty": "No pages to select", "dialog.pages.empty": "No pages to select",
@@ -36,6 +41,7 @@
"email": "Email", "email": "Email",
"email.placeholder": "mail@exemplo.com", "email.placeholder": "mail@exemplo.com",
"error.access.code": "Invalid code",
"error.access.login": "Login inválido", "error.access.login": "Login inválido",
"error.access.panel": "Você não tem permissão para acessar o painel", "error.access.panel": "Você não tem permissão para acessar o painel",
"error.access.view": "You are not allowed to access this part of the panel", "error.access.view": "You are not allowed to access this part of the panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "O blueprint \"{name}\" não pôde ser carregado", "error.blueprint.notFound": "O blueprint \"{name}\" não pôde ser carregado",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "Preset de email \"{name}\" não encontrado", "error.email.preset.notFound": "Preset de email \"{name}\" não encontrado",
"error.field.converter.invalid": "Conversor \"{converter}\" inválido", "error.field.converter.invalid": "Conversor \"{converter}\" inválido",
@@ -185,22 +197,77 @@
"error.validation.size": "O tamanho do valor deve ser \"{size}\"", "error.validation.size": "O tamanho do valor deve ser \"{size}\"",
"error.validation.startswith": "O valor deve começar com \"{start}\"", "error.validation.startswith": "O valor deve começar com \"{start}\"",
"error.validation.time": "Digite uma hora válida", "error.validation.time": "Digite uma hora válida",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Digite uma URL válida", "error.validation.url": "Digite uma URL válida",
"field.required": "The field is required", "field.required": "The field is required",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Código",
"field.blocks.code.language": "Idioma",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Link",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Imagem",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Nenhum arquivo selecionado", "field.files.empty": "Nenhum arquivo selecionado",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Nenhuma página selecionada", "field.pages.empty": "Nenhuma página selecionada",
"field.structure.delete.confirm": "Deseja realmente excluir este registro?", "field.structure.delete.confirm": "Deseja realmente excluir este registro?",
"field.structure.empty": "Nenhum registro", "field.structure.empty": "Nenhum registro",
"field.users.empty": "Nenhum usuário selecionado", "field.users.empty": "Nenhum usuário selecionado",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Deseja realmente excluir <br> <strong>{filename}</strong>?", "file.delete.confirm": "Deseja realmente excluir <br> <strong>{filename}</strong>?",
"file.sort": "Change position",
"files": "Arquivos", "files": "Arquivos",
"files.empty": "Nenhum arquivo", "files.empty": "Nenhum arquivo",
"hide": "Hide",
"hour": "Hora", "hour": "Hora",
"insert": "Inserir", "insert": "Inserir",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Instalar", "install": "Instalar",
"installation": "Instalação", "installation": "Instalação",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.", "lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.",
"login": "Entrar", "login": "Entrar",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Manter-me conectado", "login.remember": "Manter-me conectado",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Sair", "logout": "Sair",
@@ -296,6 +376,7 @@
"orientation.portrait": "Retrato", "orientation.portrait": "Retrato",
"orientation.square": "Quadrado", "orientation.square": "Quadrado",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Alterar URL", "page.changeSlug": "Alterar URL",
"page.changeSlug.fromTitle": "Criar a partir do t\u00edtulo", "page.changeSlug.fromTitle": "Criar a partir do t\u00edtulo",
"page.changeStatus": "Alterar estado", "page.changeStatus": "Alterar estado",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Copiar", "page.duplicate.appendix": "Copiar",
"page.duplicate.files": "Copy files", "page.duplicate.files": "Copy files",
"page.duplicate.pages": "Copy pages", "page.duplicate.pages": "Copy pages",
"page.sort": "Change position",
"page.status": "Estado", "page.status": "Estado",
"page.status.draft": "Rascunho", "page.status.draft": "Rascunho",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +410,7 @@
"password": "Senha", "password": "Senha",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Anterior", "prev": "Anterior",
"preview": "Preview",
"remove": "Remover", "remove": "Remover",
"rename": "Renomear", "rename": "Renomear",
"replace": "Substituir", "replace": "Substituir",
@@ -354,6 +437,7 @@
"select": "Selecionar", "select": "Selecionar",
"settings": "Configurações", "settings": "Configurações",
"show": "Show",
"size": "Tamanho", "size": "Tamanho",
"slug": "URL", "slug": "URL",
"sort": "Ordenar", "sort": "Ordenar",
@@ -361,6 +445,8 @@
"template": "Tema", "template": "Tema",
"today": "Hoje", "today": "Hoje",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Código", "toolbar.button.code": "Código",
"toolbar.button.bold": "Negrito", "toolbar.button.bold": "Negrito",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -419,6 +505,7 @@
"view.account": "Sua conta", "view.account": "Sua conta",
"view.installation": "Instala\u00e7\u00e3o", "view.installation": "Instala\u00e7\u00e3o",
"view.resetPassword": "Reset password",
"view.settings": "Configurações", "view.settings": "Configurações",
"view.site": "Site", "view.site": "Site",
"view.users": "Usu\u00e1rios", "view.users": "Usu\u00e1rios",

View File

@@ -6,6 +6,8 @@
"change": "Alterar", "change": "Alterar",
"close": "Fechar", "close": "Fechar",
"confirm": "Salvar", "confirm": "Salvar",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Copiar", "copy": "Copiar",
"create": "Criar", "create": "Criar",
@@ -22,12 +24,15 @@
"days.wed": "Qua", "days.wed": "Qua",
"delete": "Excluir", "delete": "Excluir",
"delete.all": "Delete all",
"dimensions": "Dimensões", "dimensions": "Dimensões",
"disabled": "Inativo", "disabled": "Inativo",
"discard": "Descartar", "discard": "Descartar",
"download": "Descarregar", "download": "Descarregar",
"duplicate": "Duplicar", "duplicate": "Duplicar",
"edit": "Editar", "edit": "Editar",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "Sem arquivos para selecionar", "dialog.files.empty": "Sem arquivos para selecionar",
"dialog.pages.empty": "Sem páginas para selecionar", "dialog.pages.empty": "Sem páginas para selecionar",
@@ -36,6 +41,7 @@
"email": "Email", "email": "Email",
"email.placeholder": "mail@exemplo.pt", "email.placeholder": "mail@exemplo.pt",
"error.access.code": "Invalid code",
"error.access.login": "Login inválido", "error.access.login": "Login inválido",
"error.access.panel": "Não tem permissões para aceder ao painel", "error.access.panel": "Não tem permissões para aceder ao painel",
"error.access.view": "Não tem permissões para aceder a esta área do Painel", "error.access.view": "Não tem permissões para aceder a esta área do Painel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "O blueprint \"{name}\" não pode ser carregado", "error.blueprint.notFound": "O blueprint \"{name}\" não pode ser carregado",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "Preset de email \"{name}\" não encontrado", "error.email.preset.notFound": "Preset de email \"{name}\" não encontrado",
"error.field.converter.invalid": "Conversor \"{converter}\" inválido", "error.field.converter.invalid": "Conversor \"{converter}\" inválido",
@@ -102,7 +114,7 @@
"error.page.notFound": "Página\"{slug}\" não encontrada", "error.page.notFound": "Página\"{slug}\" não encontrada",
"error.page.num.invalid": "Digite um número de ordenação válido. Este número não pode ser negativo.", "error.page.num.invalid": "Digite um número de ordenação válido. Este número não pode ser negativo.",
"error.page.slug.invalid": "Por favor, digite um prefixo de URL válido", "error.page.slug.invalid": "Por favor, digite um prefixo de URL válido",
"error.page.slug.maxlength": "Slug length must be less than \"{length}\" characters", "error.page.slug.maxlength": "O slug não pode conter mais do que \"{length}\" caracteres",
"error.page.sort.permission": "A página \"{slug}\" não pode ser ordenada", "error.page.sort.permission": "A página \"{slug}\" não pode ser ordenada",
"error.page.status.invalid": "Por favor, defina um estado de página válido", "error.page.status.invalid": "Por favor, defina um estado de página válido",
"error.page.undefined": "P\u00e1gina n\u00e3o encontrada", "error.page.undefined": "P\u00e1gina n\u00e3o encontrada",
@@ -185,22 +197,77 @@
"error.validation.size": "O tamanho do valor deve ser \"{size}\"", "error.validation.size": "O tamanho do valor deve ser \"{size}\"",
"error.validation.startswith": "O valor deve começar com \"{start}\"", "error.validation.startswith": "O valor deve começar com \"{start}\"",
"error.validation.time": "Digite uma hora válida", "error.validation.time": "Digite uma hora válida",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Digite uma URL válida", "error.validation.url": "Digite uma URL válida",
"field.required": "Este campo é necessário", "field.required": "Este campo é necessário",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Código",
"field.blocks.code.language": "Idioma",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Link",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Imagem",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Nenhum arquivo selecionado", "field.files.empty": "Nenhum arquivo selecionado",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Nenhuma página selecionada", "field.pages.empty": "Nenhuma página selecionada",
"field.structure.delete.confirm": "Deseja realmente excluir este registro?", "field.structure.delete.confirm": "Deseja realmente excluir este registro?",
"field.structure.empty": "Nenhum registro", "field.structure.empty": "Nenhum registro",
"field.users.empty": "Nenhum utilizador selecionado", "field.users.empty": "Nenhum utilizador selecionado",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Deseja realmente excluir <br> <strong>{filename}</strong>?", "file.delete.confirm": "Deseja realmente excluir <br> <strong>{filename}</strong>?",
"file.sort": "Change position",
"files": "Arquivos", "files": "Arquivos",
"files.empty": "Nenhum arquivo", "files.empty": "Nenhum arquivo",
"hide": "Hide",
"hour": "Hora", "hour": "Hora",
"insert": "Inserir", "insert": "Inserir",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Instalar", "install": "Instalar",
"installation": "Instalação", "installation": "Instalação",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "As suas alterações foram sobrepostas por outro utilizador. Pode descarregar as suas alterações e combiná-las manualmente.", "lock.isUnlocked": "As suas alterações foram sobrepostas por outro utilizador. Pode descarregar as suas alterações e combiná-las manualmente.",
"login": "Entrar", "login": "Entrar",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Manter-me conectado", "login.remember": "Manter-me conectado",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Sair", "logout": "Sair",
@@ -289,13 +369,14 @@
"on": "on", "on": "on",
"open": "Abrir", "open": "Abrir",
"options": "Opções", "options": "Opções",
"options.none": "No options", "options.none": "Sem opções",
"orientation": "Orientação", "orientation": "Orientação",
"orientation.landscape": "Paisagem", "orientation.landscape": "Paisagem",
"orientation.portrait": "Retrato", "orientation.portrait": "Retrato",
"orientation.square": "Quadrado", "orientation.square": "Quadrado",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Alterar URL", "page.changeSlug": "Alterar URL",
"page.changeSlug.fromTitle": "Criar a partir do t\u00edtulo", "page.changeSlug.fromTitle": "Criar a partir do t\u00edtulo",
"page.changeStatus": "Alterar estado", "page.changeStatus": "Alterar estado",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Copiar", "page.duplicate.appendix": "Copiar",
"page.duplicate.files": "Copiar arquivos", "page.duplicate.files": "Copiar arquivos",
"page.duplicate.pages": "Copiar páginas", "page.duplicate.pages": "Copiar páginas",
"page.sort": "Change position",
"page.status": "Estado", "page.status": "Estado",
"page.status.draft": "Rascunho", "page.status.draft": "Rascunho",
"page.status.draft.description": "A página está em modo de rascunho e é visível somente para editores", "page.status.draft.description": "A página está em modo de rascunho e é visível somente para editores",
@@ -328,6 +410,7 @@
"password": "Palavra-passe", "password": "Palavra-passe",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Anterior", "prev": "Anterior",
"preview": "Preview",
"remove": "Remover", "remove": "Remover",
"rename": "Renomear", "rename": "Renomear",
"replace": "Substituir", "replace": "Substituir",
@@ -346,14 +429,15 @@
"save": "Salvar", "save": "Salvar",
"search": "Buscar", "search": "Buscar",
"search.min": "Enter {min} characters to search", "search.min": "Introduza {min} caracteres para pesquisar",
"search.all": "Show all", "search.all": "Mostrar todos",
"search.results.none": "No results", "search.results.none": "Sem resultados",
"section.required": "Esta seção é necessária", "section.required": "Esta seção é necessária",
"select": "Selecionar", "select": "Selecionar",
"settings": "Configurações", "settings": "Configurações",
"show": "Show",
"size": "Tamanho", "size": "Tamanho",
"slug": "URL", "slug": "URL",
"sort": "Ordenar", "sort": "Ordenar",
@@ -361,6 +445,8 @@
"template": "Tema", "template": "Tema",
"today": "Hoje", "today": "Hoje",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Código", "toolbar.button.code": "Código",
"toolbar.button.bold": "Negrito", "toolbar.button.bold": "Negrito",
"toolbar.button.email": "Email", "toolbar.button.email": "Email",
@@ -419,6 +505,7 @@
"view.account": "A sua conta", "view.account": "A sua conta",
"view.installation": "Instala\u00e7\u00e3o", "view.installation": "Instala\u00e7\u00e3o",
"view.resetPassword": "Reset password",
"view.settings": "Configurações", "view.settings": "Configurações",
"view.site": "Site", "view.site": "Site",
"view.users": "Utilizadores", "view.users": "Utilizadores",

View File

@@ -6,6 +6,8 @@
"change": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c", "change": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c",
"close": "\u0417\u0430\u043a\u0440\u044b\u0442\u044c", "close": "\u0417\u0430\u043a\u0440\u044b\u0442\u044c",
"confirm": "Ок", "confirm": "Ок",
"collapse": "Свернуть",
"collapse.all": "Свернуть все",
"copy": "Скопировать", "copy": "Скопировать",
"create": "Создать", "create": "Создать",
@@ -22,12 +24,15 @@
"days.wed": "\u0421\u0440", "days.wed": "\u0421\u0440",
"delete": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c", "delete": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c",
"delete.all": "Удалить все",
"dimensions": "Размеры", "dimensions": "Размеры",
"disabled": "Отключено", "disabled": "Отключено",
"discard": "\u0421\u0431\u0440\u043e\u0441", "discard": "\u0421\u0431\u0440\u043e\u0441",
"download": "Скачать", "download": "Скачать",
"duplicate": "Дублировать", "duplicate": "Дублировать",
"edit": "\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c", "edit": "\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c",
"expand": "Развернуть",
"expand.all": "Развернуть все",
"dialog.files.empty": "Нет файлов для выбора", "dialog.files.empty": "Нет файлов для выбора",
"dialog.pages.empty": "Нет страниц для выбора", "dialog.pages.empty": "Нет страниц для выбора",
@@ -36,6 +41,7 @@
"email": "Эл. почта", "email": "Эл. почта",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "Неверный код",
"error.access.login": "Неправильный логин", "error.access.login": "Неправильный логин",
"error.access.panel": "У вас нет права доступа к панели", "error.access.panel": "У вас нет права доступа к панели",
"error.access.view": "У вас нет прав доступа к этой части панели", "error.access.view": "У вас нет прав доступа к этой части панели",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Не удалось загрузить blueprint \"{name}\"", "error.blueprint.notFound": "Не удалось загрузить blueprint \"{name}\"",
"error.blocks.max.plural": "Вы не можете добавить больше {max} блоков",
"error.blocks.max.singular": "Вы не можете добавить больше одного блока",
"error.blocks.min.plural": "Вы должны добавить хотя бы {min} блоков",
"error.blocks.min.singular": "Вы должны добавить хотя бы один блок",
"error.blocks.validation": "Обнаружена ошибка в блоке {index}",
"error.email.preset.notFound": "Шаблон эл. почты \"{name}\" не найден", "error.email.preset.notFound": "Шаблон эл. почты \"{name}\" не найден",
"error.field.converter.invalid": "Неверный конвертер \"{converter}\"", "error.field.converter.invalid": "Неверный конвертер \"{converter}\"",
@@ -102,7 +114,7 @@
"error.page.notFound": "\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430", "error.page.notFound": "\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430",
"error.page.num.invalid": "Пожалуйста, впишите правильное число сортировки. Число не может быть отрицательным.", "error.page.num.invalid": "Пожалуйста, впишите правильное число сортировки. Число не может быть отрицательным.",
"error.page.slug.invalid": "Пожалуйста, впишите правильный префикс URL", "error.page.slug.invalid": "Пожалуйста, впишите правильный префикс URL",
"error.page.slug.maxlength": "Slug length must be less than \"{length}\" characters", "error.page.slug.maxlength": "Длина ссылки (ЧПУ) должна быть короче \"{length}\" символов",
"error.page.sort.permission": "Невозможно сортировать страницу \"{slug}\"", "error.page.sort.permission": "Невозможно сортировать страницу \"{slug}\"",
"error.page.status.invalid": "Пожалуйста, установите верный статус страницы", "error.page.status.invalid": "Пожалуйста, установите верный статус страницы",
"error.page.undefined": "\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430", "error.page.undefined": "\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430",
@@ -185,22 +197,77 @@
"error.validation.size": "Значение размера должно быть \"{size}\"", "error.validation.size": "Значение размера должно быть \"{size}\"",
"error.validation.startswith": "Значение должно начинаться с \"{start}\"", "error.validation.startswith": "Значение должно начинаться с \"{start}\"",
"error.validation.time": "Пожалуйста, введите правильную дату", "error.validation.time": "Пожалуйста, введите правильную дату",
"error.validation.time.after": "Пожалуйста, укажите время после {time}",
"error.validation.time.before": "Пожалуйста, укажите время до {time}",
"error.validation.time.between": "Пожалуйста, укажите время между {min} и {max}",
"error.validation.url": "Пожалуйста, введите правильный URL", "error.validation.url": "Пожалуйста, введите правильный URL",
"field.required": "Поле обязательно", "field.required": "Поле обязательно",
"field.blocks.changeType": "Изменить тип",
"field.blocks.code.name": "Код",
"field.blocks.code.language": "Язык",
"field.blocks.code.placeholder": "Ваш код …",
"field.blocks.delete.confirm": "Вы действительно хотите удалить этот блок?",
"field.blocks.delete.confirm.all": "Вы действительно хотите удалить все блоки?",
"field.blocks.delete.confirm.selected": "Вы действительно хотите удалить эти блоки?",
"field.blocks.empty": "Еще нет блоков",
"field.blocks.fieldsets.label": "Пожалуйста, выберите тип блока…",
"field.blocks.gallery.name": "Галерея",
"field.blocks.gallery.images.empty": "Еще нет изображений",
"field.blocks.gallery.images.label": "Изображения",
"field.blocks.heading.level": "Уровень",
"field.blocks.heading.name": "Заголовок",
"field.blocks.heading.text": "Текст",
"field.blocks.heading.placeholder": "Заголовок …",
"field.blocks.image.alt": "Альтернативный текст",
"field.blocks.image.caption": "Подпись",
"field.blocks.image.crop": "Обрезать",
"field.blocks.image.link": "Ссылка",
"field.blocks.image.location": "Расположение",
"field.blocks.image.name": "Картинка",
"field.blocks.image.placeholder": "Выберите изображение",
"field.blocks.image.ratio": "Соотношение",
"field.blocks.list.name": "Список",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Текст",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Цитата",
"field.blocks.quote.text.label": "Текст",
"field.blocks.quote.text.placeholder": "Цитата …",
"field.blocks.quote.citation.label": "Цитирование",
"field.blocks.quote.citation.placeholder": "Автор …",
"field.blocks.text.name": "Текст",
"field.blocks.text.placeholder": "Текст …",
"field.blocks.video.caption": "Подпись",
"field.blocks.video.name": "Видео",
"field.blocks.video.placeholder": "Введите ссылку на видео",
"field.blocks.video.url.label": "Ссылка на видео",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Еще не выбраны файлы", "field.files.empty": "Еще не выбраны файлы",
"field.layout.delete": "Удалить разметку",
"field.layout.delete.confirm": "Вы действительно хотите удалить эту разметку?",
"field.layout.empty": "Еще нет строк",
"field.layout.select": "Выберите разметку",
"field.pages.empty": "Еще не выбраны страницы", "field.pages.empty": "Еще не выбраны страницы",
"field.structure.delete.confirm": "Вы точно хотите удалить эту запись?", "field.structure.delete.confirm": "Вы точно хотите удалить эту запись?",
"field.structure.empty": "Еще нет записей", "field.structure.empty": "Еще нет записей",
"field.users.empty": "Еще нет пользователей", "field.users.empty": "Еще нет пользователей",
"file.blueprint": "Вы можете определить новые секции и поля формы для этого файла в <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Вы точно хотите удалить файл <br><strong>{filename}</strong>?", "file.delete.confirm": "Вы точно хотите удалить файл <br><strong>{filename}</strong>?",
"file.sort": "Изменить позицию",
"files": "Файлы", "files": "Файлы",
"files.empty": "Еще нет файлов", "files.empty": "Еще нет файлов",
"hide": "Скрыть",
"hour": "Час", "hour": "Час",
"insert": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c", "insert": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c",
"insert.after": "Вставить ниже",
"insert.before": "Вставить выше",
"install": "Установить", "install": "Установить",
"installation": "Установка", "installation": "Установка",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Ваши несохраненные изменения были перезаписаны другим пользователем. Вы можете загрузить ваши изменения и объединить их вручную.", "lock.isUnlocked": "Ваши несохраненные изменения были перезаписаны другим пользователем. Вы можете загрузить ваши изменения и объединить их вручную.",
"login": "Войти", "login": "Войти",
"login.code.label.login": "Код для входа",
"login.code.label.password-reset": "Код для сброса пароля",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "Если ваш Email уже зарегистрирован, запрашиваемый код был отправлен на него.",
"login.email.login.body": "Добрый день, {user.nameOrEmail}.\n\nНедавно вы запросили код для авторизации в Kirby Panel.\nЭтот код будет доступен {timeout} минут:\n\n{code}\n\nЕсли вы не запрашивали код для авторизации, пожалуйста, проигнорируйте это письмо или свяжитесь с вашим администратором, если у вас возникли вопросы.\nТакже исходя из соображений безопасности просим вас НЕ ПЕРЕСЫЛАТЬ это письмо.",
"login.email.login.subject": "Ваш код для входа",
"login.email.password-reset.body": "Добрый день, {user.nameOrEmail}.\n\nНедавно вы запросили код для сброса пароля в Kirby Panel.\nЭтот код будет доступен {timeout} минут:\n\n{code}\n\nЕсли вы не запрашивали код для сброса пароля, пожалуйста, проигнорируйте это письмо или свяжитесь с вашим администратором, если у вас возникли вопросы.\nТакже исходя из соображений безопасности просим вас НЕ ПЕРЕСЫЛАТЬ это письмо.",
"login.email.password-reset.subject": "Ваш код для сброса пароля",
"login.remember": "Сохранять вход активным", "login.remember": "Сохранять вход активным",
"login.reset": "Сбросить пароль",
"login.toggleText.code.email": "Вход с помощью Email",
"login.toggleText.code.email-password": "Вход с паролем",
"login.toggleText.password-reset.email": "Забыли ваш пароль?",
"login.toggleText.password-reset.email-password": "← Вернуться к форме входа",
"logout": "Выйти", "logout": "Выйти",
@@ -289,13 +369,14 @@
"on": "включено", "on": "включено",
"open": "Открыть", "open": "Открыть",
"options": "Опции", "options": "Опции",
"options.none": "No options", "options.none": "Нет параметров",
"orientation": "Ориентация", "orientation": "Ориентация",
"orientation.landscape": "Горизонтальная", "orientation.landscape": "Горизонтальная",
"orientation.portrait": "Портретная", "orientation.portrait": "Портретная",
"orientation.square": "Квадрат", "orientation.square": "Квадрат",
"page.blueprint": "Вы можете определить новые секции и поля формы для этой страницы в <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 (\u0427\u041f\u0423)", "page.changeSlug": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 (\u0427\u041f\u0423)",
"page.changeSlug.fromTitle": "Создать из названия", "page.changeSlug.fromTitle": "Создать из названия",
"page.changeStatus": "Изменить статус", "page.changeStatus": "Изменить статус",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Скопировать", "page.duplicate.appendix": "Скопировать",
"page.duplicate.files": "Копировать файлы", "page.duplicate.files": "Копировать файлы",
"page.duplicate.pages": "Копировать страницы", "page.duplicate.pages": "Копировать страницы",
"page.sort": "Изменить позицию",
"page.status": "Статус", "page.status": "Статус",
"page.status.draft": "Черновик", "page.status.draft": "Черновик",
"page.status.draft.description": "Страница находится в черновом режиме и видна только зарегистрированным пользователям или по секретной ссылке", "page.status.draft.description": "Страница находится в черновом режиме и видна только зарегистрированным пользователям или по секретной ссылке",
@@ -328,6 +410,7 @@
"password": "\u041f\u0430\u0440\u043e\u043b\u044c", "password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"pixel": "Пиксель", "pixel": "Пиксель",
"prev": "Предыдущий", "prev": "Предыдущий",
"preview": "Предпросмотр",
"remove": "Удалить", "remove": "Удалить",
"rename": "Переназвать", "rename": "Переназвать",
"replace": "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c", "replace": "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c",
@@ -346,14 +429,15 @@
"save": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c", "save": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c",
"search": "Поиск", "search": "Поиск",
"search.min": "Enter {min} characters to search", "search.min": "Введите хотя бы {min} символов для поиска",
"search.all": "Show all", "search.all": "Показать все",
"search.results.none": "No results", "search.results.none": "Нет результатов",
"section.required": "Секция обязательна", "section.required": "Секция обязательна",
"select": "Выбрать", "select": "Выбрать",
"settings": "Настройка", "settings": "Настройка",
"show": "Показать",
"size": "Размер", "size": "Размер",
"slug": "Понятная ссылка (ЧПУ)", "slug": "Понятная ссылка (ЧПУ)",
"sort": "Сортировать", "sort": "Сортировать",
@@ -361,6 +445,8 @@
"template": "\u0428\u0430\u0431\u043b\u043e\u043d", "template": "\u0428\u0430\u0431\u043b\u043e\u043d",
"today": "Сегодня", "today": "Сегодня",
"site.blueprint": "Вы можете определить новые секции и поля формы для этого сайта в <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Код", "toolbar.button.code": "Код",
"toolbar.button.bold": "\u0416\u0438\u0440\u043d\u044b\u0439 \u0448\u0440\u0438\u0444\u0442", "toolbar.button.bold": "\u0416\u0438\u0440\u043d\u044b\u0439 \u0448\u0440\u0438\u0444\u0442",
"toolbar.button.email": "Эл. почта", "toolbar.button.email": "Эл. почта",
@@ -419,6 +505,7 @@
"view.account": "\u0412\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442", "view.account": "\u0412\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",
"view.installation": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430", "view.installation": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430",
"view.resetPassword": "Сбросить пароль",
"view.settings": "Настройка", "view.settings": "Настройка",
"view.site": "Сайт", "view.site": "Сайт",
"view.users": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438", "view.users": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438",

View File

@@ -6,6 +6,8 @@
"change": "Zmeniť", "change": "Zmeniť",
"close": "Zavrieť", "close": "Zavrieť",
"confirm": "Ok", "confirm": "Ok",
"collapse": "Collapse",
"collapse.all": "Collapse All",
"copy": "Kopírovať", "copy": "Kopírovať",
"create": "Vytvoriť", "create": "Vytvoriť",
@@ -22,12 +24,15 @@
"days.wed": "Str", "days.wed": "Str",
"delete": "Zmazať", "delete": "Zmazať",
"delete.all": "Delete all",
"dimensions": "Rozmery", "dimensions": "Rozmery",
"disabled": "Disabled", "disabled": "Disabled",
"discard": "Zahodiť", "discard": "Zahodiť",
"download": "Download", "download": "Download",
"duplicate": "Duplicate", "duplicate": "Duplicate",
"edit": "Upraviť", "edit": "Upraviť",
"expand": "Expand",
"expand.all": "Expand All",
"dialog.files.empty": "No files to select", "dialog.files.empty": "No files to select",
"dialog.pages.empty": "No pages to select", "dialog.pages.empty": "No pages to select",
@@ -36,6 +41,7 @@
"email": "E-mail", "email": "E-mail",
"email.placeholder": "mail@example.com", "email.placeholder": "mail@example.com",
"error.access.code": "Invalid code",
"error.access.login": "Neplatné prihlásenie", "error.access.login": "Neplatné prihlásenie",
"error.access.panel": "Nemáte povolenie na prístup do Panel-u", "error.access.panel": "Nemáte povolenie na prístup do Panel-u",
"error.access.view": "You are not allowed to access this part of the panel", "error.access.view": "You are not allowed to access this part of the panel",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Blueprint \"{name}\" sa nepodarilo načítať", "error.blueprint.notFound": "Blueprint \"{name}\" sa nepodarilo načítať",
"error.blocks.max.plural": "You must not add more than {max} blocks",
"error.blocks.max.singular": "You must not add more than one block",
"error.blocks.min.plural": "You must add at least {min} blocks",
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error in block {index}",
"error.email.preset.notFound": "E-mailovú predvoľbu \"{name}\" nie je možné nájsť", "error.email.preset.notFound": "E-mailovú predvoľbu \"{name}\" nie je možné nájsť",
"error.field.converter.invalid": "Neplatný converter \"{converter}\"", "error.field.converter.invalid": "Neplatný converter \"{converter}\"",
@@ -185,22 +197,77 @@
"error.validation.size": "Veľkosť hodnoty musí byť \"{size}\"", "error.validation.size": "Veľkosť hodnoty musí byť \"{size}\"",
"error.validation.startswith": "Hodnota musí začínať s \"{start}\"", "error.validation.startswith": "Hodnota musí začínať s \"{start}\"",
"error.validation.time": "Prosím, zadajte platný čas", "error.validation.time": "Prosím, zadajte platný čas",
"error.validation.time.after": "Please enter a time after {time}",
"error.validation.time.before": "Please enter a time before {time}",
"error.validation.time.between": "Please enter a time between {min} and {max}",
"error.validation.url": "Prosím, zadajte platnú URL", "error.validation.url": "Prosím, zadajte platnú URL",
"field.required": "The field is required", "field.required": "The field is required",
"field.blocks.changeType": "Change type",
"field.blocks.code.name": "Kód",
"field.blocks.code.language": "Jazyk",
"field.blocks.code.placeholder": "Your code …",
"field.blocks.delete.confirm": "Do you really want to delete this block?",
"field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
"field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
"field.blocks.empty": "No blocks yet",
"field.blocks.fieldsets.label": "Please select a block type …",
"field.blocks.gallery.name": "Gallery",
"field.blocks.gallery.images.empty": "No images yet",
"field.blocks.gallery.images.label": "Images",
"field.blocks.heading.level": "Level",
"field.blocks.heading.name": "Heading",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Heading …",
"field.blocks.image.alt": "Alternative text",
"field.blocks.image.caption": "Caption",
"field.blocks.image.crop": "Crop",
"field.blocks.image.link": "Odkaz",
"field.blocks.image.location": "Location",
"field.blocks.image.name": "Obrázok",
"field.blocks.image.placeholder": "Select an image",
"field.blocks.image.ratio": "Ratio",
"field.blocks.list.name": "List",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Quote",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Quote …",
"field.blocks.quote.citation.label": "Citation",
"field.blocks.quote.citation.placeholder": "by …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Caption",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Enter a video URL",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Žiadne súbory zatiaľ neboli zvolené", "field.files.empty": "Žiadne súbory zatiaľ neboli zvolené",
"field.layout.delete": "Delete layout",
"field.layout.delete.confirm": "Do you really want to delete this layout?",
"field.layout.empty": "No rows yet",
"field.layout.select": "Select a layout",
"field.pages.empty": "Žiadne stránky zatiaľ neboli zvolené", "field.pages.empty": "Žiadne stránky zatiaľ neboli zvolené",
"field.structure.delete.confirm": "Ste si istý, že chcete zmazať tento riadok?", "field.structure.delete.confirm": "Ste si istý, že chcete zmazať tento riadok?",
"field.structure.empty": "Zatiaľ žiadne údaje", "field.structure.empty": "Zatiaľ žiadne údaje",
"field.users.empty": "Žiadni užívatelia zatiaľ neboli zvolení", "field.users.empty": "Žiadni užívatelia zatiaľ neboli zvolení",
"file.blueprint": "This file has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Ste si istý, že chcete zmazať <br><strong>{filename}</strong>?", "file.delete.confirm": "Ste si istý, že chcete zmazať <br><strong>{filename}</strong>?",
"file.sort": "Change position",
"files": "Súbory", "files": "Súbory",
"files.empty": "Zatiaľ žiadne súbory", "files.empty": "Zatiaľ žiadne súbory",
"hide": "Hide",
"hour": "Hodina", "hour": "Hodina",
"insert": "Vložiť", "insert": "Vložiť",
"insert.after": "Insert after",
"insert.before": "Insert before",
"install": "Inštalovať", "install": "Inštalovať",
"installation": "Inštalácia", "installation": "Inštalácia",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.", "lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.",
"login": "Prihlásenie", "login": "Prihlásenie",
"login.code.label.login": "Login code",
"login.code.label.password-reset": "Password reset code",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "If your email address is registered, the requested code was sent via email.",
"login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Kirby Panel.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.login.subject": "Your login code",
"login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Kirby Panel.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
"login.email.password-reset.subject": "Your password reset code",
"login.remember": "Ponechať ma prihláseného", "login.remember": "Ponechať ma prihláseného",
"login.reset": "Reset password",
"login.toggleText.code.email": "Login via email",
"login.toggleText.code.email-password": "Login with password",
"login.toggleText.password-reset.email": "Forgot your password?",
"login.toggleText.password-reset.email-password": "← Back to login",
"logout": "Odhlásenie", "logout": "Odhlásenie",
@@ -296,6 +376,7 @@
"orientation.portrait": "Portrét", "orientation.portrait": "Portrét",
"orientation.square": "Štvorec", "orientation.square": "Štvorec",
"page.blueprint": "This page has no blueprint yet. You can define the setup in <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Zmeniť URL", "page.changeSlug": "Zmeniť URL",
"page.changeSlug.fromTitle": "Vytvoriť z titulku", "page.changeSlug.fromTitle": "Vytvoriť z titulku",
"page.changeStatus": "Zmeniť status", "page.changeStatus": "Zmeniť status",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Kopírovať", "page.duplicate.appendix": "Kopírovať",
"page.duplicate.files": "Copy files", "page.duplicate.files": "Copy files",
"page.duplicate.pages": "Copy pages", "page.duplicate.pages": "Copy pages",
"page.sort": "Change position",
"page.status": "Status", "page.status": "Status",
"page.status.draft": "Koncept", "page.status.draft": "Koncept",
"page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link", "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
@@ -328,6 +410,7 @@
"password": "Heslo", "password": "Heslo",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Predchádzajúci", "prev": "Predchádzajúci",
"preview": "Preview",
"remove": "Odstrániť", "remove": "Odstrániť",
"rename": "Premenovať", "rename": "Premenovať",
"replace": "Nahradiť", "replace": "Nahradiť",
@@ -354,6 +437,7 @@
"select": "Zvoliť", "select": "Zvoliť",
"settings": "Nastavenia", "settings": "Nastavenia",
"show": "Show",
"size": "Veľkosť", "size": "Veľkosť",
"slug": "URL appendix", "slug": "URL appendix",
"sort": "Zoradiť", "sort": "Zoradiť",
@@ -361,6 +445,8 @@
"template": "Šablóna", "template": "Šablóna",
"today": "Dnes", "today": "Dnes",
"site.blueprint": "The site has no blueprint yet. You can define the setup in <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Kód", "toolbar.button.code": "Kód",
"toolbar.button.bold": "Tučný", "toolbar.button.bold": "Tučný",
"toolbar.button.email": "E-mail", "toolbar.button.email": "E-mail",
@@ -419,6 +505,7 @@
"view.account": "Váš účet", "view.account": "Váš účet",
"view.installation": "Inštalácia", "view.installation": "Inštalácia",
"view.resetPassword": "Reset password",
"view.settings": "Nastavenia", "view.settings": "Nastavenia",
"view.site": "Portál", "view.site": "Portál",
"view.users": "Užívatelia", "view.users": "Užívatelia",

View File

@@ -6,6 +6,8 @@
"change": "\u00c4ndra", "change": "\u00c4ndra",
"close": "St\u00e4ng", "close": "St\u00e4ng",
"confirm": "Spara", "confirm": "Spara",
"collapse": "Kollapsa",
"collapse.all": "Kollapsa alla",
"copy": "Kopiera", "copy": "Kopiera",
"create": "Skapa", "create": "Skapa",
@@ -22,20 +24,24 @@
"days.wed": "Ons", "days.wed": "Ons",
"delete": "Radera", "delete": "Radera",
"delete.all": "Radera allt",
"dimensions": "Dimensioner", "dimensions": "Dimensioner",
"disabled": "Inaktiverad", "disabled": "Inaktiverad",
"discard": "Kassera", "discard": "Kassera",
"download": "Ladda ner", "download": "Ladda ner",
"duplicate": "Duplicera", "duplicate": "Duplicera",
"edit": "Redigera", "edit": "Redigera",
"expand": "Expandera",
"expand.all": "Expandera alla",
"dialog.files.empty": "Inga filer att välja", "dialog.files.empty": "Inga filer att välja",
"dialog.pages.empty": "Inga sidor att välja", "dialog.pages.empty": "Inga sidor att välja",
"dialog.users.empty": "Inga användare att välja", "dialog.users.empty": "Inga användare att välja",
"email": "E-post", "email": "E-postadress",
"email.placeholder": "namn@exempel.se", "email.placeholder": "namn@exempel.se",
"error.access.code": "Ogiltig kod",
"error.access.login": "Ogiltig inloggning", "error.access.login": "Ogiltig inloggning",
"error.access.panel": "Du saknar behörighet att nå panelen", "error.access.panel": "Du saknar behörighet att nå panelen",
"error.access.view": "Du saknar behörighet att nå denna del av panelen", "error.access.view": "Du saknar behörighet att nå denna del av panelen",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "Blueprint \"{name}\" kunde inte laddas", "error.blueprint.notFound": "Blueprint \"{name}\" kunde inte laddas",
"error.blocks.max.plural": "Du får inte lägga till mer än {max} block",
"error.blocks.max.singular": "Du får inte lägga till mer än ett block",
"error.blocks.min.plural": "Du måste lägga till minst {min} block",
"error.blocks.min.singular": "Du måste lägga till minst ett block",
"error.blocks.validation": "Det finns ett fel i block {index}",
"error.email.preset.notFound": "E-postförinställningen \"{name}\" kan inte hittas", "error.email.preset.notFound": "E-postförinställningen \"{name}\" kan inte hittas",
"error.field.converter.invalid": "Ogiltig omvandlare \"{converter}\"", "error.field.converter.invalid": "Ogiltig omvandlare \"{converter}\"",
@@ -102,7 +114,7 @@
"error.page.notFound": "Sidan \"{slug}\" kan inte hittas", "error.page.notFound": "Sidan \"{slug}\" kan inte hittas",
"error.page.num.invalid": "Ange ett giltigt nummer för sortering. Numret får inte vara negativt.", "error.page.num.invalid": "Ange ett giltigt nummer för sortering. Numret får inte vara negativt.",
"error.page.slug.invalid": "Ange ett giltigt URL-prefix", "error.page.slug.invalid": "Ange ett giltigt URL-prefix",
"error.page.slug.maxlength": "Slug length must be less than \"{length}\" characters", "error.page.slug.maxlength": "Permalänkens längd måste vara kortare än \"{length}\" tecken",
"error.page.sort.permission": "Sidan \"{slug}\" kan inte sorteras", "error.page.sort.permission": "Sidan \"{slug}\" kan inte sorteras",
"error.page.status.invalid": "Sätt en giltig status för sidan", "error.page.status.invalid": "Sätt en giltig status för sidan",
"error.page.undefined": "Sidan kan inte hittas", "error.page.undefined": "Sidan kan inte hittas",
@@ -185,22 +197,77 @@
"error.validation.size": "Storleken av värdet måste vara \"{size}\"", "error.validation.size": "Storleken av värdet måste vara \"{size}\"",
"error.validation.startswith": "Värdet måste börja med \"{start}\"", "error.validation.startswith": "Värdet måste börja med \"{start}\"",
"error.validation.time": "Ange en giltig tid", "error.validation.time": "Ange en giltig tid",
"error.validation.time.after": "Ange en tid efter {time}",
"error.validation.time.before": "Ange en tid före {time}",
"error.validation.time.between": "Ange en tid mellan {min} och {max}",
"error.validation.url": "Ange en giltig URL", "error.validation.url": "Ange en giltig URL",
"field.required": "Fältet krävs", "field.required": "Fältet krävs",
"field.blocks.changeType": "Ändra typ",
"field.blocks.code.name": "Kod",
"field.blocks.code.language": "Språk",
"field.blocks.code.placeholder": "Din kod …",
"field.blocks.delete.confirm": "Vill du verkligen radera detta block?",
"field.blocks.delete.confirm.all": "Vill du verkligen radera alla block?",
"field.blocks.delete.confirm.selected": "Vill du verkligen radera de valda blocken?",
"field.blocks.empty": "Inga block än",
"field.blocks.fieldsets.label": "Välj en typ av block …",
"field.blocks.gallery.name": "Galleri",
"field.blocks.gallery.images.empty": "Inga bilder än",
"field.blocks.gallery.images.label": "Bilder",
"field.blocks.heading.level": "Nivå",
"field.blocks.heading.name": "Rubrik",
"field.blocks.heading.text": "Text",
"field.blocks.heading.placeholder": "Rubrik …",
"field.blocks.image.alt": "Alternativ text",
"field.blocks.image.caption": "Rubrik",
"field.blocks.image.crop": "Beskär",
"field.blocks.image.link": "Länk",
"field.blocks.image.location": "Plats",
"field.blocks.image.name": "Bild",
"field.blocks.image.placeholder": "Välj en bild",
"field.blocks.image.ratio": "Bildförhållande",
"field.blocks.list.name": "Punktlista",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Text",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Citat",
"field.blocks.quote.text.label": "Text",
"field.blocks.quote.text.placeholder": "Citat …",
"field.blocks.quote.citation.label": "Citat",
"field.blocks.quote.citation.placeholder": "av …",
"field.blocks.text.name": "Text",
"field.blocks.text.placeholder": "Text …",
"field.blocks.video.caption": "Rubrik",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Ange en URL till en video",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Inga filer valda än", "field.files.empty": "Inga filer valda än",
"field.layout.delete": "Radera layout",
"field.layout.delete.confirm": "Vill du verkligen radera denna layout?",
"field.layout.empty": "Inga rader än",
"field.layout.select": "Välj en layout",
"field.pages.empty": "Inga sidor valda än", "field.pages.empty": "Inga sidor valda än",
"field.structure.delete.confirm": "Vill du verkligen radera denna rad?", "field.structure.delete.confirm": "Vill du verkligen radera denna rad?",
"field.structure.empty": "Inga poster än", "field.structure.empty": "Inga poster än",
"field.users.empty": "Inga användare valda än", "field.users.empty": "Inga användare valda än",
"file.blueprint": "Denna fil har ingen blueprint än. Du kan skapa en i <strong>/site/blueprints/{template}.yml</strong>",
"file.delete.confirm": "Vill du verkligen radera <br><strong>{filename}</strong>?", "file.delete.confirm": "Vill du verkligen radera <br><strong>{filename}</strong>?",
"file.sort": "Ändra position",
"files": "Filer", "files": "Filer",
"files.empty": "Inga filer än", "files.empty": "Inga filer än",
"hide": "Göm",
"hour": "Timme", "hour": "Timme",
"insert": "Infoga", "insert": "Infoga",
"insert.after": "Infoga efter",
"insert.before": "Infoga före",
"install": "Installera", "install": "Installera",
"installation": "Installation", "installation": "Installation",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Dina osparade ändringar har skrivits över av en annan användare. Du kan ladda ner dina ändringar för att slå ihop dem manuellt.", "lock.isUnlocked": "Dina osparade ändringar har skrivits över av en annan användare. Du kan ladda ner dina ändringar för att slå ihop dem manuellt.",
"login": "Logga in", "login": "Logga in",
"login.code.label.login": "Inloggningskod",
"login.code.label.password-reset": "Kod för återställning av lösenord",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "Om din e-postadress är registrerad skickades den begärda koden via e-post.",
"login.email.login.body": "Hej {user.nameOrEmail},\n\nDu begärde nyligen en inloggningskod för Kirby-panelen.\nFöljande kod är giltig i {timeout} minuter:\n\n{code}\n\nOm du inte har begärt en inloggningskod kan du ignorera det här e-postmeddelandet eller kontakta din administratör om du har frågor.\nAv säkerhetsskäl ska du INTE vidarebefordra detta e-postmeddelande.",
"login.email.login.subject": "Din inloggningskod",
"login.email.password-reset.body": "Hej {user.nameOrEmail},\n\nDu begärde nyligen en kod för återställning av lösenordet för Kirby-panelen.\nFöljande kod är giltig i {timeout} minuter:\n\n{code}\n\nOm du inte har begärt en återställning av lösenordet, ignorera detta e-postmeddelande eller kontakta din administratör om du har frågor.\nAv säkerhetsskäl ska du INTE vidarebefordra detta e-postmeddelande.",
"login.email.password-reset.subject": "Din kod för återställning av lösenord",
"login.remember": "Håll mig inloggad", "login.remember": "Håll mig inloggad",
"login.reset": "Återställ lösenord",
"login.toggleText.code.email": "Logga in via e-post",
"login.toggleText.code.email-password": "Logga in med lösenord",
"login.toggleText.password-reset.email": "Glömt ditt lösenord?",
"login.toggleText.password-reset.email-password": "← Tillbaka till inloggning",
"logout": "Logga ut", "logout": "Logga ut",
@@ -289,13 +369,14 @@
"on": "på", "on": "på",
"open": "Öppna", "open": "Öppna",
"options": "Alternativ", "options": "Alternativ",
"options.none": "No options", "options.none": "Inga alternativ",
"orientation": "Orientering", "orientation": "Orientering",
"orientation.landscape": "Liggande", "orientation.landscape": "Liggande",
"orientation.portrait": "Stående", "orientation.portrait": "Stående",
"orientation.square": "Kvadrat", "orientation.square": "Kvadrat",
"page.blueprint": "Denna sida har ingen blueprint än. Du kan skapa en i <strong>/site/blueprints/{template}.yml</strong>",
"page.changeSlug": "Ändra URL", "page.changeSlug": "Ändra URL",
"page.changeSlug.fromTitle": "Skapa utifr\u00e5n titel", "page.changeSlug.fromTitle": "Skapa utifr\u00e5n titel",
"page.changeStatus": "Ändra status", "page.changeStatus": "Ändra status",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Kopiera", "page.duplicate.appendix": "Kopiera",
"page.duplicate.files": "Kopiera filer", "page.duplicate.files": "Kopiera filer",
"page.duplicate.pages": "Kopiera sidor", "page.duplicate.pages": "Kopiera sidor",
"page.sort": "Ändra position",
"page.status": "Status", "page.status": "Status",
"page.status.draft": "Utkast", "page.status.draft": "Utkast",
"page.status.draft.description": "Sidan är ett utkast och endast synlig för inloggade redaktörer eller via en hemlig länk", "page.status.draft.description": "Sidan är ett utkast och endast synlig för inloggade redaktörer eller via en hemlig länk",
@@ -328,6 +410,7 @@
"password": "L\u00f6senord", "password": "L\u00f6senord",
"pixel": "Pixel", "pixel": "Pixel",
"prev": "Föregående", "prev": "Föregående",
"preview": "Förhandsgranska",
"remove": "Ta bort", "remove": "Ta bort",
"rename": "Byt namn", "rename": "Byt namn",
"replace": "Ersätt", "replace": "Ersätt",
@@ -346,14 +429,15 @@
"save": "Spara", "save": "Spara",
"search": "Sök", "search": "Sök",
"search.min": "Enter {min} characters to search", "search.min": "Ange {min} tecken för att söka",
"search.all": "Show all", "search.all": "Visa alla",
"search.results.none": "No results", "search.results.none": "Inga träffar",
"section.required": "Sektionen krävs", "section.required": "Sektionen krävs",
"select": "Välj", "select": "Välj",
"settings": "Inställningar", "settings": "Inställningar",
"show": "Visa",
"size": "Storlek", "size": "Storlek",
"slug": "URL-appendix", "slug": "URL-appendix",
"sort": "Sortera", "sort": "Sortera",
@@ -361,6 +445,8 @@
"template": "Mall", "template": "Mall",
"today": "Idag", "today": "Idag",
"site.blueprint": "Webbplatsen har ingen blueprint än. Du kan skapa en i <strong>/site/blueprints/site.yml</strong>",
"toolbar.button.code": "Kod", "toolbar.button.code": "Kod",
"toolbar.button.bold": "Fet", "toolbar.button.bold": "Fet",
"toolbar.button.email": "E-post", "toolbar.button.email": "E-post",
@@ -419,6 +505,7 @@
"view.account": "Ditt konto", "view.account": "Ditt konto",
"view.installation": "Installation", "view.installation": "Installation",
"view.resetPassword": "Återställ lösenord",
"view.settings": "Inställningar", "view.settings": "Inställningar",
"view.site": "Webbplats", "view.site": "Webbplats",
"view.users": "Anv\u00e4ndare", "view.users": "Anv\u00e4ndare",

View File

@@ -6,6 +6,8 @@
"change": "De\u011fi\u015ftir", "change": "De\u011fi\u015ftir",
"close": "Kapat", "close": "Kapat",
"confirm": "Tamam", "confirm": "Tamam",
"collapse": "Daralt",
"collapse.all": "Tümünü daralt",
"copy": "Kopyala", "copy": "Kopyala",
"create": "Oluştur", "create": "Oluştur",
@@ -22,12 +24,15 @@
"days.wed": "\u00c7ar", "days.wed": "\u00c7ar",
"delete": "Sil", "delete": "Sil",
"delete.all": "Tümünü sil",
"dimensions": "Boyutlar", "dimensions": "Boyutlar",
"disabled": "Devredışı", "disabled": "Devredışı",
"discard": "Vazge\u00e7", "discard": "Vazge\u00e7",
"download": "İndir", "download": "İndir",
"duplicate": "Kopyala", "duplicate": "Kopyala",
"edit": "D\u00fczenle", "edit": "D\u00fczenle",
"expand": "Genişlet",
"expand.all": "Tümünü genişlet",
"dialog.files.empty": "Seçilecek dosya yok", "dialog.files.empty": "Seçilecek dosya yok",
"dialog.pages.empty": "Seçilecek sayfa yok", "dialog.pages.empty": "Seçilecek sayfa yok",
@@ -36,6 +41,7 @@
"email": "E-Posta", "email": "E-Posta",
"email.placeholder": "eposta@ornek.com", "email.placeholder": "eposta@ornek.com",
"error.access.code": "Geçersiz kod",
"error.access.login": "Geçersiz giriş", "error.access.login": "Geçersiz giriş",
"error.access.panel": "Panel'e erişim izniniz yok", "error.access.panel": "Panel'e erişim izniniz yok",
"error.access.view": "Panel'in bu bölümüne erişim izniniz yok", "error.access.view": "Panel'in bu bölümüne erişim izniniz yok",
@@ -47,6 +53,12 @@
"error.blueprint.notFound": "\"{name}\" adlı plan yüklenemedi", "error.blueprint.notFound": "\"{name}\" adlı plan yüklenemedi",
"error.blocks.max.plural": "{max} bloktan fazlasını eklememelisiniz",
"error.blocks.max.singular": "Birden fazla blok eklememelisiniz",
"error.blocks.min.plural": "En az {min} blok eklemelisiniz",
"error.blocks.min.singular": "En az bir blok eklemelisiniz",
"error.blocks.validation": "{index} bloğunda bir hata var",
"error.email.preset.notFound": "\"{name}\" e-posta adresi bulunamadı", "error.email.preset.notFound": "\"{name}\" e-posta adresi bulunamadı",
"error.field.converter.invalid": "Geçersiz dönüştürücü \"{converter}\"", "error.field.converter.invalid": "Geçersiz dönüştürücü \"{converter}\"",
@@ -185,22 +197,77 @@
"error.validation.size": "Değerin boyutu \"{size}\" olmalıdır", "error.validation.size": "Değerin boyutu \"{size}\" olmalıdır",
"error.validation.startswith": "Değer \"{start}\" ile başlamalıdır", "error.validation.startswith": "Değer \"{start}\" ile başlamalıdır",
"error.validation.time": "Lütfen geçerli bir zaman girin", "error.validation.time": "Lütfen geçerli bir zaman girin",
"error.validation.time.after": "Lütfen {time} sonrası bir tarih girin",
"error.validation.time.before": "Lütfen {time} öncesi bir tarih girin",
"error.validation.time.between": "Lütfen {min} ile {max} arasında bir tarih girin",
"error.validation.url": "Lütfen geçerli bir adres girin", "error.validation.url": "Lütfen geçerli bir adres girin",
"field.required": "Alan gereklidir", "field.required": "Alan gereklidir",
"field.blocks.changeType": "Türü değiştir",
"field.blocks.code.name": "Kod",
"field.blocks.code.language": "Dil",
"field.blocks.code.placeholder": "Kodunuz …",
"field.blocks.delete.confirm": "Bu bloğu gerçekten silmek istiyor musunuz?",
"field.blocks.delete.confirm.all": "Tüm blokları gerçekten silmek istiyor musunuz?",
"field.blocks.delete.confirm.selected": "Seçilen blokları gerçekten silmek istiyor musunuz?",
"field.blocks.empty": "Henüz blok yok",
"field.blocks.fieldsets.label": "Lütfen bir blok türü seçiniz …",
"field.blocks.gallery.name": "Galeri",
"field.blocks.gallery.images.empty": "Henüz görsel yok",
"field.blocks.gallery.images.label": "Görseller",
"field.blocks.heading.level": "Seviye",
"field.blocks.heading.name": "Başlık",
"field.blocks.heading.text": "Metin",
"field.blocks.heading.placeholder": "Başlık …",
"field.blocks.image.alt": "Alternatif metin",
"field.blocks.image.caption": "Altyazı",
"field.blocks.image.crop": "Kırp",
"field.blocks.image.link": "Bağlantı",
"field.blocks.image.location": "Lokasyon",
"field.blocks.image.name": "Görsel",
"field.blocks.image.placeholder": "Bir görsel seçin",
"field.blocks.image.ratio": "Oran",
"field.blocks.list.name": "Liste",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Metin",
"field.blocks.markdown.placeholder": "Markdown …",
"field.blocks.quote.name": "Alıntı",
"field.blocks.quote.text.label": "Metin",
"field.blocks.quote.text.placeholder": "Alıntı …",
"field.blocks.quote.citation.label": "Alıntı",
"field.blocks.quote.citation.placeholder": "yazar …",
"field.blocks.text.name": "Metin",
"field.blocks.text.placeholder": "Metin …",
"field.blocks.video.caption": "Altyazı",
"field.blocks.video.name": "Video",
"field.blocks.video.placeholder": "Bir video URL'si girin",
"field.blocks.video.url.label": "Video-URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Henüz dosya seçilmedi", "field.files.empty": "Henüz dosya seçilmedi",
"field.layout.delete": "Düzeni sil",
"field.layout.delete.confirm": "Bu düzeni gerçekten silmek istiyor musunuz?",
"field.layout.empty": "Henüz satır yok",
"field.layout.select": "Bir düzen seçin",
"field.pages.empty": "Henüz sayfa seçilmedi", "field.pages.empty": "Henüz sayfa seçilmedi",
"field.structure.delete.confirm": "Bu girdiyi silmek istedi\u011finizden emin misiniz?", "field.structure.delete.confirm": "Bu girdiyi silmek istedi\u011finizden emin misiniz?",
"field.structure.empty": "Hen\u00fcz bir girdi yok", "field.structure.empty": "Hen\u00fcz bir girdi yok",
"field.users.empty": "Henüz kullanıcı seçilmedi", "field.users.empty": "Henüz kullanıcı seçilmedi",
"file.blueprint": "Bu dosyanın henüz bir planı yok. Kurulumu <strong>/site/blueprints/{template}.yml</strong>'de tanımlayabilirsiniz.",
"file.delete.confirm": "<strong>{filename}</strong> dosyasını silmek istediğinizden emin misiniz?", "file.delete.confirm": "<strong>{filename}</strong> dosyasını silmek istediğinizden emin misiniz?",
"file.sort": "Pozisyon değiştir",
"files": "Dosyalar", "files": "Dosyalar",
"files.empty": "Henüz dosya yok", "files.empty": "Henüz dosya yok",
"hide": "Gizle",
"hour": "Saat", "hour": "Saat",
"insert": "Ekle", "insert": "Ekle",
"insert.after": "Sonrasına ekle",
"insert.before": "Öncesine ekle",
"install": "Kurulum", "install": "Kurulum",
"installation": "Kurulum", "installation": "Kurulum",
@@ -259,7 +326,20 @@
"lock.isUnlocked": "Kaydedilmemiş değişikliklerin üzerine başka bir kullanıcı yazmış. Değişikliklerinizi el ile birleştirmek için değişikliklerinizi indirebilirsiniz.", "lock.isUnlocked": "Kaydedilmemiş değişikliklerin üzerine başka bir kullanıcı yazmış. Değişikliklerinizi el ile birleştirmek için değişikliklerinizi indirebilirsiniz.",
"login": "Giri\u015f", "login": "Giri\u015f",
"login.code.label.login": "Giriş kodu",
"login.code.label.password-reset": "Şifre sıfırlama kodu",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "E-posta adresiniz kayıtlıysa, istenen kod e-posta yoluyla gönderilmiştir.",
"login.email.login.body": "Merhaba {user.nameOrEmail},\n\nKısa süre önce Kirby Panel'i için bir giriş kodu istediniz.\nAşağıdaki giriş kodu {timeout} dakika boyunca geçerli olacaktır:\n\n{code}\n\nBir giriş kodu istemediyseniz, lütfen bu e-postayı dikkate almayın veya sorularınız varsa yöneticinize başvurun.\nGüvenlik için lütfen bu e-postayı İLETMEYİN.",
"login.email.login.subject": "Giriş kodunuz",
"login.email.password-reset.body": "Merhaba {user.nameOrEmail},\n\nKısa süre önce Kirby Panel'i için bir şifre sıfırlama kodu istediniz.\nAşağıdaki şifre sıfırlama kodu {timeout} dakika boyunca geçerli olacaktır:\n\n{code}\n\nŞifre sıfırlama kodu istemediyseniz, lütfen bu e-postayı dikkate almayın veya sorularınız varsa yöneticinizle iletişime geçin.\nGüvenlik için lütfen bu e-postayı İLETMEYİN.",
"login.email.password-reset.subject": "Şifre sıfırlama kodunuz",
"login.remember": "Oturumumu açık tut", "login.remember": "Oturumumu açık tut",
"login.reset": "Şifreyi sıfırla",
"login.toggleText.code.email": "E-posta ile giriş yapın",
"login.toggleText.code.email-password": "Şifre ile giriş yapın",
"login.toggleText.password-reset.email": "Şifrenizi mi unuttunuz?",
"login.toggleText.password-reset.email-password": "← Girişe geri dön",
"logout": "Güvenli Çıkış", "logout": "Güvenli Çıkış",
@@ -296,6 +376,7 @@
"orientation.portrait": "Dikey", "orientation.portrait": "Dikey",
"orientation.square": "Kare", "orientation.square": "Kare",
"page.blueprint": "Bu sayfanın henüz bir planı yok. Kurulumu <strong>/site/blueprints/{template}.yml</strong>'de tanımlayabilirsiniz.",
"page.changeSlug": "Web Adresini Değiştir", "page.changeSlug": "Web Adresini Değiştir",
"page.changeSlug.fromTitle": "Ba\u015fl\u0131ktan olu\u015ftur", "page.changeSlug.fromTitle": "Ba\u015fl\u0131ktan olu\u015ftur",
"page.changeStatus": "Durumu değiştir", "page.changeStatus": "Durumu değiştir",
@@ -309,6 +390,7 @@
"page.duplicate.appendix": "Kopya", "page.duplicate.appendix": "Kopya",
"page.duplicate.files": "Dosyaları kopyala", "page.duplicate.files": "Dosyaları kopyala",
"page.duplicate.pages": "Sayfaları kopyala", "page.duplicate.pages": "Sayfaları kopyala",
"page.sort": "Pozisyon değiştir",
"page.status": "Durum", "page.status": "Durum",
"page.status.draft": "Taslak", "page.status.draft": "Taslak",
"page.status.draft.description": "Sayfa taslak halinde ve yalnızca oturum açmış editörler için veya gizli bağlantı üzerinden görülebilir", "page.status.draft.description": "Sayfa taslak halinde ve yalnızca oturum açmış editörler için veya gizli bağlantı üzerinden görülebilir",
@@ -328,6 +410,7 @@
"password": "\u015eifre", "password": "\u015eifre",
"pixel": "Piksel", "pixel": "Piksel",
"prev": "Önceki", "prev": "Önceki",
"preview": "Önizle",
"remove": "Kaldır", "remove": "Kaldır",
"rename": "Yeniden Adlandır", "rename": "Yeniden Adlandır",
"replace": "De\u011fi\u015ftir", "replace": "De\u011fi\u015ftir",
@@ -354,6 +437,7 @@
"select": "Seç", "select": "Seç",
"settings": "Ayarlar", "settings": "Ayarlar",
"show": "Göster",
"size": "Boyut", "size": "Boyut",
"slug": "Web Adres Uzantısı", "slug": "Web Adres Uzantısı",
"sort": "Sırala", "sort": "Sırala",
@@ -361,6 +445,8 @@
"template": "\u015eablon", "template": "\u015eablon",
"today": "Bugün", "today": "Bugün",
"site.blueprint": "Sitenin henüz bir planı yok. Kurulumu <strong>/site/blueprints/site.yml</strong>'de tanımlayabilirsiniz.",
"toolbar.button.code": "Kod", "toolbar.button.code": "Kod",
"toolbar.button.bold": "Kalın Yazı", "toolbar.button.bold": "Kalın Yazı",
"toolbar.button.email": "E-Posta", "toolbar.button.email": "E-Posta",
@@ -419,6 +505,7 @@
"view.account": "Hesap Bilgilerin", "view.account": "Hesap Bilgilerin",
"view.installation": "Kurulum", "view.installation": "Kurulum",
"view.resetPassword": "Şifreyi sıfırla",
"view.settings": "Ayarlar", "view.settings": "Ayarlar",
"view.site": "Site", "view.site": "Site",
"view.users": "Kullan\u0131c\u0131lar", "view.users": "Kullan\u0131c\u0131lar",

File diff suppressed because one or more lines are too long

View File

@@ -34,6 +34,7 @@
<path d="M10,14H6c0,1.1,0.9,2,2,2S10,15.1,10,14z"/> <path d="M10,14H6c0,1.1,0.9,2,2,2S10,15.1,10,14z"/>
<path d="M15,11h-0.5C13.8,10.3,13,9.3,13,8V5c0-2.8-2.2-5-5-5S3,2.2,3,5v3c0,1.3-0.8,2.3-1.5,3H1c-0.6,0-1,0.4-1,1 s0.4,1,1,1h14c0.6,0,1-0.4,1-1S15.6,11,15,11z"/> <path d="M15,11h-0.5C13.8,10.3,13,9.3,13,8V5c0-2.8-2.2-5-5-5S3,2.2,3,5v3c0,1.3-0.8,2.3-1.5,3H1c-0.6,0-1,0.4-1,1 s0.4,1,1,1h14c0.6,0,1-0.4,1-1S15.6,11,15,11z"/>
</symbol> </symbol>
<symbol id="icon-blank" viewBox="0 0 16 16" />
<symbol id="icon-bold" viewBox="0 0 16 16"> <symbol id="icon-bold" viewBox="0 0 16 16">
<path d="M11.561 7.316a3.485 3.485 0 0 0 1.418-3.208C12.781 2.305 11.144.999 9.33.999H2.001v1l1.447.724a1 1 0 0 1 .553.894v8.764a.998.998 0 0 1-.553.894l-1.447.724v1h7.823c2.104 0 3.98-1.547 4.162-3.643a4 4 0 0 0-2.424-4.04zM7 3h1a2 2 0 1 1 0 4H7V3zm2 10H7V9h2a2 2 0 1 1 0 4z" /> <path d="M11.561 7.316a3.485 3.485 0 0 0 1.418-3.208C12.781 2.305 11.144.999 9.33.999H2.001v1l1.447.724a1 1 0 0 1 .553.894v8.764a.998.998 0 0 1-.553.894l-1.447.724v1h7.823c2.104 0 3.98-1.547 4.162-3.643a4 4 0 0 0-2.424-4.04zM7 3h1a2 2 0 1 1 0 4H7V3zm2 10H7V9h2a2 2 0 1 1 0 4z" />
</symbol> </symbol>
@@ -64,6 +65,9 @@
<path d="M10.1 4.5L8 6.6 5.9 4.5 4.5 5.9 6.6 8l-2.1 2.1 1.4 1.4L8 9.4l2.1 2.1 1.4-1.4L9.4 8l2.1-2.1z" /> <path d="M10.1 4.5L8 6.6 5.9 4.5 4.5 5.9 6.6 8l-2.1 2.1 1.4 1.4L8 9.4l2.1 2.1 1.4-1.4L9.4 8l2.1-2.1z" />
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" /> <path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" />
</symbol> </symbol>
<symbol id="icon-cancel-small" viewBox="0 0 16 16">
<polygon points="10.1,4.5 8,6.6 5.9,4.5 4.5,5.9 6.6,8 4.5,10.1 5.9,11.5 8,9.4 10.1,11.5 11.5,10.1 9.4,8 11.5,5.9 " />
</symbol>
<symbol id="icon-car" viewBox="0 0 16 16"> <symbol id="icon-car" viewBox="0 0 16 16">
<path d="M15.9,8.6L15,6.7l-1-5.9C13.9,0.4,13.5,0,13,0H3C2.5,0,2.1,0.4,2,0.8L1,6.7L0.1,8.6C0,8.7,0,8.8,0,9v4 c0,0.6,0.4,1,1,1v1c0,0.6,0.4,1,1,1h2c0.6,0,1-0.4,1-1v-1h6v1c0,0.6,0.4,1,1,1h2c0.6,0,1-0.4,1-1v-1c0.6,0,1-0.4,1-1V9 C16,8.8,16,8.7,15.9,8.6z M3.8,2h8.3l0.7,4H3.2L3.8,2z M2,12V9.2L2.6,8h10.8L14,9.2V12H2z"/> <path d="M15.9,8.6L15,6.7l-1-5.9C13.9,0.4,13.5,0,13,0H3C2.5,0,2.1,0.4,2,0.8L1,6.7L0.1,8.6C0,8.7,0,8.8,0,9v4 c0,0.6,0.4,1,1,1v1c0,0.6,0.4,1,1,1h2c0.6,0,1-0.4,1-1v-1h6v1c0,0.6,0.4,1,1,1h2c0.6,0,1-0.4,1-1v-1c0.6,0,1-0.4,1-1V9 C16,8.8,16,8.7,15.9,8.6z M3.8,2h8.3l0.7,4H3.2L3.8,2z M2,12V9.2L2.6,8h10.8L14,9.2V12H2z"/>
<circle cx="4" cy="10" r="1"/> <circle cx="4" cy="10" r="1"/>
@@ -95,6 +99,13 @@
<path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M8,14c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6 S11.3,14,8,14z" /> <path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M8,14c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6 S11.3,14,8,14z" />
<circle cx="8" cy="8" r="4" /> <circle cx="8" cy="8" r="4" />
</symbol> </symbol>
<symbol id="icon-circle-half" viewBox="0 0 16 16">
<path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M2,8c0-3.3,2.7-6,6-6v12C4.7,14,2,11.3,2,8z" />
</symbol>
<symbol id="icon-circle-nested" viewBox="0 0 16 16">
<path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M8,14c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6 S11.3,14,8,14z" />
<path d="M8,4C5.8,4,4,5.8,4,8s1.8,4,4,4s4-1.8,4-4S10.2,4,8,4z M8,10c-1.1,0-2-0.9-2-2s0.9-2,2-2 s2,0.9,2,2S9.1,10,8,10z" />
</symbol>
<symbol id="icon-circle-outline" viewBox="0 0 16 16"> <symbol id="icon-circle-outline" viewBox="0 0 16 16">
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" /> <path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" />
</symbol> </symbol>
@@ -228,6 +239,10 @@
<symbol id="icon-heart" viewBox="0 0 16 16"> <symbol id="icon-heart" viewBox="0 0 16 16">
<path d="M11.6,0C10.1,0,8.8,0.8,8,2C7.2,0.8,5.9,0,4.4,0C2,0,0,2,0,4.4c0,4.4,8,10.9,8,10.9s8-6.5,8-10.9 C16,2,14,0,11.6,0z"/> <path d="M11.6,0C10.1,0,8.8,0.8,8,2C7.2,0.8,5.9,0,4.4,0C2,0,0,2,0,4.4c0,4.4,8,10.9,8,10.9s8-6.5,8-10.9 C16,2,14,0,11.6,0z"/>
</symbol> </symbol>
<symbol id="icon-hidden" viewBox="0 0 16 16">
<path d="M14.574,5.669l-1.424,1.424C13.428,7.44,13.656,7.757,13.819,8c-0.76,1.13-2.85,3.82-5.561,3.985L6.443,13.8 C6.939,13.924,7.457,14,8,14c4.707,0,7.744-5.284,7.871-5.508c0.171-0.304,0.172-0.676,0.001-0.98 C15.825,7.427,15.372,6.631,14.574,5.669z" />
<path d="M0.293,15.707C0.488,15.902,0.744,16,1,16s0.512-0.098,0.707-0.293l14-14c0.391-0.391,0.391-1.023,0-1.414 s-1.023-0.391-1.414,0l-2.745,2.745C10.515,2.431,9.331,2,8,2C3.245,2,0.251,7.289,0.126,7.514 c-0.169,0.303-0.168,0.672,0.002,0.975c0.07,0.125,1.044,1.802,2.693,3.276l-2.529,2.529C-0.098,14.684-0.098,15.316,0.293,15.707z M2.181,7.999C2.958,6.835,5.146,4,8,4c0.742,0,1.437,0.201,2.078,0.508L8.512,6.074C8.348,6.029,8.178,6,8,6C6.895,6,6,6.895,6,8 c0,0.178,0.029,0.348,0.074,0.512L4.24,10.346C3.285,9.51,2.559,8.562,2.181,7.999z" />
</symbol>
<symbol id="icon-home" viewBox="0 0 16 16"> <symbol id="icon-home" viewBox="0 0 16 16">
<rect x="6" y="6" width="4" height="2"/> <rect x="6" y="6" width="4" height="2"/>
<path d="M15.651,6.241l-7-6c-0.375-0.322-0.927-0.322-1.302,0L4,3.112V2c0-0.553-0.448-1-1-1S2,1.447,2,2v2.826 L0.349,6.241C-0.07,6.601-0.119,7.231,0.241,7.65c0.359,0.42,0.99,0.468,1.41,0.108L2,7.46V15c0,0.553,0.448,1,1,1h10 c0.552,0,1-0.447,1-1V7.46l0.349,0.299C14.538,7.921,14.769,8,15,8c0.282,0,0.562-0.118,0.76-0.35 C16.119,7.231,16.07,6.601,15.651,6.241z M12,14h-2v-4H6v4H4V5.746l4-3.428l4,3.428V14z"/> <path d="M15.651,6.241l-7-6c-0.375-0.322-0.927-0.322-1.302,0L4,3.112V2c0-0.553-0.448-1-1-1S2,1.447,2,2v2.826 L0.349,6.241C-0.07,6.601-0.119,7.231,0.241,7.65c0.359,0.42,0.99,0.468,1.41,0.108L2,7.46V15c0,0.553,0.448,1,1,1h10 c0.552,0,1-0.447,1-1V7.46l0.349,0.299C14.538,7.921,14.769,8,15,8c0.282,0,0.562-0.118,0.76-0.35 C16.119,7.231,16.07,6.601,15.651,6.241z M12,14h-2v-4H6v4H4V5.746l4-3.428l4,3.428V14z"/>
@@ -264,6 +279,11 @@
<symbol id="icon-list-numbers" viewBox="0 0 16 16"> <symbol id="icon-list-numbers" viewBox="0 0 16 16">
<path d="M5 1h11v2H5V1zM5 7h11v2H5V7zM5 13h11v2H5v-2zM.368 4v-.549l.597-.049c.097-.007.111-.035.111-.139V.839c0-.083-.021-.125-.09-.146L.382.568l.076-.569h1.667v3.264c0 .111.007.132.111.139l.569.049V4H.367zM.047 10v-.63l.907-.886c.683-.663.975-.934.975-1.32 0-.251-.122-.433-.48-.433-.373 0-.528.122-.528.602l-.92-.081C.008 6.176.827 6 1.537 6c1.049 0 1.421.447 1.421 1.083s-.44 1.056-.934 1.53l-.765.731h.995c.068 0 .095-.014.108-.081l.095-.534h.717v1.272H.047zM2.344 13.682c.566.087.879.426.879 1.026 0 .879-.659 1.292-1.612 1.292-.673 0-1.272-.239-1.612-.613l.533-.586c.253.246.533.439.999.439.373 0 .693-.133.693-.599 0-.406-.253-.573-.666-.573a2.66 2.66 0 0 0-.493.047v-.666l.327-.04c.479-.06.739-.293.739-.719 0-.253-.113-.46-.486-.46-.359 0-.532.12-.532.593l-.912-.08c0-1.052.793-1.232 1.492-1.232 1.026 0 1.419.393 1.419 1.106 0 .56-.346.912-.766 1.039v.027z" /> <path d="M5 1h11v2H5V1zM5 7h11v2H5V7zM5 13h11v2H5v-2zM.368 4v-.549l.597-.049c.097-.007.111-.035.111-.139V.839c0-.083-.021-.125-.09-.146L.382.568l.076-.569h1.667v3.264c0 .111.007.132.111.139l.569.049V4H.367zM.047 10v-.63l.907-.886c.683-.663.975-.934.975-1.32 0-.251-.122-.433-.48-.433-.373 0-.528.122-.528.602l-.92-.081C.008 6.176.827 6 1.537 6c1.049 0 1.421.447 1.421 1.083s-.44 1.056-.934 1.53l-.765.731h.995c.068 0 .095-.014.108-.081l.095-.534h.717v1.272H.047zM2.344 13.682c.566.087.879.426.879 1.026 0 .879-.659 1.292-1.612 1.292-.673 0-1.272-.239-1.612-.613l.533-.586c.253.246.533.439.999.439.373 0 .693-.133.693-.599 0-.406-.253-.573-.666-.573a2.66 2.66 0 0 0-.493.047v-.666l.327-.04c.479-.06.739-.293.739-.719 0-.253-.113-.46-.486-.46-.359 0-.532.12-.532.593l-.912-.08c0-1.052.793-1.232 1.492-1.232 1.026 0 1.419.393 1.419 1.106 0 .56-.346.912-.766 1.039v.027z" />
</symbol> </symbol>
<symbol id="icon-live" viewBox="0 0 16 16">
<circle cx="8" cy="8" r="3" />
<path d="M2,8c0-1.6,0.6-3.1,1.8-4.3c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0C0.9,3.8,0,5.8,0,8 c0,2.2,0.9,4.2,2.4,5.7C2.6,13.9,2.9,14,3.1,14c0.3,0,0.5-0.1,0.7-0.3c0.4-0.4,0.4-1,0-1.4C2.6,11.1,2,9.6,2,8z" />
<path d="M13.6,2.3c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4C13.4,4.9,14,6.4,14,8c0,1.6-0.6,3.1-1.8,4.3 c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3c0.3,0,0.5-0.1,0.7-0.3C15.1,12.2,16,10.2,16,8C16,5.8,15.1,3.8,13.6,2.3z" />
</symbol>
<symbol id="icon-loader" viewBox="0 0 16 16"> <symbol id="icon-loader" viewBox="0 0 16 16">
<path d="M8 16a7.928 7.928 0 0 1-3.428-.77l.857-1.807A6.006 6.006 0 0 0 14 8c0-3.309-2.691-6-6-6a6.006 6.006 0 0 0-5.422 8.572l-1.806.859A7.929 7.929 0 0 1 0 8c0-4.411 3.589-8 8-8s8 3.589 8 8-3.589 8-8 8z" /> <path d="M8 16a7.928 7.928 0 0 1-3.428-.77l.857-1.807A6.006 6.006 0 0 0 14 8c0-3.309-2.691-6-6-6a6.006 6.006 0 0 0-5.422 8.572l-1.806.859A7.929 7.929 0 0 1 0 8c0-4.411 3.589-8 8-8s8 3.589 8 8-3.589 8-8 8z" />
</symbol> </symbol>
@@ -318,6 +338,11 @@
<symbol id="icon-refresh" viewBox="0 0 16 16"> <symbol id="icon-refresh" viewBox="0 0 16 16">
<path d="M4.5 4.5c1.9-1.9 5.1-1.9 7 0 .7.7 1.2 1.7 1.4 2.7l2-.3c-.2-1.5-.9-2.8-1.9-3.8C10.3.4 5.9.4 3.1 3.1L.9.9.2 7.3l6.4-.7-2.1-2.1zM15.8 8.7l-6.4.7 2.1 2.1c-1.9 1.9-5.1 1.9-7 0-.7-.7-1.2-1.7-1.4-2.7l-2 .3c.2 1.5.9 2.8 1.9 3.8 1.4 1.4 3.1 2 4.9 2s3.6-.7 4.9-2l2.2 2.2.8-6.4z" /> <path d="M4.5 4.5c1.9-1.9 5.1-1.9 7 0 .7.7 1.2 1.7 1.4 2.7l2-.3c-.2-1.5-.9-2.8-1.9-3.8C10.3.4 5.9.4 3.1 3.1L.9.9.2 7.3l6.4-.7-2.1-2.1zM15.8 8.7l-6.4.7 2.1 2.1c-1.9 1.9-5.1 1.9-7 0-.7-.7-1.2-1.7-1.4-2.7l-2 .3c.2 1.5.9 2.8 1.9 3.8 1.4 1.4 3.1 2 4.9 2s3.6-.7 4.9-2l2.2 2.2.8-6.4z" />
</symbol> </symbol>
<symbol id="icon-road-sign" viewBox="0 0 16 16">
<path d="M9,10v5c0,0.6-0.4,1-1,1H6c-0.6,0-1-0.4-1-1v-5H9z" />
<path d="M13,2l3,3l-3,3H1C0.4,8,0,7.6,0,7l0-4c0-0.6,0.4-1,1-1H13z" />
<path d="M6,0l2,0c0.6,0,1,0.4,1,1v1H5V1C5,0.4,5.4,0,6,0z" />
</symbol>
<symbol id="icon-remove" viewBox="0 0 16 16"> <symbol id="icon-remove" viewBox="0 0 16 16">
<rect x="4" y="7" width="8" height="2" /> <rect x="4" y="7" width="8" height="2" />
<path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M8,14c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6 S11.3,14,8,14z" /> <path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M8,14c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6 S11.3,14,8,14z" />

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 37 KiB

File diff suppressed because one or more lines are too long

View File

@@ -3,9 +3,7 @@ window.panel = window.panel || {};
window.panel.plugins = { window.panel.plugins = {
components: {}, components: {},
created: [], created: [],
fields: {},
icons: {}, icons: {},
sections: {},
routes: [], routes: [],
use: [], use: [],
views: {}, views: {},
@@ -13,6 +11,18 @@ window.panel.plugins = {
}; };
window.panel.plugin = function (plugin, parts) { window.panel.plugin = function (plugin, parts) {
// Blocks
resolve(parts, "blocks", function (name, options) {
if (typeof options === "string") {
options = { template: options };
}
window.panel.plugins["components"][`k-block-type-${name}`] = {
extends: "k-block-type",
...options
};
});
// Components // Components
resolve(parts, "components", function (name, options) { resolve(parts, "components", function (name, options) {
window.panel.plugins["components"][name] = options; window.panel.plugins["components"][name] = options;
@@ -20,7 +30,7 @@ window.panel.plugin = function (plugin, parts) {
// Fields // Fields
resolve(parts, "fields", function (name, options) { resolve(parts, "fields", function (name, options) {
window.panel.plugins["fields"][`k-${name}-field`] = options; window.panel.plugins["components"][`k-${name}-field`] = options;
}); });
// Icons // Icons
@@ -30,7 +40,10 @@ window.panel.plugin = function (plugin, parts) {
// Sections // Sections
resolve(parts, "sections", function (name, options) { resolve(parts, "sections", function (name, options) {
window.panel.plugins["sections"][`k-${name}-section`] = options; window.panel.plugins["components"][`k-${name}-section`] = {
...options,
mixins: ["section"].concat(options.mixins || [])
};
}); });
// Vue.use // Vue.use

File diff suppressed because one or more lines are too long

View File

@@ -52,7 +52,7 @@ class Collection
* @param array $schema * @param array $schema
* @throws \Exception * @throws \Exception
*/ */
public function __construct(Api $api, $data = null, array $schema) public function __construct(Api $api, $data, array $schema)
{ {
$this->api = $api; $this->api = $api;
$this->data = $data; $this->data = $data;

View File

@@ -50,11 +50,11 @@ class Model
* Model constructor * Model constructor
* *
* @param \Kirby\Api\Api $api * @param \Kirby\Api\Api $api
* @param null $data * @param mixed $data
* @param array $schema * @param array $schema
* @throws \Exception * @throws \Exception
*/ */
public function __construct(Api $api, $data = null, array $schema) public function __construct(Api $api, $data, array $schema)
{ {
$this->api = $api; $this->api = $api;
$this->data = $data; $this->data = $data;

View File

@@ -56,28 +56,7 @@ class Api extends BaseApi
*/ */
public function fieldApi($model, string $name, string $path = null) public function fieldApi($model, string $name, string $path = null)
{ {
$form = Form::for($model); $field = Form::for($model)->field($name);
$fieldNames = Str::split($name, '+');
$index = 0;
$count = count($fieldNames);
$field = null;
foreach ($fieldNames as $fieldName) {
$index++;
if ($field = $form->fields()->get($fieldName)) {
if ($count !== $index) {
$form = $field->form();
}
} else {
throw new NotFoundException('The field "' . $fieldName . '" could not be found');
}
}
// it can get this error only if $name is an empty string as $name = ''
if ($field === null) {
throw new NotFoundException('No field could be loaded');
}
$fieldApi = $this->clone([ $fieldApi = $this->clone([
'routes' => $field->api(), 'routes' => $field->api(),

View File

@@ -79,8 +79,9 @@ class App
* Creates a new App instance * Creates a new App instance
* *
* @param array $props * @param array $props
* @param bool $setInstance If false, the instance won't be set globally
*/ */
public function __construct(array $props = []) public function __construct(array $props = [], bool $setInstance = true)
{ {
// register all roots to be able to load stuff afterwards // register all roots to be able to load stuff afterwards
$this->bakeRoots($props['roots'] ?? []); $this->bakeRoots($props['roots'] ?? []);
@@ -110,7 +111,9 @@ class App
]); ]);
// set the singleton // set the singleton
if (static::$instance === null || $setInstance === true) {
Model::$kirby = static::$instance = $this; Model::$kirby = static::$instance = $this;
}
// setup the I18n class with the translation loader // setup the I18n class with the translation loader
$this->i18n(); $this->i18n();
@@ -333,6 +336,24 @@ class App
return $router->call($path ?? $this->path(), $method ?? $this->request()->method()); return $router->call($path ?? $this->path(), $method ?? $this->request()->method());
} }
/**
* Creates an instance with the same
* initial properties
*
* @param array $props
* @param bool $setInstance If false, the instance won't be set globally
* @return self
*/
public function clone(array $props = [], bool $setInstance = true)
{
$props = array_replace_recursive($this->propertyData, $props);
$clone = new static($props, $setInstance);
$clone->data = $this->data;
return $clone;
}
/** /**
* Returns a specific user-defined collection * Returns a specific user-defined collection
* by name. All relevant dependencies are * by name. All relevant dependencies are

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