Upgrade to 3.2.4
This commit is contained in:
16
kirby/SECURITY.md
Executable file
16
kirby/SECURITY.md
Executable file
@@ -0,0 +1,16 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 3.2.3+ | :white_check_mark: |
|
||||
| 2.5.12+ | :white_check_mark: |
|
||||
|
||||
## Security Guide
|
||||
|
||||
Please follow our security guide to keep your Kirby installation safe: https://getkirby.com/docs/guide/security#reporting-security-issues
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
If you have spotted a vulnerability in Kirby's core or the Panel, please make sure to let us know immediately. We take any report very seriously. You can always write us directly at support@getkirby.com. Please do not write to us publicly, e.g. in the forum.
|
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "getkirby/cms",
|
||||
"description": "The Kirby 3 core",
|
||||
"version": "3.2.3",
|
||||
"version": "3.2.4",
|
||||
"license": "proprietary",
|
||||
"keywords": ["kirby", "cms", "core"],
|
||||
"homepage": "https://getkirby.com",
|
||||
|
57
kirby/config/aliases.php
Executable file
57
kirby/config/aliases.php
Executable file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
// cms classes
|
||||
'asset' => 'Kirby\Cms\Asset',
|
||||
'collection' => 'Kirby\Cms\Collection',
|
||||
'dir' => 'Kirby\Cms\Dir',
|
||||
'field' => 'Kirby\Cms\Field',
|
||||
'file' => 'Kirby\Cms\File',
|
||||
'files' => 'Kirby\Cms\Files',
|
||||
'html' => 'Kirby\Cms\Html',
|
||||
'kirby' => 'Kirby\Cms\App',
|
||||
'page' => 'Kirby\Cms\Page',
|
||||
'pages' => 'Kirby\Cms\Pages',
|
||||
'pagination' => 'Kirby\Cms\Pagination',
|
||||
'r' => 'Kirby\Cms\R',
|
||||
'response' => 'Kirby\Cms\Response',
|
||||
's' => 'Kirby\Cms\S',
|
||||
'site' => 'Kirby\Cms\Site',
|
||||
'structure' => 'Kirby\Cms\Structure',
|
||||
'url' => 'Kirby\Cms\Url',
|
||||
'user' => 'Kirby\Cms\User',
|
||||
'users' => 'Kirby\Cms\Users',
|
||||
'visitor' => 'Kirby\Cms\Visitor',
|
||||
|
||||
// data handler
|
||||
'data' => 'Kirby\Data\Data',
|
||||
'json' => 'Kirby\Data\Json',
|
||||
'yaml' => 'Kirby\Data\Yaml',
|
||||
|
||||
// data classes
|
||||
'database' => 'Kirby\Database\Database',
|
||||
'db' => 'Kirby\Database\Db',
|
||||
|
||||
// http classes
|
||||
'cookie' => 'Kirby\Http\Cookie',
|
||||
'header' => 'Kirby\Http\Header',
|
||||
'remote' => 'Kirby\Http\Remote',
|
||||
'server' => 'Kirby\Http\Server',
|
||||
|
||||
// image classes
|
||||
'dimensions' => 'Kirby\Image\Dimensions',
|
||||
|
||||
// toolkit classes
|
||||
'a' => 'Kirby\Toolkit\A',
|
||||
'c' => 'Kirby\Toolkit\Config',
|
||||
'config' => 'Kirby\Toolkit\Config',
|
||||
'escape' => 'Kirby\Toolkit\Escape',
|
||||
'f' => 'Kirby\Toolkit\F',
|
||||
'i18n' => 'Kirby\Toolkit\I18n',
|
||||
'mime' => 'Kirby\Toolkit\Mime',
|
||||
'obj' => 'Kirby\Toolkit\Obj',
|
||||
'str' => 'Kirby\Toolkit\Str',
|
||||
'tpl' => 'Kirby\Toolkit\Tpl',
|
||||
'v' => 'Kirby\Toolkit\V',
|
||||
'xml' => 'Kirby\Toolkit\Xml'
|
||||
];
|
@@ -6,7 +6,7 @@ use Kirby\Cms\File;
|
||||
return [
|
||||
'props' => [
|
||||
/**
|
||||
* Sets the upload options for linked files
|
||||
* Sets the upload options for linked files (since 3.2.0)
|
||||
*/
|
||||
'uploads' => function ($uploads = []) {
|
||||
if ($uploads === false) {
|
||||
|
@@ -10,7 +10,7 @@ return [
|
||||
'before' => null,
|
||||
|
||||
/**
|
||||
* Enables/disables the format buttons. Can either be `true`/`false` or a list of allowed buttons. Available buttons: `headlines`, `italic`, `bold`, `link`, `email`, `file`, `list`, `code`, `ul`, `ol` (as well as `|` for a divider)
|
||||
* Enables/disables the format buttons. Can either be `true`/`false` or a list of allowed buttons. Available buttons: `headlines`, `italic`, `bold`, `link`, `email`, `file`, `code`, `ul`, `ol` (as well as `|` for a divider)
|
||||
*/
|
||||
'buttons' => function ($buttons = true) {
|
||||
return $buttons;
|
||||
@@ -73,6 +73,12 @@ return [
|
||||
return $size;
|
||||
},
|
||||
|
||||
/**
|
||||
* If `false`, spellcheck will be switched off
|
||||
*/
|
||||
'spellcheck' => function (bool $spellcheck = false) {
|
||||
return $spellcheck;
|
||||
},
|
||||
|
||||
'value' => function (string $value = null) {
|
||||
return trim($value);
|
||||
|
@@ -13,61 +13,7 @@ require_once __DIR__ . '/helpers.php';
|
||||
/**
|
||||
* Class aliases
|
||||
*/
|
||||
$aliases = [
|
||||
// cms classes
|
||||
'asset' => 'Kirby\Cms\Asset',
|
||||
'collection' => 'Kirby\Cms\Collection',
|
||||
'dir' => 'Kirby\Cms\Dir',
|
||||
'field' => 'Kirby\Cms\Field',
|
||||
'file' => 'Kirby\Cms\File',
|
||||
'files' => 'Kirby\Cms\Files',
|
||||
'html' => 'Kirby\Cms\Html',
|
||||
'kirby' => 'Kirby\Cms\App',
|
||||
'page' => 'Kirby\Cms\Page',
|
||||
'pages' => 'Kirby\Cms\Pages',
|
||||
'pagination' => 'Kirby\Cms\Pagination',
|
||||
'r' => 'Kirby\Cms\R',
|
||||
'response' => 'Kirby\Cms\Response',
|
||||
's' => 'Kirby\Cms\S',
|
||||
'site' => 'Kirby\Cms\Site',
|
||||
'structure' => 'Kirby\Cms\Structure',
|
||||
'url' => 'Kirby\Cms\Url',
|
||||
'user' => 'Kirby\Cms\User',
|
||||
'users' => 'Kirby\Cms\Users',
|
||||
'visitor' => 'Kirby\Cms\Visitor',
|
||||
|
||||
// data handler
|
||||
'data' => 'Kirby\Data\Data',
|
||||
'json' => 'Kirby\Data\Json',
|
||||
'yaml' => 'Kirby\Data\Yaml',
|
||||
|
||||
// data classes
|
||||
'database' => 'Kirby\Database\Database',
|
||||
'db' => 'Kirby\Database\Db',
|
||||
|
||||
// http classes
|
||||
'cookie' => 'Kirby\Http\Cookie',
|
||||
'header' => 'Kirby\Http\Header',
|
||||
'remote' => 'Kirby\Http\Remote',
|
||||
'server' => 'Kirby\Http\Server',
|
||||
|
||||
// image classes
|
||||
'dimensions' => 'Kirby\Image\Dimensions',
|
||||
|
||||
// toolkit classes
|
||||
'a' => 'Kirby\Toolkit\A',
|
||||
'c' => 'Kirby\Toolkit\Config',
|
||||
'config' => 'Kirby\Toolkit\Config',
|
||||
'escape' => 'Kirby\Toolkit\Escape',
|
||||
'f' => 'Kirby\Toolkit\F',
|
||||
'i18n' => 'Kirby\Toolkit\I18n',
|
||||
'mime' => 'Kirby\Toolkit\Mime',
|
||||
'obj' => 'Kirby\Toolkit\Obj',
|
||||
'str' => 'Kirby\Toolkit\Str',
|
||||
'tpl' => 'Kirby\Toolkit\Tpl',
|
||||
'v' => 'Kirby\Toolkit\V',
|
||||
'xml' => 'Kirby\Toolkit\Xml'
|
||||
];
|
||||
$aliases = require_once __DIR__ . '/aliases.php';
|
||||
|
||||
spl_autoload_register(function ($class) use ($aliases) {
|
||||
$class = strtolower($class);
|
||||
|
@@ -37,6 +37,7 @@
|
||||
|
||||
"error.access.login": "Invalid login",
|
||||
"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.avatar.create.fail": "The profile picture could not be uploaded",
|
||||
"error.avatar.delete.fail": "The profile picture could not be deleted",
|
||||
@@ -51,6 +52,7 @@
|
||||
|
||||
"error.field.converter.invalid": "Invalid converter \"{converter}\"",
|
||||
|
||||
"error.file.changeName.empty": "The name must not be empty",
|
||||
"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",
|
||||
|
@@ -28,9 +28,9 @@
|
||||
"duplicate": "Duplica",
|
||||
"edit": "Modifica",
|
||||
|
||||
"dialog.files.empty": "No files to select",
|
||||
"dialog.pages.empty": "No pages to select",
|
||||
"dialog.users.empty": "No users to select",
|
||||
"dialog.files.empty": "Nessun file selezionabile",
|
||||
"dialog.pages.empty": "Nessuna pagina selezionabile",
|
||||
"dialog.users.empty": "Nessuno user selezionabile",
|
||||
|
||||
"email": "Email",
|
||||
"email.placeholder": "mail@esempio.com",
|
||||
@@ -71,9 +71,9 @@
|
||||
"error.form.incomplete": "Correggi tutti gli errori nel form...",
|
||||
"error.form.notSaved": "Non è stato possibile salvare il form",
|
||||
|
||||
"error.language.code": "Please enter a valid code for the language",
|
||||
"error.language.duplicate": "The language already exists",
|
||||
"error.language.name": "Please enter a valid name for the language",
|
||||
"error.language.code": "Inserisci un codice valido per la lingua",
|
||||
"error.language.duplicate": "La lingua esiste già",
|
||||
"error.language.name": "Inserisci un nome valido per la lingua",
|
||||
|
||||
"error.license.format": "Inserisci un codice di licenza valido",
|
||||
"error.license.email": "Inserisci un indirizzo email valido",
|
||||
@@ -183,9 +183,9 @@
|
||||
"error.validation.contains":
|
||||
"Inserisci un valore che contiene \"{needle}\"",
|
||||
"error.validation.date": "Inserisci una data valida",
|
||||
"error.validation.date.after": "Please enter a date after {date}",
|
||||
"error.validation.date.before": "Please enter a date before {date}",
|
||||
"error.validation.date.between": "Please enter a date between {min} and {max}",
|
||||
"error.validation.date.after": "Inserisci una data dopo il {date}",
|
||||
"error.validation.date.before": "Inserisci una data prima del {date}",
|
||||
"error.validation.date.between": "Inserisci una data tra {min} e {max}",
|
||||
"error.validation.denied": "Per favore nega",
|
||||
"error.validation.different": "Il valore non dev'essere \"{other}\"",
|
||||
"error.validation.email": "Inserisci un indirizzo email valido",
|
||||
@@ -265,7 +265,7 @@
|
||||
"language.direction.ltr": "Sinistra a destra",
|
||||
"language.direction.rtl": "Destra a sinistra",
|
||||
"language.locale": "Stringa \"PHP locale\"",
|
||||
"language.locale.warning": "You are using a custom locale set up. Please modify it in the language file in /site/languages",
|
||||
"language.locale.warning": "Stai usando una impostazione personalizzata per il locale. Modificalo nel file della lingua situato in /site/languages",
|
||||
"language.name": "Nome",
|
||||
"language.updated": "La lingua è stata aggiornata",
|
||||
|
||||
|
449
kirby/i18n/translations/lt.json
Executable file
449
kirby/i18n/translations/lt.json
Executable file
@@ -0,0 +1,449 @@
|
||||
{
|
||||
"add": "Pridėti",
|
||||
"avatar": "Profilio nuotrauka",
|
||||
"back": "Atgal",
|
||||
"cancel": "Atšaukti",
|
||||
"change": "Keisti",
|
||||
"close": "Uždaryti",
|
||||
"confirm": "Ok",
|
||||
"copy": "Kopijuoti",
|
||||
"create": "Sukurti",
|
||||
|
||||
"date": "Data",
|
||||
"date.select": "Pasirinkite datą",
|
||||
|
||||
"day": "Diena",
|
||||
"days.fri": "Penktadienis",
|
||||
"days.mon": "Pirmadienis",
|
||||
"days.sat": "Šeštadienis",
|
||||
"days.sun": "Sekmadienis",
|
||||
"days.thu": "Ketvirtadienis",
|
||||
"days.tue": "Antradienis",
|
||||
"days.wed": "Trečiadienis",
|
||||
|
||||
"delete": "Pašalinti",
|
||||
"dimensions": "Išmatavimai",
|
||||
"discard": "Atšaukti",
|
||||
"download": "Parsisiųsti",
|
||||
"duplicate": "Kopijuoti",
|
||||
"edit": "Redaguoti",
|
||||
|
||||
"dialog.files.empty": "Nėra failų pasirinkimui",
|
||||
"dialog.pages.empty": "Nėra puslapių pasirinkimui",
|
||||
"dialog.users.empty": "Nėra vartotojų pasirinkimui",
|
||||
|
||||
"email": "El. paštas",
|
||||
"email.placeholder": "mail@example.com",
|
||||
|
||||
"error.access.login": "Neteisingas prisijungimo vardas",
|
||||
"error.access.panel": "Neturite teisės prisijungti prie valdymo pulto",
|
||||
|
||||
"error.avatar.create.fail": "Nepavyko įkelti profilio nuotraukos",
|
||||
"error.avatar.delete.fail": "Nepavyko pašalinti profilio nuotraukos",
|
||||
"error.avatar.dimensions.invalid":
|
||||
"Profilio nuotraukos plotis ar aukštis turėtų būti iki 3000 pikselių",
|
||||
"error.avatar.mime.forbidden":
|
||||
"Profilio nuotrauka turi būti JPEG arba PNG",
|
||||
|
||||
"error.blueprint.notFound": "Blueprint \"{name}\" negali būti užkrautas",
|
||||
|
||||
"error.email.preset.notFound": "El. pašto paruoštukas \"{name}\" nerastas",
|
||||
|
||||
"error.field.converter.invalid": "Neteisingas konverteris \"{converter}\"",
|
||||
|
||||
"error.file.changeName.permission":
|
||||
"Neturite teisės pakeisti failo pavadinimo \"{filename}\"",
|
||||
"error.file.duplicate": "Failas su pavadinimu \"{filename}\" jau yra",
|
||||
"error.file.extension.forbidden":
|
||||
"Failo tipas (plėtinys) \"{extension}\" neleidžiamas",
|
||||
"error.file.extension.missing":
|
||||
"Failui \"{filename}\" trūksta tipo (plėtinio)",
|
||||
"error.file.mime.differs":
|
||||
"Įkėliamas failas turi būti tokio pat mime tipo \"{mime}\"",
|
||||
"error.file.mime.forbidden": "Media tipas \"{mime}\" neleidžiamas",
|
||||
"error.file.mime.missing":
|
||||
"Failui \"{filename}\" nepavyko atpažinti media (mime) tipo",
|
||||
"error.file.name.missing": "Failo pavadinimas negali būti tuščias",
|
||||
"error.file.notFound": "Failas \"{filename}\" nerastas",
|
||||
"error.file.type.forbidden": "Jūs neturite teisės įkelti {type} tipo failų",
|
||||
"error.file.undefined": "Failas nerastas",
|
||||
|
||||
"error.form.incomplete": "🙏 Prašome ištaisyti visas formos klaidas…",
|
||||
"error.form.notSaved": "Formos nepavyko išsaugoti",
|
||||
|
||||
"error.language.code": "Prašome įrašyti teisingą kalbos kodą",
|
||||
"error.language.duplicate": "Tokia kalba jau yra",
|
||||
"error.language.name": "Prašome įrašyti teisingą kalbos pavadinimą",
|
||||
|
||||
"error.license.format": "Prašome įrašyti teisingą licenzijos kodą",
|
||||
"error.license.email": "Prašome įrašyti teisingą el. pašto adresą",
|
||||
"error.license.verification": "Nepavyko patikrinti licenzijos",
|
||||
|
||||
"error.page.changeSlug.permission":
|
||||
"Neturite teisės pakeisti \"{slug}\" URL",
|
||||
"error.page.changeStatus.incomplete":
|
||||
"Puslapis turi klaidų ir negali būti paskelbtas",
|
||||
"error.page.changeStatus.permission":
|
||||
"Šiam puslapiui negalima pakeisti statuso",
|
||||
"error.page.changeStatus.toDraft.invalid":
|
||||
"Puslapio \"{slug}\" negalima paversti juodraščiu",
|
||||
"error.page.changeTemplate.invalid":
|
||||
"Šablono puslapiui \"{slug}\" negalima keisti",
|
||||
"error.page.changeTemplate.permission":
|
||||
"Neturite leidimo keisti šabloną puslapiui \"{slug}\"",
|
||||
"error.page.changeTitle.empty": "Pavadinimas negali būti tuščias",
|
||||
"error.page.changeTitle.permission":
|
||||
"Neturite leidimo keisti pavadinimo puslapiui \"{slug}\"",
|
||||
"error.page.create.permission": "Neturite leidimo sukurti \"{slug}\"",
|
||||
"error.page.delete": "Puslapio \"{slug}\" negalima pašalinti",
|
||||
"error.page.delete.confirm": "Įrašykite puslapio pavadinimą, tam kad patvirtintumėte",
|
||||
"error.page.delete.hasChildren":
|
||||
"Puslapis turi vidinių puslapių, dėl to negalima jo pašalinti",
|
||||
"error.page.delete.permission": "Neturite leidimo šalinti \"{slug}\"",
|
||||
"error.page.draft.duplicate":
|
||||
"Puslapio juodraštis su URL pabaiga \"{slug}\" jau yra",
|
||||
"error.page.duplicate":
|
||||
"Puslapis su URL pabaiga \"{slug}\" jau yra",
|
||||
"error.page.duplicate.permission": "Neturite leidimo dubliuoti \"{slug}\"",
|
||||
"error.page.notFound": "Puslapis \"{slug}\" nerastas",
|
||||
"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.sort.permission": "Puslapiui \"{slug}\" negalima pakeisti eiliškumo",
|
||||
"error.page.status.invalid": "Nustatykite teisingą puslapio statusą",
|
||||
"error.page.undefined": "Puslapis nerastas",
|
||||
"error.page.update.permission": "Neturite leidimo atnaujinti \"{slug}\"",
|
||||
|
||||
"error.section.files.max.plural":
|
||||
"Į sekciją \"{section}\" negalima pridėti daugiau nei {max} failų",
|
||||
"error.section.files.max.singular":
|
||||
"Į sekciją \"{section}\" negalima pridėti daugiau nei vieną failą",
|
||||
"error.section.files.min.plural":
|
||||
"Sekcija \"{section}\" reikalauja bent {min} failų",
|
||||
"error.section.files.min.singular":
|
||||
"Sekcija \"{section}\" reikalauja bent vieno failo",
|
||||
|
||||
"error.section.pages.max.plural":
|
||||
"Į sekciją \"{section}\" negalima pridėti daugiau nei {max} puslapių",
|
||||
"error.section.pages.max.singular":
|
||||
"Į sekciją \"{section}\" negalima pridėti daugiau nei vieną puslapį",
|
||||
"error.section.pages.min.plural":
|
||||
"Sekcija \"{section}\" reikalauja bent {min} puslapių",
|
||||
"error.section.pages.min.singular":
|
||||
"Sekcija \"{section}\" reikalauja bent vieno puslapio",
|
||||
|
||||
"error.section.notLoaded": "Sekcija \"{name}\" negali būti užkrauta",
|
||||
"error.section.type.invalid": "Sekcijos tipas \"{type}\" yra neteisingas",
|
||||
|
||||
"error.site.changeTitle.permission":
|
||||
"Neturite leidimo keisti svetainės pavadinimo",
|
||||
"error.site.update.permission": "Neturite leidimo atnaujinti svetainės",
|
||||
|
||||
"error.template.default.notFound": "Nėra šablono pagal nutylėjimą",
|
||||
|
||||
"error.user.changeEmail.permission":
|
||||
"Neturite leidimo keisti vartotojo \"{name}\" el. paštą",
|
||||
"error.user.changeLanguage.permission":
|
||||
"Neturite leidimo keisti vartotojo \"{name}\" kalbą",
|
||||
"error.user.changeName.permission":
|
||||
"Neturite leidimo keisti vartotojo \"{name}\" vardą",
|
||||
"error.user.changePassword.permission":
|
||||
"Neturite leidimo keisti vartotojo \"{name}\" slaptažodį",
|
||||
"error.user.changeRole.lastAdmin":
|
||||
"Vienintelio administratoriaus rolės negalima pakeisti",
|
||||
"error.user.changeRole.permission":
|
||||
"Neturite leidimo pakeisti vartotojo \"{name}\" rolės",
|
||||
"error.user.create.permission": "Neturite leidimo sukurti šį vartotoją",
|
||||
"error.user.delete": "Vartotojo \"{name}\" negalima pašalinti",
|
||||
"error.user.delete.lastAdmin": "Vienintelio administratoriaus negalima pašalinti",
|
||||
"error.user.delete.lastUser": "Vienintelio vartotojo negalima pašalinti",
|
||||
"error.user.delete.permission":
|
||||
"Neturite leidimo pašalinti vartotoją \"{name}\"",
|
||||
"error.user.duplicate":
|
||||
"Vartotojas su el. paštu \"{email}\" jau yra",
|
||||
"error.user.email.invalid": "Įrašykite teisingą el. pašto adresą",
|
||||
"error.user.language.invalid": "Įrašykite teisingą kalbą",
|
||||
"error.user.notFound": "Vartotojas \"{name}\" nerastas",
|
||||
"error.user.password.invalid":
|
||||
"Prašome įrašyti galiojantį slaptažodį. Slaptažodį turi sudaryti bent 8 simboliai.",
|
||||
"error.user.password.notSame": "Slaptažodžiai nesutampa",
|
||||
"error.user.password.undefined": "Vartotojas neturi slaptažodžio",
|
||||
"error.user.role.invalid": "Įrašykite teisingą rolę",
|
||||
"error.user.undefined": "Vartotojas nerastas",
|
||||
"error.user.update.permission":
|
||||
"Neturite teisės keisti vartotojo \"{name}\"",
|
||||
|
||||
"error.validation.accepted": "Prašome patvirtinti",
|
||||
"error.validation.alpha": "Prašome įrašyti tik raides a-z",
|
||||
"error.validation.alphanum":
|
||||
"Prašome įrašyti tik raides a-z arba skaičius 0-9",
|
||||
"error.validation.between":
|
||||
"Prašome įrašyti reikšmę tarp \"{min}\" ir \"{max}\"",
|
||||
"error.validation.boolean": "Patvirtinkite arba atšaukite",
|
||||
"error.validation.contains":
|
||||
"Prašome įrašyti reikšmę, kuri turėtų \"{needle}\"",
|
||||
"error.validation.date": "Prašome įrašyti korektišką datą",
|
||||
"error.validation.date.after": "Įrašykite datą nuo {date}",
|
||||
"error.validation.date.before": "Įrašykite datą iki {date}",
|
||||
"error.validation.date.between": "Įrašykite datą tarp {min} ir {max}",
|
||||
"error.validation.denied": "Prašome neleisti",
|
||||
"error.validation.different": "Reikšmė neturi būti \"{other}\"",
|
||||
"error.validation.email": "Prašome įrašyti korektišką el. paštą",
|
||||
"error.validation.endswith": "Reikšmė turi baigtis su \"{end}\"",
|
||||
"error.validation.filename": "Prašome įrašyti teisingą failo pavadinimą",
|
||||
"error.validation.in": "Prašome įrašyti vieną iš šių: ({in})",
|
||||
"error.validation.integer": "Prašome įrašyti teisingą sveiką skaičių",
|
||||
"error.validation.ip": "Prašome įrašyti teisingą IP adresą",
|
||||
"error.validation.less": "Prašome įrašyti mažiau nei {max}",
|
||||
"error.validation.match": "Reikšmė nesutampa su laukiamu šablonu",
|
||||
"error.validation.max": "Prašome įrašyti reikšmę lygią arba didesnę, nei {max}",
|
||||
"error.validation.maxlength":
|
||||
"Prašome įrašyti trumpesnę reikšmę. (max. {max} characters)",
|
||||
"error.validation.maxwords": "Please enter no more than {max} word(s)",
|
||||
"error.validation.min": "Please enter a value equal to or greater than {min}",
|
||||
"error.validation.minlength":
|
||||
"Prašome įrašyti ilgesnę reikšmę. (min. {min} characters)",
|
||||
"error.validation.minwords": "Prašome įrašyti bent {min} žodžius",
|
||||
"error.validation.more": "Prašome įrašyti daugiau nei {min}",
|
||||
"error.validation.notcontains":
|
||||
"Prašome įrašyti reikšmę, kuri neturi \"{needle}\"",
|
||||
"error.validation.notin":
|
||||
"Prašome neįrašyti vieną iš šių: ({notIn})",
|
||||
"error.validation.option": "Prašome pasirinkti korektišką opciją",
|
||||
"error.validation.num": "Prašome įrašyti teisingą numerį",
|
||||
"error.validation.required": "Prašome įrašyti ką nors",
|
||||
"error.validation.same": "Prašome įrašyti \"{other}\"",
|
||||
"error.validation.size": "Reikšmės dydis turi būti \"{size}\"",
|
||||
"error.validation.startswith": "Reikšmė turi prasidėti su \"{start}\"",
|
||||
"error.validation.time": "Prašome įrašyti korektišką laiką",
|
||||
"error.validation.url": "Prašome įrašyti teisingą URL",
|
||||
|
||||
"field.files.empty": "Dar nėra failų",
|
||||
"field.pages.empty": "Dar nėra puslapių",
|
||||
"field.structure.delete.confirm": "Ar tikrai norite pašalinti šią eilutę?",
|
||||
"field.structure.empty": "Dar nėra įrašų",
|
||||
"field.users.empty": "Dar nėra vartotojų",
|
||||
|
||||
"file.delete.confirm":
|
||||
"Ar tikrai norite pašalinti <br><strong>{filename}</strong>?",
|
||||
|
||||
"files": "Failai",
|
||||
"files.empty": "Dar nėra failų",
|
||||
|
||||
"hour": "Valanda",
|
||||
"insert": "Įterpti",
|
||||
"install": "Įdiegti",
|
||||
|
||||
"installation": "Įdiegimas",
|
||||
"installation.completed": "Valdymo pultas įdiegtas",
|
||||
"installation.disabled": "Pagal nutylėjimą valdymo pulto įdiegimas viešuose serveriuose yra negalimas. Prašome įdiegti lokalioje aplinkoje arba įgalinkite jį su <code>panel.install</code> opcija.",
|
||||
"installation.issues.accounts":
|
||||
"Katalogas <code>/site/accounts</code> neegzistuoja arba neturi įrašymo teisių",
|
||||
"installation.issues.content":
|
||||
"Katalogas <code>/content</code> neegzistuoja arba neturi įrašymo teisių",
|
||||
"installation.issues.curl": "Plėtinys <code>CURL</code> yra privalomas",
|
||||
"installation.issues.headline": "Nepavyko įdiegti valdymo pulto",
|
||||
"installation.issues.mbstring":
|
||||
"Plėtinys <code>MB String</code> yra privalomas",
|
||||
"installation.issues.media":
|
||||
"Katalogas <code>/media</code> neegzistuoja arba neturi įrašymo teisių",
|
||||
"installation.issues.php": "Įsitikinkite, kad naudojama <code>PHP 7+</code>",
|
||||
"installation.issues.server":
|
||||
"Kirby reikalauja <code>Apache</code>, <code>Nginx</code> arba <code>Caddy</code>",
|
||||
"installation.issues.sessions": "Katalogas <code>/site/sessions</code> neegzistuoja arba neturi įrašymo teisių",
|
||||
|
||||
"language": "Kalba",
|
||||
"language.code": "Kodas",
|
||||
"language.convert": "Padaryti pagrindinį",
|
||||
"language.convert.confirm":
|
||||
"<p>Do you really want to convert <strong>{name}</strong> to the default language? This cannot be undone.</p><p>If <strong>{name}</strong> has untranslated content, there will no longer be a valid fallback and parts of your site might be empty.</p>",
|
||||
"language.create": "Pridėti naują kalbą",
|
||||
"language.delete.confirm":
|
||||
"Ar tikrai norite pašalinti <strong>{name}</strong> kalbą, kartu su visais vertimais? Grąžinti nebus įmanoma! 🙀",
|
||||
"language.deleted": "Kalba pašalinta",
|
||||
"language.direction": "Skaitymo kryptis",
|
||||
"language.direction.ltr": "Iš kairės į dešinę",
|
||||
"language.direction.rtl": "Iš dešinės į kairę",
|
||||
"language.locale": "PHP locale string",
|
||||
"language.locale.warning": "Jūs naudojate pasirinktinį lokalės nustatymą. Prašome pakeisti jį faile /site/languages",
|
||||
"language.name": "Pavadinimas",
|
||||
"language.updated": "Kalba atnaujinta",
|
||||
|
||||
"languages": "Kalbos",
|
||||
"languages.default": "Pagrindinė kalba",
|
||||
"languages.empty": "Dar nėra kalbų",
|
||||
"languages.secondary": "Papildomos kalbos",
|
||||
"languages.secondary.empty": "Dar nėra papildomų kalbų",
|
||||
|
||||
"license": "Licenzija",
|
||||
"license.buy": "Pirkti licenziją",
|
||||
"license.register": "Registruoti",
|
||||
"license.register.help":
|
||||
"Licenzijos kodą gavote el. paštu po apmokėjimo. Prašome įterpti čia, kad sistema būtų užregistruota.",
|
||||
"license.register.label": "Prašome įrašyti jūsų licenzijos kodą",
|
||||
"license.register.success": "Ačiū, kad palaikote Kirby",
|
||||
"license.unregistered": "Tai neregistruota Kirby demo versija",
|
||||
|
||||
"link": "Nuoroda",
|
||||
"link.text": "Nuorodos tekstas",
|
||||
|
||||
"loading": "Kraunasi",
|
||||
|
||||
"lock.unsaved": "Neišsaugoti pakeitimai",
|
||||
"lock.isLocked": "Vartotojo <strong>{email}</strong> neišsaugoti pakeitimai",
|
||||
"lock.file.isLocked": "Šį failą dabar redaguoja kitas vartotojas {email}, tad jo negalima pekeisti.",
|
||||
"lock.page.isLocked": "Šį puslapį dabar redaguoja kitas vartotojas {email}, tad jo negalima pekeisti.",
|
||||
"lock.unlock": "Atrakinti",
|
||||
"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.remember": "Likti prisijungus",
|
||||
|
||||
"logout": "Atsijungti",
|
||||
|
||||
"menu": "Meniu",
|
||||
"meridiem": "AM/PM",
|
||||
"mime": "Media Tipas",
|
||||
"minutes": "Minutės",
|
||||
|
||||
"month": "Mėnuo",
|
||||
"months.april": "Balandis",
|
||||
"months.august": "August",
|
||||
"months.december": "Gruodis",
|
||||
"months.february": "Vasaris",
|
||||
"months.january": "Sausis",
|
||||
"months.july": "Liepa",
|
||||
"months.june": "Birželis",
|
||||
"months.march": "Kovas",
|
||||
"months.may": "Gegužė",
|
||||
"months.november": "Lapkritis",
|
||||
"months.october": "Spalis",
|
||||
"months.september": "Rugsėjis",
|
||||
|
||||
"more": "Daugiau",
|
||||
"name": "Pavadinimas",
|
||||
"next": "Toliau",
|
||||
"off": "off",
|
||||
"on": "on",
|
||||
"open": "Atidaryti",
|
||||
"options": "Pasirinkimai",
|
||||
|
||||
"orientation": "Orientacija",
|
||||
"orientation.landscape": "Horizontali",
|
||||
"orientation.portrait": "Portretas",
|
||||
"orientation.square": "Kvadratas",
|
||||
|
||||
"page.changeSlug": "Pakeisti URL",
|
||||
"page.changeSlug.fromTitle": "Sukurti URL pagal pavadinimą",
|
||||
"page.changeStatus": "Pakeisti statusą",
|
||||
"page.changeStatus.position": "Pasirinkite poziciją",
|
||||
"page.changeStatus.select": "Pasirinkite statusą",
|
||||
"page.changeTemplate": "Pakeisti šabloną",
|
||||
"page.delete.confirm":
|
||||
"🙀 Ar tikrai norite pašalinti puslapį <strong>{title}</strong>?",
|
||||
"page.delete.confirm.subpages":
|
||||
"<strong>Šis puslapis turi sub-puslapių</strong>. <br>Visi sub-puslapiai taip pat bus pašalinti.",
|
||||
"page.delete.confirm.title": "Įrašykite puslapio pavadinimą tam, kad patvirtinti",
|
||||
"page.draft.create": "Sukurti juodraštį",
|
||||
"page.duplicate.appendix": "Kopijuoti",
|
||||
"page.duplicate.files": "Kopijuoti failus",
|
||||
"page.duplicate.pages": "Kopijuoti puslapius",
|
||||
"page.status": "Statusas",
|
||||
"page.status.draft": "Juodraštis",
|
||||
"page.status.draft.description":
|
||||
"Puslapis nematomas viešai, bet matomas tik prisijungusiems administratoriams",
|
||||
"page.status.listed": "Paskelbtas",
|
||||
"page.status.listed.description": "Matomas viešai visiems",
|
||||
"page.status.unlisted": "Nerodomas",
|
||||
"page.status.unlisted.description": "Rodomas viešai visiems, bet tik per URL",
|
||||
|
||||
"pages": "Puslapiai",
|
||||
"pages.empty": "Dar nėra puslapių",
|
||||
"pages.status.draft": "Juodraščiai",
|
||||
"pages.status.listed": "Paskelbti",
|
||||
"pages.status.unlisted": "Nerodomi",
|
||||
|
||||
"password": "Slaptažodis",
|
||||
"pixel": "Pikselis",
|
||||
"prev": "Ankstesnis",
|
||||
"remove": "Pašalinti",
|
||||
"rename": "Pervadinti",
|
||||
"replace": "Apkeisti",
|
||||
"retry": "Bandyti dar",
|
||||
"revert": "Grąžinti",
|
||||
|
||||
"role": "Rolė",
|
||||
"role.admin.description": "Admin turi visas teises",
|
||||
"role.admin.title": "Admin",
|
||||
"role.all": "Visos",
|
||||
"role.empty": "Nėra vartotojų su tokia role",
|
||||
"role.description.placeholder": "Be aprašymo",
|
||||
"role.nobody.description": "Ši rolė bus naudojama jei nenustatytos jokios teisės",
|
||||
"role.nobody.title": "Niekas",
|
||||
|
||||
"save": "Išsaugoti",
|
||||
"search": "Ieškoti",
|
||||
"select": "Pasirinkti",
|
||||
"settings": "Nustatymai",
|
||||
"size": "Dydis",
|
||||
"slug": "URL pabaiga",
|
||||
"sort": "Rikiuoti",
|
||||
"title": "Pavadinimas",
|
||||
"template": "Puslapio šablonas",
|
||||
"today": "Šiandien",
|
||||
|
||||
"toolbar.button.code": "Kodas",
|
||||
"toolbar.button.bold": "Bold",
|
||||
"toolbar.button.email": "El. paštas",
|
||||
"toolbar.button.headings": "Antraštės",
|
||||
"toolbar.button.heading.1": "Heading 1",
|
||||
"toolbar.button.heading.2": "Heading 2",
|
||||
"toolbar.button.heading.3": "Heading 3",
|
||||
"toolbar.button.italic": "Italic",
|
||||
"toolbar.button.file": "Failas",
|
||||
"toolbar.button.file.select": "Pasirinkite failą",
|
||||
"toolbar.button.file.upload": "Įkelti failą",
|
||||
"toolbar.button.link": "Nuoroda",
|
||||
"toolbar.button.ol": "Sąrašas su skaičiais",
|
||||
"toolbar.button.ul": "Sąrašas su taškais",
|
||||
|
||||
"translation.author": "Roman U",
|
||||
"translation.direction": "ltr",
|
||||
"translation.name": "Lietuvių",
|
||||
|
||||
"upload": "Įkelti",
|
||||
"upload.errors": "Klaida",
|
||||
"upload.progress": "Įkėlimas…",
|
||||
|
||||
"url": "Url",
|
||||
"url.placeholder": "https://example.com",
|
||||
|
||||
"user": "Vartotojas",
|
||||
"user.blueprint":
|
||||
"Galite nustatyti papildomas sekcijas ir formos laukelius šiai vartotojo rolei faile <strong>/site/blueprints/users/{role}.yml</strong>",
|
||||
"user.changeEmail": "Keisti el. paštą",
|
||||
"user.changeLanguage": "Keisti kalbą",
|
||||
"user.changeName": "Pervadinti vartotoją",
|
||||
"user.changePassword": "Keisti slaptažodį",
|
||||
"user.changePassword.new": "Naujas slaptažodis",
|
||||
"user.changePassword.new.confirm": "Patvirtinti naują slaptažodį…",
|
||||
"user.changeRole": "Keisti rolę",
|
||||
"user.changeRole.select": "Pasirinkti naują rolę",
|
||||
"user.create": "Pridėti naują vartotoją",
|
||||
"user.delete": "Pašalinti šį vartotoją",
|
||||
"user.delete.confirm":
|
||||
"Ar tikrai norite pašalinti vartotoją <br><strong>{email}</strong>?",
|
||||
|
||||
"users": "Vartotojai",
|
||||
|
||||
"version": "Versija",
|
||||
|
||||
"view.account": "Jūsų paskyra",
|
||||
"view.installation": "Installation",
|
||||
"view.settings": "Nustatymai",
|
||||
"view.site": "Svetainė",
|
||||
"view.users": "Vartotojai",
|
||||
|
||||
"welcome": "Sveiki",
|
||||
"year": "Metai"
|
||||
}
|
449
kirby/i18n/translations/ru.json
Executable file
449
kirby/i18n/translations/ru.json
Executable file
@@ -0,0 +1,449 @@
|
||||
{
|
||||
"add": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c",
|
||||
"avatar": "\u0410\u0432\u0430\u0442\u0430\u0440 (\u0444\u043e\u0442\u043e)",
|
||||
"back": "Назад",
|
||||
"cancel": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c",
|
||||
"change": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c",
|
||||
"close": "\u0417\u0430\u043a\u0440\u044b\u0442\u044c",
|
||||
"confirm": "Сохранить",
|
||||
"copy": "Скопировать",
|
||||
"create": "Создать",
|
||||
|
||||
"date": "Дата",
|
||||
"date.select": "Выберите дату",
|
||||
|
||||
"day": "День",
|
||||
"days.fri": "\u041f\u0442",
|
||||
"days.mon": "\u041f\u043d",
|
||||
"days.sat": "\u0421\u0431",
|
||||
"days.sun": "\u0412\u0441",
|
||||
"days.thu": "\u0427\u0442",
|
||||
"days.tue": "\u0412\u0442",
|
||||
"days.wed": "\u0421\u0440",
|
||||
|
||||
"delete": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c",
|
||||
"dimensions": "Размеры",
|
||||
"discard": "\u0421\u0431\u0440\u043e\u0441",
|
||||
"download": "Скачать",
|
||||
"duplicate": "Дублировать",
|
||||
"edit": "\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c",
|
||||
|
||||
"dialog.files.empty": "Нет файлов для выбора",
|
||||
"dialog.pages.empty": "Нет страниц для выбора",
|
||||
"dialog.users.empty": "Нет пользователей для выбора",
|
||||
|
||||
"email": "Эл. почта",
|
||||
"email.placeholder": "pochta@domen.com",
|
||||
|
||||
"error.access.login": "Неправильный логин",
|
||||
"error.access.panel": "У вас нет права доступа к панели",
|
||||
|
||||
"error.avatar.create.fail": "Не удалось загрузить фотографию профиля",
|
||||
"error.avatar.delete.fail": "\u0410\u0432\u0430\u0442\u0430\u0440 (\u0444\u043e\u0442\u043e) \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d",
|
||||
"error.avatar.dimensions.invalid":
|
||||
"Пожалуйста, сделайте чтобы ширина или высота фотографии была меньше 3000 пикселей",
|
||||
"error.avatar.mime.forbidden":
|
||||
"Фотография профиля должна быть JPEG или PNG",
|
||||
|
||||
"error.blueprint.notFound": "Не удалось загрузить blueprint \"{name}\"",
|
||||
|
||||
"error.email.preset.notFound": "Шаблон эл. почты \"{name}\" не найден",
|
||||
|
||||
"error.field.converter.invalid": "Неверный конвертер \"{converter}\"",
|
||||
|
||||
"error.file.changeName.permission":
|
||||
"У вас нет права поменять название \"{filename}\"",
|
||||
"error.file.duplicate": "Файл с названием \"{filename}\" уже есть",
|
||||
"error.file.extension.forbidden":
|
||||
"Расширение файла \"{extension}\" неразрешено",
|
||||
"error.file.extension.missing":
|
||||
"Файлу \"{filename}\" не хватает расширения",
|
||||
"error.file.mime.differs":
|
||||
"Загруженный файл должен быть того же mime типа: \"{mime}\"",
|
||||
"error.file.mime.forbidden": "Тип медиа \"{mime}\" не допустим",
|
||||
"error.file.mime.missing":
|
||||
"Не удалось определить тип медиа для файла \"{filename}\"",
|
||||
"error.file.name.missing": "Название файла не может быть пустым",
|
||||
"error.file.notFound": "\u0424\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",
|
||||
"error.file.type.forbidden": "У вас нет права загружать файлы {type}",
|
||||
"error.file.undefined": "\u0424\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",
|
||||
|
||||
"error.form.incomplete": "Пожалуйста, исправьте все ошибки в форме",
|
||||
"error.form.notSaved": "Форма не может быть сохранена",
|
||||
|
||||
"error.language.code": "Пожалуйста, впишите правильный код языка",
|
||||
"error.language.duplicate": "Язык уже есть",
|
||||
"error.language.name": "Пожалуйста, впишите правильное название языка",
|
||||
|
||||
"error.license.format": "Пожалуйста, введите правильный лицензионный код",
|
||||
"error.license.email": "Пожалуйста, введите правильный адрес эл. почты",
|
||||
"error.license.verification": "Лицензия не подтверждена",
|
||||
|
||||
"error.page.changeSlug.permission":
|
||||
"\u0412\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c URL \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b",
|
||||
"error.page.changeStatus.incomplete":
|
||||
"На странице есть ошибки и поэтому ее нельзя опубликовать",
|
||||
"error.page.changeStatus.permission":
|
||||
"Невозможно поменять статус для этой страницы",
|
||||
"error.page.changeStatus.toDraft.invalid":
|
||||
"Невозможно конвертировать в черновик страницу \"{slug}\"",
|
||||
"error.page.changeTemplate.invalid":
|
||||
"Невозможно поменять шаблон страницы \"{slug}\"",
|
||||
"error.page.changeTemplate.permission":
|
||||
"У вас нет права поменять шаблон для \"{slug}\"",
|
||||
"error.page.changeTitle.empty": "Название не может быть пустым",
|
||||
"error.page.changeTitle.permission":
|
||||
"у вас нет права поменять название \"{slug}\"",
|
||||
"error.page.create.permission": "У вас нет права создать \"{slug}\"",
|
||||
"error.page.delete": "Невозможно удалить страницу \"{slug}\"",
|
||||
"error.page.delete.confirm": "Впишите название страницы чтобы подтвердить",
|
||||
"error.page.delete.hasChildren":
|
||||
"У страницы есть внутренние страницы, поэтому ее невозможно удалить",
|
||||
"error.page.delete.permission": "У вас нет права удалить \"{slug}\"",
|
||||
"error.page.draft.duplicate":
|
||||
"Черновик страницы с аппендиксом URL \"{slug}\" уже есть",
|
||||
"error.page.duplicate":
|
||||
"Страница с аппендиксом URL \"{slug}\" уже есть",
|
||||
"error.page.duplicate.permission": "У вас нет права дублировать \"{slug}\"",
|
||||
"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.slug.invalid": "Пожалуйста, впишите правильный префикс URL",
|
||||
"error.page.sort.permission": "Невозможно сортировать страницу \"{slug}\"",
|
||||
"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.update.permission": "У вас нет права обновить \"{slug}\"",
|
||||
|
||||
"error.section.files.max.plural":
|
||||
"Нельзя добавить больше чем {max} файлов в секции \"{section}\"",
|
||||
"error.section.files.max.singular":
|
||||
"Можно добавить не больше 1 файла в секции \"{section}\"",
|
||||
"error.section.files.min.plural":
|
||||
"Секция \"{section}\" требует хотя бы {min} файлов",
|
||||
"error.section.files.min.singular":
|
||||
"Секция \"{section}\" требует хотя бы 1 файл",
|
||||
|
||||
"error.section.pages.max.plural":
|
||||
"Можно добавить не больше {max} страниц в секции \"{section}\"",
|
||||
"error.section.pages.max.singular":
|
||||
"Нельзя добавить больше чем 1 страницу в секции \"{section}\"",
|
||||
"error.section.pages.min.plural":
|
||||
"Секция \"{section}\" требует хотя бы {min} страниц",
|
||||
"error.section.pages.min.singular":
|
||||
"Секция \"{section}\" требует хотя бы одну страницу",
|
||||
|
||||
"error.section.notLoaded": "Секция \"{name}\" не может быть загружена",
|
||||
"error.section.type.invalid": "Тип секции {type} неверный",
|
||||
|
||||
"error.site.changeTitle.permission":
|
||||
"У вас нет права поменять название сайта",
|
||||
"error.site.update.permission": "У вас нет права обновить сайт",
|
||||
|
||||
"error.template.default.notFound": "Нет шаблона по умолчанию",
|
||||
|
||||
"error.user.changeEmail.permission":
|
||||
"У вас нет права поменять эл. почту пользователя \"{name}\"",
|
||||
"error.user.changeLanguage.permission":
|
||||
"У вас нет права поменять язык для пользователя \"{name}\"",
|
||||
"error.user.changeName.permission":
|
||||
"У вас нет права поменять имя пользователя \"{name}\"",
|
||||
"error.user.changePassword.permission":
|
||||
"У вас нет права поменять пароль для пользователя \"{name}\"",
|
||||
"error.user.changeRole.lastAdmin":
|
||||
"Роль единственного администратора нельзя поменять",
|
||||
"error.user.changeRole.permission":
|
||||
"У вас нет права поменять поль для пользователя \"{name}\"",
|
||||
"error.user.create.permission": "У вас нет права создать этого пользователя",
|
||||
"error.user.delete": "\u0410\u043a\u043a\u0430\u0443\u043d\u0442 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d",
|
||||
"error.user.delete.lastAdmin": "\u0412\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430",
|
||||
"error.user.delete.lastUser": "Нельзя удалить единственного пользователя",
|
||||
"error.user.delete.permission":
|
||||
"У вас нет права удалить пользователя \"{name}\"",
|
||||
"error.user.duplicate":
|
||||
"Пользователь с эл. почтой \"{email}\" уже есть",
|
||||
"error.user.email.invalid": "Пожалуйста, введите правильный адрес эл. почты",
|
||||
"error.user.language.invalid": "Впишите правильный язык",
|
||||
"error.user.notFound": "\u0410\u043a\u043a\u0430\u0443\u043d\u0442 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",
|
||||
"error.user.password.invalid":
|
||||
"Пожалуйста, впишите правильный пароль. Он должен быть минимум из 8 символов.",
|
||||
"error.user.password.notSame": "\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c",
|
||||
"error.user.password.undefined": "У пользователя нет пароля",
|
||||
"error.user.role.invalid": "Впишите правильную роль",
|
||||
"error.user.undefined": "\u0410\u043a\u043a\u0430\u0443\u043d\u0442 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",
|
||||
"error.user.update.permission":
|
||||
"У вас нет права обновить пользователя \"{name}\"",
|
||||
|
||||
"error.validation.accepted": "Пожалуйста, подтвердите",
|
||||
"error.validation.alpha": "Пожалуйста, впишите только буквы a-z",
|
||||
"error.validation.alphanum":
|
||||
"Пожалуйста, впишите только буквы a-z или числа 0-9",
|
||||
"error.validation.between":
|
||||
"Пожалуйста, впишите значение от \"{min}\" до \"{max}\"",
|
||||
"error.validation.boolean": "Пожалуйста, подтвердите или отмените",
|
||||
"error.validation.contains":
|
||||
"Пожалуйста, впишите значение, которое содержит \"{needle}\"",
|
||||
"error.validation.date": "Пожалуйста, впишите правильную дату",
|
||||
"error.validation.date.after": "Пожалуйста, впишите дату после {date}",
|
||||
"error.validation.date.before": "Пожалуйста, впишите дату до {date}",
|
||||
"error.validation.date.between": "Пожалуйста, впишите дату между {min} и {max}",
|
||||
"error.validation.denied": "Пожалуйста отмените",
|
||||
"error.validation.different": "Значение не может быть \"{other}\"",
|
||||
"error.validation.email": "Пожалуйста, введите правильный адрес эл. почты",
|
||||
"error.validation.endswith": "Значение должно заканчиваться с \"{end}\"",
|
||||
"error.validation.filename": "Пожалуйста, впишите правильное название файла",
|
||||
"error.validation.in": "Пожалуйста, впишите одно из следующих: ({in})",
|
||||
"error.validation.integer": "Пожалуйста, впишите правильное целое число",
|
||||
"error.validation.ip": "Пожалуйста, впишите правильный IP адрес",
|
||||
"error.validation.less": "Пожалуйста, впишите значение меньше чем {max}",
|
||||
"error.validation.match": "Значение не соответствует ожидаемому шаблону",
|
||||
"error.validation.max": "Пожалуйста, впишите значение равное или больше чем {max}",
|
||||
"error.validation.maxlength":
|
||||
"Пожалуйста, впишите значение короче (макс. {max} символов)",
|
||||
"error.validation.maxwords": "Пожалуйста, впишите не более {max} слов ",
|
||||
"error.validation.min": "Пожалуйста, впишите значение равное или больше чем {min}",
|
||||
"error.validation.minlength":
|
||||
"Пожалуйста, впишите значение длиннее (мин. {min} символов)",
|
||||
"error.validation.minwords": "Пожалуйста, впишите хотя бы {min} слов",
|
||||
"error.validation.more": "Пожалуйста, впишите значение больше, чем {min}",
|
||||
"error.validation.notcontains":
|
||||
"Пожалуйста, впишите значение, которое не содержит \"{needle}\"",
|
||||
"error.validation.notin":
|
||||
"Пожалуйста, не вписывайте одно из: ({notIn})",
|
||||
"error.validation.option": "Пожалуйста, выберите правильную опцию ",
|
||||
"error.validation.num": "Пожалуйста, впишите правильный номер",
|
||||
"error.validation.required": "Пожалуйста, впишите что-нибудь",
|
||||
"error.validation.same": "Пожалуйста, впишите \"{other}\"",
|
||||
"error.validation.size": "Значение размера должно быть \"{size}\"",
|
||||
"error.validation.startswith": "Значение должно начинаться с \"{start}\"",
|
||||
"error.validation.time": "Пожалуйста, впишите правильную дату",
|
||||
"error.validation.url": "Пожалуйста, впишите правильный URL",
|
||||
|
||||
"field.files.empty": "Еще не выбраны файлы",
|
||||
"field.pages.empty": "Еще не выбраны страницы",
|
||||
"field.structure.delete.confirm": "Вы точно хотите удалить эту запись?",
|
||||
"field.structure.empty": "Еще нет записей",
|
||||
"field.users.empty": "Еще нет пользователей",
|
||||
|
||||
"file.delete.confirm":
|
||||
"Вы точно хотите удалить файл?",
|
||||
|
||||
"files": "Файлы",
|
||||
"files.empty": "Еще нет файлов",
|
||||
|
||||
"hour": "Час",
|
||||
"insert": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c",
|
||||
"install": "Установить",
|
||||
|
||||
"installation": "Установка",
|
||||
"installation.completed": "Панель установлена",
|
||||
"installation.disabled": "Установка панели по умолчанию отключена на общедоступных серверах. Пожалуйста запустите установку на локальном сервере или включите такую возможность с помощью опции <code>panel.install</code>",
|
||||
"installation.issues.accounts":
|
||||
"Каталог <code>/site/accounts</code> не существует или не имеет прав записи",
|
||||
"installation.issues.content":
|
||||
"Каталог <code>/content</code> не существует или не имеет прав записи",
|
||||
"installation.issues.curl": "Расширение <code>CURL</code> необходимо",
|
||||
"installation.issues.headline": "Не удалось установить панель",
|
||||
"installation.issues.mbstring":
|
||||
"Расширение <code>MB String</code> необходимо",
|
||||
"installation.issues.media":
|
||||
"Каталог <code>/media</code> не существует или нет прав записи",
|
||||
"installation.issues.php": "Убедитесь, что используется <code>PHP 7+</code>",
|
||||
"installation.issues.server":
|
||||
"Kirby требует <code>Apache</code>, <code>Nginx</code> или <code>Caddy</code> ",
|
||||
"installation.issues.sessions": "Каталог <code>/site/sessions</code> не существует или нет прав записи",
|
||||
|
||||
"language": "\u042f\u0437\u044b\u043a",
|
||||
"language.code": "Код",
|
||||
"language.convert": "Установить по умолчанию",
|
||||
"language.convert.confirm":
|
||||
"<p>Вы точно хотите конвертировать <strong>{name}</strong> в главный язык? Это нельзя будет отменить.</p><p>Если <strong>{name}</strong> имеет непереведенный контент, то больше не будет верного каскада и части вашего сайта могут быть пустыми.</p>",
|
||||
"language.create": "Добавить новый язык",
|
||||
"language.delete.confirm":
|
||||
"Вы точно хотите удалить <strong>{name}</strong> язык, включая все переводы? Это нельзя будет вернуть.",
|
||||
"language.deleted": "Язык удален",
|
||||
"language.direction": "Направление чтения",
|
||||
"language.direction.ltr": "Слева направо",
|
||||
"language.direction.rtl": "Справа налево",
|
||||
"language.locale": "PHP locale string",
|
||||
"language.locale.warning": "Вы используете кастомную локаль. Пожалуйста измените ее в файле языка в /site/languages",
|
||||
"language.name": "Название",
|
||||
"language.updated": "Язык обновлен",
|
||||
|
||||
"languages": "Языки",
|
||||
"languages.default": "Главный язык",
|
||||
"languages.empty": "Еще нет языков",
|
||||
"languages.secondary": "Дополнительные языки",
|
||||
"languages.secondary.empty": "Еще нет дополнительных языков",
|
||||
|
||||
"license": "\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f Kirby",
|
||||
"license.buy": "Купить лицензию",
|
||||
"license.register": "Зарегистрировать",
|
||||
"license.register.help":
|
||||
"После покупки вы получили по эл. почте код лицензии. Пожалуйста скопируйте и вставьте сюда чтобы зарегистрировать.",
|
||||
"license.register.label": "Пожалуйста вставьте код лицензии",
|
||||
"license.register.success": "Спасибо за поддержку Kirby",
|
||||
"license.unregistered": "Это незарегистрированная версия Kirby",
|
||||
|
||||
"link": "\u0421\u0441\u044b\u043b\u043a\u0430",
|
||||
"link.text": "\u0422\u0435\u043a\u0441\u0442 \u0441\u0441\u044b\u043b\u043a\u0438",
|
||||
|
||||
"loading": "Загрузка",
|
||||
|
||||
"lock.unsaved": "Несохраненные изменения",
|
||||
"lock.isLocked": "Несохраненные изменения пользователя <strong>{email}</strong>",
|
||||
"lock.file.isLocked": "В данный момент этот файл редактирует {email}, поэтому его нельзя изменить.",
|
||||
"lock.page.isLocked": "В данный момент эту страницу редактирует {email}, поэтому его нельзя изменить.",
|
||||
"lock.unlock": "Разблокировать",
|
||||
"lock.isUnlocked": "Ваши несохраненные изменения были перезаписаны другим пользователем. Вы можете загрузить ваши изменения и объединить их вручную.",
|
||||
|
||||
"login": "Войти",
|
||||
"login.remember": "Сохранять вход активным",
|
||||
|
||||
"logout": "Выйти",
|
||||
|
||||
"menu": "Меню",
|
||||
"meridiem": "До полудня / После полудня",
|
||||
"mime": "Тип медиа",
|
||||
"minutes": "Минуты",
|
||||
|
||||
"month": "Месяц",
|
||||
"months.april": "\u0410\u043f\u0440\u0435\u043b\u044c",
|
||||
"months.august": "\u0410\u0432\u0433\u0443\u0441\u0442",
|
||||
"months.december": "\u0414\u0435\u043a\u0430\u0431\u0440\u044c",
|
||||
"months.february": "\u0424\u0435\u0432\u0440\u0430\u043b\u044c",
|
||||
"months.january": "\u042f\u043d\u0432\u0430\u0440\u044c",
|
||||
"months.july": "\u0418\u044e\u043b\u044c",
|
||||
"months.june": "\u0418\u044e\u043d\u044c",
|
||||
"months.march": "\u041c\u0430\u0440\u0442",
|
||||
"months.may": "\u041c\u0430\u0439",
|
||||
"months.november": "\u041d\u043e\u044f\u0431\u0440\u044c",
|
||||
"months.october": "\u041e\u043a\u0442\u044f\u0431\u0440\u044c",
|
||||
"months.september": "\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c",
|
||||
|
||||
"more": "Подробнее",
|
||||
"name": "Название",
|
||||
"next": "Дальше",
|
||||
"off": "выключено",
|
||||
"on": "включено",
|
||||
"open": "Открыть",
|
||||
"options": "Опции",
|
||||
|
||||
"orientation": "Ориентация",
|
||||
"orientation.landscape": "Горизонтальная",
|
||||
"orientation.portrait": "Портретная",
|
||||
"orientation.square": "Квадрат",
|
||||
|
||||
"page.changeSlug": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 (\u0427\u041f\u0423)",
|
||||
"page.changeSlug.fromTitle": "Создать из названия",
|
||||
"page.changeStatus": "Изменить статус",
|
||||
"page.changeStatus.position": "Пожалуйста, выберите позицию",
|
||||
"page.changeStatus.select": "Выбрать новый статус",
|
||||
"page.changeTemplate": "Поменять шаблон",
|
||||
"page.delete.confirm":
|
||||
"Вы точно хотите удалить эту страницу?",
|
||||
"page.delete.confirm.subpages":
|
||||
"<strong>У этой страницы есть внутренние страницы</strong>.<br>Все внутренние страницы так же будут удалены.",
|
||||
"page.delete.confirm.title": "Напишите название страницы, чтобы подтвердить",
|
||||
"page.draft.create": "Создать черновик",
|
||||
"page.duplicate.appendix": "Скопировать",
|
||||
"page.duplicate.files": "Копировать файлы",
|
||||
"page.duplicate.pages": "Копировать страницы",
|
||||
"page.status": "Статус",
|
||||
"page.status.draft": "Черновик",
|
||||
"page.status.draft.description":
|
||||
"Страница в режиме черновика и видна только для авторизированных редакторов",
|
||||
"page.status.listed": "Опубликована",
|
||||
"page.status.listed.description": "Страница доступна для всех посетителей",
|
||||
"page.status.unlisted": "Скрыта",
|
||||
"page.status.unlisted.description": "Страница доступна только по URL",
|
||||
|
||||
"pages": "Страницы",
|
||||
"pages.empty": "Еще нет страниц",
|
||||
"pages.status.draft": "Черновики",
|
||||
"pages.status.listed": "Опубликовано",
|
||||
"pages.status.unlisted": "Скрытая",
|
||||
|
||||
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
|
||||
"pixel": "Пиксель",
|
||||
"prev": "Предыдущий",
|
||||
"remove": "Удалить",
|
||||
"rename": "Переназвать",
|
||||
"replace": "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c",
|
||||
"retry": "\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c",
|
||||
"revert": "\u0421\u0431\u0440\u043e\u0441",
|
||||
|
||||
"role": "\u0420\u043e\u043b\u044c",
|
||||
"role.admin.description": "Admin имеет все права",
|
||||
"role.admin.title": "Admin",
|
||||
"role.all": "Все",
|
||||
"role.empty": "Нет пользователей с такой ролью",
|
||||
"role.description.placeholder": "Без описания",
|
||||
"role.nobody.description": "Эта роль применяется если у пользователя нет никаких прав",
|
||||
"role.nobody.title": "Никто",
|
||||
|
||||
"save": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c",
|
||||
"search": "Поиск",
|
||||
"select": "Выбрать",
|
||||
"settings": "Настройка",
|
||||
"size": "Размер",
|
||||
"slug": "Понятная ссылка (ЧПУ)",
|
||||
"sort": "Сортировать",
|
||||
"title": "Название",
|
||||
"template": "\u0428\u0430\u0431\u043b\u043e\u043d",
|
||||
"today": "Сегодня",
|
||||
|
||||
"toolbar.button.code": "Код",
|
||||
"toolbar.button.bold": "\u0416\u0438\u0440\u043d\u044b\u0439 \u0448\u0440\u0438\u0444\u0442",
|
||||
"toolbar.button.email": "\u042d\u043b.\u043f\u043e\u0447\u0442\u0430",
|
||||
"toolbar.button.headings": "Заголовки",
|
||||
"toolbar.button.heading.1": "Заголовок 1",
|
||||
"toolbar.button.heading.2": "Заголовок 2",
|
||||
"toolbar.button.heading.3": "Заголовок 3",
|
||||
"toolbar.button.italic": "\u041d\u0430\u043a\u043b\u043e\u043d\u043d\u044b\u0439 \u0448\u0440\u0438\u0444\u0442",
|
||||
"toolbar.button.file": "Файл",
|
||||
"toolbar.button.file.select": "Выбрать файл",
|
||||
"toolbar.button.file.upload": "Закачать файл",
|
||||
"toolbar.button.link": "\u0421\u0441\u044b\u043b\u043a\u0430",
|
||||
"toolbar.button.ol": "Нумерованный список",
|
||||
"toolbar.button.ul": "Маркированный список",
|
||||
|
||||
"translation.author": "Команда Кирби",
|
||||
"translation.direction": "ltr",
|
||||
"translation.name": "Русский (Russian)",
|
||||
|
||||
"upload": "Закачать",
|
||||
"upload.errors": "Ошибка",
|
||||
"upload.progress": "Закачивается...",
|
||||
|
||||
"url": "Url",
|
||||
"url.placeholder": "https://example.com",
|
||||
|
||||
"user": "Пользователь",
|
||||
"user.blueprint":
|
||||
"Вы можете определить новые секции и поля формы для этой роли пользователя в <strong>/site/blueprints/users/{role}.yml</strong>",
|
||||
"user.changeEmail": "Поменять эл. почту",
|
||||
"user.changeLanguage": "Поменять язык",
|
||||
"user.changeName": "Переназвать этого пользователя",
|
||||
"user.changePassword": "Поменять пароль",
|
||||
"user.changePassword.new": "Новый пароль",
|
||||
"user.changePassword.new.confirm": "Подтвердить новый пароль",
|
||||
"user.changeRole": "Поменять роль",
|
||||
"user.changeRole.select": "Выбрать новую роль",
|
||||
"user.create": "Добавить нового пользователя",
|
||||
"user.delete": "Удалить этого пользователя",
|
||||
"user.delete.confirm":
|
||||
"\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442?",
|
||||
|
||||
"users": "Пользователи",
|
||||
|
||||
"version": "\u0412\u0435\u0440\u0441\u0438\u044f Kirby",
|
||||
|
||||
"view.account": "\u0412\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",
|
||||
"view.installation": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430",
|
||||
"view.settings": "Настройка",
|
||||
"view.site": "Сайт",
|
||||
"view.users": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438",
|
||||
|
||||
"welcome": "Добро пожаловать",
|
||||
"year": "Год"
|
||||
}
|
@@ -183,9 +183,9 @@
|
||||
"error.validation.contains":
|
||||
"Ange ett värde som innehåller \"{needle}\"",
|
||||
"error.validation.date": "Ange ett giltigt datum",
|
||||
"error.validation.date.after": "Please enter a date after {date}",
|
||||
"error.validation.date.before": "Please enter a date before {date}",
|
||||
"error.validation.date.between": "Please enter a date between {min} and {max}",
|
||||
"error.validation.date.after": "Ange ett datum efter {date}",
|
||||
"error.validation.date.before": "Ange ett datum före {date}",
|
||||
"error.validation.date.between": "Ange ett datum mellan {min} och {max}",
|
||||
"error.validation.denied": "Vänligen neka",
|
||||
"error.validation.different": "Värdet får inte vara \"{other}\"",
|
||||
"error.validation.email": "Ange en giltig e-postadress",
|
||||
@@ -265,7 +265,7 @@
|
||||
"language.direction.ltr": "Vänster till höger",
|
||||
"language.direction.rtl": "Höger till vänster",
|
||||
"language.locale": "PHP locale string",
|
||||
"language.locale.warning": "You are using a custom locale set up. Please modify it in the language file in /site/languages",
|
||||
"language.locale.warning": "Du använder en anpassad språkinställning. Ändra den i språkfilen i mappen /site/languages",
|
||||
"language.name": "Namn",
|
||||
"language.updated": "Språket har uppdaterats",
|
||||
|
||||
|
@@ -265,7 +265,7 @@
|
||||
"language.direction.ltr": "Soldan sağa",
|
||||
"language.direction.rtl": "Sağdan sola",
|
||||
"language.locale": "PHP yerel dizesi",
|
||||
"language.locale.warning": "You are using a custom locale set up. Please modify it in the language file in /site/languages",
|
||||
"language.locale.warning": "Özel bir yerel ayar kullanıyorsunuz. Lütfen /site/languages konumundaki dil dosyasından değiştirin.",
|
||||
"language.name": "İsim",
|
||||
"language.updated": "Dil güncellendi",
|
||||
|
||||
@@ -325,7 +325,7 @@
|
||||
"next": "Sonraki",
|
||||
"off": "kapalı",
|
||||
"on": "açık",
|
||||
"open": "Açık",
|
||||
"open": "Önizle",
|
||||
"options": "Seçenekler",
|
||||
|
||||
"orientation": "Oryantasyon",
|
||||
|
2
kirby/panel/dist/css/app.css
vendored
2
kirby/panel/dist/css/app.css
vendored
File diff suppressed because one or more lines are too long
2
kirby/panel/dist/js/app.js
vendored
2
kirby/panel/dist/js/app.js
vendored
File diff suppressed because one or more lines are too long
@@ -1063,12 +1063,13 @@ class App
|
||||
protected function setLanguages(array $languages = null)
|
||||
{
|
||||
if ($languages !== null) {
|
||||
$this->languages = new Languages();
|
||||
$objects = [];
|
||||
|
||||
foreach ($languages as $props) {
|
||||
$language = new Language($props);
|
||||
$this->languages->data[$language->code()] = $language;
|
||||
$objects[] = new Language($props);
|
||||
}
|
||||
|
||||
$this->languages = new Languages($objects);
|
||||
}
|
||||
|
||||
return $this;
|
||||
|
@@ -51,7 +51,6 @@ trait AppPlugins
|
||||
'fieldMethods' => [],
|
||||
'fileMethods' => [],
|
||||
'filesMethods' => [],
|
||||
'fileModels' => [],
|
||||
'fields' => [],
|
||||
'hooks' => [],
|
||||
'pages' => [],
|
||||
@@ -205,17 +204,6 @@ trait AppPlugins
|
||||
return $this->extensions['filesMethods'] = Files::$methods = array_merge(Files::$methods, $methods);
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers additional file models
|
||||
*
|
||||
* @param array $models
|
||||
* @return array
|
||||
*/
|
||||
protected function extendFileModels(array $models): array
|
||||
{
|
||||
return $this->extensions['fileModels'] = File::$models = array_merge(File::$models, $models);
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers additional field methods
|
||||
*
|
||||
|
@@ -197,7 +197,7 @@ class Collection extends BaseCollection
|
||||
/**
|
||||
* Returns a Collection without the given element(s)
|
||||
*
|
||||
* @param mixxed[] $keys any number of keys, passed as individual arguments
|
||||
* @param mixed[] $keys any number of keys, passed as individual arguments
|
||||
* @return Kirby\Cms\Collection
|
||||
*/
|
||||
public function not(...$keys)
|
||||
|
@@ -40,7 +40,9 @@ class Email
|
||||
$this->props = array_merge($this->preset, $props);
|
||||
|
||||
// add transport settings
|
||||
$this->props['transport'] = $this->options['transport'] ?? [];
|
||||
if (isset($this->props['transport']) === false) {
|
||||
$this->props['transport'] = $this->options['transport'] ?? [];
|
||||
}
|
||||
|
||||
// transform model objects to values
|
||||
foreach (static::$transform as $prop => $model) {
|
||||
|
@@ -70,14 +70,6 @@ class File extends ModelWithContent
|
||||
*/
|
||||
public static $methods = [];
|
||||
|
||||
/**
|
||||
* Registry with all File models
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $models = [];
|
||||
|
||||
|
||||
/**
|
||||
* The parent object
|
||||
*
|
||||
@@ -266,18 +258,13 @@ class File extends ModelWithContent
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a File object and also
|
||||
* takes File models into account.
|
||||
* Constructs a File object
|
||||
*
|
||||
* @internal
|
||||
* @return self
|
||||
*/
|
||||
public static function factory($props)
|
||||
{
|
||||
if (empty($props['model']) === false) {
|
||||
return static::model($props['model'], $props);
|
||||
}
|
||||
|
||||
return new static($props);
|
||||
}
|
||||
|
||||
@@ -375,27 +362,6 @@ class File extends ModelWithContent
|
||||
return $this->content();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a file model if it has been registered
|
||||
*
|
||||
* @internal
|
||||
* @param string $name
|
||||
* @param array $props
|
||||
* @return Kirby\Cms\File
|
||||
*/
|
||||
public static function model(string $name, array $props = [])
|
||||
{
|
||||
if ($class = (static::$models[$name] ?? null)) {
|
||||
$object = new $class($props);
|
||||
|
||||
if (is_a($object, 'Kirby\Cms\File') === true) {
|
||||
return $object;
|
||||
}
|
||||
}
|
||||
|
||||
return new static($props);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the file's last modification time.
|
||||
*
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Kirby\Cms;
|
||||
|
||||
use Kirby\Exception\DuplicateException;
|
||||
use Kirby\Toolkit\F;
|
||||
|
||||
/**
|
||||
@@ -16,6 +17,25 @@ use Kirby\Toolkit\F;
|
||||
class Languages extends Collection
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a new collection with the given language objects
|
||||
*
|
||||
* @param array $objects
|
||||
* @param object $parent
|
||||
*/
|
||||
public function __construct($objects = [], $parent = null)
|
||||
{
|
||||
$defaults = array_filter($objects, function ($language) {
|
||||
return $language->isDefault() === true;
|
||||
});
|
||||
|
||||
if (count($defaults) > 1) {
|
||||
throw new DuplicateException('You cannot have multiple default languages. Please check your language config files.');
|
||||
}
|
||||
|
||||
parent::__construct($objects, $parent);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all language codes as array
|
||||
*
|
||||
@@ -69,22 +89,20 @@ class Languages extends Collection
|
||||
*/
|
||||
public static function load()
|
||||
{
|
||||
$languages = new static;
|
||||
$languages = [];
|
||||
$files = glob(App::instance()->root('languages') . '/*.php');
|
||||
|
||||
foreach ($files as $file) {
|
||||
$props = include $file;
|
||||
|
||||
if (is_array($props) === true) {
|
||||
|
||||
// inject the language code from the filename if it does not exist
|
||||
$props['code'] = $props['code'] ?? F::name($file);
|
||||
|
||||
$language = new Language($props);
|
||||
$languages->data[$language->code()] = $language;
|
||||
$languages[] = new Language($props);
|
||||
}
|
||||
}
|
||||
|
||||
return $languages;
|
||||
return new static($languages);
|
||||
}
|
||||
}
|
||||
|
@@ -463,7 +463,10 @@ trait PageActions
|
||||
case 'date':
|
||||
case 'datetime':
|
||||
$format = $mode === 'date' ? 'Ymd' : 'YmdHi';
|
||||
return $this->date()->toDate($format, 'now');
|
||||
$lang = $this->kirby()->defaultLanguage() ?? null;
|
||||
$field = $this->content($lang)->get('date');
|
||||
$date = $field->isEmpty() ? 'now' : $field;
|
||||
return date($format, strtotime($date));
|
||||
break;
|
||||
case 'default':
|
||||
|
||||
|
@@ -4,6 +4,7 @@ namespace Kirby\Cms;
|
||||
|
||||
use Kirby\Toolkit\Dir;
|
||||
use Kirby\Toolkit\F;
|
||||
use Kirby\Toolkit\Str;
|
||||
|
||||
/**
|
||||
* The PanelPlugins class takes care of collecting
|
||||
@@ -78,12 +79,21 @@ class PanelPlugins
|
||||
foreach ($this->files() as $file) {
|
||||
if (F::extension($file) === $type) {
|
||||
if ($content = F::read($file)) {
|
||||
if ($type === 'js') {
|
||||
$content = trim($content);
|
||||
|
||||
// make sure that each plugin is ended correctly
|
||||
if (Str::endsWith($content, ';') === false) {
|
||||
$content .= ';';
|
||||
}
|
||||
}
|
||||
|
||||
$dist[] = $content;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return implode(PHP_EOL, $dist);
|
||||
return implode(PHP_EOL . PHP_EOL, $dist);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -163,7 +163,7 @@ class Field extends Component
|
||||
return $translate;
|
||||
},
|
||||
/**
|
||||
* Conditions when the field will be shown
|
||||
* Conditions when the field will be shown (since 3.1.0)
|
||||
*/
|
||||
'when' => function ($when = null) {
|
||||
return $when;
|
||||
|
@@ -93,7 +93,7 @@ class A
|
||||
while ($innerKey = array_shift($keys)) {
|
||||
$currentKey = $currentKey . '.' . $innerKey;
|
||||
|
||||
if (isset($array[$currentKey]) === true) {
|
||||
if (isset($array[$currentKey]) === true && is_array($array[$currentKey])) {
|
||||
return static::get($array[$currentKey], implode('.', $keys), $default);
|
||||
}
|
||||
}
|
||||
|
@@ -42,7 +42,7 @@ class Str
|
||||
'/⁸|₈/' => '8',
|
||||
'/⁹|₉/' => '9',
|
||||
'/À|Á|Â|Ã|Å|Ǻ|Ā|Ă|Ą|Ǎ|Ä|A/' => 'A',
|
||||
'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª|æ|ǽ|ä|a/' => 'a',
|
||||
'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª|æ|ǽ|ä|a|а/' => 'a',
|
||||
'/Б/' => 'B',
|
||||
'/б/' => 'b',
|
||||
'/Ç|Ć|Ĉ|Ċ|Č|Ц/' => 'C',
|
||||
@@ -60,7 +60,7 @@ class Str
|
||||
'/Ĥ|Ħ|Х/' => 'H',
|
||||
'/ĥ|ħ|х/' => 'h',
|
||||
'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|И/' => 'I',
|
||||
'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|и/' => 'i',
|
||||
'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|и|i̇/' => 'i',
|
||||
'/Ĵ|Й/' => 'J',
|
||||
'/ĵ|й/' => 'j',
|
||||
'/Ķ|К/' => 'K',
|
||||
@@ -72,7 +72,7 @@ class Str
|
||||
'/Ñ|Ń|Ņ|Ň|Н/' => 'N',
|
||||
'/ñ|ń|ņ|ň|ʼn|н/' => 'n',
|
||||
'/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ|Ö|O/' => 'O',
|
||||
'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|ö|o/' => 'o',
|
||||
'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|ö|o|о/' => 'o',
|
||||
'/П/' => 'P',
|
||||
'/п/' => 'p',
|
||||
'/Ŕ|Ŗ|Ř|Р/' => 'R',
|
||||
|
Reference in New Issue
Block a user