Upgrade to 4.0.1

This commit is contained in:
Bastian Allgeier
2023-11-30 14:04:59 +01:00
parent 48fecb671b
commit 6cdb5c1c91
16 changed files with 215 additions and 217 deletions

View File

@@ -7,14 +7,16 @@
To keep track of different states of our code (current release, bugfixes, features) we use branches: To keep track of different states of our code (current release, bugfixes, features) we use branches:
| Branch | Used for | PRs allowed? | | Branch | Used for | PRs allowed? |
| ----------- | ------------------------------------------------------------------------ | --------------------------- | | --------------- | ------------------------------------------------------------------------ | --------------------------- |
| `main` | Latest released version | - | | `main` | Latest released version | |
| `develop` | Working branch for next release, e.g. `3.7.x` | ✅ | | `develop-patch` | Working branch for next patch release, e.g. `4.0.x` | ✅ |
| `fix/*` | Temporary branches for single patch | - | | `develop-minor` | Working branch for next minor release, e.g. `4.x.0` | |
| `v5/develop` | Working branch for next major release, e.g. `5.0.0` | ✅ |
| `fix/*` | Temporary branches for single bugfix | - |
| `feature/*` | Temporary branches for single feature | - | | `feature/*` | Temporary branches for single feature | - |
| `release/*` | Pre-releases in testing before they are merged into `main` when released | only during release testing | | `release/*` | Pre-releases in testing before they are merged into `main` when released | only during release testing |
We will review all pull requests (PRs) to `develop` and merge them if accepted, once an appropriate version is upcoming. Please understand that this might not be the immediate next release and might take some time. We will review all pull requests (PRs) to `develop-patch`, `develop-minor` and `v5/develop` and merge them if accepted, once an appropriate version is upcoming. Please understand that this might not be the immediate next release and might take some time.
## How you can contribute ## How you can contribute
@@ -26,25 +28,25 @@ When you find a bug, the first step to fixing it is to help us understand and re
For bug fixes, please create a new branch following the name scheme: `fix/issue_number-bug-x`, e.g. `fix/234-this-nasty-bug`. Limit bug fix PRs to a single bug. **Do not mix multiple bug fixes in a single PR.** This will make it easier for us to review the fix and merge it. For bug fixes, please create a new branch following the name scheme: `fix/issue_number-bug-x`, e.g. `fix/234-this-nasty-bug`. Limit bug fix PRs to a single bug. **Do not mix multiple bug fixes in a single PR.** This will make it easier for us to review the fix and merge it.
- Always send bug fix PRs against the `develop` branchnot `main`. - Always send bug fix PRs against the `develop-patch` branchnot `main`.
- Add a helpful description of what the PR does if it is not 100% self-explanatory. - Add a helpful description of what the PR does if it is not 100% self-explanatory.
- Every bug fix should include a [unit test](#tests) to avoid future regressions. Let us know if you need help with that. - Every bug fix should include a [unit test](#tests) to avoid future regressions. Let us know if you need help with that.
- Make sure your code [style](#style) matches ours and includes [comments/in-code documentation](#documentation). - Make sure your code [style](#style) matches ours and includes [comments/in-code documentation](#documentation).
- Make sure your branch is up to date with the latest state on the `develop` branch. [Rebase](https://help.github.com/articles/about-pull-request-merges/) changes before you send the PR. - Make sure your branch is up to date with the latest state on the `develop-patch` branch. [Rebase](https://help.github.com/articles/about-pull-request-merges/) changes before you send the PR.
- Please *don't* commit updated dist files in the `panel/dist` folder to avoid merge conflicts. We only build the dist files on release. Your branch should only contain changes to the source files. - Please *don't* commit updated dist files in the `panel/dist` folder to avoid merge conflicts. We only build the dist files on release. Your branch should only contain changes to the source files.
### Features ### Features
For features create a new branch following the name scheme: `feature/issue_number-feature-x`, e.g. `feature/123-awesome-function`. Our [feedback platform](https://feedback.getkirby.com) can be a good source of highly requested features. Maybe your feature idea already exists and you can get valuable feedback from other Kirby users. Focus on a single feature per PR. Don't mix features! For features create a new branch following the name scheme: `feature/issue_number-feature-x`, e.g. `feature/123-awesome-function`. Our [feedback platform](https://feedback.getkirby.com) can be a good source of highly requested features. Maybe your feature idea already exists and you can get valuable feedback from other Kirby users. Focus on a single feature per PR. Don't mix features!
- Always send feature PRs against the `develop` branchnot `main`. - Always send feature PRs against the `develop-minor` branchnot `main`.
- Add a helpful description of what the PR does. - Add a helpful description of what the PR does.
- New features should include [unit tests](#tests). Let us know if you need help with that. - New features should include [unit tests](#tests). Let us know if you need help with that.
- Make your code [style](#style) matches ours and includes [comments/in-code documentation](#documentation). - Make your code [style](#style) matches ours and includes [comments/in-code documentation](#documentation).
- Make sure your branch is up to date with the latest state on the `develop` branch. [Rebase](https://help.github.com/articles/about-pull-request-merges/) changes before you send the PR. - Make sure your branch is up to date with the latest state on the `develop-minor` branch. [Rebase](https://help.github.com/articles/about-pull-request-merges/) changes before you send the PR.
- Please *don't* commit updated dist files in the `panel/dist` folder to avoid merge conflicts. We only build the dist files on release. Your branch should only contain changes to the source files. - Please *don't* commit updated dist files in the `panel/dist` folder to avoid merge conflicts. We only build the dist files on release. Your branch should only contain changes to the source files.
We try to bundle features in our major releases, e.g. `3.x`. That is why we might only review and, if accepted, merge your PR once an appropriate release is upcoming. Please understand that we cannot merge all feature ideas or that it might take a while. Check out the [roadmap](https://roadmap.getkirby.com) to see upcoming releases. We try to bundle features in our major releases, e.g. `5.0`. That is why we might only review and, if accepted, merge your PR once an appropriate release is upcoming. Please understand that we cannot merge all feature ideas or that it might take a while. Check out the [roadmap](https://roadmap.getkirby.com) to see upcoming releases.
### Translations ### Translations

View File

@@ -3,7 +3,7 @@
"description": "The Kirby core", "description": "The Kirby core",
"license": "proprietary", "license": "proprietary",
"type": "kirby-cms", "type": "kirby-cms",
"version": "4.0.0", "version": "4.0.1",
"keywords": [ "keywords": [
"kirby", "kirby",
"cms", "cms",
@@ -46,7 +46,7 @@
"phpmailer/phpmailer": "6.9.1", "phpmailer/phpmailer": "6.9.1",
"symfony/polyfill-intl-idn": "1.28.0", "symfony/polyfill-intl-idn": "1.28.0",
"symfony/polyfill-mbstring": "1.28.0", "symfony/polyfill-mbstring": "1.28.0",
"symfony/yaml": "6.3.8" "symfony/yaml": "6.4.0"
}, },
"replace": { "replace": {
"symfony/polyfill-php72": "*" "symfony/polyfill-php72": "*"

16
kirby/composer.lock generated
View File

@@ -4,7 +4,7 @@
"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": "c2116047cb2cec949e7949915b204002", "content-hash": "c4a2717c29f0a03fd5049677bc5bbf59",
"packages": [ "packages": [
{ {
"name": "christian-riesen/base32", "name": "christian-riesen/base32",
@@ -1030,16 +1030,16 @@
}, },
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
"version": "v6.3.8", "version": "v6.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/yaml.git", "url": "https://github.com/symfony/yaml.git",
"reference": "3493af8a8dad7fa91c77fa473ba23ecd95334a92" "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/3493af8a8dad7fa91c77fa473ba23ecd95334a92", "url": "https://api.github.com/repos/symfony/yaml/zipball/4f9237a1bb42455d609e6687d2613dde5b41a587",
"reference": "3493af8a8dad7fa91c77fa473ba23ecd95334a92", "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1051,7 +1051,7 @@
"symfony/console": "<5.4" "symfony/console": "<5.4"
}, },
"require-dev": { "require-dev": {
"symfony/console": "^5.4|^6.0" "symfony/console": "^5.4|^6.0|^7.0"
}, },
"bin": [ "bin": [
"Resources/bin/yaml-lint" "Resources/bin/yaml-lint"
@@ -1082,7 +1082,7 @@
"description": "Loads and dumps YAML files", "description": "Loads and dumps YAML files",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/yaml/tree/v6.3.8" "source": "https://github.com/symfony/yaml/tree/v6.4.0"
}, },
"funding": [ "funding": [
{ {
@@ -1098,7 +1098,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-11-06T10:58:05+00:00" "time": "2023-11-06T11:00:25+00:00"
} }
], ],
"packages-dev": [], "packages-dev": [],

View File

@@ -26,7 +26,7 @@ return [
'type' => 'slug', 'type' => 'slug',
'required' => true, 'required' => true,
'icon' => 'title', 'icon' => 'title',
'allow' => '@._-', 'allow' => 'a-z0-9@._-',
'after' => '.' . $file->extension(), 'after' => '.' . $file->extension(),
'preselect' => true 'preselect' => true
] ]

View File

@@ -135,7 +135,7 @@
"error.license.domain": "Le domaine de la licence est manquant", "error.license.domain": "Le domaine de la licence est manquant",
"error.license.email": "Veuillez saisir un courriel correct", "error.license.email": "Veuillez saisir un courriel correct",
"error.license.format": "Please enter a valid license code", "error.license.format": "Veuillez saisir un numéro licence valide",
"error.license.verification": "La licence na pu être vérifiée", "error.license.verification": "La licence na pu être vérifiée",
"error.login.totp.confirm.invalid": "Code incorrect", "error.login.totp.confirm.invalid": "Code incorrect",
@@ -425,8 +425,8 @@
"license.code.label": "Veuillez saisir votre numéro de licence", "license.code.label": "Veuillez saisir votre numéro de licence",
"license.status.active.info": "Inclut les nouvelles versions majeures jusqu'au {date}", "license.status.active.info": "Inclut les nouvelles versions majeures jusqu'au {date}",
"license.status.active.label": "Licence valide", "license.status.active.label": "Licence valide",
"license.status.demo.info": "This is a demo installation", "license.status.demo.info": "Ceci est une installation de démonstration",
"license.status.demo.label": "Demo", "license.status.demo.label": "Démonstration",
"license.status.inactive.info": "Renouveler la licence pour mettre à jour vers les nouvelles versions majeures", "license.status.inactive.info": "Renouveler la licence pour mettre à jour vers les nouvelles versions majeures",
"license.status.inactive.label": "Pas de nouvelles versions majeures", "license.status.inactive.label": "Pas de nouvelles versions majeures",
"license.status.legacy.bubble": "Prêt à renouveler votre licence ?", "license.status.legacy.bubble": "Prêt à renouveler votre licence ?",

View File

@@ -295,7 +295,7 @@
"field.blocks.heading.text": "Teks", "field.blocks.heading.text": "Teks",
"field.blocks.heading.placeholder": "Penajukan …", "field.blocks.heading.placeholder": "Penajukan …",
"field.blocks.image.alt": "Teks alternatif", "field.blocks.image.alt": "Teks alternatif",
"field.blocks.image.caption": "Deskripsi", "field.blocks.image.caption": "Keterangan",
"field.blocks.image.crop": "Pangkas", "field.blocks.image.crop": "Pangkas",
"field.blocks.image.link": "Tautan", "field.blocks.image.link": "Tautan",
"field.blocks.image.location": "Lokasi", "field.blocks.image.location": "Lokasi",

View File

@@ -116,11 +116,11 @@
"error.file.minwidth": "L'immagine dev'essere larga almeno {width} pixel", "error.file.minwidth": "L'immagine dev'essere larga almeno {width} pixel",
"error.file.name.unique": "The filename must be unique", "error.file.name.unique": "The filename must be unique",
"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 è stato trovato", "error.file.notFound": "Il file non \u00e8 stato trovato",
"error.file.orientation": "L'imaggine dev'essere orientata in \"{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.type.invalid": "Tipo di file non valido: {type}", "error.file.type.invalid": "Tipo di file non valido: {type}",
"error.file.undefined": "Il file non è stato trovato", "error.file.undefined": "Il file non \u00e8 stato trovato",
"error.form.incomplete": "Correggi tutti gli errori nel form...", "error.form.incomplete": "Correggi tutti gli errori nel form...",
"error.form.notSaved": "Non è stato possibile salvare il form", "error.form.notSaved": "Non è stato possibile salvare il form",
@@ -135,7 +135,7 @@
"error.license.domain": "Il dominio per la licenza è assente", "error.license.domain": "Il dominio per la licenza è assente",
"error.license.email": "Inserisci un indirizzo email valido", "error.license.email": "Inserisci un indirizzo email valido",
"error.license.format": "Please enter a valid license code", "error.license.format": "Per favore inserisci un codice di licenza valido",
"error.license.verification": "Non è stato possibile verificare la licenza", "error.license.verification": "Non è stato possibile verificare la licenza",
"error.login.totp.confirm.invalid": "Codice non valido", "error.login.totp.confirm.invalid": "Codice non valido",
@@ -174,7 +174,7 @@
"error.page.slug.maxlength": "Lo \"slug\" dev'essere più corto di \"{length}\" caratteri", "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 è stata trovata", "error.page.undefined": "La pagina non \u00e8 stata trovata",
"error.page.update.permission": "Non ti è permesso modificare \"{slug}\"", "error.page.update.permission": "Non ti è permesso modificare \"{slug}\"",
"error.section.files.max.plural": "Non puoi aggiungere più di {max} file alla sezione \"{section}\"", "error.section.files.max.plural": "Non puoi aggiungere più di {max} file alla sezione \"{section}\"",
@@ -208,14 +208,14 @@
"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": "Non ti è permesso assegnare il ruolo di amministratore ad altri utenti", "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ò 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",
"error.user.delete.lastUser": "L'ultimo utente non può essere eliminato", "error.user.delete.lastUser": "L'ultimo utente non può essere eliminato",
"error.user.delete.permission": "Non ti è permesso eliminare questo utente ", "error.user.delete.permission": "Non ti \u00e8 permesso eliminare questo utente ",
"error.user.duplicate": "Esiste già un utente con l'indirizzo email \"{email}\"", "error.user.duplicate": "Esiste già un utente con l'indirizzo email \"{email}\"",
"error.user.email.invalid": "Inserisci un indirizzo email valido", "error.user.email.invalid": "Inserisci un indirizzo email valido",
"error.user.language.invalid": "Inserisci una lingua valida", "error.user.language.invalid": "Inserisci una lingua valida",
"error.user.notFound": "L'utente non è stato trovato", "error.user.notFound": "L'utente non \u00e8 stato trovato",
"error.user.password.excessive": "Please enter a valid password. Passwords must not be longer than 1000 characters.", "error.user.password.excessive": "Please enter a valid password. Passwords must not be longer than 1000 characters.",
"error.user.password.invalid": "Per favore inserisci una password valida. Le password devono essere lunghe almeno 8 caratteri", "error.user.password.invalid": "Per favore inserisci una password valida. Le password devono essere lunghe almeno 8 caratteri",
"error.user.password.notSame": "Le password non corrispondono", "error.user.password.notSame": "Le password non corrispondono",
@@ -425,7 +425,7 @@
"license.code.label": "Inserisci il codice di licenza", "license.code.label": "Inserisci il codice di licenza",
"license.status.active.info": "Comprende nuove versioni major entro il {date}", "license.status.active.info": "Comprende nuove versioni major entro il {date}",
"license.status.active.label": "Licenza valida", "license.status.active.label": "Licenza valida",
"license.status.demo.info": "This is a demo installation", "license.status.demo.info": "Questa è un'installazione demo",
"license.status.demo.label": "Demo", "license.status.demo.label": "Demo",
"license.status.inactive.info": "Rinnova la licenza per aggiornare a nuove versioni major", "license.status.inactive.info": "Rinnova la licenza per aggiornare a nuove versioni major",
"license.status.inactive.label": "Nessuna nuova versione major", "license.status.inactive.label": "Nessuna nuova versione major",
@@ -558,7 +558,7 @@
"pages.status.listed": "Pubblicato", "pages.status.listed": "Pubblicato",
"pages.status.unlisted": "Non in elenco", "pages.status.unlisted": "Non in elenco",
"pagination.page": "Page", "pagination.page": "Pagina",
"password": "Password", "password": "Password",
"paste": "Incolla", "paste": "Incolla",
@@ -681,7 +681,7 @@
"upload.error.noFiles": "Nessun file è stato caricato", "upload.error.noFiles": "Nessun file è stato caricato",
"upload.error.partial": "Il file è stato caricato solo parzialmente", "upload.error.partial": "Il file è stato caricato solo parzialmente",
"upload.error.tmpDir": "Manca la cartella temporanea", "upload.error.tmpDir": "Manca la cartella temporanea",
"upload.errors": "Error", "upload.errors": "Errore",
"upload.progress": "Caricamento...", "upload.progress": "Caricamento...",
"url": "URL", "url": "URL",

View File

@@ -1,28 +1,28 @@
{ {
"account.changeName": "이름 변경", "account.changeName": "이름 변경",
"account.delete": "계정 삭제", "account.delete": "계정 삭제",
"account.delete.confirm": "계정을 삭제할까요? 계정을 삭제한 뒤에는 복구할 수 없습니다.", "account.delete.confirm": "계정을 삭제할까요? 계정을 삭제한 뒤에는 즉시 로그아웃되며, 삭제된 계정은 복구할 수 없습니다.",
"activate": "Activate", "activate": "활성화",
"add": "\ucd94\uac00", "add": "\ucd94\uac00",
"alpha": "Alpha", "alpha": "알파",
"author": "저자", "author": "저자",
"avatar": "프로필 이미지", "avatar": "프로필 이미지",
"back": "뒤로", "back": "뒤로",
"cancel": "\ucde8\uc18c", "cancel": "\ucde8\uc18c",
"change": "\ubcc0\uacbd", "change": "\ubcc0\uacbd",
"close": "\ub2eb\uae30", "close": "\ub2eb\uae30",
"changes": "Changes", "changes": "변경",
"confirm": "확인", "confirm": "확인",
"collapse": "접기", "collapse": "접기",
"collapse.all": "모두 접기", "collapse.all": "모두 접기",
"color": "Color", "color": "",
"coordinates": "Coordinates", "coordinates": "좌표",
"copy": "복사", "copy": "복사",
"copy.all": "모두 복사", "copy.all": "모두 복사",
"copy.success": "{count} copied!", "copy.success": "복사되었습니다. ({count})",
"create": "등록", "create": "등록",
"custom": "Custom", "custom": "개인화",
"date": "날짜", "date": "날짜",
"date.select": "날짜 지정", "date.select": "날짜 지정",
@@ -41,20 +41,20 @@
"delete": "\uc0ad\uc81c", "delete": "\uc0ad\uc81c",
"delete.all": "모두 삭제", "delete.all": "모두 삭제",
"dialog.fields.empty": "This dialog has no fields", "dialog.fields.empty": "필드가 없습니다.",
"dialog.files.empty": "선택할 파일이 없습니다.", "dialog.files.empty": "선택할 파일이 없습니다.",
"dialog.pages.empty": "선택할 페이지가 없습니다.", "dialog.pages.empty": "선택할 페이지가 없습니다.",
"dialog.text.empty": "This dialog does not define any text", "dialog.text.empty": "정의된 텍스트가 없습니다.",
"dialog.users.empty": "선택할 사용자가 없습니다.", "dialog.users.empty": "선택할 사용자가 없습니다.",
"dimensions": "크기", "dimensions": "크기",
"disable": "Disable", "disable": "비활성화",
"disabled": "비활성화", "disabled": "비활성화",
"discard": "무시", "discard": "무시",
"drawer.fields.empty": "This drawer has no fields", "drawer.fields.empty": "필드가 없습니다.",
"domain": "Domain", "domain": "도메인",
"download": "다운로드", "download": "다운로드",
"duplicate": "복제", "duplicate": "복제",
@@ -86,19 +86,19 @@
"error.blocks.max.singular": "블록을 하나 이상 추가할 수 없습니다.", "error.blocks.max.singular": "블록을 하나 이상 추가할 수 없습니다.",
"error.blocks.min.plural": "블록을 {min}개 이상 추가하세요.", "error.blocks.min.plural": "블록을 {min}개 이상 추가하세요.",
"error.blocks.min.singular": "블록을 하나 이상 추가하세요.", "error.blocks.min.singular": "블록을 하나 이상 추가하세요.",
"error.blocks.validation": "There's an error on the \"{field}\" field in block {index} using the \"{fieldset}\" block type", "error.blocks.validation": "블록 유형({fieldset})을 사용하는 블록({index})의 필드({field})에 오류가 있습니다.",
"error.cache.type.invalid": "Invalid cache type \"{type}\"", "error.cache.type.invalid": "캐시 형식(({type})이 올바르지 않습니다.",
"error.email.preset.notFound": "기본 이메일 주소({name})가 없습니다.", "error.email.preset.notFound": "기본 이메일 주소({name})가 없습니다.",
"error.field.converter.invalid": "컨버터({converter})가 올바르지 않습니다.", "error.field.converter.invalid": "컨버터({converter})가 올바르지 않습니다.",
"error.field.type.missing": "Field \"{ name }\": The field type \"{ type }\" does not exist", "error.field.type.missing": "필드({name}): 필드 타입({type})이 없습니다.",
"error.file.changeName.empty": "이름을 입력하세요.", "error.file.changeName.empty": "이름을 입력하세요.",
"error.file.changeName.permission": "파일명({filename})을 변경할 권한이 없습니다.", "error.file.changeName.permission": "파일명({filename})을 변경할 권한이 없습니다.",
"error.file.changeTemplate.invalid": "The template for the file \"{id}\" cannot be changed to \"{template}\" (valid: \"{blueprints}\")", "error.file.changeTemplate.invalid": "파일({id}) 템플릿을 다음 템플릿({template})으로 변경할 수 없습니다. (valid: \"{blueprints}\")",
"error.file.changeTemplate.permission": "You are not allowed to change the template for the file \"{id}\"", "error.file.changeTemplate.permission": "파일({id}) 템플릿을 변경할 수 없습니다.",
"error.file.duplicate": "파일명이 같은 파일({filename})이 있습니다.", "error.file.duplicate": "파일명이 같은 파일({filename})이 있습니다.",
"error.file.extension.forbidden": "이 확장자({extension})는 업로드할 수 없습니다.", "error.file.extension.forbidden": "이 확장자({extension})는 업로드할 수 없습니다.",
@@ -114,12 +114,12 @@
"error.file.minheight": "이미지의 높이를 {height}픽셀 이상으로 설정하세요.", "error.file.minheight": "이미지의 높이를 {height}픽셀 이상으로 설정하세요.",
"error.file.minsize": "파일이 너무 작습니다.", "error.file.minsize": "파일이 너무 작습니다.",
"error.file.minwidth": "이미지의 너비를 {width}픽셀 이상으로 설정하세요.", "error.file.minwidth": "이미지의 너비를 {width}픽셀 이상으로 설정하세요.",
"error.file.name.unique": "The filename must be unique", "error.file.name.unique": "고유한 파일명을 지정하세요.",
"error.file.name.missing": "파일명을 입력하세요.", "error.file.name.missing": "파일명을 입력하세요.",
"error.file.notFound": "파일({filename})이 없습니다.", "error.file.notFound": "파일({filename})이 없습니다.",
"error.file.orientation": "이미지의 비율({orientation})을 확인하세요.", "error.file.orientation": "이미지의 비율({orientation})을 확인하세요.",
"error.file.type.forbidden": "이 형식({type})의 파일을 업로드할 권한이 없습니다.", "error.file.type.forbidden": "이 형식({type})의 파일을 업로드할 권한이 없습니다.",
"error.file.type.invalid": "파일 형식({type})이 올바르지 않습니다.", "error.file.type.invalid": "파일 형식({type})이 올바르지 않습니다.",
"error.file.undefined": "\ud30c\uc77c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.", "error.file.undefined": "\ud30c\uc77c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.",
"error.form.incomplete": "항목에 오류가 있습니다.", "error.form.incomplete": "항목에 오류가 있습니다.",
@@ -130,30 +130,30 @@
"error.language.name": "올바른 언어명을 입력하세요.", "error.language.name": "올바른 언어명을 입력하세요.",
"error.language.notFound": "언어를 찾을 수 없습니다.", "error.language.notFound": "언어를 찾을 수 없습니다.",
"error.layout.validation.block": "There's an error on the \"{field}\" field in block {blockIndex} using the \"{fieldset}\" block type in layout {layoutIndex}", "error.layout.validation.block": "레이아웃({layoutIndex})의 특정 블록 유형({fieldset})을 사용하는 블록({blockIndex})의 특정 필드({field})에 오류가 있습니다.",
"error.layout.validation.settings": "레이아웃({index}) 옵션을 확인하세요.", "error.layout.validation.settings": "레이아웃({index}) 옵션을 확인하세요.",
"error.license.domain": "The domain for the license is missing", "error.license.domain": "라이선스에 대한 도메인이 누락되었습니다.",
"error.license.email": "올바른 이메일 주소를 입력하세요.", "error.license.email": "올바른 이메일 주소를 입력하세요.",
"error.license.format": "Please enter a valid license code", "error.license.format": "올바른 라이선스 코드를 입력하세요.",
"error.license.verification": "라이선스 키가 올바르지 않습니다.", "error.license.verification": "라이선스 키가 올바르지 않습니다.",
"error.login.totp.confirm.invalid": "코드가 올바르지 않습니다.", "error.login.totp.confirm.invalid": "코드가 올바르지 않습니다.",
"error.login.totp.confirm.missing": "Please enter the current code", "error.login.totp.confirm.missing": "현재 코드를 입력하세요.",
"error.object.validation": "{label} 필드에 오류가 있습니다.\n{message}", "error.object.validation": "필드({label})에 오류가 있습니다.\n{message}",
"error.offline": "패널이 오프라인 상태입니다.", "error.offline": "패널이 오프라인 상태입니다.",
"error.page.changeSlug.permission": "고유 주소({slug})를 변경할 권한이 없습니다.", "error.page.changeSlug.permission": "고유 주소({slug})를 변경할 권한이 없습니다.",
"error.page.changeSlug.reserved": "The path of top-level pages must not start with \"{path}\"", "error.page.changeSlug.reserved": "상위 페이지는 이 경로({path})로 시작할 수 없습니다.",
"error.page.changeStatus.incomplete": "페이지를 공개할 수 없습니다.", "error.page.changeStatus.incomplete": "페이지를 공개할 수 없습니다.",
"error.page.changeStatus.permission": "페이지 상태를 변경할 수 없습니다.", "error.page.changeStatus.permission": "페이지 상태를 변경할 수 없습니다.",
"error.page.changeStatus.toDraft.invalid": "페이지({slug}) 상태를 초안으로 변경할 수 없습니다.", "error.page.changeStatus.toDraft.invalid": "페이지({slug}) 상태를 초안으로 변경할 수 없습니다.",
"error.page.changeTemplate.invalid": "페이지({slug}) 템플릿을 변경할 수 없습니다.", "error.page.changeTemplate.invalid": "페이지({slug}) 템플릿을 변경할 수 없습니다.",
"error.page.changeTemplate.permission": "페이지({slug}) 템플릿을 변경할 권한이 없습니다.", "error.page.changeTemplate.permission": "페이지({slug}) 템플릿을 변경할 권한이 없습니다.",
"error.page.changeTitle.empty": "제목을 입력하세요.", "error.page.changeTitle.empty": "제목을 입력하세요.",
"error.page.changeTitle.permission": "페이지({slug}) 제목을 변경할 권한이 없습니다.", "error.page.changeTitle.permission": "페이지({slug}) 제목을 변경할 권한이 없습니다.",
"error.page.create.permission": "페이지({slug})를 등록할 권한이 없습니다.", "error.page.create.permission": "페이지({slug})를 등록할 권한이 없습니다.",
"error.page.delete": "페이지({slug})를 삭제할 수 없습니다.", "error.page.delete": "페이지({slug})를 삭제할 수 없습니다.",
"error.page.delete.confirm": "페이지를 삭제하려면 페이지의 제목을 입력하세요.", "error.page.delete.confirm": "페이지를 삭제하려면 페이지의 제목을 입력하세요.",
@@ -162,12 +162,12 @@
"error.page.draft.duplicate": "고유 주소({slug})가 같은 초안 페이지가 있습니다.", "error.page.draft.duplicate": "고유 주소({slug})가 같은 초안 페이지가 있습니다.",
"error.page.duplicate": "고유 주소({slug})가 같은 페이지가 있습니다.", "error.page.duplicate": "고유 주소({slug})가 같은 페이지가 있습니다.",
"error.page.duplicate.permission": "페이지({slug})를 복제할 권한이 없습니다.", "error.page.duplicate.permission": "페이지({slug})를 복제할 권한이 없습니다.",
"error.page.move.ancestor": "The page cannot be moved into itself", "error.page.move.ancestor": "해당 페이지로 이동할 수 없습니다.",
"error.page.move.directory": "The page directory cannot be moved", "error.page.move.directory": "페이지 디렉토리는 이동할 수 없습니다.",
"error.page.move.duplicate": "A sub page with the URL appendix \"{slug}\" already exists", "error.page.move.duplicate": "고유 주소({slug})가 같은 서브 페이지가 있습니다.",
"error.page.move.notFound": "The moved page could not be found", "error.page.move.notFound": "이동된 페이지를 찾을 수 없습니다.",
"error.page.move.permission": "You are not allowed to move \"{slug}\"", "error.page.move.permission": "페이지({slug})를 이동할 권한이 없습니다.",
"error.page.move.template": "The \"{template}\" template is not accepted as a subpage of \"{parent}\"", "error.page.move.template": "이 템플릿({template})은 이 페이지({parent})의 서브 페이지로 이동할 수 없습니다.",
"error.page.notFound": "페이지({slug})가 없습니다.", "error.page.notFound": "페이지({slug})가 없습니다.",
"error.page.num.invalid": "올바른 정수를 입력하세요.", "error.page.num.invalid": "올바른 정수를 입력하세요.",
"error.page.slug.invalid": "올바른 URL을 입력하세요.", "error.page.slug.invalid": "올바른 URL을 입력하세요.",
@@ -188,13 +188,13 @@
"error.section.pages.min.singular": "이 섹션({section})에는 페이지가 하나 이상 필요합니다.", "error.section.pages.min.singular": "이 섹션({section})에는 페이지가 하나 이상 필요합니다.",
"error.section.notLoaded": "섹션({name})을 확인할 수 없습니다.", "error.section.notLoaded": "섹션({name})을 확인할 수 없습니다.",
"error.section.type.invalid": "섹션 형식({type})이 올바르지 않습니다.", "error.section.type.invalid": "섹션 형식({type})이 올바르지 않습니다.",
"error.site.changeTitle.empty": "제목을 입력하세요.", "error.site.changeTitle.empty": "제목을 입력하세요.",
"error.site.changeTitle.permission": "사이트명을 변경할 권한이 없습니다.", "error.site.changeTitle.permission": "사이트명을 변경할 권한이 없습니다.",
"error.site.update.permission": "사이트 정보를 변경할 권한이 없습니다.", "error.site.update.permission": "사이트 정보를 변경할 권한이 없습니다.",
"error.structure.validation": "There's an error on the \"{field}\" field in row {index}", "error.structure.validation": "{index}번째 필드({field})에 오류가 있습니다.",
"error.template.default.notFound": "기본 템플릿이 없습니다.", "error.template.default.notFound": "기본 템플릿이 없습니다.",
@@ -228,10 +228,10 @@
"error.validation.accepted": "확인하세요.", "error.validation.accepted": "확인하세요.",
"error.validation.alpha": "로마자(a~z)만 입력할 수 있습니다.", "error.validation.alpha": "로마자(a~z)만 입력할 수 있습니다.",
"error.validation.alphanum": "로마자(a~z) 또는 숫자(0~9)만 입력할 수 있습니다.", "error.validation.alphanum": "로마자(a~z) 또는 숫자(0~9)만 입력할 수 있습니다.",
"error.validation.anchor": "Please enter a correct link anchor", "error.validation.anchor": "올바른 링크를 입력하세요.",
"error.validation.between": "{min}, {max} 사이의 값을 입력하세요.", "error.validation.between": "{min}, {max} 사이의 값을 입력하세요.",
"error.validation.boolean": "확인하거나 취소하세요.", "error.validation.boolean": "확인하거나 취소하세요.",
"error.validation.color": "Please enter a valid color in the {format} format", "error.validation.color": "색상 값은 {format} 형식으로 입력하세요.",
"error.validation.contains": "{needle}에 포함된 값을 입력하세요.", "error.validation.contains": "{needle}에 포함된 값을 입력하세요.",
"error.validation.date": "올바른 날짜를 입력하세요.", "error.validation.date": "올바른 날짜를 입력하세요.",
"error.validation.date.after": "{date} 이후 날짜를 입력하세요.", "error.validation.date.after": "{date} 이후 날짜를 입력하세요.",
@@ -246,7 +246,7 @@
"error.validation.integer": "올바른 정수를 입력하세요.", "error.validation.integer": "올바른 정수를 입력하세요.",
"error.validation.ip": "올바른 IP 주소를 입력하세요.", "error.validation.ip": "올바른 IP 주소를 입력하세요.",
"error.validation.less": "{max} 미만의 값을 입력하세요.", "error.validation.less": "{max} 미만의 값을 입력하세요.",
"error.validation.linkType": "The link type is not allowed", "error.validation.linkType": "이 형식의 링크는 입력할 수 없습니다.",
"error.validation.match": "입력한 값이 예상 패턴과 일치하지 않습니다.", "error.validation.match": "입력한 값이 예상 패턴과 일치하지 않습니다.",
"error.validation.max": "{max} 이하의 값을 입력하세요.", "error.validation.max": "{max} 이하의 값을 입력하세요.",
"error.validation.maxlength": "{max}자 이하의 값을 입력하세요.", "error.validation.maxlength": "{max}자 이하의 값을 입력하세요.",
@@ -284,9 +284,9 @@
"field.blocks.delete.confirm.all": "모든 블록을 삭제할까요?", "field.blocks.delete.confirm.all": "모든 블록을 삭제할까요?",
"field.blocks.delete.confirm.selected": "선택한 블록을 삭제할까요?", "field.blocks.delete.confirm.selected": "선택한 블록을 삭제할까요?",
"field.blocks.empty": "블록이 없습니다.", "field.blocks.empty": "블록이 없습니다.",
"field.blocks.fieldsets.empty": "No fieldsets yet", "field.blocks.fieldsets.empty": "필드셋이 없습니다.",
"field.blocks.fieldsets.label": "블록 유형을 선택하세요.", "field.blocks.fieldsets.label": "블록 유형을 선택하세요.",
"field.blocks.fieldsets.paste": "Press <kbd>{{ shortcut }}</kbd> to import layouts/blocks from your clipboard <small>Only those allowed in the current field will get inserted.</small>", "field.blocks.fieldsets.paste": "<kbd>{{ shortcut }}</kbd>를 눌러 클립보드에서 레이아웃 또는 블록을 가져옵니다. <small>현재 필드에서 허용된 것만 삽입됩니다.</small>",
"field.blocks.gallery.name": "갤러리", "field.blocks.gallery.name": "갤러리",
"field.blocks.gallery.images.empty": "이미지가 없습니다.", "field.blocks.gallery.images.empty": "이미지가 없습니다.",
"field.blocks.gallery.images.label": "이미지", "field.blocks.gallery.images.label": "이미지",
@@ -342,7 +342,7 @@
"field.users.empty": "선택한 사용자가 없습니다.", "field.users.empty": "선택한 사용자가 없습니다.",
"fields.empty": "No fields yet", "fields.empty": "필드가 없습니다.",
"file": "파일", "file": "파일",
"file.blueprint": "블루프린트(<strong>/site/blueprints/files/{blueprint}.yml</strong>)를 설정하세요.", "file.blueprint": "블루프린트(<strong>/site/blueprints/files/{blueprint}.yml</strong>)를 설정하세요.",
@@ -402,9 +402,9 @@
"language.variables": "언어 변수", "language.variables": "언어 변수",
"language.variables.empty": "번역이 없습니다.", "language.variables.empty": "번역이 없습니다.",
"language.variable.delete.confirm": "Do you really want to delete the variable for {key}?", "language.variable.delete.confirm": "변수({key})를 삭제할까요?",
"language.variable.key": "Key", "language.variable.key": "",
"language.variable.notFound": "The variable could not be found", "language.variable.notFound": "변수를 찾을 수 없습니다.",
"language.variable.value": "값", "language.variable.value": "값",
"languages": "언어", "languages": "언어",
@@ -414,29 +414,29 @@
"languages.secondary.empty": "보조 언어가 없습니다.", "languages.secondary.empty": "보조 언어가 없습니다.",
"license": "라이선스", "license": "라이선스",
"license.activate": "Activate it now", "license.activate": "지금 활성화하세요.",
"license.activate.label": "Please activate your license", "license.activate.label": "라이선스를 활성화하세요.",
"license.activate.domain": "Your license will be activated for <strong>{host}</strong>.", "license.activate.domain": "<strong>{host}</strong>에 대한 라이선스를 활성화합니다.",
"license.activate.local": "You are about to activate your Kirby license for your local domain <strong>{host}</strong>. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.activate.local": "로컬 도메인(<strong>{host}</strong>)에 대한 라이선스를 활성화합니다. 현재 도메인({host})이 라이선스를 사용하려는 도메인인과 같다면 계속 진행하세요.",
"license.activated": "Activated", "license.activated": "활성화됨",
"license.buy": "라이선스 구매", "license.buy": "라이선스 구매",
"license.code": "언어 코드", "license.code": "언어 코드",
"license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", "license.code.help": "이메일로 전송된 라이선스 코드를 복사해 붙여넣으세요.",
"license.code.label": "라이선스 코드를 입력하세요.", "license.code.label": "라이선스 코드를 입력하세요.",
"license.status.active.info": "Includes new major versions until {date}", "license.status.active.info": "새로운 메이저 버전은 {date}까지 포함됩니다.",
"license.status.active.label": "Valid license", "license.status.active.label": "유효한 라이선스",
"license.status.demo.info": "This is a demo installation", "license.status.demo.info": "데모를 설치합니다.",
"license.status.demo.label": "Demo", "license.status.demo.label": "데모",
"license.status.inactive.info": "Renew license to update to new major versions", "license.status.inactive.info": "새로운 메이저 버전으로 업데이트하려면 라이선스를 갱신하세요.",
"license.status.inactive.label": "No new major versions", "license.status.inactive.label": "새로운 메이저 버전이 없습니다.",
"license.status.legacy.bubble": "Ready to renew your license?", "license.status.legacy.bubble": "라이선스를 갱신합니다.",
"license.status.legacy.info": "Your license does not cover this version", "license.status.legacy.info": "라이선스가 이 버전을 지원하지 않습니다.",
"license.status.legacy.label": "Please renew your license", "license.status.legacy.label": "라이선스를 갱신하세요.",
"license.status.missing.bubble": "Ready to launch your site?", "license.status.missing.bubble": "사이트를 공개합니다.",
"license.status.missing.info": "No valid license", "license.status.missing.info": "유효한 라이선스가 없습니다.",
"license.status.missing.label": "Please activate your license", "license.status.missing.label": "라이선스를 활성화하세요.",
"license.manage": "라이선스 관리", "license.manage": "라이선스 관리",
"license.purchased": "Purchased", "license.purchased": "구입했습니다.",
"license.success": "Kirby와 함께해주셔서 감사합니다.", "license.success": "Kirby와 함께해주셔서 감사합니다.",
"license.unregistered.label": "Kirby가 등록되지 않았습니다.", "license.unregistered.label": "Kirby가 등록되지 않았습니다.",
@@ -447,10 +447,10 @@
"lock.unsaved": "저장되지 않은 항목이 있습니다.", "lock.unsaved": "저장되지 않은 항목이 있습니다.",
"lock.unsaved.empty": "모든 페이지를 저장했습니다.", "lock.unsaved.empty": "모든 페이지를 저장했습니다.",
"lock.isLocked": "Unsaved changes by {email}", "lock.isLocked": "사용자({email})의 변경 사항이 저장되지 않았습니다.",
"lock.unlock": "잠금 해제", "lock.unlock": "잠금 해제",
"lock.unlock.submit": "Unlock and overwrite unsaved changes by <strong>{email}</strong>", "lock.unlock.submit": "사용자({email})의 저장되지 않은 변경 사항을 해제하고 덮어쓰기",
"lock.isUnlocked": "Was unlocked by another user", "lock.isUnlocked": "다른 사용자가 잠금을 해제했습니다.",
"login": "로그인", "login": "로그인",
"login.code.label.login": "로그인 코드", "login.code.label.login": "로그인 코드",
@@ -458,7 +458,7 @@
"login.code.placeholder.email": "000 000", "login.code.placeholder.email": "000 000",
"login.code.placeholder.totp": "000000", "login.code.placeholder.totp": "000000",
"login.code.text.email": "입력한 이메일 주소로 코드를 전송했습니다.", "login.code.text.email": "입력한 이메일 주소로 코드를 전송했습니다.",
"login.code.text.totp": "Please enter the onetime code from your authenticator app.", "login.code.text.totp": "인증 앱에서 생성된 일회용 코드를 입력하세요.",
"login.email.login.body": "{user.nameOrEmail} 님,\n\n{site} 패널에서 요청한 로그인 코드는 다음과 같습니다. 로그인 코드는 {timeout}분 동안 유효합니다.\n\n{code}\n\n로그인 코드를 요청한 적이 없다면, 이 이메일을 무시하거나 관리자에게 문의하세요. 보안을 위해 이 이메일은 다른 사람과 공유하지 마세요.", "login.email.login.body": "{user.nameOrEmail} 님,\n\n{site} 패널에서 요청한 로그인 코드는 다음과 같습니다. 로그인 코드는 {timeout}분 동안 유효합니다.\n\n{code}\n\n로그인 코드를 요청한 적이 없다면, 이 이메일을 무시하거나 관리자에게 문의하세요. 보안을 위해 이 이메일은 다른 사람과 공유하지 마세요.",
"login.email.login.subject": "로그인 코드", "login.email.login.subject": "로그인 코드",
"login.email.password-reset.body": "{user.nameOrEmail} 님,\n\n{site} 패널에서 요청한 암호 초기화 코드는 다음과 같습니다. 암호 초기화 코드는 {timeout}분 동안 유효합니다.\n\n{code}\n\n암호 초기화 코드를 요청한 적이 없다면, 이 이메일을 무시하거나 관리자에게 문의하세요. 보안을 위해 이 이메일은 다른 사람과 공유하지 마세요.", "login.email.password-reset.body": "{user.nameOrEmail} 님,\n\n{site} 패널에서 요청한 암호 초기화 코드는 다음과 같습니다. 암호 초기화 코드는 {timeout}분 동안 유효합니다.\n\n{code}\n\n암호 초기화 코드를 요청한 적이 없다면, 이 이메일을 무시하거나 관리자에게 문의하세요. 보안을 위해 이 이메일은 다른 사람과 공유하지 마세요.",
@@ -469,20 +469,20 @@
"login.toggleText.code.email-password": "암호로 로그인", "login.toggleText.code.email-password": "암호로 로그인",
"login.toggleText.password-reset.email": "암호 찾기", "login.toggleText.password-reset.email": "암호 찾기",
"login.toggleText.password-reset.email-password": "로그인 화면으로", "login.toggleText.password-reset.email-password": "로그인 화면으로",
"login.totp.enable.option": "Set up onetime codes", "login.totp.enable.option": "일회용 코드 설정",
"login.totp.enable.intro": "Authenticator apps can generate onetime codes that are used as a second factor when signing into your account.", "login.totp.enable.intro": "인증 앱은 계정에 로그인하기 위한 일회용 코드를 생성할 수 있습니다.",
"login.totp.enable.qr.label": "1. Scan this QR code", "login.totp.enable.qr.label": "1. 이 QR 코드를 스캔하세요.",
"login.totp.enable.qr.help": "Unable to scan? Add the setup key <code>{secret}</code> manually to your authenticator app.", "login.totp.enable.qr.help": "스캔할 수 없다면 인증 앱에 <code>{secret}</code> 설정 키를 수동으로 추가하세요.",
"login.totp.enable.confirm.headline": "2. Confirm with generated code", "login.totp.enable.confirm.headline": "2. 생성된 코드로 확인하세요.",
"login.totp.enable.confirm.text": "Your app generates a new onetime code every 30 seconds. Enter the current code to complete the setup:", "login.totp.enable.confirm.text": "앱은 매 30초마다 새로운 일회용 코드를 생성합니다. 설정을 완료하기 위해 현재 코드를 입력하세요.",
"login.totp.enable.confirm.label": "Current code", "login.totp.enable.confirm.label": "현재 코드",
"login.totp.enable.confirm.help": "After this setup, we will ask you for a onetime code every time you log in.", "login.totp.enable.confirm.help": "로그인할 때마다 일회용 코드를 요청합니다.",
"login.totp.enable.success": "Onetime codes enabled", "login.totp.enable.success": "일회용 코드가 활성화되었습니다.",
"login.totp.disable.option": "Disable onetime codes", "login.totp.disable.option": "일회용 코드 비활성화",
"login.totp.disable.label": "Enter your password to disable onetime codes", "login.totp.disable.label": "비밀번호를 입력해 일회용 코드를 비활성화하세요.",
"login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up onetime codes again later.", "login.totp.disable.help": "이후 로그인할 때 이메일로 발송된 로그인 코드와 같은 다른 두 번째 인증 요소를 요청합니다. 언제든 일회용 코드를 나중에 다시 설정할 수 있습니다.",
"login.totp.disable.admin": "<p>This will disable onetime codes for <strong>{user}</strong>.</p><p>In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up onetime codes again after their next login.</p>", "login.totp.disable.admin": "사용자(<strong>{user}</strong>)의 일회용 코드를 비활성화합니다. 사용자(<strong>{user}</strong>)가 로그인할 때 이메일로 전송된 로그인 코드와 같은 다른 두 번째 인증 요소가 요청됩니다. 사용자({user})는 다음 로그인 후에 다시 일회용 코드를 설정할 수 있습니다.",
"login.totp.disable.success": "Onetime codes disabled", "login.totp.disable.success": "일회용 코드가 비활성화되었습니다.",
"logout": "로그아웃", "logout": "로그아웃",
@@ -519,7 +519,7 @@
"option": "옵션", "option": "옵션",
"options": "옵션", "options": "옵션",
"options.none": "옵션이 없습니다.", "options.none": "옵션이 없습니다.",
"options.all": "Show all {count} options", "options.all": "모든 옵션({count}) 표시",
"orientation": "비율", "orientation": "비율",
"orientation.landscape": "가로로 긴 사각형", "orientation.landscape": "가로로 긴 사각형",
@@ -535,10 +535,10 @@
"page.changeStatus.select": "새 상태 선택", "page.changeStatus.select": "새 상태 선택",
"page.changeTemplate": "템플릿 변경", "page.changeTemplate": "템플릿 변경",
"page.changeTemplate.notice": "템플릿을 변경하면 유형이 일치하지 않은 필드에 입력한 콘텐츠가 삭제됩니다.", "page.changeTemplate.notice": "템플릿을 변경하면 유형이 일치하지 않은 필드에 입력한 콘텐츠가 삭제됩니다.",
"page.create": "Create as {status}", "page.create": "해당 상태({status})로 생성",
"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.duplicate.appendix": "복사", "page.duplicate.appendix": "복사",
"page.duplicate.files": "파일 복사", "page.duplicate.files": "파일 복사",
"page.duplicate.pages": "페이지 복사", "page.duplicate.pages": "페이지 복사",
@@ -563,7 +563,7 @@
"password": "\uc554\ud638", "password": "\uc554\ud638",
"paste": "붙여넣기", "paste": "붙여넣기",
"paste.after": "뒤로 붙여넣기", "paste.after": "뒤로 붙여넣기",
"paste.success": "{count} pasted!", "paste.success": "붙여넣었습니다. ({count})",
"pixel": "픽셀", "pixel": "픽셀",
"plugin": "플러그인", "plugin": "플러그인",
"plugins": "플러그인", "plugins": "플러그인",
@@ -571,7 +571,7 @@
"preview": "미리 보기", "preview": "미리 보기",
"remove": "삭제", "remove": "삭제",
"rename": "이름 변경", "rename": "이름 변경",
"renew": "Renew", "renew": "갱신",
"replace": "\uad50\uccb4", "replace": "\uad50\uccb4",
"replace.with": "다음으로 교체", "replace.with": "다음으로 교체",
"retry": "\ub2e4\uc2dc \uc2dc\ub3c4", "retry": "\ub2e4\uc2dc \uc2dc\ub3c4",
@@ -590,7 +590,7 @@
"save": "\uc800\uc7a5", "save": "\uc800\uc7a5",
"search": "검색", "search": "검색",
"search.min": "{min}자 이상 입력하세요.", "search.min": "{min}자 이상 입력하세요.",
"search.all": "Show all {count} results", "search.all": "모든 결과({count}) 보기",
"search.results.none": "해당하는 결과가 없습니다.", "search.results.none": "해당하는 결과가 없습니다.",
"section.invalid": "섹션이 올바르지 않습니다.", "section.invalid": "섹션이 올바르지 않습니다.",
@@ -612,16 +612,16 @@
"status": "상태", "status": "상태",
"system.issues.content": "<code>/content</code> 폴더의 권한을 확인하세요.", "system.issues.content": "<code>/content</code> 폴더의 권한을 확인하세요.",
"system.issues.eol.kirby": "설치된 Kirby 버전이 만료되었습니다. 더 이상 보안 업데이트를 받을 수 없습니다.", "system.issues.eol.kirby": "설치된 Kirby 버전이 만료되었습니다. 더 이상 보안 업데이트를 받을 수 없습니다.",
"system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "설치된 플러그인({plugin}의 지원이 종료되었습니다. 더 이상 보안 업데이트를 받을 수 없습니다.",
"system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.eol.php": "설치된 PHP 버전({release})이 만료되었습니다. 더 이상 보안 업데이트를 받을 수 없습니다.",
"system.issues.debug": "공개 서버상에서는 디버그 모드를 해제하세요.", "system.issues.debug": "공개 서버상에서는 디버그 모드를 해제하세요.",
"system.issues.git": "<code>/.git</code> 폴더의 권한을 확인하세요.", "system.issues.git": "<code>/.git</code> 폴더의 권한을 확인하세요.",
"system.issues.https": "HTTPS를 권장합니다.", "system.issues.https": "HTTPS를 권장합니다.",
"system.issues.kirby": "<code>/kirby</code> 폴더의 권한을 확인하세요.", "system.issues.kirby": "<code>/kirby</code> 폴더의 권한을 확인하세요.",
"system.issues.site": "<code>/site</code> 폴더의 권한을 확인하세요.", "system.issues.site": "<code>/site</code> 폴더의 권한을 확인하세요.",
"system.issues.vulnerability.kirby": "Your installation might be affected by the following vulnerability ({ severity } severity): { description }", "system.issues.vulnerability.kirby": "설치한 시스템에 취약점이 있습니다.\n심각도: {severity}\n{description}",
"system.issues.vulnerability.plugin": "Your installation might be affected by the following vulnerability in the { plugin } plugin ({ severity } severity): { description }", "system.issues.vulnerability.plugin": "설치한 플러그인({plugin})에 취약점이 있습니다.\n심각도: {severity}\n{ description }",
"system.updateStatus": "업데이트 상태", "system.updateStatus": "업데이트 상태",
"system.updateStatus.error": "업데이트를 확인할 수 없습니다.", "system.updateStatus.error": "업데이트를 확인할 수 없습니다.",
"system.updateStatus.not-vulnerable": "알려진 취약성이 없습니다.", "system.updateStatus.not-vulnerable": "알려진 취약성이 없습니다.",
@@ -667,7 +667,7 @@
"translation.name": "한국어", "translation.name": "한국어",
"translation.locale": "ko_KR", "translation.locale": "ko_KR",
"type": "Type", "type": "유형",
"upload": "업로드", "upload": "업로드",
"upload.error.cantMove": "파일을 이동할 수 없습니다.", "upload.error.cantMove": "파일을 이동할 수 없습니다.",

View File

@@ -3,7 +3,7 @@
"account.delete": "Panaikinti savo paskyrą", "account.delete": "Panaikinti savo paskyrą",
"account.delete.confirm": "Ar tikrai norite panaikinti savo paskyrą? Jūs iš karto atsijungsite. Paskyros bus neįmanoma atstatyti.", "account.delete.confirm": "Ar tikrai norite panaikinti savo paskyrą? Jūs iš karto atsijungsite. Paskyros bus neįmanoma atstatyti.",
"activate": "Activate", "activate": "Aktyvuoti",
"add": "Pridėti", "add": "Pridėti",
"alpha": "Alpha", "alpha": "Alpha",
"author": "Autorius", "author": "Autorius",
@@ -20,7 +20,7 @@
"coordinates": "Coordinates", "coordinates": "Coordinates",
"copy": "Kopijuoti", "copy": "Kopijuoti",
"copy.all": "Kopijuoti visus", "copy.all": "Kopijuoti visus",
"copy.success": "{count} copied!", "copy.success": "{count} nukopijuota!",
"create": "Sukurti", "create": "Sukurti",
"custom": "Custom", "custom": "Custom",
@@ -48,20 +48,20 @@
"dialog.users.empty": "Nėra vartotojų pasirinkimui", "dialog.users.empty": "Nėra vartotojų pasirinkimui",
"dimensions": "Išmatavimai", "dimensions": "Išmatavimai",
"disable": "Disable", "disable": "Išjungti",
"disabled": "Išjungta", "disabled": "Išjungta",
"discard": "Atšaukti", "discard": "Atšaukti",
"drawer.fields.empty": "This drawer has no fields", "drawer.fields.empty": "This drawer has no fields",
"domain": "Domain", "domain": "Domenas",
"download": "Parsisiųsti", "download": "Parsisiųsti",
"duplicate": "Dublikuoti", "duplicate": "Dublikuoti",
"edit": "Redaguoti", "edit": "Redaguoti",
"email": "El. paštas", "email": "El. paštas",
"email.placeholder": "mail@example.com", "email.placeholder": "info@pavyzdys.lt",
"enter": "Enter", "enter": "Enter",
"entries": "Įrašai", "entries": "Įrašai",
@@ -133,13 +133,13 @@
"error.layout.validation.block": "There's an error on the \"{field}\" field in block {blockIndex} using the \"{fieldset}\" block type in layout {layoutIndex}", "error.layout.validation.block": "There's an error on the \"{field}\" field in block {blockIndex} using the \"{fieldset}\" block type in layout {layoutIndex}",
"error.layout.validation.settings": "Yra klaida išdėstymo {index} nustatymuose", "error.layout.validation.settings": "Yra klaida išdėstymo {index} nustatymuose",
"error.license.domain": "The domain for the license is missing", "error.license.domain": "Licencijai trūksta domeno",
"error.license.email": "Prašome įrašyti teisingą el. pašto adresą", "error.license.email": "Prašome įrašyti teisingą el. pašto adresą",
"error.license.format": "Please enter a valid license code", "error.license.format": "Prašome įrašyti teisingą licencijos kodą",
"error.license.verification": "Nepavyko patikrinti licenzijos", "error.license.verification": "Nepavyko patikrinti licenzijos",
"error.login.totp.confirm.invalid": "Neteisinas kodas", "error.login.totp.confirm.invalid": "Neteisinas kodas",
"error.login.totp.confirm.missing": "Please enter the current code", "error.login.totp.confirm.missing": "Prašome įrašyti kodą",
"error.object.validation": "Theres an error in the \"{label}\" field:\n{message}", "error.object.validation": "Theres an error in the \"{label}\" field:\n{message}",
@@ -162,7 +162,7 @@
"error.page.draft.duplicate": "Puslapio juodraštis su URL pabaiga \"{slug}\" jau yra", "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": "Puslapis su URL pabaiga \"{slug}\" jau yra",
"error.page.duplicate.permission": "Neturite leidimo dubliuoti \"{slug}\"", "error.page.duplicate.permission": "Neturite leidimo dubliuoti \"{slug}\"",
"error.page.move.ancestor": "The page cannot be moved into itself", "error.page.move.ancestor": "Puslapio negalima perkelti į save patį",
"error.page.move.directory": "The page directory cannot be moved", "error.page.move.directory": "The page directory cannot be moved",
"error.page.move.duplicate": "A sub page with the URL appendix \"{slug}\" already exists", "error.page.move.duplicate": "A sub page with the URL appendix \"{slug}\" already exists",
"error.page.move.notFound": "The moved page could not be found", "error.page.move.notFound": "The moved page could not be found",
@@ -213,7 +213,7 @@
"error.user.delete.lastUser": "Vienintelio vartotojo negalima pašalinti", "error.user.delete.lastUser": "Vienintelio vartotojo negalima pašalinti",
"error.user.delete.permission": "Neturite leidimo pašalinti vartotoją \"{name}\"", "error.user.delete.permission": "Neturite leidimo pašalinti vartotoją \"{name}\"",
"error.user.duplicate": "Vartotojas su el. paštu \"{email}\" jau yra", "error.user.duplicate": "Vartotojas su el. paštu \"{email}\" jau yra",
"error.user.email.invalid": "Prašome įrašyti teisingą el. pašto adresą", "error.user.email.invalid": "Įrašykite teisingą el. pašto adresą",
"error.user.language.invalid": "Įrašykite teisingą kalbą", "error.user.language.invalid": "Įrašykite teisingą kalbą",
"error.user.notFound": "Vartotojas \"{name}\" nerastas", "error.user.notFound": "Vartotojas \"{name}\" nerastas",
"error.user.password.excessive": "Please enter a valid password. Passwords must not be longer than 1000 characters.", "error.user.password.excessive": "Please enter a valid password. Passwords must not be longer than 1000 characters.",
@@ -239,7 +239,7 @@
"error.validation.date.between": "Įrašykite datą tarp {min} ir {max}", "error.validation.date.between": "Įrašykite datą tarp {min} ir {max}",
"error.validation.denied": "Prašome neleisti", "error.validation.denied": "Prašome neleisti",
"error.validation.different": "Reikšmė neturi būti \"{other}\"", "error.validation.different": "Reikšmė neturi būti \"{other}\"",
"error.validation.email": "Prašome įrašyti teisingą el. pašto adresą", "error.validation.email": "Prašome įrašyti korektišką el. paštą",
"error.validation.endswith": "Reikšmė turi baigtis su \"{end}\"", "error.validation.endswith": "Reikšmė turi baigtis su \"{end}\"",
"error.validation.filename": "Prašome įrašyti teisingą failo pavadinimą", "error.validation.filename": "Prašome įrašyti teisingą failo pavadinimą",
"error.validation.in": "Prašome įrašyti vieną iš šių: ({in})", "error.validation.in": "Prašome įrašyti vieną iš šių: ({in})",
@@ -369,7 +369,7 @@
"insert.before": "Įterpti prieš", "insert.before": "Įterpti prieš",
"install": "Įdiegti", "install": "Įdiegti",
"installation": "Installation", "installation": "Įdiegimas",
"installation.completed": "Valdymo pultas įdiegtas", "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.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.accounts": "Katalogas <code>/site/accounts</code> neegzistuoja arba neturi įrašymo teisių",
@@ -414,29 +414,29 @@
"languages.secondary.empty": "Dar nėra papildomų kalbų", "languages.secondary.empty": "Dar nėra papildomų kalbų",
"license": "Licenzija", "license": "Licenzija",
"license.activate": "Activate it now", "license.activate": "Aktyvuoti dabar",
"license.activate.label": "Please activate your license", "license.activate.label": "Prašome aktyvuoti jūsų licenciją",
"license.activate.domain": "Your license will be activated for <strong>{host}</strong>.", "license.activate.domain": "Jūsų licencija bus akvytuota šiam domenui: {host}",
"license.activate.local": "You are about to activate your Kirby license for your local domain <strong>{host}</strong>. If this site will be deployed to a public domain, please activate it there instead. If {host} is the domain you want to use your license for, please continue.", "license.activate.local": "Jūs ruošiatės aktyvuoti jūsų Kirby licenciją vietiniam domenui <strong>{host}</strong>. Jei ši svetainė veiks su viešu domenu, aktyvuokite jį. Arba jei {host} yra tikrai tas domenas, kurį norite naudoti, galite tęsti.",
"license.activated": "Activated", "license.activated": "Aktyvuota",
"license.buy": "Pirkti licenziją", "license.buy": "Pirkti licenziją",
"license.code": "Kodas", "license.code": "Kodas",
"license.code.help": "You received your license code after the purchase via email. Please copy and paste it here.", "license.code.help": "Jūs gavote licencijos kodą po pirkimo el. paštu. Nukopijuokite jį ir įterpkite čia.",
"license.code.label": "Prašome įrašyti jūsų licenzijos kodą", "license.code.label": "Prašome įrašyti jūsų licenzijos kodą",
"license.status.active.info": "Includes new major versions until {date}", "license.status.active.info": "Įeina naujos pagrindinės versijos iki {date}",
"license.status.active.label": "Valid license", "license.status.active.label": "Galiojanti licencija",
"license.status.demo.info": "This is a demo installation", "license.status.demo.info": "Tai demo versija",
"license.status.demo.label": "Demo", "license.status.demo.label": "Demo",
"license.status.inactive.info": "Renew license to update to new major versions", "license.status.inactive.info": "Atnaujinkite licenciją, kad būtų galimybė atnaujinti iki naujų pagrindinių versi",
"license.status.inactive.label": "No new major versions", "license.status.inactive.label": "Nėra naujų pagrindinių versi",
"license.status.legacy.bubble": "Ready to renew your license?", "license.status.legacy.bubble": "Pasiruošę atnaujinti jūsų licenciją?",
"license.status.legacy.info": "Your license does not cover this version", "license.status.legacy.info": "Jūsų licencija negalioja šiai versijai",
"license.status.legacy.label": "Please renew your license", "license.status.legacy.label": "Prašome atnaujinti jūsų licenciją",
"license.status.missing.bubble": "Ready to launch your site?", "license.status.missing.bubble": "Pasiruošę paleisti naują svetainę?",
"license.status.missing.info": "No valid license", "license.status.missing.info": "Nėra galiojančios licencijos",
"license.status.missing.label": "Please activate your license", "license.status.missing.label": "Prašome aktyvuoti jūsų licenciją",
"license.manage": "Valdyti savo licencijas", "license.manage": "Valdyti savo licencijas",
"license.purchased": "Purchased", "license.purchased": "Nupirkta",
"license.success": "Ačiū, kad palaikote Kirby", "license.success": "Ačiū, kad palaikote Kirby",
"license.unregistered.label": "Neregistruota", "license.unregistered.label": "Neregistruota",
@@ -458,7 +458,7 @@
"login.code.placeholder.email": "000 000", "login.code.placeholder.email": "000 000",
"login.code.placeholder.totp": "000000", "login.code.placeholder.totp": "000000",
"login.code.text.email": "Jei jūsų el. paštas yra užregistruotas, užklaistas kodas buvo išsiųstas el. paštu.", "login.code.text.email": "Jei jūsų el. paštas yra užregistruotas, užklaistas kodas buvo išsiųstas el. paštu.",
"login.code.text.totp": "Please enter the onetime code from your authenticator app.", "login.code.text.totp": "Prašome įrašyti vienkartinį kodą iš jūsų autentifikavimo programėlės.",
"login.email.login.body": "Sveiki, {user.nameOrEmail},\n\nNeseniai užklausėte prisijungimo kodo svetainėje {site}.\nŠis kodas galios {timeout} min.:\n\n{code}\n\nJei neprašėte šio kodo, tiesiog ignoruokite, arba susisiekite su administratoriumi.\nDėl saugumo, prašome NEPERSIŲSTI šio laiško.", "login.email.login.body": "Sveiki, {user.nameOrEmail},\n\nNeseniai užklausėte prisijungimo kodo svetainėje {site}.\nŠis kodas galios {timeout} min.:\n\n{code}\n\nJei neprašėte šio kodo, tiesiog ignoruokite, arba susisiekite su administratoriumi.\nDėl saugumo, prašome NEPERSIŲSTI šio laiško.",
"login.email.login.subject": "Jūsų prisijungimo kodas", "login.email.login.subject": "Jūsų prisijungimo kodas",
"login.email.password-reset.body": "Sveiki, {user.nameOrEmail},\n\nNeseniai užklausėte naujo slaptažodžio kūrimo kodo svetainėje {site}.\nŠis kodas galios {timeout} min.:\n\n{code}\n\nJei neprašėte šio kodo, tiesiog ignoruokite, arba susisiekite su administratoriumi.\nDėl saugumo, prašome NEPERSIŲSTI šio laiško", "login.email.password-reset.body": "Sveiki, {user.nameOrEmail},\n\nNeseniai užklausėte naujo slaptažodžio kūrimo kodo svetainėje {site}.\nŠis kodas galios {timeout} min.:\n\n{code}\n\nJei neprašėte šio kodo, tiesiog ignoruokite, arba susisiekite su administratoriumi.\nDėl saugumo, prašome NEPERSIŲSTI šio laiško",
@@ -469,20 +469,20 @@
"login.toggleText.code.email-password": "Prisijungti su slaptažodžiu", "login.toggleText.code.email-password": "Prisijungti su slaptažodžiu",
"login.toggleText.password-reset.email": "Pamiršote slaptažodį?", "login.toggleText.password-reset.email": "Pamiršote slaptažodį?",
"login.toggleText.password-reset.email-password": "← Atgal į prisijungimą", "login.toggleText.password-reset.email-password": "← Atgal į prisijungimą",
"login.totp.enable.option": "Set up onetime codes", "login.totp.enable.option": "Nustatyti vienkartinius kodus",
"login.totp.enable.intro": "Authenticator apps can generate onetime codes that are used as a second factor when signing into your account.", "login.totp.enable.intro": "Autentifikavimo programėlės gali generuoti vienkartinius kodus, kurie bus naudojami kaip 2-factor prisijungiant prie svetainės.",
"login.totp.enable.qr.label": "1. Scan this QR code", "login.totp.enable.qr.label": "1. Nuskenuokite šį QR kodą",
"login.totp.enable.qr.help": "Unable to scan? Add the setup key <code>{secret}</code> manually to your authenticator app.", "login.totp.enable.qr.help": "Negalite nuskenuoti? Pridėkite raktą <code>{secret}</code> rankiniu būdu į savo autentifikavimo programėlę.",
"login.totp.enable.confirm.headline": "2. Confirm with generated code", "login.totp.enable.confirm.headline": "2. Patvirtinti su sugeneruotu kodu",
"login.totp.enable.confirm.text": "Your app generates a new onetime code every 30 seconds. Enter the current code to complete the setup:", "login.totp.enable.confirm.text": "Jūsų programėlė generuoja naują vienkartinį kodą kas 30 sekundžių. Įrašykite dabartinį kodą, norėdami užbaigti:",
"login.totp.enable.confirm.label": "Current code", "login.totp.enable.confirm.label": "Dabartinis kodas",
"login.totp.enable.confirm.help": "After this setup, we will ask you for a onetime code every time you log in.", "login.totp.enable.confirm.help": "Po šio nustatymo, iš jūsų bus prašomas vienkartinis kodas jungiantis kiekvieną kartą.",
"login.totp.enable.success": "Onetime codes enabled", "login.totp.enable.success": "Vienkartiniai kodai įjungti",
"login.totp.disable.option": "Disable onetime codes", "login.totp.disable.option": "Išjungti vienkartinius kodus",
"login.totp.disable.label": "Enter your password to disable onetime codes", "login.totp.disable.label": "Įrašykite savo slaptažodį norėdami išjungti vienkartinius kodus",
"login.totp.disable.help": "In the future, a different second factor like a login code sent via email will be requested when you log in. You can always set up onetime codes again later.", "login.totp.disable.help": "Ateityje kitoks 2-factor bus prašomas prisijungiant, pvz. login kodas, siunčiamas el. paštu. Jūs galite visada nustatyti vienkartinius kodus vėl vėliau.",
"login.totp.disable.admin": "<p>This will disable onetime codes for <strong>{user}</strong>.</p><p>In the future, a different second factor like a login code sent via email will be requested when they log in. {user} can set up onetime codes again after their next login.</p>", "login.totp.disable.admin": "<p>Tai išjungs vienkartinius kodus vartotojui <strong>{user}</strong>. Ateityje kitoks 2-factor bus prašomas prisijungiant, pvz. login kodas, siunčiamas el. paštu. Jūs galite visada nustatyti vienkartinius kodus vėl vėliau. {user} galės nustatyti vienkartinius kodus, kai jungsis kitą kartą.",
"login.totp.disable.success": "Onetime codes disabled", "login.totp.disable.success": "Vienkartiniai kodai išjungti",
"logout": "Atsijungti", "logout": "Atsijungti",
@@ -519,7 +519,7 @@
"option": "Option", "option": "Option",
"options": "Pasirinkimai", "options": "Pasirinkimai",
"options.none": "Nėra pasirinkimų", "options.none": "Nėra pasirinkimų",
"options.all": "Show all {count} options", "options.all": "Rodyti visas {count} opcijas",
"orientation": "Orientacija", "orientation": "Orientacija",
"orientation.landscape": "Horizontali", "orientation.landscape": "Horizontali",
@@ -535,14 +535,14 @@
"page.changeStatus.select": "Pasirinkite statusą", "page.changeStatus.select": "Pasirinkite statusą",
"page.changeTemplate": "Pakeisti šabloną", "page.changeTemplate": "Pakeisti šabloną",
"page.changeTemplate.notice": "Changing the page's template will remove content for fields that don't match in type. Use with caution.", "page.changeTemplate.notice": "Changing the page's template will remove content for fields that don't match in type. Use with caution.",
"page.create": "Create as {status}", "page.create": "Sukurti kaip {status}",
"page.delete.confirm": "🙀 Ar tikrai norite pašalinti puslapį <strong>{title}</strong>?", "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.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.delete.confirm.title": "Įrašykite puslapio pavadinimą tam, kad patvirtinti",
"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.move": "Move page", "page.move": "Perkelti puslapį",
"page.sort": "Pakeisti poziciją", "page.sort": "Pakeisti poziciją",
"page.status": "Statusas", "page.status": "Statusas",
"page.status.draft": "Juodraštis", "page.status.draft": "Juodraštis",
@@ -556,7 +556,7 @@
"pages.empty": "Dar nėra puslapių", "pages.empty": "Dar nėra puslapių",
"pages.status.draft": "Juodraščiai", "pages.status.draft": "Juodraščiai",
"pages.status.listed": "Paskelbti", "pages.status.listed": "Paskelbti",
"pages.status.unlisted": "Nerodomas", "pages.status.unlisted": "Nerodomi",
"pagination.page": "Puslapis", "pagination.page": "Puslapis",
@@ -571,7 +571,7 @@
"preview": "Peržiūra", "preview": "Peržiūra",
"remove": "Pašalinti", "remove": "Pašalinti",
"rename": "Pervadinti", "rename": "Pervadinti",
"renew": "Renew", "renew": "Atnaujinti",
"replace": "Apkeisti", "replace": "Apkeisti",
"replace.with": "Replace with", "replace.with": "Replace with",
"retry": "Bandyti dar", "retry": "Bandyti dar",
@@ -590,7 +590,7 @@
"save": "Išsaugoti", "save": "Išsaugoti",
"search": "Ieškoti", "search": "Ieškoti",
"search.min": "Minimalus simbolių kiekis paieškai: {min}", "search.min": "Minimalus simbolių kiekis paieškai: {min}",
"search.all": "Show all {count} results", "search.all": "Parodyti visus {count} rezultatus",
"search.results.none": "Nėra rezultatų", "search.results.none": "Nėra rezultatų",
"section.invalid": "The section is invalid", "section.invalid": "The section is invalid",
@@ -614,7 +614,7 @@
"system.issues.content": "The content folder seems to be exposed", "system.issues.content": "The content folder seems to be exposed",
"system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates", "system.issues.eol.kirby": "Your installed Kirby version has reached end-of-life and will not receive further security updates",
"system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates", "system.issues.eol.plugin": "Your installed version of the { plugin } plugin is has reached end-of-life and will not receive further security updates",
"system.issues.eol.php": "Your installed PHP release { release } has reached end-of-life and will not receive further security updates", "system.issues.eol.php": "Jūsų PHP versija { release } pasiekė gyvenimo galą ir daugiau negaus saugumo atnaujinimų",
"system.issues.debug": "Debugging must be turned off in production", "system.issues.debug": "Debugging must be turned off in production",
"system.issues.git": "The .git folder seems to be exposed", "system.issues.git": "The .git folder seems to be exposed",
"system.issues.https": "Rekomenduojame HTTPS visoms svetainėms", "system.issues.https": "Rekomenduojame HTTPS visoms svetainėms",
@@ -681,7 +681,7 @@
"upload.error.noFiles": "Failai nebuvo įkelti", "upload.error.noFiles": "Failai nebuvo įkelti",
"upload.error.partial": "Failas įkeltas tik iš dalies", "upload.error.partial": "Failas įkeltas tik iš dalies",
"upload.error.tmpDir": "Trūksta laikinojo katalogo", "upload.error.tmpDir": "Trūksta laikinojo katalogo",
"upload.errors": "Error", "upload.errors": "Klaida",
"upload.progress": "Įkėlimas…", "upload.progress": "Įkėlimas…",
"url": "Url", "url": "Url",

View File

@@ -135,7 +135,7 @@
"error.license.domain": "Het domein voor de licentie ontbreekt", "error.license.domain": "Het domein voor de licentie ontbreekt",
"error.license.email": "Gelieve een geldig emailadres in te voeren", "error.license.email": "Gelieve een geldig emailadres in te voeren",
"error.license.format": "Please enter a valid license code", "error.license.format": "Vul een geldige licentie in",
"error.license.verification": "De licentie kon niet worden geverifieerd. ", "error.license.verification": "De licentie kon niet worden geverifieerd. ",
"error.login.totp.confirm.invalid": "Ongeldige code", "error.login.totp.confirm.invalid": "Ongeldige code",
@@ -425,7 +425,7 @@
"license.code.label": "Vul je licentie in", "license.code.label": "Vul je licentie in",
"license.status.active.info": "Inclusief nieuwe major versies tot {date}", "license.status.active.info": "Inclusief nieuwe major versies tot {date}",
"license.status.active.label": "Geldige licentie", "license.status.active.label": "Geldige licentie",
"license.status.demo.info": "This is a demo installation", "license.status.demo.info": "Dit is een demo installatie",
"license.status.demo.label": "Demo", "license.status.demo.label": "Demo",
"license.status.inactive.info": "Verleng licentie om bij te werken naar nieuwe versies", "license.status.inactive.info": "Verleng licentie om bij te werken naar nieuwe versies",
"license.status.inactive.label": "Geen nieuwe major versies", "license.status.inactive.label": "Geen nieuwe major versies",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1069,17 +1069,17 @@
}, },
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
"version": "v6.3.8", "version": "v6.4.0",
"version_normalized": "6.3.8.0", "version_normalized": "6.4.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/yaml.git", "url": "https://github.com/symfony/yaml.git",
"reference": "3493af8a8dad7fa91c77fa473ba23ecd95334a92" "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/3493af8a8dad7fa91c77fa473ba23ecd95334a92", "url": "https://api.github.com/repos/symfony/yaml/zipball/4f9237a1bb42455d609e6687d2613dde5b41a587",
"reference": "3493af8a8dad7fa91c77fa473ba23ecd95334a92", "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1091,9 +1091,9 @@
"symfony/console": "<5.4" "symfony/console": "<5.4"
}, },
"require-dev": { "require-dev": {
"symfony/console": "^5.4|^6.0" "symfony/console": "^5.4|^6.0|^7.0"
}, },
"time": "2023-11-06T10:58:05+00:00", "time": "2023-11-06T11:00:25+00:00",
"bin": [ "bin": [
"Resources/bin/yaml-lint" "Resources/bin/yaml-lint"
], ],
@@ -1124,7 +1124,7 @@
"description": "Loads and dumps YAML files", "description": "Loads and dumps YAML files",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/yaml/tree/v6.3.8" "source": "https://github.com/symfony/yaml/tree/v6.4.0"
}, },
"funding": [ "funding": [
{ {

View File

@@ -1,8 +1,8 @@
<?php return array( <?php return array(
'root' => array( 'root' => array(
'name' => 'getkirby/cms', 'name' => 'getkirby/cms',
'pretty_version' => '4.0.0', 'pretty_version' => '4.0.1',
'version' => '4.0.0.0', 'version' => '4.0.1.0',
'reference' => NULL, 'reference' => NULL,
'type' => 'kirby-cms', 'type' => 'kirby-cms',
'install_path' => __DIR__ . '/../../', 'install_path' => __DIR__ . '/../../',
@@ -47,8 +47,8 @@
'dev_requirement' => false, 'dev_requirement' => false,
), ),
'getkirby/cms' => array( 'getkirby/cms' => array(
'pretty_version' => '4.0.0', 'pretty_version' => '4.0.1',
'version' => '4.0.0.0', 'version' => '4.0.1.0',
'reference' => NULL, 'reference' => NULL,
'type' => 'kirby-cms', 'type' => 'kirby-cms',
'install_path' => __DIR__ . '/../../', 'install_path' => __DIR__ . '/../../',
@@ -167,9 +167,9 @@
), ),
), ),
'symfony/yaml' => array( 'symfony/yaml' => array(
'pretty_version' => 'v6.3.8', 'pretty_version' => 'v6.4.0',
'version' => '6.3.8.0', 'version' => '6.4.0.0',
'reference' => '3493af8a8dad7fa91c77fa473ba23ecd95334a92', 'reference' => '4f9237a1bb42455d609e6687d2613dde5b41a587',
'type' => 'library', 'type' => 'library',
'install_path' => __DIR__ . '/../symfony/yaml', 'install_path' => __DIR__ . '/../symfony/yaml',
'aliases' => array(), 'aliases' => array(),

View File

@@ -55,12 +55,8 @@ class Inline
* *
* @throws ParseException * @throws ParseException
*/ */
public static function parse(string $value = null, int $flags = 0, array &$references = []): mixed public static function parse(string $value, int $flags = 0, array &$references = []): mixed
{ {
if (null === $value) {
return '';
}
self::initialize($flags); self::initialize($flags);
$value = trim($value); $value = trim($value);
@@ -161,7 +157,7 @@ class Inline
} elseif (floor($value) == $value && $repr == $value) { } elseif (floor($value) == $value && $repr == $value) {
// Preserve float data type since storing a whole number will result in integer value. // Preserve float data type since storing a whole number will result in integer value.
if (!str_contains($repr, 'E')) { if (!str_contains($repr, 'E')) {
$repr = $repr.'.0'; $repr .= '.0';
} }
} }
} else { } else {

View File

@@ -21,7 +21,7 @@
"symfony/polyfill-ctype": "^1.8" "symfony/polyfill-ctype": "^1.8"
}, },
"require-dev": { "require-dev": {
"symfony/console": "^5.4|^6.0" "symfony/console": "^5.4|^6.0|^7.0"
}, },
"conflict": { "conflict": {
"symfony/console": "<5.4" "symfony/console": "<5.4"