Merge remote-tracking branch 'remotes/origin/develop' into l55upgrade

Conflicts:
	modules/system/lang/en/lang.php
This commit is contained in:
Samuel Georges 2017-07-11 07:48:40 +10:00
commit 1db67af8e8
48 changed files with 3088 additions and 153 deletions

View File

@ -51,6 +51,24 @@ return [
'backendForceSecure' => null,
/*
|--------------------------------------------------------------------------
| Back-end login remember
|--------------------------------------------------------------------------
|
| Define live duration of backend sessions :
|
| true - session never expire (cookie expiration in 5 years)
|
| false - session have a limited time (see session.lifetime)
|
| null - The form login display a checkbox that allow user to choose
| wanted behavior
|
*/
'backendForceRemember' => true,
/*
|--------------------------------------------------------------------------
| Back-end timezone

View File

@ -846,6 +846,7 @@ body.outer .layout > .layout-row > .layout-cell .outer-form-container h2{font-si
body.outer .layout > .layout-row > .layout-cell .outer-form-container .horizontal-form{font-size:0;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:-ms-flex;display:flex}
body.outer .layout > .layout-row > .layout-cell .outer-form-container .horizontal-form input{vertical-align:top;margin-right:9px;display:inline-block;border:none;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}
body.outer .layout > .layout-row > .layout-cell .outer-form-container .horizontal-form button{background:#0181b9;text-align:center;font-size:13px;font-weight:600;height:40px;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
body.outer .layout > .layout-row > .layout-cell .outer-form-container .remember label {color:rgba(255,255,255,0.44)}
body.outer .layout > .layout-row > .layout-cell .outer-form-container .forgot-password{margin-top:30px;font-size:13px;top:8px}
body.outer .layout > .layout-row > .layout-cell .outer-form-container .forgot-password a{color:rgba(255,255,255,0.44)}
body.outer .layout > .layout-row > .layout-cell .outer-form-container .forgot-password:before{color:rgba(255,255,255,0.44);font-size:14px;position:relative;margin-right:5px}

View File

@ -74,6 +74,12 @@ body.outer {
}
}
.remember {
label {
color: @color-outer-muted-text;
}
}
.forgot-password {
margin-top: 30px;
font-size: 13px;

View File

@ -4,7 +4,7 @@
<?php if ($button == 'update'): ?>
<?= $this->relationMakePartial('button_update', [
'relationManageId' => $relationViewModel->id
'relationManageId' => $relationViewModel->getKey()
]) ?>
<?php else: ?>
<?= $this->relationMakePartial('button_'.$button) ?>

View File

@ -2,6 +2,7 @@
use Str;
use System\Classes\PluginManager;
use Event;
/**
* Widget manager
@ -188,6 +189,23 @@ class WidgetManager
}
}
/**
* @event system.reportwidgets.extendItems
* Allows to append or remove a report widget.
*
* You will have access to the WidgetManager instance and be able to call the appropiated methods
* $manager->registerReportWidget();
* $manager->removeReportWidget();
*
* Example usage:
*
* Event::listen('system.reportwidgets.extendItems', function($manager) {
* $manager->removeReportWidget('Acme\ReportWidgets\YourWidget');
* });
*
*/
Event::fire('system.reportwidgets.extendItems', [$this]);
return $this->reportWidgets;
}
@ -215,4 +233,19 @@ class WidgetManager
{
$this->reportWidgetCallbacks[] = $definitions;
}
/**
* Remove a registered ReportWidget.
* @param string $className Widget class name.
* @return void
*/
public function removeReportWidget($className)
{
if (!$this->reportWidgets) {
throw new SystemException('Unable to remove a widget before widgets are loaded.');
}
unset($this->reportWidgets[$className]);
}
}

View File

@ -69,11 +69,15 @@ class Auth extends Controller
throw new ValidationException($validation);
}
if (is_null($remember = config('cms.backendForceRemember', true))) {
$remember = (bool) post('remember');
}
// Authenticate user
$user = BackendAuth::authenticate([
'login' => post('login'),
'password' => post('password')
], true);
], $remember);
// Load version updates
UpdateManager::instance()->update();

View File

@ -32,6 +32,21 @@
</button>
</div>
<?php if (is_null(config('cms.backendForceRemember', true))) : ?>
<!-- Remember checkbox -->
<div class="form-group checkbox-field horizontal-form remember">
<div class="checkbox custom-checkbox">
<input
type="checkbox"
id="remember"
name="remember" />
<label for="remember">
<?= e(trans('backend::lang.account.remember_me')) ?>
</label>
</div>
</div>
<?php endif; ?>
<p class="oc-icon-lock pull-right forgot-password">
<!-- Forgot your password? -->
<a href="<?= Backend::url('backend/auth/restore') ?>" class="text-muted">

View File

@ -46,6 +46,12 @@ class DatePicker extends FormWidgetBase
*/
public $yearRange = null;
/**
* @var int first day of the week
* eg: 0 (Sunday), 1 (Monday), 2 (Tuesday), etc.
*/
public $firstDay = 0;
//
// Object properties
//
@ -66,6 +72,7 @@ class DatePicker extends FormWidgetBase
'minDate',
'maxDate',
'yearRange',
'firstDay',
]);
$this->mode = strtolower($this->mode);
@ -112,6 +119,7 @@ class DatePicker extends FormWidgetBase
$this->vars['minDate'] = $this->minDate;
$this->vars['maxDate'] = $this->maxDate;
$this->vars['yearRange'] = $this->yearRange;
$this->vars['firstDay'] = $this->firstDay;
$this->vars['format'] = $this->format;
$this->vars['formatMoment'] = $this->getDateFormatMoment();
$this->vars['formatAlias'] = $this->getDateFormatAlias();

View File

@ -44,7 +44,7 @@ class PermissionEditor extends FormWidgetBase
}
$this->vars['checkboxMode'] = $this->getControlMode() === 'checkbox';
$this->vars['permissions'] = BackendAuth::listTabbedPermissions();
$this->vars['permissions'] = $this->getFilteredPermissions();
$this->vars['baseFieldName'] = $this->getFieldName();
$this->vars['permissionsData'] = $permissionsData;
$this->vars['field'] = $this->formField;
@ -55,11 +55,29 @@ class PermissionEditor extends FormWidgetBase
*/
public function getSaveValue($value)
{
if (is_array($value)) {
return $value;
$newPermissions = is_array($value) ? array_map('intval', $value) : [];
if (!empty($newPermissions)) {
$existingPermissions = $this->model->permissions;
$allowedPermissions = array_map(function ($permissionObject) {
return $permissionObject->code;
}, array_flatten($this->getFilteredPermissions()));
foreach ($newPermissions as $permission => $code) {
if ($code === 0) {
continue;
}
if (in_array($permission, $allowedPermissions)) {
$existingPermissions[$permission] = $code;
}
}
$newPermissions = $existingPermissions;
}
return [];
return $newPermissions;
}
/**
@ -75,4 +93,30 @@ class PermissionEditor extends FormWidgetBase
{
return strlen($this->mode) ? $this->mode : 'radio';
}
/**
* Returns the available permissions; removing those that the logged-in user does not have access to
*
* @return array The permissions that the logged-in user does have access to
*/
protected function getFilteredPermissions()
{
$permissions = BackendAuth::listTabbedPermissions();
$user = BackendAuth::getUser();
foreach ($permissions as $tab => $permissionsArray) {
foreach ($permissionsArray as $index => $permission) {
if (!$user->hasAccess($permission->code)) {
unset($permissionsArray[$index]);
}
}
if (empty($permissionsArray)) {
unset($permissions[$tab]);
} else {
$permissions[$tab] = $permissionsArray;
}
}
return $permissions;
}
}

View File

@ -179,6 +179,10 @@ class RecordFinder extends FormWidgetBase
public function prepareVars()
{
$this->relationModel = $this->getLoadValue();
if ($this->formField->disabled) {
$this->previewMode = true;
}
$this->vars['value'] = $this->getKeyValue();
$this->vars['field'] = $this->formField;

View File

@ -28,11 +28,6 @@ class Relation extends FormWidgetBase
*/
public $nameFrom = 'name';
/**
* @var string Model column to use for the description reference
*/
public $descriptionFrom = 'description';
/**
* @var string Custom SQL column selection to use for the name reference
*/
@ -69,7 +64,6 @@ class Relation extends FormWidgetBase
{
$this->fillFromConfig([
'nameFrom',
'descriptionFrom',
'emptyOption',
'scope',
]);

View File

@ -91,6 +91,10 @@ class Repeater extends FormWidgetBase
'maxItems',
]);
if ($this->formField->disabled) {
$this->previewMode = true;
}
$fieldName = $this->formField->getName(false);
$this->indexInputName = self::INDEX_PREFIX.$fieldName;
$this->groupInputName = self::GROUP_PREFIX.$fieldName;
@ -116,6 +120,12 @@ class Repeater extends FormWidgetBase
*/
public function prepareVars()
{
if ($this->previewMode) {
foreach ($this->formWidgets as $widget) {
$widget->previewMode = true;
}
}
$this->vars['indexInputName'] = $this->indexInputName;
$this->vars['groupInputName'] = $this->groupInputName;

View File

@ -85,6 +85,7 @@ class RichEditor extends FormWidgetBase
$this->vars['value'] = $this->getLoadValue();
$this->vars['toolbarButtons'] = $this->evalToolbarButtons();
$this->vars['globalToolbarButtons'] = EditorSetting::getConfigured('html_toolbar_buttons');
$this->vars['allowEmptyTags'] = EditorSetting::getConfigured('html_allow_empty_tags');
$this->vars['allowTags'] = EditorSetting::getConfigured('html_allow_tags');
$this->vars['noWrapTags'] = EditorSetting::getConfigured('html_no_wrap_tags');

View File

@ -122,7 +122,7 @@ class TagList extends FormWidgetBase
foreach ($newTags as $newTag) {
$newModel = $relationModel::create([$this->nameFrom => $newTag]);
$existingTags[$newModel->id] = $newTag;
$existingTags[$newModel->getKey()] = $newTag;
}
return array_keys($existingTags);

View File

@ -14,6 +14,7 @@
<?php if ($minDate): ?>data-min-date="<?= $minDate ?>"<?php endif ?>
<?php if ($maxDate): ?>data-max-date="<?= $maxDate ?>"<?php endif ?>
<?php if ($yearRange): ?>data-year-range="<?= $yearRange ?>"<?php endif ?>
<?php if ($firstDay): ?>data-first-day="<?= $firstDay ?>"<?php endif ?>
>
<?php if ($mode == 'date'): ?>

View File

@ -1,6 +1,6 @@
/*
* Field Repeater plugin
*
*
* Data attributes:
* - data-control="fieldrepeater" - enables the plugin on an element
* - data-option="value" - an option with a value
@ -193,6 +193,11 @@
var $textInput = $('input[type=text]:first', $target)
if ($textInput.length) {
return $textInput.val()
} else {
var $disabledTextInput = $('.text-field:first > .form-control', $target)
if ($disabledTextInput.length) {
return $disabledTextInput.text()
}
}
return defaultText

View File

@ -13,24 +13,26 @@
<?php endforeach ?>
</ul>
<div class="field-repeater-add-item loading-indicator-container indicator-center">
<?php if ($useGroups): ?>
<a
href="javascript:;"
data-repeater-add-group
data-load-indicator>
<?= e(trans($prompt)) ?>
</a>
<?php else: ?>
<a
href="javascript:;"
data-repeater-add
data-request="<?= $this->getEventHandler('onAddItem') ?>"
data-load-indicator>
<?= e(trans($prompt)) ?>
</a>
<?php endif ?>
</div>
<?php if (!$this->previewMode): ?>
<div class="field-repeater-add-item loading-indicator-container indicator-center">
<?php if ($useGroups): ?>
<a
href="javascript:;"
data-repeater-add-group
data-load-indicator>
<?= e(trans($prompt)) ?>
</a>
<?php else: ?>
<a
href="javascript:;"
data-repeater-add
data-request="<?= $this->getEventHandler('onAddItem') ?>"
data-load-indicator>
<?= e(trans($prompt)) ?>
</a>
<?php endif ?>
</div>
<?php endif ?>
<script type="text/template" data-group-palette-template>
<div class="popover-head">

View File

@ -6,22 +6,24 @@
<?= $itemTitle ? 'data-collapse-title="'.$itemTitle.'"' : '' ?>
class="field-repeater-item">
<div class="repeater-item-handle <?= $this->getId('items') ?>-handle">
<i class="icon-bars"></i>
</div>
<?php if (!$this->previewMode): ?>
<div class="repeater-item-handle <?= $this->getId('items') ?>-handle">
<i class="icon-bars"></i>
</div>
<div class="repeater-item-remove">
<button
type="button"
class="close"
aria-label="Remove"
data-repeater-remove
data-request="<?= $this->getEventHandler('onRemoveItem') ?>"
data-request-data="'_repeater_index': '<?= $indexValue ?>', '_repeater_group': '<?= $groupCode ?>'"
data-request-confirm="<?= e(trans('backend::lang.form.action_confirm')) ?>">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="repeater-item-remove">
<button
type="button"
class="close"
aria-label="Remove"
data-repeater-remove
data-request="<?= $this->getEventHandler('onRemoveItem') ?>"
data-request-data="'_repeater_index': '<?= $indexValue ?>', '_repeater_group': '<?= $groupCode ?>'"
data-request-confirm="<?= e(trans('backend::lang.form.action_confirm')) ?>">
<span aria-hidden="true">&times;</span>
</button>
</div>
<?php endif ?>
<div class="repeater-item-collapse">
<a href="javascript:;" class="repeater-item-collapse-one">

View File

@ -8,7 +8,8 @@
<?php if ($fullPage): ?>data-fullpage="true"<?php endif ?>
<?php if ($readOnly): ?>data-read-only="true"<?php endif ?>
<?php if ($editorLang): ?>data-editor-lang="<?= $editorLang ?>"<?php endif ?>
<?php if ($toolbarButtons): ?>data-toolbar-buttons="<?= implode(',', $toolbarButtons) ?>"<?php endif ?>
<?php if ($toolbarButtons): ?>data-toolbar-buttons="<?= implode(',', $toolbarButtons) ?>"
<?php elseif ($globalToolbarButtons): ?>data-toolbar-buttons="<?= str_replace(" ", "", $globalToolbarButtons) ?>"<?php endif ?>
<?php if ($allowEmptyTags): ?>data-allow-empty-tags="<?= e($allowEmptyTags) ?>"<?php endif ?>
<?php if ($allowTags): ?>data-allow-tags="<?= e($allowTags) ?>"<?php endif ?>
<?php if ($noWrapTags): ?>data-no-wrap-tags="<?= e($noWrapTags) ?>"<?php endif ?>

View File

@ -39,6 +39,7 @@ return [
'restore' => 'Restore',
'login_placeholder' => 'login',
'password_placeholder' => 'password',
'remember_me' => 'Stay logged in',
'forgot_password' => 'Forgot your password?',
'enter_email' => 'Enter your email',
'enter_login' => 'Enter your login',
@ -360,7 +361,9 @@ return [
'no_wrap' => 'Do not wrap tags',
'no_wrap_comment' => 'The list of tags that should not be wrapped inside block tags.',
'remove_tags' => 'Remove tags',
'remove_tags_comment' => 'The list of tags that are removed together with their content.'
'remove_tags_comment' => 'The list of tags that are removed together with their content.',
'toolbar_buttons' => 'Toolbar Buttons',
'toolbar_buttons_comment' => 'The Toolbar Buttons to be displayed in the Rich Editor by default. [fullscreen, bold, italic, underline, strikeThrough, subscript, superscript, fontFamily, fontSize, |, color, emoticons, inlineStyle, paragraphStyle, |, paragraphFormat, align, formatOL, formatUL, outdent, indent, quote, insertHR, -, insertLink, insertImage, insertVideo, insertAudio, insertFile, insertTable, undo, redo, clearFormatting, selectAll, html]',
],
'tooltips' => [
'preview_website' => 'Preview the website'

View File

@ -0,0 +1,497 @@
<?php
return [
'auth' => [
'title' => 'Haldusliides'
],
'field' => [
'invalid_type' => 'Välja tüüpi :type pole olemas.',
'options_method_invalid_model' => "Atribuut ':field' ei vasta ühelegi olemasolevale andmemudelile. Palun defineeri valikväärtuste funktioon :model andmemudelis.",
'options_method_not_exists' => "Andmemudelis :model peab olema defineeritud funktsioon :method(), mis tagastab valikväärtused välja ':field' jaoks."
],
'widget' => [
'not_registered' => "Vidina klassinimi ':name' pole registreeritud",
'not_bound' => "Vidin klassinimega ':name' pole seotud kontrolleriga"
],
'page' => [
'untitled' => 'Nimeta',
'access_denied' => [
'label' => 'Juurdepääs keelatud',
'help' => "Sul pole vajalikke õiguseid, et seda lehte näha.",
'cms_link' => 'Tagasi haldusliidesesse'
],
'no_database' => [
'label' => 'Andmebaas puudub',
'help' => "Haldusliidese kasutamiseks peab olemas seadistatud andmebaas. Enne jätkamist palun kontrolli andmebaasi seadistust.",
'cms_link' => 'Tagasi kodulehele'
],
'invalid_token' => [
'label' => 'Vigane turvamärk'
]
],
'partial' => [
'not_found_name' => "Koodiblokki ':name' ei leitud."
],
'account' => [
'sign_out' => 'Logi välja',
'login' => 'Logi sisse',
'reset' => 'Lähtesta',
'restore' => 'Taasta',
'login_placeholder' => 'logi sisse',
'password_placeholder' => 'parool',
'forgot_password' => 'Unustasid parooli?',
'enter_email' => 'Sisesta oma e-post',
'enter_login' => 'Sisesta oma kasutajanimi',
'email_placeholder' => 'e-post',
'enter_new_password' => 'Siseta uus parool',
'password_reset' => 'Parooli lähtestamine',
'restore_success' => 'Sinu e-posti aadressile saadeti kiri juhistega.',
'restore_error' => "Sellist kasutajat ei ole süsteemis: ':login'",
'reset_success' => 'Parool on lähtestatud, võid nüüd oma uue parooli sisse logida.',
'reset_error' => 'Sisestasid parooli lähtestamiseks vigased andmed. Palun proovi uuesti!',
'reset_fail' => 'Parooli lähtestamine ebaõnnestus!',
'apply' => 'Rakenda',
'cancel' => 'Loobu',
'delete' => 'Kustuta',
'ok' => 'OK'
],
'dashboard' => [
'menu_label' => 'Töölaud',
'widget_label' => 'Vidin',
'widget_width' => 'Laius',
'full_width' => 'täislaius',
'manage_widgets' => 'Halda vidinaid',
'add_widget' => 'Lisa vidin',
'widget_inspector_title' => 'Vidina seaded',
'widget_inspector_description' => 'Seadista töölaua vidin',
'widget_columns_label' => 'Laius :columns',
'widget_columns_description' => 'Vidina laius ekraanil, vahemikus 1 kuni 10.',
'widget_columns_error' => 'Vidina laius peab olema täisarv vahemikus 1-10.',
'columns' => '{1} veerg|[2,Inf] veergu',
'widget_new_row_label' => 'Näita uuel real',
'widget_new_row_description' => 'Näita vidinat alati uuel real.',
'widget_title_label' => 'Vidina nimi',
'widget_title_error' => 'Vidina nimi on kohustuslik.',
'reset_layout' => 'Lähtesta paigutus',
'reset_layout_confirm' => 'Lähtesta vidinate paigutus vaikeseadele?',
'reset_layout_success' => 'Vidinate paigutus on lähtestatud',
'make_default' => 'Määra vaikeseadeks',
'make_default_confirm' => 'Kas soovid määrata praeguse vidinate paigutuse vaikeseadeks?',
'make_default_success' => 'Praegune paigutus on nüüd vaikeseade.',
'collapse_all' => 'Peida kõik',
'expand_all' => 'Näita kõiki',
'status' => [
'widget_title_default' => 'Süsteemi olek',
'update_available' => '{0} uuendust saadval!|{1} uuendus saadaval!|[2,Inf] uuendust saadaval!',
'updates_pending' => 'Ootel süsteemiuuendused',
'updates_nil' => 'Süsteem on ajakohane',
'updates_link' => 'Uuenda',
'warnings_pending' => 'Mõned küsimused nõuavad tähelepanu',
'warnings_nil' => 'Kõik on korras',
'warnings_link' => 'Vaata',
'core_build' => 'Süsteemi versioon',
'event_log' => 'Sündmuste logi',
'request_log' => 'Päringute logi',
'app_birthday' => 'Süsteem on töös alates',
],
'welcome' => [
'widget_title_default' => 'Tere tulemast',
'welcome_back_name' => ':app. Tere tulemast tagasi, :name.',
'welcome_to_name' => ':app. Tere, :name.',
'first_sign_in' => 'See on esimene kord kui oled sisse loginud.',
'last_sign_in' => 'Sinu viimane sisselogimine oli',
'view_access_logs' => 'Vaata juurdepääsu logi',
'nice_message' => 'Kena päeva jätku!',
]
],
'user' => [
'name' => 'Administraator',
'menu_label' => 'Administraatorid',
'menu_description' => 'Muuda haldusliidese kasutajaid, õiguseid ja gruppe.',
'list_title' => 'Halda administraatoreid',
'new' => 'Uus administraator',
'login' => 'Logi sisse',
'first_name' => 'Eesnimi',
'last_name' => 'Perenimi',
'full_name' => 'Täisnimi',
'email' => 'E-post',
'groups' => 'Grupid',
'groups_comment' => 'Määra millistesse gruppidesse kasutaja kuulub. Grupid määravad ära kasutaja juurdepääsu õigused, mida on võimalik eralid seadistada ka õiguste alt.',
'avatar' => 'Avatar',
'password' => 'Parool',
'password_confirmation' => 'Korda parooli',
'permissions' => 'Õigused',
'account' => 'Konto',
'superuser' => 'Ülemkasutaja',
'superuser_comment' => 'Ülemkasutajal on juurdepääs kogu süsteemile. Samuti on õigus luua uusi kasutajakontosid. ',
'send_invite' => 'Saada kutse e-postiga',
'send_invite_comment' => 'Saadat tervituskiri, mis sisaldab ka sisse logimiseks vajalikku kasutajanime ja parooli.',
'delete_confirm' => 'Kustuta administraator?',
'return' => 'Tagasin nimekirja',
'allow' => 'Luba',
'inherit' => 'Päritud',
'deny' => 'Keela',
'activated' => 'Aktiveeritud',
'last_login' => 'Viimane sisselogimine',
'created_at' => 'Loodud',
'updated_at' => 'Muudetud',
'group' => [
'name' => 'Grupp',
'name_comment' => 'Grupi nime kuvatakse administraatori loomise ja muutmise vormides olevas gruppide nimekirjas.',
'name_field' => 'Nimi',
'description_field' => 'Kirjeldus',
'is_new_user_default_field_label' => 'Vaikimisi grupp',
'is_new_user_default_field_comment' => 'Uued kasutajad lisatakse automaatselt sellesse gruppi',
'code_field' => 'Kood',
'code_comment' => 'Unikaalne kood, mida kasutatakse süsteemisiseselt.',
'menu_label' => 'Halda gruppe',
'list_title' => 'Halda gruppe',
'new' => 'Uus grupp',
'delete_confirm' => 'Kusuta see grupp?',
'return' => 'Tagasi nimekirja',
'users_count' => 'Kasutajad'
],
'preferences' => [
'not_authenticated' => 'Puudub autoriseeritud kasutaja kellele seadeid laadida või salvestada.'
]
],
'list' => [
'default_title' => 'Nimekiri',
'search_prompt' => 'Otsi...',
'no_records' => 'Siin vaates pole ühtegi kirjet.',
'missing_model' => 'Klassis :class ei ole nimekirjade jaoks defineeritud andmemudelit.',
'missing_column' => ':columns jaoks puuduvad veergude definitsioonid.',
'missing_columns' => 'Klassis :class kasutatud nimekirjal puudvad veergude definitsioonid.',
'missing_definition' => "':field' jaoks puudub nimekirja veeru definitsioon.",
'missing_parent_definition' => "Nimekirjal puudub definitsioon ':definition' kohta.",
'behavior_not_ready' => 'Nimekirjade funktsionaalsus pole initsialiseeritud, vaata üle, et makeLists() oleks kontrolleris välja kutsutud.',
'invalid_column_datetime' => "Veeru väärtus ':column' ei ole DateTime objekt. Võibolla on andmemudelis puudu \$dates muutuja viide?",
'pagination' => 'Kuvatud kirjeid: :from-:to. Kokku: :total',
'first_page' => 'Esimene leht',
'last_page' => 'Viimane leht',
'prev_page' => 'Eelmine leht',
'next_page' => 'Järgmine leht',
'refresh' => 'Laadi uuesti',
'updating' => 'Uuendan...',
'loading' => 'Laen...',
'setup_title' => 'Nimekirja seadistus',
'setup_help' => 'Vali veerud, mida soovid näha nimekirjas. Veergude järjestust saad muuta lohistades neid üles-alla.',
'records_per_page' => 'Kirjeid lehel',
'records_per_page_help' => 'Vali kirjete arv, mida soovid ühel lehel kuvada. NB! mida rohkem kirjeid lehel kuvatakse, seda kauem võtab aega lehe laadimine.',
'check' => 'Vali',
'delete_selected' => 'Kustuta valitud',
'delete_selected_empty' => 'Ühtegi kirjet ei valitud.',
'delete_selected_confirm' => 'Kustuta valitud kirjed?',
'delete_selected_success' => 'Valitud kirjed on kustutatud.',
'column_switch_true' => 'Jah',
'column_switch_false' => 'Ei'
],
'fileupload' => [
'attachment' => 'Manus',
'help' => 'Manuse nimi ja kirjeldus.',
'title_label' => 'Nimi',
'description_label' => 'Kirjeldus',
'default_prompt' => 'Faili üleslaadimiseks kliki %s või lohista fail siia',
'attachment_url' => 'Manuse URL',
'upload_file' => 'Lae fail üles',
'upload_error' => 'Üleslaadimisel tekkis viga',
'remove_confirm' => 'Oled sa kindel?',
'remove_file' => 'Eemalda fail'
],
'form' => [
'create_title' => 'Loomine: :name',
'update_title' => 'Muutmine: :name',
'preview_title' => 'Eelvaade: :name',
'create_success' => ':name loodud',
'update_success' => ':name muudetud',
'delete_success' => ':name kustutatud',
'reset_success' => 'Lähtestamine edukas',
'missing_id' => 'Vormis puudus kirje ID.',
'missing_model' => 'Klassis :class ei ole vormi jaoks defineeritud andmemudelit.',
'missing_definition' => "Väli ':field' ei ole vormis defineeritud.",
'not_found' => 'Kirjet ID-ga :id ei leitud.',
'action_confirm' => 'Oled sa kindel?',
'create' => 'Loo',
'create_and_close' => 'Loo ja sulge',
'creating' => 'Loon...',
'creating_name' => 'Loon objekti :name...',
'save' => 'Salvesta',
'save_and_close' => 'Salvesta ja sulge',
'saving' => 'Salvestan...',
'saving_name' => 'Salvestan objekti :name...',
'deleting' => 'Kustutan...',
'delete' => 'Kustuta',
'confirm_delete' => 'Kustuta kirje?',
'confirm_delete_multiple' => 'Kustuta valitud kirjed?',
'deleting_name' => 'Kustutan objekti :name...',
'reset_default' => 'Lähtesta vaikeväärtus',
'resetting' => 'Lähtestan',
'resetting_name' => 'Lähtestan objekti :name',
'undefined_tab' => 'Muu',
'field_off' => 'Ei',
'field_on' => 'Jah',
'add' => 'Lisa',
'apply' => 'Rakenda',
'cancel' => 'Loobu',
'close' => 'Sulge',
'confirm' => 'Kinnita',
'reload' => 'Lae uuesti',
'complete' => 'Lõpeta',
'ok' => 'OK',
'or' => 'või',
'confirm_tab_close' => 'Sulge vaheleht? Salvestamata muudatused lähevad kaduma.',
'behavior_not_ready' => 'Vormi funktsionaalsus pole initsialiseeritud, vaata üle, et initForm() oleks kontrolleris välja kutsutud.',
'preview_no_files_message' => 'Ühtegi faili pole üles laetud.',
'preview_no_media_message' => 'Ühtegi meediafaili pole valitud.',
'preview_no_record_message' => 'Ühtegi kirjet pole valitud.',
'select' => 'Vali',
'select_all' => 'kõik',
'select_none' => 'mitte ükski',
'select_placeholder' => 'palun vali',
'insert_row' => 'Lisa rida',
'insert_row_below' => 'Lisa rida alla',
'delete_row' => 'Kustuta rida',
'concurrency_file_changed_title' => 'Faili on muudetud',
'concurrency_file_changed_description' => "Teine kasutaja on muutnud sama faili, mida sina praegu muudad. Võid faili uuesti laadida ja sellega kaotada oma muudatused või kirjutada üle teise kasutaja muudatused.",
'return_to_list' => 'Tagasi nimekirja'
],
'recordfinder' => [
'find_record' => 'Leia kirje',
'cancel' => 'Loobu',
],
'pagelist' => [
'page_link' => 'Lehe link',
'select_page' => 'Vali leht...'
],
'relation' => [
'missing_config' => "':config' jaoks puuduvad seoste definitsioonid.",
'missing_definition' => "Välja ':field' jaoks puudub seose definitsioon.",
'missing_model' => 'Klassis :class ei ole seoste jaoks defineeritud andmemudelit.',
'invalid_action_single' => 'Üks-ühele seosega ei saa seda tegevust sooritada.',
'invalid_action_multi' => 'Mitu-mitmele seosega ei saa seda tegevust sooritada.',
'help' => 'Lisamiseks kliki kirjel',
'related_data' => 'Seotud objekti andmed: :name',
'add' => 'Lisa',
'add_selected' => 'Lisa valitud',
'add_a_new' => 'Lisa uus :name',
'link_selected' => 'Lisa valitud',
'link_a_new' => 'Lisa uus :name',
'cancel' => 'Loobu',
'close' => 'Sulge',
'add_name' => 'Lisa :name',
'create' => 'Loo',
'create_name' => 'Loo :name',
'update' => 'Uuenda',
'update_name' => 'Uuenda objekti :name',
'preview' => 'Eelvaade',
'preview_name' => 'Objekti :name eelvaade',
'remove' => 'Eemalda',
'remove_name' => 'Eemalda :name',
'delete' => 'Kustuta',
'delete_name' => 'Kustuta :name',
'delete_confirm' => 'Oled sa kindel?',
'link' => 'Lisa seos',
'link_name' => 'Lisa :name',
'unlink' => 'Eemalda',
'unlink_name' => 'Eemalda :name',
'unlink_confirm' => 'Oled sa kindel?'
],
'reorder' => [
'default_title' => 'Muuda järjestust',
'no_records' => 'Ühtegi kirjet ei leitud.'
],
'model' => [
'name' => 'Andmemudel',
'not_found' => "Andmemudelit ':class' ID-ga :id ei leitud",
'missing_id' => 'Andmemudeli ID väärtus puudub.',
'missing_relation' => "Andmemudelil ':class' puudub definitsioon seosele ':relation'.",
'missing_method' => "Andmemudelil ':class' puudub funktsioon ':method'.",
'invalid_class' => "Klassis :class kasutatud andmemudel :model ei ole korrektne. See peab olema päritud klassist \Model.",
'mass_assignment_failed' => "Andmemudeli atribuudi ':attribute' väärtuste määramine ebaõnnestus."
],
'warnings' => [
'tips' => 'Näpunäited süsteemi seadistamiseks',
'tips_description' => 'Süsteemi õigeks seadistamiseks on vaja meeles pidada paari olulist aspekti.',
'permissions' => 'PHP-l ei ole õigust kirjutada katallogi :name või selle alamkataloogidesse. Palun paranda kataloogide juurdepääsuõigused serveris.',
'extension' => 'PHP laiendus :name ei ole paigaldatud. Süsteemi toimiseks on vajalik selle paigaldamine.',
'plugin_missing' => 'Plugin :name on vajalik süsteemi toimimiseks, kuid seda pole paigaldatud. Palun paigalda see plugin.',
],
'editor' => [
'menu_label' => 'Tekstiredaktori seadistused',
'menu_description' => 'Isikupärast kõikjal kasutatavaid redaktori seadeid, nagu teksti suurus ja värvivalik.',
'font_size' => 'Teksti suurus',
'tab_size' => 'Taande suurus',
'use_hard_tabs' => 'Ära kasuta taandel tühikuid',
'code_folding' => 'Koodi murdmine',
'code_folding_begin' => 'Murdmise algus',
'code_folding_begin_end' => 'Murdmise algus ja lõpp',
'autocompletion' => 'Automaattäitmine',
'word_wrap' => 'Sõnamurdmine',
'highlight_active_line' => 'Tõsta aktiivne rida esile',
'auto_closing' => 'Automaatselt sulge HTML tägid',
'show_invisibles' => 'Näita peidetu märke',
'show_gutter' => 'Näita jalust',
'basic_autocompletion'=> 'Lihtne automaattäitmine (Ctrl + Space)',
'live_autocompletion'=> 'Live automaattäitmine',
'enable_snippets'=> 'Kasuta eeldefineeritud koodijuppe (Tab)',
'display_indent_guides'=> 'Näide taande juhtjooni',
'show_print_margin'=> 'Näita printimise juhtjooni',
'mode_off' => 'Väljas',
'mode_fluid' => 'Voolav',
'40_characters' => '40 tähemärki',
'80_characters' => '80 tähemärki',
'theme' => 'Värvivalik',
'markup_styles' => 'Markup stiilid',
'custom_styles' => 'Kohandatud CSS',
'custom styles_comment' => 'Kohandatud CSS reglid, mis lisada HTML redaktorile.',
'markup_classes' => 'Markup klassid',
'paragraph' => 'Lõik',
'link' => 'Link',
'table' => 'Tabel',
'table_cell' => 'Tabeli lahter',
'image' => 'Pilt',
'label' => 'Silt',
'class_name' => 'Klassi nimi',
'markup_tags' => 'Markup tägid',
'allowed_empty_tags' => 'Luba tühjad HTML tägid',
'allowed_empty_tags_comment' => 'Nimekiri HTML tägidest, mida automaatselt ei eemaldata kui neis pole sisu.',
'allowed_tags' => 'Lubatud HTML tägid',
'allowed_tags_comment' => 'Nimekiri lubatud HTML tägidest.',
'no_wrap' => 'HTML blokktägid',
'no_wrap_comment' => 'Nimekiri HTML tägidest, mida ei ole automaatselt vaja panna blokktägide sisse.',
'remove_tags' => 'Eemalda HTML tägid',
'remove_tags_comment' => 'Nimekiri HTML tägidest, mis eemaldatakse automaatselt koos sisuga.'
],
'tooltips' => [
'preview_website' => 'Kodulehe eelvaade'
],
'mysettings' => [
'menu_label' => 'Minu seaded',
'menu_description' => 'Sinu haldusliidese kontoga seonduvad seadistused'
],
'myaccount' => [
'menu_label' => 'Minu konto',
'menu_description' => 'Muuda oma konto andmeid nagu nimi, e-posti aadress ja parool.',
'menu_keywords' => 'parool konto turva sala'
],
'branding' => [
'menu_label' => 'Isikupärasta haldusliidest',
'menu_description' => 'Muuda haldusliidese välimust (nt nimi, värvid, logo)',
'brand' => 'Bränd',
'logo' => 'Logo',
'logo_description' => 'Lae üles logo, mida kasutada haldusliideses.',
'app_name' => 'Haldusliidese nimi',
'app_name_description' => 'Seda nime kuvatakse haldusliidese päises.',
'app_tagline' => 'Tervitustekst',
'app_tagline_description' => 'Seda teksti kuvatakse haldusliidesesse sisselogimisel.',
'colors' => 'Värvid',
'primary_color' => 'Peamine värv',
'secondary_color' => 'Teine color',
'accent_color' => 'Aktsendi color',
'styles' => 'Stiilid',
'custom_stylesheet' => 'Kohandatud CSS',
'navigation' => 'Navigatsioon',
'menu_mode' => 'Menüü stiil',
'menu_mode_inline' => 'Järjekorras',
'menu_mode_tile' => 'Kastid',
'menu_mode_collapsed' => 'Minimaalne'
],
'backend_preferences' => [
'menu_label' => 'Haldusliidese seaded',
'menu_description' => 'Muuda oma haldusliidese seadeid nagu keel jm.',
'region' => 'Regioon',
'code_editor' => 'Koodi redaktor',
'timezone' => 'Ajatsoon',
'timezone_comment' => 'Kuva kõiki kuupäevi selles ajatsoonis.',
'locale' => 'Keel',
'locale_comment' => 'Vali haldusliidese keel.'
],
'access_log' => [
'hint' => 'See logi sisaldab kõiki edukaid sisselogimisi haldusliidesesse. Andmeid hoitakse maksimaalselt :days päeva.',
'menu_label' => 'Juurdepääsu logi',
'menu_description' => 'Näita kõiki õnnestunud sisselogimisi.',
'created_at' => 'Kuupäev',
'login' => 'Kasutjanimi',
'ip_address' => 'IP aaddress',
'first_name' => 'Eesnimi',
'last_name' => 'Perenimi',
'email' => 'E-post'
],
'filter' => [
'all' => 'kõik',
'options_method_not_exists' => "Andmemudelis :model peab olema defineeritud functioon :method(), mis tagastab valikud filtrile ':filter'.",
'date_all' => 'kõik perioodid'
],
'import_export' => [
'upload_csv_file' => '1. Lae üles CSV fail',
'import_file' => 'Impordi fail',
'first_row_contains_titles' => 'Esimene rida sisaldab veerupäiseid',
'first_row_contains_titles_desc' => 'Märgi see kast kui üleslaetavas CSV failis on esimesel real veergude nimed.',
'match_columns' => '2. Ühenda failis olevad veerud andmebaasi väljadega',
'file_columns' => 'Faili veerud',
'database_fields' => 'Andmebaasi väljad',
'set_import_options' => '3. Määra impordi valikud',
'export_output_format' => '1. Ekspordi väljundi formaat',
'file_format' => 'Failiformaat',
'standard_format' => 'Tavaline',
'custom_format' => 'Kohandatud',
'delimiter_char' => 'Veergude eraldaja',
'enclosure_char' => 'Veerud on ümbritsetud',
'escape_char' => 'Paomärk',
'select_columns' => '2. Vali veerud, mida eksportida',
'column' => 'Veerg',
'columns' => 'Veerud',
'set_export_options' => '3. Määra ekspordi valikud',
'show_ignored_columns' => 'Näita väljajätetud veergusid',
'auto_match_columns' => 'Ühenda andmed automaatselt',
'created' => 'Loodud',
'updated' => 'Uuendatud',
'skipped' => 'Vahelejäetud',
'warnings' => 'Hoiatusi',
'errors' => 'Vigu',
'skipped_rows' => 'Vahelejäetud read',
'import_progress' => 'Impordi progress',
'processing' => 'Töötlen',
'import_error' => 'Impordi viga',
'upload_valid_csv' => 'Palun lae üles korrektne CSV fail.',
'drop_column_here' => 'Lohista veerg siia...',
'ignore_this_column' => 'Jäta see veerg vahele',
'processing_successful_line1' => 'Faili loomise protsess lõpetatud!',
'processing_successful_line2' => 'Veebilehitseja suunab kohe edasi faili allalaadimisele.',
'export_progress' => 'Ekspordi progress',
'export_error' => 'Ekspordi viga',
'column_preview' => 'Veeru eelvaade',
'file_not_found_error' => 'Faili ei leitud',
'empty_error' => 'Eksportimiseks ei leitud andmeid',
'empty_import_columns_error' => 'Impordiks peab valima vähemalt ühe veeru.',
'match_some_column_error' => 'Palun seo mõni veerg andmebaasi väljaga.',
'required_match_column_error' => 'Kohustuslik väli :label peab olema seotud.',
'empty_export_columns_error' => 'Ekspordiks peab valima vähemalt ühe veeru.',
'behavior_missing_uselist_error' => 'Kontrolleris peab olema kasutusel nimekirjade funktsionaalsus ning peab olema määratud "useList" valik.',
'missing_model_class_error' => 'Palun määra andmemudeli klassi atribuudi tüüp: :type',
'missing_column_id_error' => 'Puudu veeru ID',
'unknown_column_error' => 'Tundmatu veerg',
'encoding_not_supported_error' => 'Lähtefaili kodeering ei ole tuvastatav. Importimiseks määra kodeering kohandatud impordi seadete alt.',
'encoding_format' => 'Faili kodeering',
'encodings' => [
'utf_8' => 'UTF-8',
'us_ascii' => 'US-ASCII',
'iso_8859_1' => 'ISO-8859-1 (Latin-1, Western European)',
'iso_8859_2' => 'ISO-8859-2 (Latin-2, Central European)',
'iso_8859_3' => 'ISO-8859-3 (Latin-3, South European)',
'iso_8859_4' => 'ISO-8859-4 (Latin-4, North European)',
'iso_8859_5' => 'ISO-8859-5 (Latin, Cyrillic)',
'iso_8859_6' => 'ISO-8859-6 (Latin, Arabic)',
'iso_8859_7' => 'ISO-8859-7 (Latin, Greek)',
'iso_8859_8' => 'ISO-8859-8 (Latin, Hebrew)',
'iso_8859_0' => 'ISO-8859-9 (Latin-5, Turkish)',
'iso_8859_10' => 'ISO-8859-10 (Latin-6, Nordic)',
'iso_8859_11' => 'ISO-8859-11 (Latin, Thai)',
'iso_8859_13' => 'ISO-8859-13 (Latin-7, Baltic Rim)',
'iso_8859_14' => 'ISO-8859-14 (Latin-8, Celtic)',
'iso_8859_15' => 'ISO-8859-15 (Latin-9, Western European revision with euro sign)',
'windows_1251' => 'Windows-1251 (CP1251)',
'windows_1252' => 'Windows-1252 (CP1252)'
]
]
];

View File

@ -39,6 +39,7 @@ return [
'restore' => 'Restaurer',
'login_placeholder' => 'identifiant',
'password_placeholder' => 'mot de passe',
'remember_me' => 'Rester connecté',
'forgot_password' => 'Mot de passe oublié ?',
'enter_email' => 'Saisir votre adresse e-mail',
'enter_login' => 'Saisir votre identifiant',

View File

@ -6,6 +6,7 @@ return [
],
'field' => [
'invalid_type' => 'Использован неверный тип поля: :type.',
'options_method_invalid_model' => "The attribute ':field' does not resolve to a valid model. Try specifying the options method for model class :model explicitly.",
'options_method_not_exists' => "Класс модели :model должен содержать метод :method(), возвращающий опции для поля формы ':field'."
],
'widget' => [
@ -19,6 +20,11 @@ return [
'help' => 'У вас нет необходимых прав для просмотра этой страницы.',
'cms_link' => 'Перейти к CMS'
],
'no_database' => [
'label' => 'Отсутствует база данных',
'help' => "Для доступа к серверу требуется база данных. Проверьте, что база данных настроена и перенесена, прежде чем повторять попытку.",
'cms_link' => 'Вернуться на главную страницу'
],
'invalid_token' => [
'label' => 'Неверный токен безопасности'
]
@ -157,9 +163,12 @@ return [
'missing_column' => 'Нет никаких определений столбца для :columns.',
'missing_columns' => 'Список используемый в :class не имеет никаких столбцов.',
'missing_definition' => "Поведение списка не содержит столбец для ':field'.",
'missing_parent_definition' => "Поведение списка не содержит определения для ':definition'.",
'behavior_not_ready' => 'Поведение списка не было инициализировано, проверьте вызов makeLists() в вашем контроллере.',
'invalid_column_datetime' => "Значение столбца ':column' не является объектом DateTime. Отсутствует \$dates ссылка в модели?",
'pagination' => 'Отображено записей: :from-:to из :total',
'first_page' => 'Первая страница',
'last_page' => 'Последняя страница',
'prev_page' => 'Предыдущая страница',
'next_page' => 'Следующая страница',
'refresh' => 'Обновить',
@ -169,6 +178,7 @@ return [
'setup_help' => 'Используйте флажки для выбора колонок, которые вы хотите видеть в списке. Вы можете изменить положение столбцов, перетаскивая их вверх или вниз.',
'records_per_page' => 'Записей на странице',
'records_per_page_help' => 'Выберите количество записей на странице для отображения. Обратите внимание, что большое количество записей на одной странице может привести к снижению производительности.',
'check' => 'Проверить',
'delete_selected' => 'Удалить выбранное',
'delete_selected_empty' => 'Нет выбранных записей для удаления.',
'delete_selected_confirm' => 'Удалить выбранные записи?',
@ -195,6 +205,7 @@ return [
'create_success' => ':name был успешно создан',
'update_success' => ':name был успешно сохранен',
'delete_success' => ':name был успешно удален',
'reset_success' => 'Сброс завершен',
'missing_id' => 'Идентификатор формы записи не указан.',
'missing_model' => 'Для формы используемой в :class не определена модель.',
'missing_definition' => "Поведение формы не содержит поле для':field'.",
@ -231,6 +242,7 @@ return [
'confirm_tab_close' => 'Закрыть вкладку? Несохраненные изменения будут потеряны.',
'behavior_not_ready' => 'Поведение формы не было инициализировано, проверьте вызов initForm() в вашем контроллере.',
'preview_no_files_message' => 'Нет загруженных файлов.',
'preview_no_media_message' => 'Нет выбраного медиа.',
'preview_no_record_message' => 'Нет выбранных записей.',
'select' => 'Выбрать',
'select_all' => 'все',
@ -244,7 +256,12 @@ return [
'return_to_list' => 'Вернуться к списку'
],
'recordfinder' => [
'find_record' => 'Найти запись'
'find_record' => 'Найти запись',
'cancel' => 'Отмена',
],
'pagelist' => [
'page_link' => 'Ссылка на страницу',
'select_page' => 'Выберите страницу...'
],
'relation' => [
'missing_config' => "Поведение отношения не имеет конфигурации для ':config'.",
@ -296,7 +313,8 @@ return [
'tips' => 'Подсказки по конфигурации системы',
'tips_description' => 'Есть проблемы, на которые стоит обратить внимание, чтобы правильно настроить систему.',
'permissions' => 'Каталог :name или его подкаталоги недоступны для записи. Укажите соответствующие разрешения для веб-сервера.',
'extension' => 'Расширение PHP :name не установлено. Установите эту библиотеку и активируйте расширение.'
'extension' => 'Расширение PHP :name не установлено. Установите эту библиотеку и активируйте расширение.',
'plugin_missing' => 'Плагин :name имеет зависимость. Установите этот плагин.',
],
'editor' => [
'menu_label' => 'Настройки редактора',
@ -305,6 +323,8 @@ return [
'tab_size' => 'Размер табуляции',
'use_hard_tabs' => 'Использовать табуляцию для индентации',
'code_folding' => 'Свертывание кода',
'code_folding_begin' => 'Mark begin',
'code_folding_begin_end' => 'Mark begin and end',
'autocompletion' => 'Автодополнение',
'word_wrap' => 'Перенос слов',
'highlight_active_line' => 'Подсвечивать активную строку',
@ -367,7 +387,7 @@ return [
'colors' => 'Цвета',
'primary_color' => 'Первичный color',
'secondary_color' => 'Вторичный color',
'accent_color' => 'Accent color',
'accent_color' => 'Цвет акцента',
'styles' => 'Стили',
'custom_stylesheet' => 'Пользовательские стили',
'navigation' => 'Навигация',
@ -443,5 +463,35 @@ return [
'column_preview' => 'Предпросмотр столбца',
'file_not_found_error' => 'Файл не найден',
'empty_error' => 'Нет данных доступных для экспорта',
'empty_import_columns_error' => 'Укажите некоторые столбцы для импорта.',
'match_some_column_error' => 'Сначала сначала сопоставьте некоторые столбцы.',
'required_match_column_error' => 'Укажите соответствующее поле :label.',
'empty_export_columns_error' => 'Укажите некоторые столбцы для экспорта.',
'behavior_missing_uselist_error' => "Вы должны реализовать поведение контроллера ListController с включенной опцией 'useList' экспорта.",
'missing_model_class_error' => 'Укажите свойство modelClass для :type',
'missing_column_id_error' => 'Отсутствует идентификатор столбца',
'unknown_column_error' => 'Неизвестная колонка',
'encoding_not_supported_error' => 'Кодировка исходного файла не распознается. Пожалуйста, выберите опцию пользовательского формата файла с правильной кодировкой для импорта файла.',
'encoding_format' => 'Кодирование файлов',
'encodings' => [
'utf_8' => 'UTF-8',
'us_ascii' => 'US-ASCII',
'iso_8859_1' => 'ISO-8859-1 (Latin-1, Western European)',
'iso_8859_2' => 'ISO-8859-2 (Latin-2, Central European)',
'iso_8859_3' => 'ISO-8859-3 (Latin-3, South European)',
'iso_8859_4' => 'ISO-8859-4 (Latin-4, North European)',
'iso_8859_5' => 'ISO-8859-5 (Latin, Cyrillic)',
'iso_8859_6' => 'ISO-8859-6 (Latin, Arabic)',
'iso_8859_7' => 'ISO-8859-7 (Latin, Greek)',
'iso_8859_8' => 'ISO-8859-8 (Latin, Hebrew)',
'iso_8859_0' => 'ISO-8859-9 (Latin-5, Turkish)',
'iso_8859_10' => 'ISO-8859-10 (Latin-6, Nordic)',
'iso_8859_11' => 'ISO-8859-11 (Latin, Thai)',
'iso_8859_13' => 'ISO-8859-13 (Latin-7, Baltic Rim)',
'iso_8859_14' => 'ISO-8859-14 (Latin-8, Celtic)',
'iso_8859_15' => 'ISO-8859-15 (Latin-9, Western European revision with euro sign)',
'windows_1251' => 'Windows-1251 (CP1251)',
'windows_1252' => 'Windows-1252 (CP1252)'
]
],
];

View File

@ -1,58 +1,66 @@
<?php
return [
'auth' => [
'title' => 'Зона адміністрування'
'title' => 'Зона адміністрування',
],
'field' => [
'invalid_type' => 'Використано неправиоьний тип поля :type.',
'options_method_not_exists' => "Клас моделі :model повинен визначати метод :method(), що повертає опції для ':field' з поля."
'invalid_type' => 'Неправильний тип поля :type.',
'options_method_invalid_model' => "The attribute ':field' does not resolve to a valid model. Try specifying the options method for model class :model explicitly.",
'options_method_not_exists' => "Клас моделі :model повинен містити метод :method(), що повертає опції для поля ':field'.",
],
'widget' => [
'not_registered' => "Назву класу віджету «:name»не зареєстровано",
'not_bound' => "Назву класу віджету «:name» не прив'зано до контролера"
'not_registered' => "Назву класу віджету ':name' не зареєстровано",
'not_bound' => "Клас віджета ':name' не прив'зано до контролера",
],
'page' => [
'untitled' => 'Без назви',
'access_denied' => [
'label' => 'Заборонено доступ',
'help' => "У Вас немає необхідних для перегляду цієї сторінки прав.",
'cms_link' => 'Повернутися до back-end-у'
'label' => 'Доступ заборонено',
'help' => 'У Вас немає необхідних прав для перегляду цієї сторінки.',
'cms_link' => 'Повернутися до back-end-у',
],
'no_database' => [
'label' => 'База данних відсутня',
'help' => 'Для доступу до back-end - потрібна база данних. Перевірте, налаштування та міграції бази данних, перш ніж спробувати знову.',
'cms_link' => 'Повернутися на домашню сторінку',
],
'invalid_token' => [
'label' => 'Неправильний токен безпеки'
]
'label' => 'Неправильний токен безпеки',
],
],
'partial' => [
'not_found_name' => "Частину «:name» не знайдено."
'not_found_name' => "Частину ':name' не знайдено.",
],
'account' => [
'sign_out' => 'Вийти',
'login' => 'Увійти',
'reset' => 'Скинути',
'restore' => 'Відновити',
'login_placeholder' => "ім'я користувача",
'login_placeholder' => 'логін',
'password_placeholder' => 'пароль',
'forgot_password' => 'Забули свій пароль?',
'enter_email' => 'Введіть свою електронну адресу',
'enter_login' => "Введіть своє ім'я користувача",
'enter_login' => 'Введіть своє ім\'я користувача',
'email_placeholder' => 'електронна адреса',
'enter_new_password' => 'Введіть новий пароль',
'password_reset' => 'Скинути пароль',
'restore_success' => 'На Вашу електронну адресу було надіслано інструкції з відновлення паролю.',
'restore_error' => "Неможливо знайти користувача з іменем користувача «:login»",
'restore_error' => "Неможливо знайти користувача з іменем користувача ':login'",
'reset_success' => 'Ваш пароль було успішно змінено. Тепер Ви можете ввійти.',
'reset_error' => 'Надано неправильні дані з відновлення паролю. Будь ласка, спробуйте знову!',
'reset_fail' => 'Не вдалося змінити Ваш пароль!',
'apply' => 'Застосувати',
'cancel' => 'Скасувати',
'delete' => 'Вилучити',
'ok' => 'ОК'
'ok' => 'ОК',
],
'dashboard' => [
'menu_label' => 'Панель',
'menu_label' => 'Панель керування',
'widget_label' => 'Віджет',
'widget_width' => 'Ширина',
'full_width' => 'повна ширина',
'manage_widgets' => 'Керування віджетами',
'add_widget' => 'Додати віджет',
'widget_inspector_title' => 'Налаштування віджету',
'widget_inspector_description' => 'Налаштування віджету-звіту',
@ -64,12 +72,37 @@ return [
'widget_new_row_description' => 'Помістити віджет у новий рядок.',
'widget_title_label' => 'Назва віджету',
'widget_title_error' => 'Назва віджету є обов\'язковою.',
'reset_layout' => 'Скидання макета',
'reset_layout_confirm' => 'Ви дійсно хочете встановити за замовчуванням?',
'reset_layout_success' => 'Макет був скинутий',
'make_default' => 'Використовувати за замовчуванням',
'make_default_confirm' => 'Встановіть поточну схему розташування за замовчуванням?',
'make_default_success' => 'Поточне розташування тепер за замовчуванням',
'collapse_all' => 'Згорнути',
'expand_all' => 'Розгорнути',
'status' => [
'widget_title_default' => 'Статус системи',
'online' => 'онлайн',
'maintenance' => 'у технічному обслугованні',
'update_available' => 'Доступно {0} оновлень!|Доступно {1} оновлення!|Доступно [2,4] оновленя|Доступно [5,Inf] оновлень!'
]
'update_available' => 'Доступно {0} оновлень!|Доступно {1} оновлення!|Доступно [2,4] оновленя|Доступно [5,Inf] оновлень!',
'updates_pending' => 'В очікуванні оновлення програмного забезпечення',
'updates_nil' => 'Програмне забезпечення в актуальному стані',
'updates_link' => 'Оновити',
'warnings_pending' => 'Деякі питання потребують уваги',
'warnings_nil' => 'Немає попереджень для відображення',
'warnings_link' => 'Переглянути',
'core_build' => 'Версія системи',
'event_log' => 'Журнал подій',
'request_log' => 'Журнал запитів',
'app_birthday' => 'Сайт засновано',
],
'welcome' => [
'widget_title_default' => 'Ласкаво просимо',
'welcome_back_name' => 'Ласкаво просимо до :app, :name.',
'welcome_to_name' => 'Ласкаво просимо до :app, :name.',
'first_sign_in' => 'Це ваша перша авторизація.',
'last_sign_in' => 'Дата останньої авторизації',
'view_access_logs' => 'Перегляд журналів доступу',
'nice_message' => 'Гарного дня!',
],
],
'user' => [
'name' => 'Адміністратор',
@ -77,10 +110,10 @@ return [
'menu_description' => 'Керування адміністративними користувачами, групами та дозволами back-end-у.',
'list_title' => 'Керування адміністраторами',
'new' => 'Новий адміністратор',
'login' => "Ім'я користувача",
'first_name' => "Ім'я",
'login' => 'Логін',
'first_name' => 'Ім\'я',
'last_name' => 'Прізвище',
'full_name' => "Повне ім'я",
'full_name' => 'Повне ім\'я',
'email' => 'Електронна пошта',
'groups' => 'Групи',
'groups_comment' => 'Вкажіть до яких груп повинен належати цей обліковий запис.',
@ -89,20 +122,26 @@ return [
'password_confirmation' => 'Підтвердження паролю',
'permissions' => 'Дозволи',
'account' => 'Обліковий запис',
'superuser' => 'Супер-користувач',
'superuser_comment' => 'Надає цьому обліковому запису необмежений доступ до всіх зон.',
'superuser' => 'Супер-адміністратор',
'superuser_comment' => 'Надає цьому обліковому запису необмежений доступ.',
'send_invite' => 'Надіслати запрошення за електронною адресою',
'send_invite_comment' => "Надсилає вітальне повідомлення, що містить інформацію про ім'я користувача та пароль.",
'send_invite_comment' => 'Надсилає вітальне повідомлення, що містить інформацію про ім\'я користувача та пароль.',
'delete_confirm' => 'Ви дійсно хочете вилучити цього адміністратора?',
'return' => 'Повернутися до списку адміністраторів',
'allow' => 'Дозволити',
'inherit' => 'Успадкувати',
'deny' => 'Заборонити',
'activated' => 'Активований',
'last_login' => 'Останній вхід',
'created_at' => 'Створено',
'updated_at' => 'Оновлено',
'group' => [
'name' => 'Група',
'name_comment' => 'Назва відображається на сторінці стоврення/редагування адміністратора.',
'name_field' => 'Назва',
'description_field' => 'Опис',
'is_new_user_default_field' => 'Додавати нових адміністраторів до цієї групи за замовчуванням.',
'is_new_user_default_field_label' => 'Група за замовчуванням',
'is_new_user_default_field_comment' => 'Додавання нових адміністраторів в цю групу за замовчуванням',
'code_field' => 'Код',
'code_comment' => 'Введіть унікальний код якщо Ви хочете отримувати до неї доступ через API.',
'menu_label' => 'Групи',
@ -110,11 +149,11 @@ return [
'new' => 'Нова група',
'delete_confirm' => 'Ви дійсно хочете вилучити цю групу адміністраторів?',
'return' => 'Повернутись до списку груп',
'users_count' => 'Користувачі'
'users_count' => 'Користувачі',
],
'preferences' => [
'not_authenticated' => 'Немає автентифікованих користувачів, чиї налаштування можна завантажити або зберегти.'
]
'not_authenticated' => 'Немає автентифікованих користувачів, чиї налаштування можна завантажити або зберегти.',
],
],
'list' => [
'default_title' => 'Список',
@ -123,10 +162,13 @@ return [
'missing_model' => 'Поведінка списку, що використовується в :class не містить визначення моделі.',
'missing_column' => 'Немає визначень колонок для :columns.',
'missing_columns' => 'Список використаний в :class не містить визначених колонок.',
'missing_definition' => "Поведінка списку не містить колонки для «:field».",
'missing_definition' => "Поведінка списку не містить колонки для ':field'.",
'missing_parent_definition' => "Список поведінки не містить визначення ':definition'.",
'behavior_not_ready' => 'Поведінку списку не було ініціалізовано, перевірте чи Ви викликали makeLists() у своєму контролері.',
'invalid_column_datetime' => "Значення колонки «:column» не є DateTime-об'єктом, Ви не пропускаєте посилання на \$dates посилання в моделі?",
'invalid_column_datetime' => "Значення колонки ':column' не є DateTime-об'єктом, Ви не пропускаєте посилання на \$dates посилання в моделі?",
'pagination' => 'Показано записів: :from-:to з :total',
'first_page' => 'Перша сторінка',
'last_page' => 'Остання',
'prev_page' => 'Попередня сторінка',
'next_page' => 'Наступна сторінка',
'refresh' => 'Оновити',
@ -136,12 +178,13 @@ return [
'setup_help' => 'Використовуйте позначки для вибору колонок, які Ви хочете бачити в списку. Ви моєете змінювати позиції колонок перетягуючи їх вниз-вгору.',
'records_per_page' => 'Записів на сторінку',
'records_per_page_help' => 'Оберіть число записів на сторінку для показу. Будь ласка, зауважте, що велике число записів на одну сторінку може зменшити швидкодію.',
'check' => 'Перевірити',
'delete_selected' => 'Вилучити обрані',
'delete_selected_empty' => 'Немає обраних до вилучення записів.',
'delete_selected_confirm' => 'Вилучити обрані записи?',
'delete_selected_success' => 'Успішно вилучено обрані записи.',
'column_switch_true' => 'Так',
'column_switch_false' => 'Ні'
'column_switch_false' => 'Ні',
],
'fileupload' => [
'attachment' => 'Прикріплення',
@ -153,18 +196,19 @@ return [
'upload_file' => 'Завантажити файл',
'upload_error' => 'Помилка завантаження',
'remove_confirm' => 'Ви впевнені?',
'remove_file' => 'Вилучити файл'
'remove_file' => 'Вилучити файл',
],
'form' => [
'create_title' => 'Нова :name',
'update_title' => 'Редагувати :name',
'preview_title' => 'Попередній перегляд :name',
'create_success' => ':name було успішно створено',
'update_success' => ':name було успішно оновлено',
'delete_success' => ':name було успішно вилучено',
'create_success' => ':name створено',
'update_success' => ':name оновлено',
'delete_success' => ':name вилучено',
'reset_success' => 'Успішно скасовано',
'missing_id' => 'Ідентифікатор запису форми не було вказано.',
'missing_model' => 'Поведінка форми, що використовується в :class не містить визначення моделі.',
'missing_definition' => "Поведніка форми не містить поля для «:field».",
'missing_definition' => "Поведніка форми не містить поля для ':field'.",
'not_found' => 'Запис форми з ідентифікатором :id не знайдено.',
'action_confirm' => 'Ви впевнені?',
'create' => 'Створити',
@ -198,6 +242,7 @@ return [
'confirm_tab_close' => 'Ви дійсно хочете закрити цю вкладку? Незбережені зміни буде втрачено.',
'behavior_not_ready' => 'Поведінку форми не було ініціалізовано, перевірте чи Ви викликали initForm() у своєму контролері.',
'preview_no_files_message' => 'Немає завантажених файлів.',
'preview_no_media_message' => 'Немає обраного файла.',
'preview_no_record_message' => 'Немає обраних записів.',
'select' => 'Обрати',
'select_all' => 'всі',
@ -207,15 +252,20 @@ return [
'insert_row_below' => 'Вставити рядок нижче',
'delete_row' => 'Вилучити рядок',
'concurrency_file_changed_title' => 'Файл було змінено',
'concurrency_file_changed_description' => "Файл, що Ви редагуєте, було змінено на диску іншим користувачем. Ви можете або перезавантажити файл та втратити свої зміни, або перезаписати файл на диску.",
'return_to_list' => 'Повернутися до списку'
'concurrency_file_changed_description' => 'Файл, що Ви редагуєте, було змінено на диску іншим користувачем. Ви можете або перезавантажити файл та втратити свої зміни, або перезаписати файл на диску.',
'return_to_list' => 'Повернутися до списку',
],
'recordfinder' => [
'find_record' => 'Знайти запис'
'find_record' => 'Знайти запис',
'cancel' => 'Скасувати',
],
'pagelist' => [
'page_link' => 'Посилання на сторінку',
'select_page' => 'Обрати сторынку...',
],
'relation' => [
'missing_config' => "Поведінка відношення не містить жодного налаштування для «:config».",
'missing_definition' => "Поведінка відношення не містить визначення для «:field».",
'missing_config' => "Поведінка відношення не містить жодного налаштування для ':config'.",
'missing_definition' => "Поведінка відношення не містить визначення для ':field'.",
'missing_model' => 'Поведінка відношення, що використовується в :class не містить визначення моделі.',
'invalid_action_single' => 'Ця дія не може бути здійсненою щодо одного відношення.',
'invalid_action_multi' => 'Ця дія не може бути здійснена щодо кількох відношень.',
@ -224,8 +274,8 @@ return [
'add' => 'Додати',
'add_selected' => 'Додати обрані',
'add_a_new' => 'Додати нове :name',
'link_selected' => "Обрано зв'язок",
'link_a_new' => "Прив'язати нове :name",
'link_selected' => 'Обрано зв\'язок',
'link_a_new' => 'Прив\'язати нове :name',
'cancel' => 'Скасувати',
'close' => 'Закрити',
'add_name' => 'Додати :name',
@ -240,11 +290,11 @@ return [
'delete' => 'Вилучити',
'delete_name' => 'Вилучити :name',
'delete_confirm' => 'Ви впевнені?',
'link' => "Пов'язати",
'link_name' => "Пов'язати :name",
'unlink' => "Відв'язати",
'unlink_name' => "Відв'язати :name",
'unlink_confirm' => 'Ви впевнені?'
'link' => 'Пов\'язати',
'link_name' => 'Пов\'язати :name',
'unlink' => 'Відв\'язати',
'unlink_name' => 'Відв\'язати :name',
'unlink_confirm' => 'Ви впевнені?',
],
'reorder' => [
'default_title' => 'Перевпорядкувати записи',
@ -252,18 +302,19 @@ return [
],
'model' => [
'name' => 'Модель',
'not_found' => "Модель «:class» з ідентифікатором :id не знайдено",
'not_found' => "Модель ':class' з ідентифікатором :id не знайдено",
'missing_id' => 'Не вказано ідентифікатор для пошуку запису моделі.',
'missing_relation' => "Модель «:class» не містить визначення для «:relation».",
'missing_method' => "Модель «:class» не містить метод «:method».",
'missing_relation' => "Модель ':class' не містить визначення для ':relation'.",
'missing_method' => "Модель ':class' не містить метод ':method'.",
'invalid_class' => "Модель :model використана в :class не є правильною, вона повинна успадковувати клас \Model .",
'mass_assignment_failed' => "Масове призначення не вдалось для атрибуту «:attribute» моделі."
'mass_assignment_failed' => "Масове призначення не вдалось для атрибуту ':attribute' моделі.",
],
'warnings' => [
'tips' => 'Підказки з налаштування системи',
'tips_description' => 'Є речі, на які потрібно звернути увагу щоб правильно налаштувати систему.',
'permissions' => 'Директорія :name та її субдиректорії не мають дозволу для запису для PHP. Будь ласка, встановіть відповідні дозволи для веб-серверу для цієї директорії.',
'extension' => 'Розширення PHP :name не встановлено. Будь ласка, встановіть цю бібліотеку та активуйте розширення.'
'permissions' => 'Директорія :name та її субдиректорії не мають дозволу для запису для PHP. Будь ласка, встановіть відповідні дозволи для веб-серверу для цієї директорії.',
'extension' => 'Розширення PHP :name не встановлено. Будь ласка, встановіть цю бібліотеку та активуйте розширення.',
'plugin_missing' => 'Плагін :name має залежності, які не встановлено. Будь ласка, встановіть ці плагіни.',
],
'editor' => [
'menu_label' => 'Налаштування редактору коду',
@ -272,28 +323,60 @@ return [
'tab_size' => 'Розмір табуляції',
'use_hard_tabs' => 'Відступ табуляціями',
'code_folding' => 'Згортання коду',
'code_folding_begin' => 'Mark begin',
'code_folding_begin_end' => 'Mark begin and end',
'autocompletion' => 'Заповнити форму',
'word_wrap' => 'Перенос слів',
'highlight_active_line' => 'Підсвічувати активні рядки',
'auto_closing' => 'Автоматично закривати теги та спецсимволи',
'show_invisibles' => 'Показувати невидимі символи',
'show_gutter' => 'Показувати нумерацію рядків',
'theme' => 'Кольорова схема'
'basic_autocompletion' => 'Автозаповнення (Ctrl + Space)',
'live_autocompletion' => 'Живе автозаповнення',
'enable_snippets' => 'Увімкнути фрагменти коду (Tab)',
'display_indent_guides' => 'Показати відступ напрямних',
'show_print_margin' => 'Показати запас друку',
'mode_off' => 'Off',
'mode_fluid' => 'Fluid',
'40_characters' => '40 символів',
'80_characters' => '80 символів',
'theme' => 'Кольорова схема',
'markup_styles' => 'Markup Styles',
'custom_styles' => 'Custom stylesheet',
'custom styles_comment' => 'Custom styles to include in the HTML editor.',
'markup_classes' => 'Markup Classes',
'paragraph' => 'Paragraph',
'link' => 'Посилання',
'table' => 'Таблиця',
'table_cell' => 'Table Cell',
'image' => 'Зображення',
'label' => 'Назва поля',
'class_name' => 'Назва класу',
'markup_tags' => 'Markup Tags',
'allowed_empty_tags' => 'Дозволені порожні теги',
'allowed_empty_tags_comment' => 'Контактні дані, які не видаляються, коли вони не мають ніякого змісту всередині.',
'allowed_tags' => 'Дозволені теги',
'allowed_tags_comment' => 'Список дозволених тегів.',
'no_wrap' => 'Do not wrap tags',
'no_wrap_comment' => 'The list of tags that should not be wrapped inside block tags.',
'remove_tags' => 'Видаляємі теги',
'remove_tags_comment' => 'Теги які видаляються разом з їх вмістом.',
],
'tooltips' => [
'preview_website' => 'Попередній перегляд веб-сайту'
'preview_website' => 'Попередній перегляд веб-сайту',
],
'mysettings' => [
'menu_label' => 'Мої налаштування',
'menu_description' => 'Налаштування, що стосуються Вашого адміністративного облікового запису'
'menu_description' => 'Налаштування, що стосуються Вашого адміністративного облікового запису',
],
'myaccount' => [
'menu_label' => 'Мій обліковий запис',
'menu_description' => "Оновіть свої деталі облікового запису, такі як ім'я, електронна адреса та пароль.",
'menu_keywords' => "безпека ім'я користувача"
'menu_description' => 'Оновіть свої деталі облікового запису, такі як ім\'я, електронна адреса та пароль.',
'menu_keywords' => 'безпека ім\'я користувача',
],
'branding' => [
'menu_label' => 'Налаштування вигляду back-end-у',
'menu_description' => "Налаштуйте адміністративну зону, зокрема ім'я, кольори та лого.",
'menu_description' => 'Налаштуйте адміністративну зону, зокрема ім\'я, кольори та лого.',
'brand' => 'Бренд',
'logo' => 'Лого',
'logo_description' => 'Завантажити власне лого для використання в back-end-і.',
@ -302,32 +385,42 @@ return [
'app_tagline' => 'Девіз додатку',
'app_tagline_description' => 'Ця назва покахується на екрані входу до back-end-у.',
'colors' => 'Кольори',
'primary_light' => 'Основний (світлий)',
'primary_dark' => 'Основний (темний)',
'secondary_light' => 'Вторинний (світлий)',
'secondary_dark' => 'Вторинний (темний)',
'primary_color' => 'Основний колір',
'secondary_color' => 'Вторинний колір',
'accent_color' => 'Акцентний колір',
'styles' => 'Стилі',
'custom_stylesheet' => 'Власна таблиця стилів'
'custom_stylesheet' => 'Власна таблиця стилів',
'navigation' => 'Навігація',
'menu_mode' => 'Cтиль меню',
'menu_mode_inline' => 'В лінію',
'menu_mode_tile' => 'Плитка',
'menu_mode_collapsed' => 'Collapsed',
],
'backend_preferences' => [
'menu_label' => 'Налаштування back-end-у',
'menu_description' => 'Керуйте своїми налаштуваннями облікового запису, як то бажана мова.',
'region' => 'Область',
'code_editor' => 'Редактор коду',
'timezone' => 'Часовий пояс',
'timezone_comment' => 'Відрегулюйте відображені дати до цього часового поясу.',
'locale' => 'Мова',
'locale_comment' => 'Оберіть свою бажану локаль мови для використання.'
'locale_comment' => 'Оберіть свою бажану локаль мови для використання.',
],
'access_log' => [
'hint' => 'Цей журнал показує список успішних спроб входу адміністраторів. Записи зберігаються для :days днів.',
'menu_label' => 'Журнал доступу',
'menu_description' => 'Дивитись список успішних входів користувачів back-end-у.',
'created_at' => 'Дата та час',
'login' => "Ім'я користувача",
'login' => 'Ім\'я користувача',
'ip_address' => 'IP-адреса',
'first_name' => "Ім'я",
'first_name' => 'Ім\'я',
'last_name' => 'Прізвище',
'email' => 'Електронна адреса'
'email' => 'Електронна адреса',
],
'filter' => [
'all' => 'усі'
'all' => 'всі',
'options_method_not_exists' => "Модель класу :model повинна містити метод :method() який повертає значення для поля ':filter'.",
'date_all' => 'all period',
],
'import_export' => [
'upload_csv_file' => '1. Завантажити CSV-файл',
@ -369,6 +462,36 @@ return [
'export_error' => 'Помилка експорту',
'column_preview' => 'Попередній перегляд колонки',
'file_not_found_error' => 'Файл не знайдено',
'empty_error' => 'Не вказано даних для експорту'
'empty_error' => 'Не вказано даних для експорту',
'empty_import_columns_error' => 'Please specify some columns to import.',
'match_some_column_error' => 'Please match some columns first.',
'required_match_column_error' => 'Please specify a match for the required field :label.',
'empty_export_columns_error' => 'Будь ласка, вкажіть деякі стовпці для експорту.',
'behavior_missing_uselist_error' => 'Необхідно реалізувати поведінку контролера ListController з експортом "useList".',
'missing_model_class_error' => 'Будь ласка, вкажіть властивість modelClass для типу :type',
'missing_column_id_error' => 'Відсутній ідентифікатор стовпця',
'unknown_column_error' => 'Невідомий стовпець',
'encoding_not_supported_error' => 'Кодування вихідного файлу не розпізнається. Будь ласка, оберіть відповідний формать кодування для імпорту файлу.',
'encoding_format' => 'Кодування файлу',
'encodings' => [
'utf_8' => 'UTF-8',
'us_ascii' => 'US-ASCII',
'iso_8859_1' => 'ISO-8859-1 (Latin-1, Western European)',
'iso_8859_2' => 'ISO-8859-2 (Latin-2, Central European)',
'iso_8859_3' => 'ISO-8859-3 (Latin-3, South European)',
'iso_8859_4' => 'ISO-8859-4 (Latin-4, North European)',
'iso_8859_5' => 'ISO-8859-5 (Latin, Cyrillic)',
'iso_8859_6' => 'ISO-8859-6 (Latin, Arabic)',
'iso_8859_7' => 'ISO-8859-7 (Latin, Greek)',
'iso_8859_8' => 'ISO-8859-8 (Latin, Hebrew)',
'iso_8859_0' => 'ISO-8859-9 (Latin-5, Turkish)',
'iso_8859_10' => 'ISO-8859-10 (Latin-6, Nordic)',
'iso_8859_11' => 'ISO-8859-11 (Latin, Thai)',
'iso_8859_13' => 'ISO-8859-13 (Latin-7, Baltic Rim)',
'iso_8859_14' => 'ISO-8859-14 (Latin-8, Celtic)',
'iso_8859_15' => 'ISO-8859-15 (Latin-9, Western European revision with euro sign)',
'windows_1251' => 'Windows-1251 (CP1251)',
'windows_1252' => 'Windows-1252 (CP1252)',
],
],
];

View File

@ -6,6 +6,7 @@ return [
],
'field' => [
'invalid_type' => '不合法的字段类型 :type.',
'options_method_invalid_model' => "属性 ':field' 不能解析为一个有效的模型. 请尝试为模型类:model指定一个可选的方法.",
'options_method_not_exists' => "模型 :model 必须定义一个返回 ':field' 表单字段选项的方法 :method()。"
],
'widget' => [
@ -19,6 +20,11 @@ return [
'help' => "你没有访问这个页面需要的权限.",
'cms_link' => '返回后台'
],
'no_database' => [
'label' => '找不到数据库',
'help' => "需要一个数据库来访问后端. 在再次尝试之前,检查数据库的配置和迁移.",
'cms_link' => '返回首页'
],
'invalid_token' => [
'label' => '非法的security token'
]
@ -54,6 +60,7 @@ return [
'widget_label' => '小工具',
'widget_width' => '宽度',
'full_width' => '全部宽度',
'manage_widgets' => '管理小部件',
'add_widget' => '添加小工具',
'widget_inspector_title' => '小工具配置',
'widget_inspector_description' => '配置报表小工具',
@ -71,6 +78,8 @@ return [
'make_default' => '设为默认',
'make_default_confirm' => '设置当前布局作为默认?',
'make_default_success' => '现在目前的布局是默认',
'collapse_all' => '全部折叠',
'expand_all' => '全部展开',
'status' => [
'widget_title_default' => '系统状态',
'update_available' => '{0} 更新可用!|{1} 更新可用!|[2,Inf] 更新可用!',
@ -84,6 +93,15 @@ return [
'event_log' => '事件日志',
'request_log' => '请求日志',
'app_birthday' => '在线日期',
],
'welcome' => [
'widget_title_default' => '欢迎',
'welcome_back_name' => '欢迎归来 :app, :name.',
'welcome_to_name' => '欢迎到 :app, :name.',
'first_sign_in' => '这是你第一次登陆.',
'last_sign_in' => '你最后登陆是',
'view_access_logs' => '访问登陆日志',
'nice_message' => '祝你有美好的一天!',
]
],
'user' => [
@ -113,6 +131,10 @@ return [
'allow' => '允许',
'inherit' => '继承',
'deny' => '拒绝',
'activated' => '已激活',
'last_login' => '最后登陆',
'created_at' => '创建时间',
'updated_at' => '更新时间',
'group' => [
'name' => '组',
'name_comment' => '该名字将在群组列表中展示',
@ -141,20 +163,28 @@ return [
'missing_column' => '没有 :columns 的栏定义.',
'missing_columns' => ':class 中使用的列表没有定义好的栏.',
'missing_definition' => "列表不包含 ':field' 栏.",
'missing_parent_definition' => "List 的行为未包含一个 ':definition'.",
'behavior_not_ready' => '列表没有初始化, 确认你的控制器中调用了makeLists().',
'invalid_column_datetime' => "栏值 ':column' 不是时间对象, 缺少了 \$dates 在模型中的引用吗?",
'pagination' => '显示记录: :from-:to :total',
'first_page' => 'First page',
'last_page' => 'Last page',
'prev_page' => '上一页',
'next_page' => '下一页',
'refresh' => '刷新',
'updating' => '更新中...',
'loading' => '加载中...',
'setup_title' => '建立列表',
'setup_help' => '使用多选框选择你想在列表中看到的栏. 你可以通过拖拽调整栏的位置.',
'records_per_page' => '每页的记录',
'records_per_page_help' => '选择每页想显示的记录数量. 请注意一页中太多记录可能会降低性能.',
'check' => 'Check',
'delete_selected' => '删除选择的',
'delete_selected_empty' => '没有需要删除的记录.',
'delete_selected_confirm' => '删除选中的记录?',
'delete_selected_success' => '成功删除选择的记录.',
'column_switch_true' => 'Yes',
'column_switch_false' => 'No'
],
'fileupload' => [
'attachment' => '附件',
@ -175,6 +205,7 @@ return [
'create_success' => ':name 创建成功',
'update_success' => ':name 更新成功',
'delete_success' => ':name 删除成功',
'reset_success' => '成功恢复默认',
'missing_id' => '表单记录ID没有指定.',
'missing_model' => ':class 中使用的表单没有定义的model.',
'missing_definition' => "表单不包含字段 ':field'.",
@ -190,6 +221,8 @@ return [
'saving_name' => '保存 :name...',
'delete' => '删除',
'deleting' => '删除中...',
'confirm_delete' => '你确定删除记录?',
'confirm_delete_multiple' => '确定删除选中的的记录?',
'deleting_name' => '删除 :name...',
'reset_default' => '重置到默认',
'resetting' => '重置',
@ -203,20 +236,32 @@ return [
'close' => '关闭',
'confirm' => '确认',
'reload' => '重载',
'complete' => '完成',
'ok' => 'OK',
'or' => '或',
'confirm_tab_close' => '你真的想要关闭这个标签吗? 未保存的改变会丢失.',
'behavior_not_ready' => '表单还没初始化, 确保你调用了控制器中的 initForm().',
'preview_no_files_message' => '文件没有上传。',
'preview_no_media_message' => '没有选中的媒体.',
'preview_no_record_message' => '没有选择记录。',
'select' => '选择',
'select_all' => '全部',
'select_none' => '无',
'select_placeholder' => '请选择',
'insert_row' => '插入行',
'insert_row_below' => '在下面插入行',
'delete_row' => '删除行',
'concurrency_file_changed_title' => '文件改动',
'concurrency_file_changed_description' => "你正在编辑的文件正在被其他用户修改. 你可以重载或覆盖磁盘上的文件."
'concurrency_file_changed_description' => "你正在编辑的文件正在被其他用户修改. 你可以重载或覆盖磁盘上的文件.",
'return_to_list' => '返回列表'
],
'recordfinder' => [
'find_record' => '查找记录',
'cancel' => '取消',
],
'pagelist' => [
'page_link' => '页面链接',
'select_page' => '选择一个页面...'
],
'relation' => [
'missing_config' => "关系没有':config'的配置文件.",
@ -251,6 +296,10 @@ return [
'unlink_name' => "取消关联 :name",
'unlink_confirm' => "你确定?",
],
'reorder' => [
'default_title' => '重新排序记录',
'no_records' => '没有可供排序的记录.'
],
'model' => [
'name' => '模型',
'not_found' => "ID为 :id 的 模型 ':class' 找不到",
@ -263,8 +312,9 @@ return [
'warnings' => [
'tips' => '系统配置技巧',
'tips_description' => '你需要注意下面的问题, 以使系统更好的工作。',
'permissions' => '目录 :name 或子目录对PHP不可写. 请在服务器上对这个目录设置正确的权限.',
'extension' => 'PHP扩展 :name 没安装,请安装这个库并且激活扩展.'
'permissions' => '目录 :name 或子目录对PHP不可写. 请在服务器上对这个目录设置正确的权限.',
'extension' => 'PHP扩展 :name 没安装,请安装这个库并且激活扩展.',
'plugin_missing' => '依赖于插件 :name,但是该插件未安装 . 请安装该插件.'
],
'editor' => [
'menu_label' => '代码编辑器选项',
@ -273,11 +323,44 @@ return [
'tab_size' => '标签大小',
'use_hard_tabs' => '使用tabs缩进',
'code_folding' => '代码折叠',
'code_folding_begin' => 'Mark begin',
'code_folding_begin_end' => 'Mark begin and end',
'autocompletion' => '自动完成',
'word_wrap' => '自动换行',
'highlight_active_line' => '高亮活动的行',
'auto_closing' => '自动关闭标签',
'show_invisibles' => '显示隐藏字符',
'show_gutter' => '显示侧边栏',
'theme' => '色彩主题'
'basic_autocompletion'=> '基本的自动完成 (Ctrl + Space)',
'live_autocompletion'=> 'Live Autocompletion',
'enable_snippets'=> '开启代码片段 (Tab)',
'display_indent_guides'=> '显示缩进指南',
'show_print_margin'=> '显示打印边距',
'mode_off' => 'Off',
'mode_fluid' => 'Fluid',
'40_characters' => '40个字符',
'80_characters' => '80个字符',
'theme' => '色彩主题',
'markup_styles' => '标记样式',
'custom_styles' => '定制样式表',
'custom styles_comment' => '在HTML编辑器中包含自定义样式',
'markup_classes' => '标记类',
'paragraph' => '段落',
'link' => '链接',
'table' => '表格',
'table_cell' => '单元格',
'image' => '图像',
'label' => '标签',
'class_name' => '类名字',
'markup_tags' => '标记标签',
'allowed_empty_tags' => '允许空标签',
'allowed_empty_tags_comment' => '当标签内没有内容的时候,该标签不会被移除.',
'allowed_tags' => '允许标签',
'allowed_tags_comment' => '允许标签的列表.',
'no_wrap' => '不能包裹的标签',
'no_wrap_comment' => '列出的标签不能包裹在快级标签中.',
'remove_tags' => '移除标签',
'remove_tags_comment' => '列出的标签将会和它包裹的内容一起删除.'
],
'tooltips' => [
'preview_website' => '预览网站'
@ -306,13 +389,22 @@ return [
'secondary_color' => '次要 color',
'accent_color' => 'Accent color',
'styles' => '样式',
'custom_stylesheet' => '自定义样式'
'custom_stylesheet' => '自定义样式',
'navigation' => '导航',
'menu_mode' => '菜单样式',
'menu_mode_inline' => '行内',
'menu_mode_tile' => '标题',
'menu_mode_collapsed' => '已折叠'
],
'backend_preferences' => [
'menu_label' => '后台设置',
'menu_description' => '管理你的后台设置, 比如希望使用的语言。',
'region' => '地区',
'code_editor' => '代码编辑器',
'timezone' => '时区',
'timezone_comment' => '选择你希望使用的本地语言。',
'locale' => '语言',
'locale_comment' => '选择你希望使用的本地语言。'
'locale_comment' => '选择您想要的语言环境.'
],
'access_log' => [
'hint' => '这个日志显示了管理员成功登录的信息. 记录保持 :days 天。',
@ -326,6 +418,80 @@ return [
'email' => '电子邮箱'
],
'filter' => [
'all' => '全部'
'all' => '全部',
'options_method_not_exists' => "模型 :model中必须定义一个方法 :method()为过滤器 ':filter'返回可选项.",
'date_all' => '所有时期'
],
'import_export' => [
'upload_csv_file' => '1. 上传一个CSV 文件',
'import_file' => '导入文件',
'first_row_contains_titles' => '第一行包含列标题',
'first_row_contains_titles_desc' => 'Leave this checked if the first row in the CSV is used as the column titles.',
'match_columns' => '2. 将文件的列跟数据库的字段匹配',
'file_columns' => '文件列',
'database_fields' => '数据库字段',
'set_import_options' => '3. 设置导入选项',
'export_output_format' => '1. 导出输出格式',
'file_format' => '文件格式',
'standard_format' => '标准格式',
'custom_format' => '自定义格式',
'delimiter_char' => '定界符',
'enclosure_char' => 'Enclosure character',
'escape_char' => '转义字符',
'select_columns' => '2. 选择导出的列',
'column' => '列',
'columns' => '列',
'set_export_options' => '3. 设置导出选项',
'show_ignored_columns' => '显示忽略的列',
'auto_match_columns' => '自动匹配列',
'created' => '已创建',
'updated' => '已更新',
'skipped' => '已跳过',
'warnings' => '警告',
'errors' => '错误',
'skipped_rows' => '跳过的行数',
'import_progress' => '导入进度',
'processing' => '处理中...',
'import_error' => '导入错误',
'upload_valid_csv' => '请上传正确的CSV 文件.',
'drop_column_here' => '删除列在这里……',
'ignore_this_column' => '忽略该列',
'processing_successful_line1' => '文件导出完成!',
'processing_successful_line2' => '浏览器现在将重定向到文件下载.',
'export_progress' => '导出进度',
'export_error' => '导出错误',
'column_preview' => '预览列',
'file_not_found_error' => '文件未找到',
'empty_error' => '没有提供导出的数据',
'empty_import_columns_error' => '请指定要导入的列.',
'match_some_column_error' => '请先与一些列匹配.',
'required_match_column_error' => 'Please specify a match for the required field :label.',
'empty_export_columns_error' => '请指定要导出的列.',
'behavior_missing_uselist_error' => 'You must implement the controller behavior ListController with the export "useList" option enabled.',
'missing_model_class_error' => 'Please specify the modelClass property for :type',
'missing_column_id_error' => 'Missing column identifier',
'unknown_column_error' => '位置的列',
'encoding_not_supported_error' => '源文件编码不能识别. 请选择自定义文件格式选项和正确的编码来导入您的文件.',
'encoding_format' => '文件编码',
'encodings' => [
'utf_8' => 'UTF-8',
'us_ascii' => 'US-ASCII',
'iso_8859_1' => 'ISO-8859-1 (Latin-1, Western European)',
'iso_8859_2' => 'ISO-8859-2 (Latin-2, Central European)',
'iso_8859_3' => 'ISO-8859-3 (Latin-3, South European)',
'iso_8859_4' => 'ISO-8859-4 (Latin-4, North European)',
'iso_8859_5' => 'ISO-8859-5 (Latin, Cyrillic)',
'iso_8859_6' => 'ISO-8859-6 (Latin, Arabic)',
'iso_8859_7' => 'ISO-8859-7 (Latin, Greek)',
'iso_8859_8' => 'ISO-8859-8 (Latin, Hebrew)',
'iso_8859_0' => 'ISO-8859-9 (Latin-5, Turkish)',
'iso_8859_10' => 'ISO-8859-10 (Latin-6, Nordic)',
'iso_8859_11' => 'ISO-8859-11 (Latin, Thai)',
'iso_8859_13' => 'ISO-8859-13 (Latin-7, Baltic Rim)',
'iso_8859_14' => 'ISO-8859-14 (Latin-8, Celtic)',
'iso_8859_15' => 'ISO-8859-15 (Latin-9, Western European revision with euro sign)',
'windows_1251' => 'Windows-1251 (CP1251)',
'windows_1252' => 'Windows-1252 (CP1252)'
]
]
];

View File

@ -186,6 +186,7 @@ class Preference extends Model
'en-au' => [Lang::get('system::lang.locale.en-au'), 'flag-au'],
'en-ca' => [Lang::get('system::lang.locale.en-ca'), 'flag-ca'],
'en-gb' => [Lang::get('system::lang.locale.en-gb'), 'flag-gb'],
'et' => [Lang::get('system::lang.locale.et'), 'flag-ee'],
'de' => [Lang::get('system::lang.locale.de'), 'flag-de'],
'es' => [Lang::get('system::lang.locale.es'), 'flag-es'],
'es-ar' => [Lang::get('system::lang.locale.es-ar'), 'flag-ar'],
@ -205,6 +206,7 @@ class Preference extends Model
'ru' => [Lang::get('system::lang.locale.ru'), 'flag-ru'],
'sv' => [Lang::get('system::lang.locale.sv'), 'flag-se'],
'tr' => [Lang::get('system::lang.locale.tr'), 'flag-tr'],
'uk' => [Lang::get('system::lang.locale.uk'), 'flag-ua'],
'pl' => [Lang::get('system::lang.locale.pl'), 'flag-pl'],
'sk' => [Lang::get('system::lang.locale.sk'), 'flag-sk'],
'zh-cn' => [Lang::get('system::lang.locale.zh-cn'), 'flag-cn'],

View File

@ -95,3 +95,10 @@ tabs:
tab: backend::lang.editor.markup_tags
type: textarea
span: auto
html_toolbar_buttons:
label: backend::lang.editor.toolbar_buttons
comment: backend::lang.editor.toolbar_buttons_comment
tab: backend::lang.editor.toolbar_buttons
type: textarea
span: auto

View File

@ -5,7 +5,7 @@
<div
data-control="balloon-selector"
id="<?= $field->getId() ?>"
class="control-balloon-selector"
class="control-balloon-selector <?= $this->previewMode ? 'control-disabled' : '' ?>"
<?= $field->getAttributes() ?>>
<ul>
<?php foreach ($fieldOptions as $value => $text): ?>

View File

@ -6,11 +6,11 @@
type="text"
name="<?= $field->getName() ?>"
id="<?= $field->getId() ?>"
value="<?= e($field->value) ?>"
value="<?= e(trans($field->value)) ?>"
placeholder="<?= e(trans($field->placeholder)) ?>"
class="form-control"
autocomplete="off"
<?= $field->hasAttribute('maxlength') ? '' : 'maxlength="255"' ?>
<?= $field->getAttributes() ?>
/>
<?php endif ?>
<?php endif ?>

View File

@ -1021,6 +1021,15 @@ class Controller
// Getters
//
/**
* Returns the status code for the current web response.
* @return int Status code
*/
public function getStatusCode()
{
return $this->statusCode;
}
/**
* Returns an existing instance of the controller.
* If the controller doesn't exists, returns null.

View File

@ -25,6 +25,11 @@ class Resources extends ComponentBase
*/
public $lessDir = 'less';
/**
* @var string The default SASS directory
*/
public $sassDir = 'sass';
/**
* @return array
*/
@ -54,6 +59,12 @@ class Resources extends ComponentBase
'type' => 'stringList',
'showExternalParam' => false
],
'sass' => [
'title' => 'SASS',
'description' => 'SASS file(s) in the assets/sass folder',
'type' => 'stringList',
'showExternalParam' => false
],
'css' => [
'title' => 'CSS',
'description' => 'Stylesheet file(s) in the assets/css folder',
@ -73,6 +84,7 @@ class Resources extends ComponentBase
{
$this->assetPath = $this->guessAssetPath();
$this->jsDir = $this->guessAssetDirectory(['js', 'javascript'], $this->jsDir);
$this->sassDir = $this->guessAssetDirectory(['sass', 'scss'], $this->sassDir);
}
public function onRun()
@ -93,6 +105,14 @@ class Resources extends ComponentBase
$less += array_map([$this, 'prefixLess'], (array) $assets);
}
/*
* SASS
*/
$sass = [];
if ($assets = $this->property('sass')) {
$sass += array_map([$this, 'prefixSass'], (array) $assets);
}
/*
* CSS
*/
@ -109,6 +129,10 @@ class Resources extends ComponentBase
$this->addCss(CombineAssets::combine($less, $this->assetPath));
}
if (count($sass)) {
$this->addCss(CombineAssets::combine($sass, $this->assetPath));
}
if (count($css)) {
$this->addCss(CombineAssets::combine($css, $this->assetPath));
}
@ -138,6 +162,11 @@ class Resources extends ComponentBase
return $this->lessDir.'/'.trim($value);
}
protected function prefixSass($value)
{
return $this->sassDir.'/'.trim($value);
}
protected function guessAssetDirectory(array $possible, $default = null)
{
foreach ($possible as $option) {

View File

@ -0,0 +1,360 @@
<?php
return [
'cms_object' => [
'invalid_file' => 'Invalid file name: :name. File names can contain only alphanumeric symbols, underscores, dashes and dots. Some examples of correct file names: page.htm, page, subdirectory/page',
'invalid_property' => "The property ':name' cannot be set",
'file_already_exists' => "File ':name' already exists.",
'error_saving' => "Error saving file ':name'. Please check write permissions.",
'error_creating_directory' => 'Error creating directory :name. Please check write permissions.',
'invalid_file_extension' => 'Invalid file extension: :invalid. Allowed extensions are: :allowed.',
'error_deleting' => "Error deleting the template file ':name'. Please check write permissions.",
'delete_success' => 'Templates deleted: :count.',
'file_name_required' => 'The File Name field is required.',
'safe_mode_enabled' => 'Safe mode is currently enabled.'
],
'dashboard' => [
'active_theme' => [
'widget_title_default' => 'Koduleht',
'online' => 'Online',
'maintenance' => 'Hooldusrežiimis',
'manage_themes' => 'Halda teemasid',
'customize_theme' => 'Kohanda teemat'
]
],
'theme' => [
'not_found_name' => "Teemat ':name' ei leitud.",
'by_author' => 'Autor: :name',
'active' => [
'not_set' => 'Aktiivset teemat pole määratud.',
'not_found' => 'Aktiivset teemat ei leitud.'
],
'edit' => [
'not_set' => 'Muutmise teemat pole määratud.',
'not_found' => 'Muutmise teemat ei leitud.',
'not_match' => "Objekt, mida üritad muuta ei kuulu hetkel muudetava teema alla. Palun laadi leht uuesti."
],
'settings_menu' => 'Kodulehe teema',
'settings_menu_description' => 'Vaata paigaldatud teemasid ja vali endale sobiv.',
'default_tab' => 'Seaded',
'name_label' => 'Nimi',
'name_create_placeholder' => 'Uus teema nimi',
'author_label' => 'Autor',
'author_placeholder' => 'Inimese või ettevõtte nimi',
'description_label' => 'Kirjeldus',
'description_placeholder' => 'Teema kirjeldus',
'homepage_label' => 'Koduleht',
'homepage_placeholder' => 'Kodulehe URL',
'code_label' => 'Kood',
'code_placeholder' => 'Unikaalne teema kood, mida kasutatakse teema levitamisel',
'preview_image_label' => 'Eelvaate pilt',
'preview_image_placeholder' => 'Teema eelvaate pildi asukohta.',
'dir_name_label' => 'Kataloogi nimi',
'dir_name_create_label' => 'Teema kataloog',
'theme_label' => 'Teema',
'theme_title' => 'Teemad',
'activate_button' => 'Aktiveeri',
'active_button' => 'Aktiveeri',
'customize_theme' => 'Kohanda teemat',
'customize_button' => 'Kohanda',
'duplicate_button' => 'Kopeeri',
'duplicate_title' => 'Kopeeri teema',
'duplicate_theme_success' => 'Teema kopeeritud!',
'manage_button' => 'Halda',
'manage_title' => 'Halda teemat',
'edit_properties_title' => 'Teema',
'edit_properties_button' => 'Muuda seadeid',
'save_properties' => 'Salvesta seaded',
'import_button' => 'Impordi',
'import_title' => 'Impordi teema',
'import_theme_success' => 'Teema imporditud!',
'import_uploaded_file' => 'Teema arhiivi fail',
'import_overwrite_label' => 'Kirjuta olemasolevad failid üle',
'import_overwrite_comment' => 'Jäta see kast märgistamata, et importida ainult uued failid',
'import_folders_label' => 'Kataloogid',
'import_folders_comment' => 'Palun vali teema kataloogid, mida soovid importida',
'export_button' => 'Eksport',
'export_title' => 'Ekspordi teema',
'export_folders_label' => 'Kataloogid',
'export_folders_comment' => 'Palun vali teema kataloogid, mida soovid eksportida',
'delete_button' => 'Kustuta',
'delete_confirm' => 'Kustuta teema? Seda tegevust ei saa tagasi võtta!',
'delete_active_theme_failed' => 'Aktiivset teemat ei saa kustutada. Aktiveeri kõigepealt mõni teine teema.',
'delete_theme_success' => 'Teema kustutatud!',
'create_title' => 'Loo teema',
'create_button' => 'Loo',
'create_new_blank_theme' => 'Loo uus tühi teema',
'create_theme_success' => 'Teema loodud!',
'create_theme_required_name' => 'Palun määra teemale nimi.',
'new_directory_name_label' => 'Teema kataloog',
'new_directory_name_comment' => 'Sisesta kopeeritud teemale uus kataloogi nimi.',
'dir_name_invalid' => 'Nimi võib sisaldada ainult numbreid, tähti ja järgnevaid sümboleid: _-',
'dir_name_taken' => 'Soovitud kataloog on juba olemas.',
'find_more_themes' => 'Otsi uusi teemasid',
'saving' => 'Salvestan teemat...',
'return' => 'Tagasi teemade nimekirja'
],
'maintenance' => [
'settings_menu' => 'Maintenance mode',
'settings_menu_description' => 'Configure the maintenance mode page and toggle the setting.',
'is_enabled' => 'Enable maintenance mode',
'is_enabled_comment' => 'Select the page to show when maintenance mode is activated.',
'hint' => 'Maintenance mode will display the maintenance page to visitors who are not signed in to the back-end area.'
],
'page' => [
'not_found_name' => "The page ':name' is not found",
'not_found' => [
'label' => 'Page not found',
'help' => 'The requested page cannot be found.'
],
'custom_error' => [
'label' => 'Page error',
'help' => "We're sorry, but something went wrong and the page cannot be displayed."
],
'menu_label' => 'Pages',
'unsaved_label' => 'Unsaved page(s)',
'no_list_records' => 'No pages found',
'new' => 'New page',
'invalid_url' => 'Invalid URL format. The URL should start with the forward slash symbol and can contain digits, Latin letters and the following symbols: ._-[]:?|/+*^$',
'delete_confirm_multiple' => 'Delete selected pages?',
'delete_confirm_single' => 'Delete this page?',
'no_layout' => '-- no layout --',
'cms_page' => 'CMS page',
'title' => 'Page title',
'url' => 'Page URL',
'file_name' => 'Page file name'
],
'layout' => [
'not_found_name' => "The layout ':name' is not found",
'menu_label' => 'Layouts',
'unsaved_label' => 'Unsaved layout(s)',
'no_list_records' => 'No layouts found',
'new' => 'New layout',
'delete_confirm_multiple' => 'Delete selected layouts?',
'delete_confirm_single' => 'Delete this layout?'
],
'partial' => [
'not_found_name' => "The partial ':name' is not found.",
'invalid_name' => 'Invalid partial name: :name.',
'menu_label' => 'Partials',
'unsaved_label' => 'Unsaved partial(s)',
'no_list_records' => 'No partials found',
'delete_confirm_multiple' => 'Delete selected partials?',
'delete_confirm_single' => 'Delete this partial?',
'new' => 'New partial'
],
'content' => [
'not_found_name' => "The content file ':name' is not found.",
'menu_label' => 'Content',
'unsaved_label' => 'Unsaved content',
'no_list_records' => 'No content files found',
'delete_confirm_multiple' => 'Delete selected content files or directories?',
'delete_confirm_single' => 'Delete this content file?',
'new' => 'New content file'
],
'ajax_handler' => [
'invalid_name' => 'Invalid AJAX handler name: :name.',
'not_found' => "AJAX handler ':name' was not found."
],
'cms' => [
'menu_label' => 'CMS'
],
'sidebar' => [
'add' => 'Add',
'search' => 'Search...'
],
'editor' => [
'settings' => 'Settings',
'title' => 'Title',
'new_title' => 'New page title',
'url' => 'URL',
'filename' => 'File Name',
'layout' => 'Layout',
'description' => 'Description',
'preview' => 'Preview',
'meta' => 'Meta',
'meta_title' => 'Meta Title',
'meta_description' => 'Meta Description',
'markup' => 'Markup',
'code' => 'Code',
'content' => 'Content',
'hidden' => 'Hidden',
'hidden_comment' => 'Hidden pages are accessible only by logged-in back-end users.',
'enter_fullscreen' => 'Enter fullscreen mode',
'exit_fullscreen' => 'Exit fullscreen mode',
'open_searchbox' => 'Open Search box',
'close_searchbox' => 'Close Search box',
'open_replacebox' => 'Open Replace box',
'close_replacebox' => 'Close Replace box'
],
'asset' => [
'menu_label' => 'Assets',
'unsaved_label' => 'Unsaved asset(s)',
'drop_down_add_title' => 'Add...',
'drop_down_operation_title' => 'Action...',
'upload_files' => 'Upload file(s)',
'create_file' => 'Create file',
'create_directory' => 'Create directory',
'directory_popup_title' => 'New directory',
'directory_name' => 'Directory name',
'rename' => 'Rename',
'delete' => 'Delete',
'move' => 'Move',
'select' => 'Select',
'new' => 'New file',
'rename_popup_title' => 'Rename',
'rename_new_name' => 'New name',
'invalid_path' => 'Path can contain only digits, Latin letters, spaces and the following symbols: ._-/',
'error_deleting_file' => 'Error deleting file :name.',
'error_deleting_dir_not_empty' => 'Error deleting directory :name. The directory is not empty.',
'error_deleting_dir' => 'Error deleting directory :name.',
'invalid_name' => 'Name can contain only digits, Latin letters, spaces and the following symbols: ._-',
'original_not_found' => 'Original file or directory not found',
'already_exists' => 'File or directory with this name already exists',
'error_renaming' => 'Error renaming the file or directory',
'name_cant_be_empty' => 'The name cannot be empty',
'too_large' => 'The uploaded file is too large. The maximum allowed file size is :max_size',
'type_not_allowed' => 'Only the following file types are allowed: :allowed_types',
'file_not_valid' => 'File is not valid',
'error_uploading_file' => "Error uploading file ':name': :error",
'move_please_select' => 'please select',
'move_destination' => 'Destination directory',
'move_popup_title' => 'Move assets',
'move_button' => 'Move',
'selected_files_not_found' => 'Selected files not found',
'select_destination_dir' => 'Please select a destination directory',
'destination_not_found' => 'Destination directory is not found',
'error_moving_file' => 'Error moving file :file',
'error_moving_directory' => 'Error moving directory :dir',
'error_deleting_directory' => 'Error deleting the original directory :dir',
'no_list_records' => 'No files found',
'delete_confirm' => 'Delete selected files or directories?',
'path' => 'Path'
],
'component' => [
'menu_label' => 'Components',
'unnamed' => 'Unnamed',
'no_description' => 'No description provided',
'alias' => 'Alias',
'alias_description' => 'A unique name given to this component when using it in the page or layout code.',
'validation_message' => 'Component aliases are required and can contain only Latin symbols, digits, and underscores. The aliases should start with a Latin symbol.',
'invalid_request' => 'The template cannot be saved because of invalid component data.',
'no_records' => 'No components found',
'not_found' => "The component ':name' is not found.",
'method_not_found' => "The component ':name' does not contain a method ':method'."
],
'template' => [
'invalid_type' => 'Unknown template type.',
'not_found' => 'Template not found.',
'saved' => 'Template saved.',
'no_list_records' => 'No records found',
'delete_confirm' => 'Delete selected templates?',
'order_by' => 'Order by'
],
'permissions' => [
'name' => 'CMS',
'manage_content' => 'Halda kodulehe sisufaile',
'manage_assets' => 'Manage website assets - images, JavaScript files, CSS files',
'manage_pages' => 'Create, modify and delete website pages',
'manage_pages' => 'Loo, muuda ja kustuta kodulehe lehti',
'manage_layouts' => 'Create, modify and delete CMS layouts',
'manage_partials' => 'Create, modify and delete CMS partials',
'manage_themes' => 'Activate, deactivate and configure CMS themes',
'manage_media' => 'Upload and manage media contents - images, videos, sounds, documents'
],
'mediafinder' => [
'label' => 'Media Finder',
'default_prompt' => 'Click the %s button to find a media item'
],
'media' => [
'invalid_path' => "Invalid file path specified: ':path'.",
'menu_label' => 'Media',
'upload' => 'Upload',
'move' => 'Move',
'delete' => 'Delete',
'add_folder' => 'Add folder',
'search' => 'Search',
'display' => 'Display',
'filter_everything' => 'Everything',
'filter_images' => 'Images',
'filter_video' => 'Video',
'filter_audio' => 'Audio',
'filter_documents' => 'Documents',
'library' => 'Library',
'folder_size_items' => 'item(s)',
'size' => 'Size',
'title' => 'Title',
'last_modified' => 'Last modified',
'public_url' => 'Download URL',
'click_here' => 'Click here',
'thumbnail_error' => 'Error generating thumbnail.',
'return_to_parent' => 'Return to the parent folder',
'return_to_parent_label' => 'Go up ..',
'nothing_selected' => 'Nothing is selected.',
'multiple_selected' => 'Multiple items selected.',
'uploading_file_num' => 'Uploading :number file(s)...',
'uploading_complete' => 'Upload complete',
'uploading_error' => 'Upload failed',
'type_blocked' => 'The file type used is blocked for security reasons.',
'order_by' => 'Order by',
'folder' => 'Folder',
'no_files_found' => 'No files found by your request.',
'delete_empty' => 'Please select items to delete.',
'delete_confirm' => 'Delete the selected item(s)?',
'error_renaming_file' => 'Error renaming the item.',
'new_folder_title' => 'New folder',
'folder_name' => 'Folder name',
'error_creating_folder' => 'Error creating folder',
'folder_or_file_exist' => 'A folder or file with the specified name already exists.',
'move_empty' => 'Please select items to move.',
'move_popup_title' => 'Move files or folders',
'move_destination' => 'Destination folder',
'please_select_move_dest' => 'Please select a destination folder.',
'move_dest_src_match' => 'Please select another destination folder.',
'empty_library' => 'It looks a bit empty here. Upload files or create folders to get started.',
'insert' => 'Insert',
'crop_and_insert' => 'Crop & Insert',
'select_single_image' => 'Please select a single image.',
'selection_not_image' => 'The selected item is not an image.',
'restore' => 'Undo all changes',
'resize' => 'Resize...',
'selection_mode_normal' => 'Normal',
'selection_mode_fixed_ratio' => 'Fixed ratio',
'selection_mode_fixed_size' => 'Fixed size',
'height' => 'Height',
'width' => 'Width',
'selection_mode' => 'Selection mode',
'resize_image' => 'Resize image',
'image_size' => 'Image size:',
'selected_size' => 'Selected:'
],
'theme_log' => [
'hint' => 'This log displays any changes made to the theme by administrators in the back-end area.',
'menu_label' => 'Theme log',
'menu_description' => 'View changes made to the active theme.',
'empty_link' => 'Empty theme log',
'empty_loading' => 'Emptying theme log...',
'empty_success' => 'Theme log emptied',
'return_link' => 'Return to theme log',
'id' => 'ID',
'id_label' => 'Log ID',
'created_at' => 'Date & Time',
'user' => 'User',
'type' => 'Type',
'type_create' => 'Create',
'type_update' => 'Update',
'type_delete' => 'Delete',
'theme_name' => 'Theme',
'theme_code' => 'Theme code',
'old_template' => 'Template (Old)',
'new_template' => 'Template (New)',
'template' => 'Template',
'diff' => 'Changes',
'old_value' => 'Old value',
'new_value' => 'New value',
'preview_title' => 'Template changes',
'template_updated' => 'Template was updated',
'template_created' => 'Template was created',
'template_deleted' => 'Template was deleted',
],
];

View File

@ -7,10 +7,11 @@ return [
'file_already_exists' => "Файл ':name' уже существует.",
'error_saving' => "Ошибка сохранения файла ':name'. Пожалуйста, проверьте права на запись.",
'error_creating_directory' => 'Ошибка создания директории :name. Пожалуйста, проверьте права на запись.',
'invalid_file_extension'=>'Указано неправильное расширение файла: :invalid. Разрешенные расширения: :allowed.',
'invalid_file_extension' => 'Указано неправильное расширение файла: :invalid. Разрешенные расширения: :allowed.',
'error_deleting' => "Невозможно удалить файл шаблона ':name'. Пожалуйста, проверьте права на запись.",
'delete_success' => 'Шаблоны были успешно удалены: :count.',
'file_name_required' => 'Пожалуйста, укажите имя файла шаблона.'
'file_name_required' => 'Пожалуйста, укажите имя файла шаблона.',
'safe_mode_enabled' => 'В настоящий момент включен безопасный режим.',
],
'dashboard' => [
'active_theme' => [
@ -22,7 +23,8 @@ return [
]
],
'theme' => [
'not_found_name' => "Тема ':name' не найдена.",
'not_found_name' => "Тема ':name' не найдена.",
'by_author' => 'By :name',
'active' => [
'not_set' => 'Активная тема не установлена.',
'not_found' => 'Активная тема не найдена.'
@ -45,8 +47,10 @@ return [
'homepage_placeholder' => 'Адрес сайта',
'code_label' => 'Уникальный код',
'code_placeholder' => 'Уникальный код темы, который используются для её распространения',
'dir_name_create_label' => 'Директория темы',
'preview_image_label' => 'Предварительный просмотр',
'preview_image_placeholder' => 'Путь изображения предварительного просмотра темы.',
'dir_name_label' => 'Имя директории',
'dir_name_create_label' => 'Директория темы',
'theme_label' => 'Тема',
'theme_title' => 'Темы',
'activate_button' => 'Активировать',
@ -114,7 +118,11 @@ return [
'invalid_url' => 'Неверный формат адреса. Адрес страницы должен начинаться со знака / и может содержать цифры, латинские буквы, и следующие знаки: ._-[]:?|/+*^$',
'delete_confirm_multiple' => 'Вы действительно хотите удалить выделенные страницы?',
'delete_confirm_single' => 'Вы действительно хотите удалить эту страницу?',
'no_layout' => '-- без шаблона --'
'no_layout' => '-- без шаблона --',
'cms_page' => 'CMS страница',
'title' => 'Заголовок страницы',
'url' => 'Страница URL',
'file_name' => 'Имя файла страницы'
],
'layout' => [
'not_found_name' => "Не удалось найти шаблон (layout) с именем :name.",
@ -173,7 +181,11 @@ return [
'hidden' => 'Скрытая страница',
'hidden_comment' => 'Скрытые страницы доступны только для вошедших в систему пользователей.',
'enter_fullscreen' => 'Войти в полноэкранный режим',
'exit_fullscreen' => 'Выйти из полноэкранного режима'
'exit_fullscreen' => 'Выйти из полноэкранного режима',
'open_searchbox' => 'Открыть поле поиска',
'close_searchbox' => 'Закрыть окно поиска',
'open_replacebox' => 'Открыть поле "Заменить"',
'close_replacebox' => 'Закрыть Заменить коробку'
],
'asset' => [
'menu_label' => 'Ресурсы',
@ -215,6 +227,8 @@ return [
'error_moving_file' => 'Не удалось переместить файл :file',
'error_moving_directory' => 'Не удалось переместить директорию :dir',
'error_deleting_directory' => 'Не удалось удалить директорию :dir',
'no_list_records' => 'Файлы не найдены',
'delete_confirm' => 'Удалить выбранные файлы или каталоги?',
'path' => 'Путь'
],
'component' => [
@ -232,7 +246,10 @@ return [
'template' => [
'invalid_type' => 'Неизвестный тип шаблона.',
'not_found' => 'Запрошенный шаблон не найден.',
'saved'=> 'Шаблон был успешно сохранен.'
'saved' => 'Шаблон был успешно сохранен.',
'no_list_records' => 'Записи не найдены',
'delete_confirm' => 'Удалить выбранные шаблоны?',
'order_by' => 'Сортировать по'
],
'permissions' => [
'name' => 'Управление CMS',
@ -245,6 +262,7 @@ return [
'manage_media' => 'Управление медиафайлами'
],
'mediafinder' => [
'label' => 'Поиск медиа',
'default_prompt' => 'Кликните на %s кнопку, чтобы найти медиафайл'
],
'media' => [
@ -276,6 +294,7 @@ return [
'uploading_file_num' => 'Загрузка файлов: :number',
'uploading_complete' => 'Загрузка файлов завершена!',
'uploading_error' => 'Ошибка загрузки',
'type_blocked' => 'Используемый тип файла блокируется по соображениям безопасности.',
'order_by' => 'Сортировать по',
'folder' => 'Папка',
'no_files_found' => 'Ни один из файлов не удовлетворяет вашему запросу.',
@ -307,5 +326,34 @@ return [
'resize_image' => 'Изменение размера изображения',
'image_size' => 'Размер изображения:',
'selected_size' => 'Выбрано:'
]
],
'theme_log' => [
'hint' => 'В этом журнале отображаются изменения, внесенные в тему администраторами во внутренней области.',
'menu_label' => 'Журнал тем',
'menu_description' => 'Просмотр изменений, внесенных в активную тему.',
'empty_link' => 'Пустой журнал темы',
'empty_loading' => 'Освобождение журнала тем...',
'empty_success' => 'Журнал тем опустошен',
'return_link' => 'Вернуться к списку тем',
'id' => 'ID',
'id_label' => 'ID журнала',
'created_at' => 'Дата & Время',
'user' => 'Пользователь',
'type' => 'Тип',
'type_create' => 'Создайте',
'type_update' => 'Обновить',
'type_delete' => 'Удалить',
'theme_name' => 'Тема',
'theme_code' => 'Код темы',
'old_template' => 'Шаблон (Старый)',
'new_template' => 'Шаблон (новый)',
'template' => 'Шаблон',
'diff' => 'Изменения',
'old_value' => 'Старое значение',
'new_value' => 'Новое значение',
'preview_title' => 'Изменение шаблона',
'template_updated' => 'Шаблон обновлен',
'template_created' => 'Шаблон был создан',
'template_deleted' => 'Шаблон был удален',
],
];

View File

@ -0,0 +1,359 @@
<?php
return [
'cms_object' => [
'invalid_file' => 'Помилка в імені файлу: :name. Імена файлів можуть містити тільки латинські букви, цифри, знаки підкреслення і точки. Приклад правильних імен файлів: page.htm, page, subdirectory/page',
'invalid_property' => "Параметр ':name' не можна змінити.",
'file_already_exists' => "Файл ':name' вже існує.",
'error_saving' => "Помилка збереження файлу ':name'. Будь ласка, перевірте права на запис.",
'error_creating_directory' => 'Помилка створення директорії :name. Будь ласка, перевірте права на запис.',
'invalid_file_extension' => 'Зазначено неправильне розширення файлу: :invalid. Дозволені розширення: :allowed.',
'error_deleting' => "Неможливо видалити файл шаблону ':name'. Будь ласка, перевірте права на запис.",
'delete_success' => 'Шаблони були успішно видалені: :count.',
'file_name_required' => 'Будь ласка, вкажіть ім\'я файлу шаблону.',
'safe_mode_enabled' => 'Безпечний режим включений в даний момент.',
],
'dashboard' => [
'active_theme' => [
'widget_title_default' => 'Веб-сайт',
'online' => 'Онлайн',
'maintenance' => 'В розробці',
'manage_themes' => 'Управління темами',
'customize_theme' => 'Налаштування теми',
],
],
'theme' => [
'not_found_name' => "Тема ':name' не знайдена.",
'by_author' => 'By :name',
'active' => [
'not_set' => 'Активна тема не встановлена.',
'not_found' => 'Активна тема не знайдена.',
],
'edit' => [
'not_set' => 'Тема для редагування не встановлена.',
'not_found' => 'Тема для редагування не знайдено.',
'not_match' => 'Об\'єкт, який ви намагаєтеся відкрити, не належить редагованої темі. Будь ласка, оновіть сторінку.',
],
'settings_menu' => 'Фронтенд теми',
'settings_menu_description' => 'Перегляд списку встановлених тим і вибір активної теми.',
'default_tab' => 'Властивості',
'name_label' => 'Назва',
'name_create_placeholder' => 'Нова назва теми',
'author_label' => 'Автор',
'author_placeholder' => 'Людина або назва компанії',
'description_label' => 'Опис',
'description_placeholder' => 'Опис теми',
'homepage_label' => 'Домашня сторінка',
'homepage_placeholder' => 'Адреса сайту',
'code_label' => 'унікальний код',
'code_placeholder' => 'Унікальний код теми, який використовуються для її поширення',
'preview_image_label' => 'Попередній перегляд',
'preview_image_placeholder' => 'Шлях до зображення для попереднього перегляду.',
'dir_name_label' => 'Назва директорії',
'dir_name_create_label' => 'Директорія теми',
'theme_label' => 'Тема',
'theme_title' => 'Теми',
'activate_button' => 'Активувати',
'active_button' => 'Активовано',
'customize_theme' => 'Налаштування Теми',
'customize_button' => 'Налаштувати',
'duplicate_button' => 'Дублювати',
'duplicate_title' => 'Дублювати тему',
'duplicate_theme_success' => 'Дублювання успішно завершено!',
'manage_button' => 'Управління',
'manage_title' => 'Управління темою',
'edit_properties_title' => 'Тема',
'edit_properties_button' => 'Редагування властивостей',
'save_properties' => 'Зберегти властивості',
'import_button' => 'Імпортувати',
'import_title' => 'Імпортувати тему',
'import_theme_success' => 'Імпорт теми успішно завершено!',
'import_uploaded_file' => 'Файл архіву теми',
'import_overwrite_label' => 'Перезаписувати існуючі файли',
'import_overwrite_comment' => 'Вимкніть цю опцію, щоб імпортувати тільки нові файли',
'import_folders_label' => 'Директорії',
'import_folders_comment' => 'Будь ласка, виберіть директорії теми, які ви хотіли б імпортувати',
'export_button' => 'Експорт',
'export_title' => 'експортувати тему',
'export_folders_label' => 'Директорії',
'export_folders_comment' => 'Будь ласка, виберіть директорії теми, які ви хотіли б експортувати',
'delete_button' => 'Видалити',
'delete_confirm' => 'Ви впевнені, що хочете видалити цю тему? Ця дія є незворотнім!',
'delete_active_theme_failed' => 'Неможливо видалити активний тему, спробуйте зробити іншу тему активною.',
'delete_theme_success' => 'Видалення теми успішно завершено!',
'create_title' => 'створити тему',
'create_button' => 'Створити',
'create_new_blank_theme' => 'Створити новий бланк тими',
'create_theme_success' => 'Створення тими успешно завершено!',
'create_theme_required_name' => 'Будь ласка, вкажіть ім\'я для теми.',
'new_directory_name_label' => 'Директорія теми',
'new_directory_name_comment' => 'Вкажіть нове ім\'я каталогу для дубліката теми.',
'dir_name_invalid' => 'Ім\'я може містити тільки цифри, латинські літери і такі символи: _ -',
'dir_name_taken' => 'Зазначений каталог вже існує.',
'find_more_themes' => 'Знайти ще теми',
'saving' => 'Збереження теми...',
'return' => 'Повернутися до списку тем',
],
'maintenance' => [
'settings_menu' => 'Режим обслуговування',
'settings_menu_description' => 'Управління режимом обслуговування сайту.',
'is_enabled' => 'Включити режим обслуговування',
'is_enabled_comment' => 'При активації цього режиму відвідувачі сайту побачать сторінку обрану нижче.',
'hint' => 'Режим обслуговування покаже сторінку обслуговування для відвідувачів, що не авторизувалися в CMS.',
],
'page' => [
'not_found_name' => "Сторінка ':name' не знайдена",
'not_found' => [
'label' => 'Сторінка не знайдена',
'help' => 'Запрошення сторінка не знайдена.',
],
'custom_error' => [
'label' => 'Помилка на сторінці',
'help' => 'На жаль, сторінка не може бути відображена через помилку.',
],
'menu_label' => 'Сторінки',
'unsaved_label' => 'Незбережена(і) сторінка(и)',
'no_list_records' => 'Не знайденi',
'new' => 'Нова сторінка',
'invalid_url' => 'Невірний формат адреси. Адреса сторінки повинен починатися зі знака / і може містити цифри, латинські літери, і такі знаки: ._- [] :? | / + * ^ $',
'delete_confirm_multiple' => 'Ви дійсно хочете видалити виділені сторінки?',
'delete_confirm_single' => 'Ви дійсно хочете видалити цю сторінку?',
'no_layout' => '-- без шаблону --',
'cms_page' => 'CMS сторінка',
'title' => 'Заголовок сторінки',
'url' => 'URL сторінки',
'file_name' => 'Файл сторінки',
],
'layout' => [
'not_found_name' => "Не вдалося знайти шаблон (layout) з ім'ям :name.",
'menu_label' => 'Шаблони',
'unsaved_label' => 'Незбережені (е) макет (и)',
'no_list_records' => 'Шаблони не знайдені',
'new' => 'Новий шаблон',
'delete_confirm_multiple' => 'Ви дійсно хочете видалити виділені шаблони?',
'delete_confirm_single' => 'Ви дійсно хочете видалити цей шаблон?',
],
'partial' => [
'not_found_name' => "Не вдалося знайти шаблон (partial) з ім'ям :name.",
'invalid_name' => 'Помилка в імені шаблону (partial) :name.',
'menu_label' => 'Фрагменти',
'unsaved_label' => 'Незбережені (е) фрагмент (и)',
'no_list_records' => 'Фрагменти не знайдені',
'delete_confirm_multiple' => 'Ви дійсно хочете видалити виділені фрагменти?',
'delete_confirm_single' => 'Ви дійсно хочете видалити цей фрагмент?',
'new' => 'Новий фрагмент',
],
'content' => [
'not_found_name' => "Не вдалося знайти файл вмісту (content file): ':name'.",
'menu_label' => 'Вміст',
'unsaved_label' => 'Незбережені вміст',
'no_list_records' => 'Файли з вмістом не знайдені',
'delete_confirm_multiple' => 'Ви дійсно хочете видалити виділені файли?',
'delete_confirm_single' => 'Ви дійсно хочете видалити цей файл?',
'new' => 'Новий файл вмісту',
],
'ajax_handler' => [
'invalid_name' => 'Помилка в імені обробника AJAX: :name.',
'not_found' => "Обробник AJAX не найден: ':name'.",
],
'cms' => [
'menu_label' => 'CMS',
],
'sidebar' => [
'add' => 'Додати',
'search' => 'Пошук...',
],
'editor' => [
'settings' => 'Налаштування',
'title' => 'Заголовок',
'new_title' => 'Заголовок сторінки',
'url' => 'Адреса',
'filename' => 'Ім\'я файлу',
'layout' => 'Шаблон',
'description' => 'Опис',
'preview' => 'Предпросмотр',
'meta' => 'Метатеги',
'meta_title' => 'Тема (meta)',
'meta_description' => 'Опис (meta)',
'markup' => 'Розмітка',
'code' => 'Код',
'content' => 'Зміст',
'hidden' => 'прихована сторінка',
'hidden_comment' => 'Приховані сторінки доступні тільки для ввійшли в систему користувачів.',
'enter_fullscreen' => 'Увійти в повноекранний режим',
'exit_fullscreen' => 'Вийти з повноекранного режиму',
'open_searchbox' => 'Відкрити вікно пошуку',
'close_searchbox' => 'Закрити вікно пошуку',
'open_replacebox' => 'Відкрито Замінити вікно',
'close_replacebox' => 'Закрити вікно Замінити',
],
'asset' => [
'menu_label' => 'Ресурси',
'unsaved_label' => 'Незбережений(і) файл(и)',
'drop_down_add_title' => 'Додати...',
'drop_down_operation_title' => 'Дія...',
'upload_files' => 'Завантажити файли)',
'create_file' => 'Створити файл',
'create_directory' => 'Створити директорію',
'directory_popup_title' => 'Нова директорія',
'directory_name' => 'Назва директорії',
'rename' => 'Перейменувати',
'delete' => 'Видалити',
'move' => 'Перемістити',
'select' => 'Вибрати',
'new' => 'Новий файл',
'rename_popup_title' => 'Перейменувати',
'rename_new_name' => 'нове ім\'я',
'invalid_path' => 'Шлях може містити тільки цифри, латинські літери, пробіли і наступні символи: ._- /',
'error_deleting_file' => 'Помилка видалення файлу :name.',
'error_deleting_dir_not_empty' => 'Неможливо видалити директорію :name. Директорія містить файли або піддиректорії.',
'error_deleting_dir' => 'Помилка видалення директорії:name.',
'invalid_name' => 'Назва може містити тільки цифри, латинські літери, пробіли і наступні символи: ._-',
'original_not_found' => 'Оригінальний файл або директорія не знайдено',
'already_exists' => 'Файл або директорія з таким ім\'ям вже існує',
'error_renaming' => 'Неможливо перейменувати файл або директорію',
'name_cant_be_empty' => 'Назва не може бути порожнім',
'too_large' => 'Завантажений файл занадто великий. Максимальний допустимий розмір файлу складає :max_size',
'type_not_allowed' => 'Дозволені лише файли наступних типів: :allowed_types',
'file_not_valid' => 'Файл не може бути збережений',
'error_uploading_file' => "Помилка завантаження файлу ':name': :error",
'move_please_select' => 'будь ласка, виберіть директорію',
'move_destination' => 'Нова директорія',
'move_popup_title' => 'перемістити файли',
'move_button' => 'Переместить',
'selected_files_not_found' => 'Вибрані файли не знайдені',
'select_destination_dir' => 'Будь ласка, виберіть директорію',
'destination_not_found' => 'Кінцева директорія не знайдено',
'error_moving_file' => 'Чи не вдалося перемістити файл :file',
'error_moving_directory' => 'Чи не вдалося перемістити директорію :dir',
'error_deleting_directory' => 'Чи не вдалося видалити директорію :dir',
'no_list_records' => 'Файли не знайдені',
'delete_confirm' => 'Видалити вибрані файли або каталоги?',
'path' => 'Шлях',
],
'component' => [
'menu_label' => 'Компоненти',
'unnamed' => 'Безіменний',
'no_description' => 'Без опису',
'alias' => 'Ім\'я користувача',
'alias_description' => 'Ім\'я користувача компонента визначає його ім\'я, під яким він доступний в коді сторінки або шаблону.',
'validation_message' => 'Псевдоніми обов\'язкові і можуть містити тільки латинські букви, цифри і знаки підкреслення. Псевдоніми повинні починатися з літери.',
'invalid_request' => 'Шаблон не може бути збережений, так як запит містить пошкоджену інформацію про компоненти.',
'no_records' => 'Компоненти не знайдені',
'not_found' => "Компонент ':name' не знайдено.",
'method_not_found' => "Компонент ':name' не містить метод ' :method'.",
],
'template' => [
'invalid_type' => 'Невідомий тип шаблону.',
'not_found' => 'Запитаний шаблон не найден.',
'saved' => 'Шаблон був успішно збережений.',
'no_list_records' => 'Записів не знайдено',
'delete_confirm' => 'Видалити вибрані шаблони?',
'order_by' => 'Сортувати за',
],
'permissions' => [
'name' => 'Управління CMS',
'manage_content' => 'Управління контентом',
'manage_assets' => 'Управління файлами',
'manage_pages' => 'Управління сторінками',
'manage_layouts' => 'Управління шаблонами',
'manage_partials' => 'Управління фрагментами',
'manage_themes' => 'Управління темами',
'manage_media' => 'Управління медіафайлів',
],
'mediafinder' => [
'label' => 'Media Finder',
'default_prompt' => 'Натисніть на %s кнопку, щоб знайти мультимедійний',
],
'media' => [
'invalid_path' => "Вказано неприпустимий шлях до файлу: ':path'.",
'menu_label' => 'Медіафайли',
'upload' => 'Завантажити',
'move' => 'Перемістити',
'delete' => 'Видалити',
'add_folder' => 'Створити папку',
'search' => 'Пошук',
'display' => 'Показати',
'filter_everything' => 'Всі файли',
'filter_images' => 'Зображення',
'filter_video' => 'Відео',
'filter_audio' => 'Музика',
'filter_documents' => 'Документи',
'library' => 'Бібліотека',
'folder_size_items' => 'Об\'єктів',
'size' => 'Розмір',
'title' => 'Ім\'я',
'last_modified' => 'Остання зміна',
'public_url' => 'публічний адреса',
'click_here' => 'Натисніть тут',
'thumbnail_error' => 'Помилка створення мініатюри.',
'return_to_parent' => 'Повернутися до батьківської папки',
'return_to_parent_label' => 'Піднятися на рівень вище...',
'nothing_selected' => 'Нічого не вибрано.',
'multiple_selected' => 'Обрано кілька об\'єктів.',
'uploading_file_num' => 'Завантаження файлів: :number',
'uploading_complete' => 'Завантаження файлів завершена!',
'uploading_error' => 'Помилка завантаження',
'type_blocked' => 'Тип файлу, який використовується заблокований з міркувань безпеки.',
'order_by' => 'Сортувати за',
'folder' => 'Папка',
'no_files_found' => 'Жоден з файлів не задовольняє вашому запиту.',
'delete_empty' => 'Будь ласка, виберіть об\'єкти для видалення.',
'delete_confirm' => 'Ви дійсно хочете видалити вибрані об\'єкти?',
'error_renaming_file' => 'Помилка зміни імені файлу.',
'new_folder_title' => 'Нова папка',
'folder_name' => 'Назва папки',
'error_creating_folder' => 'Помилка створення папки',
'folder_or_file_exist' => 'Папка або файл з таким ім\'ям вже існує.',
'move_empty' => 'Будь ласка, виберіть об\'єкти для переміщення.',
'move_popup_title' => 'Переміщення файлів або папок',
'move_destination' => 'Папка призначення',
'please_select_move_dest' => 'Будь ласка, виберіть папку призначення для переміщення.',
'move_dest_src_match' => 'Будь ласка, виберіть іншу папку.',
'empty_library' => 'Бібліотека медіафайлів порожня. Для початку завантажте файли або створіть папки.',
'insert' => 'Вставити',
'crop_and_insert' => 'Обрізати і вставити',
'select_single_image' => 'Будь ласка, виберіть одне зображення.',
'selection_not_image' => 'Обраний елемент не є зображенням.',
'restore' => 'Скасувати всі зміни',
'resize' => 'Зміна розміру...',
'selection_mode_normal' => 'Нормальний',
'selection_mode_fixed_ratio' => 'Фіксоване співвідношення',
'selection_mode_fixed_size' => 'Фіксований розмір',
'height' => 'Висота',
'width' => 'Ширина',
'selection_mode' => 'режим виділення',
'resize_image' => 'Зміна розміру зображення',
'image_size' => 'Розмір зображення:',
'selected_size' => 'Обрано:',
],
'theme_log' => [
'hint' => 'Цей журнал відображає будь-які зміни, внесені до теми адміністраторами в задній частині області.',
'menu_label' => 'Тема журналу',
'menu_description' => 'Переглянути зміни, внесені до активної теми.',
'empty_link' => 'Порожня тема журналу',
'empty_loading' => 'Очищення журналу тем...',
'empty_success' => 'Тема журналу порожня',
'return_link' => 'Повернутися до теми журналу',
'id' => 'ID',
'id_label' => 'Ідентифікатор журналу',
'created_at' => 'Дата, час',
'user' => 'Користувач',
'type' => 'Тип',
'type_create' => 'Створити',
'type_update' => 'Оновити',
'type_delete' => 'Видалити',
'theme_name' => 'Тема',
'theme_code' => 'Тема коду',
'old_template' => 'Шаблон (старий)',
'new_template' => 'Шаблон (новий)',
'template' => 'Шаблон',
'diff' => 'Зміни',
'old_value' => 'Старе значення',
'new_value' => 'Нове значення',
'preview_title' => 'Шаблони змінюються',
'template_updated' => 'Шаблон оновлено',
'template_created' => 'Шаблон був створений',
'template_deleted' => 'Шаблон був знищений',
],
];

View File

@ -52,7 +52,7 @@
})
if (!!$container.length) {
$container = $('[data-validate-error]')
$container = $('[data-validate-error]', $this)
}
if (!!$container.length) {

View File

@ -102,6 +102,7 @@
var pikadayOptions = {
yearRange: this.options.yearRange,
firstDay: this.options.firstDay,
format: dateFormat,
setDefaultDate: now,
onOpen: function() {
@ -305,7 +306,8 @@
minDate: null,
maxDate: null,
format: null,
yearRange: 10
yearRange: 10,
firstDay: 0
}
// PLUGIN DEFINITION

View File

@ -2877,7 +2877,7 @@ this.$el=null
this.options=null
BaseProto.dispose.call(this)}
DatePicker.prototype.initDatePicker=function(){var self=this,dateFormat=this.getDateFormat(),now=moment().tz(this.timezone).format(dateFormat)
var pikadayOptions={yearRange:this.options.yearRange,format:dateFormat,setDefaultDate:now,onOpen:function(){var $field=$(this._o.trigger)
var pikadayOptions={yearRange:this.options.yearRange,firstDay:this.options.firstDay,format:dateFormat,setDefaultDate:now,onOpen:function(){var $field=$(this._o.trigger)
$(this.el).css({left:'auto',right:$(window).width()-$field.offset().left-$field.outerWidth()})},onSelect:function(){self.onSelectDatePicker.call(self,this.getMoment())}}
var lang=this.getLang('datepicker',false)
if(lang){pikadayOptions.i18n=lang}
@ -2926,7 +2926,7 @@ if(!this.appTimezone){this.appTimezone='UTC'}
if(!this.timezone){this.timezone='UTC'}}
DatePicker.prototype.getLang=function(name,defaultValue){if($.oc===undefined||$.oc.lang===undefined){return defaultValue}
return $.oc.lang.get(name,defaultValue)}
DatePicker.DEFAULTS={minDate:null,maxDate:null,format:null,yearRange:10}
DatePicker.DEFAULTS={minDate:null,maxDate:null,format:null,yearRange:10,firstDay:0}
var old=$.fn.datePicker
$.fn.datePicker=function(option){var args=Array.prototype.slice.call(arguments,1),items,result
items=this.each(function(){var $this=$(this)

View File

@ -254,6 +254,10 @@ class SettingsManager
{
$itemKey = $this->makeItemKey($owner, $code);
if (isset($this->items[$itemKey])) {
$definition = array_merge((array) $this->items[$itemKey], $definition);
}
$item = array_merge(self::$itemDefaults, array_merge($definition, [
'code' => $code,
'owner' => $owner

View File

@ -14,6 +14,7 @@ return [
'en-au' => 'English (Australia)',
'en-ca' => 'English (Canada)',
'en-gb' => 'English (United Kingdom)',
'et' => 'Eesti',
'de' => 'Deutsch',
'el' => 'Ελληνικά',
'es' => 'Español',
@ -31,11 +32,13 @@ return [
'nl' => 'Nederlands',
'pl' => 'Polskie',
'pt-br' => 'Português (Brasil)',
'pt-pt' => 'Português (Portugal)',
'ro' => 'Română',
'ru' => 'Русский',
'sv' => 'Svenska',
'sk' => 'Slovenský',
'tr' => 'Türkçe',
'uk' => 'Українська мова',
'zh-cn' => '简体中文',
'zh-tw' => '繁體中文'
],

View File

@ -0,0 +1,88 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Client-side Language Lines
|--------------------------------------------------------------------------
|
| These are messages made available to the client browser via JavaScript.
| To compile this file run: php artisan october:util compile lang
|
*/
'markdowneditor' => [
'formatting' => 'Vorming',
'quote' => 'Tsitaat',
'code' => 'Kood',
'header1' => 'Pealkiri 1',
'header2' => 'Pealkiri 2',
'header3' => 'Pealkiri 3',
'header4' => 'Pealkiri 4',
'header5' => 'Pealkiri 5',
'header6' => 'Pealkiri 6',
'bold' => 'Paks',
'italic' => 'Kursiiv',
'unorderedlist' => 'Järjestamata nimekiri',
'orderedlist' => 'Järjestatud nimekiri',
'video' => 'Video',
'image' => 'Pilt',
'link' => 'Link',
'horizontalrule' => 'Sisesta horisontaaljoon',
'fullscreen' => 'Täisekraan',
'preview' => 'Eelvaade',
],
'mediamanager' => [
'insert_link' => 'Sisesta link',
'insert_image' => 'Siseta pilt',
'insert_video' => 'Sisesta video',
'insert_audio' => 'Sisesta heliklipp',
'invalid_file_empty_insert' => 'Palun vali fail, millele link lisada.',
'invalid_file_single_insert' => 'Palun vali üks fail.',
'invalid_image_empty_insert' => 'Palun vali pildid, mida lisada.',
'invalid_video_empty_insert' => 'Palun vali videoklipp, mida lisada.',
'invalid_audio_empty_insert' => 'Palun vali heliklipp, mida lisada.',
],
'alert' => [
'confirm_button_text' => 'OK',
'cancel_button_text' => 'Loobu',
'widget_remove_confirm' => 'Eemalda see widget?'
],
'datepicker' => [
'previousMonth' => 'Eelmine kuu',
'nextMonth' => 'Järgmine kuu',
'months' => ['Jaanuar', 'Veebruar', 'Märts', 'Aprill', 'Mai', 'Juuni', 'Juuli', 'August', 'September', 'Oktoober', 'November', 'Detsember'],
'weekdays' => ['Pühapäev', 'Esmaspäev', 'Teisipäev', 'Kolmapäev', 'Neljapäev', 'Reede', 'Laupäev'],
'weekdaysShort' => ['P', 'E', 'T', 'K', 'N', 'R', 'L']
],
'filter' => [
'group' => [
'all' => 'kõik'
],
'dates' => [
'all' => 'kõik',
'filter_button_text' => 'Filtreeri',
'reset_button_text' => 'Lähtesta',
'date_placeholder' => 'Kuupäev',
'after_placeholder' => 'Hiljem kui',
'before_placeholder' => 'Varem kui'
]
],
'eventlog' => [
'show_stacktrace' => 'Näita stacktrace',
'hide_stacktrace' => 'Peida stacktrace',
'tabs' => [
'formatted' => 'Kujundatud',
'raw' => 'Algne',
],
'editor' => [
'title' => 'Lähtekoodi redaktor',
'description' => 'Sinu operatsioonisüsteem peaks olema sedistatud ühe URL skeemi jaoks.',
'openWith' => 'Ava programmiga',
'remember_choice' => 'Jäta valik selleks sessiooniks meelde',
'open' => 'Ava',
'cancel' => 'Loobu'
]
]
];

View File

@ -0,0 +1,367 @@
<?php
return [
'app' => [
'name' => 'OctoberCMS',
'tagline' => 'Tagasi põhitõdede juurde'
],
'locale' => [
'be' => 'Беларуская',
'bg' => 'Български',
'cs' => 'Čeština',
'da' => 'Dansk',
'en' => 'English (United States)',
'en-au' => 'English (Australia)',
'en-ca' => 'English (Canada)',
'en-gb' => 'English (United Kingdom)',
'et' => 'Eesti',
'de' => 'Deutsch',
'el' => 'Ελληνικά',
'es' => 'Español',
'es-ar' => 'Español (Argentina)',
'fa' => 'فارسی',
'fr' => 'Français',
'fr-ca' => 'Français (Canada)',
'hu' => 'Magyar',
'id' => 'Bahasa Indonesia',
'it' => 'Italiano',
'ja' => '日本語',
'lt' => 'Lietuvių',
'lv' => 'Latviešu',
'nb-no' => 'Norsk (Bokmål)',
'nl' => 'Nederlands',
'pl' => 'Polskie',
'pt-br' => 'Português (Brasil)',
'ro' => 'Română',
'ru' => 'Русский',
'sv' => 'Svenska',
'sk' => 'Slovenský',
'tr' => 'Türkçe',
'zh-cn' => '简体中文',
'zh-tw' => '繁體中文'
],
'directory' => [
'create_fail' => 'Kataloogi :name ei õnnestunud luua'
],
'file' => [
'create_fail' => 'Faili :name ei õnnestunud luua'
],
'combiner' => [
'not_found' => "Ühendaja faili ':name' ei leitud."
],
'system' => [
'name' => 'Süsteem',
'menu_label' => 'Süsteem',
'categories' => [
'cms' => 'Sisuhaldus',
'misc' => 'Muu',
'logs' => 'Logid',
'mail' => 'E-post',
'shop' => 'Pood',
'team' => 'Meeskond',
'users' => 'Kasutajad',
'system' => 'Süsteem',
'social' => 'Suhtlusvõrgustikud',
'events' => 'Sündmused',
'customers' => 'Kliendid',
'my_settings' => 'Minu seaded'
]
],
'theme' => [
'label' => 'Teema',
'unnamed' => 'Nimeta teema',
'name' => [
'label' => 'Teema nimi',
'help' => 'Anna teemale nimi selle unikaalse koodi järgi, nt RainLab.Vanilla'
],
],
'themes' => [
'install' => 'Paigalda teemad',
'search' => 'otsi paigaldamiseks teemasid...',
'installed' => 'Paigaldatud teemad',
'no_themes' => 'Ühtegi ostetud teemat pole paigaldatud.',
'recommended' => 'Soovitatud',
'remove_confirm' => 'Oled sa kindel, et soovid selle teema eemaldada?'
],
'plugin' => [
'label' => 'Plugin',
'unnamed' => 'Nimeta plugin',
'name' => [
'label' => 'Plugina nimi',
'help' => 'Anna pluginale nimi selle unikaalse koodi järgi. Nt RainLab.Blog'
]
],
'plugins' => [
'manage' => 'Halda pluginaid',
'enable_or_disable' => 'Luba või keela',
'enable_or_disable_title' => 'Luba või keela pluginaid',
'install' => 'Paigalda pluginaid',
'install_products' => 'Paigalda tooteid',
'search' => 'otsi pluginaid paigaldamiseks...',
'installed' => 'Paigaldatud pluginad',
'no_plugins' => 'Ühtegi ostetud pluginat pole paigaldatud.',
'recommended' => 'Soovitatud',
'remove' => 'Eemalda',
'refresh' => 'Värskenda',
'disabled_label' => 'Keelatud',
'disabled_help' => 'Keelatud pluginaid süsteem ei kasuta.',
'frozen_label' => 'Peata uuendamised',
'frozen_help' => 'Peatatud uuendustega pluginaid ei uuendata automaatse uuendusprotsessi käigus.',
'selected_amount' => 'Valitud pluginaid: :amount',
'remove_confirm' => 'Oled sa kindel, et soovid selle plugina eemaldada?',
'remove_success' => 'Valitud pluginad on süsteemist eemaldatud.',
'refresh_confirm' => 'Oled sa kindel?',
'refresh_success' => 'Valitud plugin on edukalt värskendatud.',
'disable_confirm' => 'Oled sa kindel?',
'disable_success' => 'Valitud plugin on nüüd keelatud.',
'enable_success' => 'Valitud pluginad on nüüd lubatud.',
'unknown_plugin' => 'Plugin on edukalt eemaldatud.'
],
'project' => [
'name' => 'Projekt',
'owner_label' => 'Omanik',
'attach' => 'Seosta projekt',
'detach' => 'Eemalda projekt',
'none' => 'Puudub',
'id' => [
'label' => 'Projekti ID',
'help' => 'Kuidas leida projekti ID-d',
'missing' => 'Palun sisesta projekti ID.'
],
'detach_confirm' => 'Oled sa kindel, et soovid selle projekti eemaldada?',
'unbind_success' => 'Projekt on eemaldatud.'
],
'settings' => [
'menu_label' => 'Seaded',
'not_found' => 'Soovitud seadeid ei leitud.',
'missing_model' => 'Seadete lehel puudub modeli seos.',
'update_success' => ':name seaded on uuendatud',
'return' => 'Tagasi süsteemi seadete juurde',
'search' => 'Otsi'
],
'mail' => [
'log_file' => 'Logi fail',
'menu_label' => 'E-posti seadistus',
'menu_description' => 'Halda e-posti seadistusi.',
'general' => 'Üldine',
'method' => 'Saatmise meetod',
'sender_name' => 'Saatja nimi',
'sender_email' => 'Saatja e-post',
'php_mail' => 'PHP mail',
'smtp' => 'SMTP',
'smtp_address' => 'SMTP serveri aadress',
'smtp_authorization' => 'SMTP autenimine',
'smtp_authorization_comment' => 'Märgi see kast kui serveri poolt on nõutud SMTP autoriseerimine.',
'smtp_username' => 'Kasutjanimi',
'smtp_password' => 'Parool',
'smtp_port' => 'SMTP port',
'smtp_ssl' => 'SSL ühendus',
'smtp_encryption' => 'SMTP krüpteerimise protokoll',
'smtp_encryption_none' => 'Krüpteerimist ei kasutata',
'smtp_encryption_tls' => 'TLS',
'smtp_encryption_ssl' => 'SSL',
'sendmail' => 'Sendmail',
'sendmail_path' => 'Sendmaili asukoht',
'sendmail_path_comment' => 'Palun sisesta sendmail programmi asukoht.',
'mailgun' => 'Mailgun',
'mailgun_domain' => 'Mailgun domeen',
'mailgun_domain_comment' => 'Palun sisesta Mailgun domeeni nimi.',
'mailgun_secret' => 'Mailgun võti',
'mailgun_secret_comment' => 'Palun sisesta Mailgun API salajane võti.',
'mandrill' => 'Mandrill',
'mandrill_secret' => 'Mandrill võti',
'mandrill_secret_comment' => 'Palun sisesta Mandrill API salajane võti.',
'ses' => 'Amazon SES',
'ses_key' => 'SES avalik võti',
'ses_key_comment' => 'Palun sisesta SES avalik võti',
'ses_secret' => 'SES salajane võti',
'ses_secret_comment' => 'Palun sisesta SES saljane võti',
'ses_region' => 'SES regioon',
'ses_region_comment' => 'Palun sisesta SES regiooni nimi (nt eu-west-1)',
'drivers_hint_header' => 'Draivereid pole paigaldatud',
'drivers_hint_content' => 'See e-posti saatmise meetod nõuab plugina ":plugin" paigaldamist.'
],
'mail_templates' => [
'menu_label' => 'Kirja mallid',
'menu_description' => 'Halda kirja malle ja kujundusi, mida saadetakse kasutajatele ja administraatoritele.',
'new_template' => 'Uus mall',
'new_layout' => 'Uus kujundus',
'template' => 'Mall',
'templates' => 'Mallid',
'menu_layouts_label' => 'Kirja kujundused',
'layout' => 'Kujundus',
'layouts' => 'Kujundused',
'no_layout' => '-- kujundust pole --',
'name' => 'Nimi',
'name_comment' => 'Unikaalne nimi, mida kasutatakse sellele mallile viitamisel',
'code' => 'Kood',
'code_comment' => 'Unikaalne kood, mida kasutatakse sellele mallile viitamisel',
'subject' => 'Subjekt',
'subject_comment' => 'Kirja subjekt',
'description' => 'Kirjeldus',
'content_html' => 'HTML',
'content_css' => 'CSS',
'content_text' => 'Tekstipõhine sisu',
'test_send' => 'Saada testkiri',
'test_success' => 'Testkiri saadetud.',
'test_confirm' => 'Saada testkiri aadressile :email. Jätkan?',
'creating' => 'Loon malli...',
'creating_layout' => 'Loon kujundust...',
'saving' => 'Salvestan malli...',
'saving_layout' => 'Salvestan kujundust...',
'delete_confirm' => 'Kustutan selle malli?',
'delete_layout_confirm' => 'Kustutan selle kujunduse?',
'deleting' => 'Kustutan malli...',
'deleting_layout' => 'Kustutan kujundust...',
'sending' => 'Saadan testkirja...',
'return' => 'Tagasi mallide nimekirja'
],
'install' => [
'project_label' => 'Lisa projektile',
'plugin_label' => 'Paigalda plugin',
'theme_label' => 'Paigalda teema',
'missing_plugin_name' => 'Palun sisesta plugina nimi, mida paigaldada.',
'missing_theme_name' => 'Palun sisesta teema nimi, mida paigaldada.',
'install_completing' => 'Lõpetan paigaldamise protsessi',
'install_success' => 'Plugin on edukalt paigaldatud'
],
'updates' => [
'title' => 'Halda uuendusi',
'name' => 'Tarkvara uuendus',
'menu_label' => 'Uuendused & pluginad',
'menu_description' => 'Uuenda süsteemi, halda ja paigalda pluginaid ja teemasid.',
'return_link' => 'Tagasi süsteemi uuenduste juurde',
'check_label' => 'Kontrolli uuendusi',
'retry_label' => 'Proovi uuesti',
'plugin_name' => 'Nimi',
'plugin_code' => 'Kood',
'plugin_description' => 'Kirjeldus',
'plugin_version' => 'Versioon',
'plugin_author' => 'Autor',
'plugin_not_found' => 'Pluginat ei leitud',
'core_current_build' => 'Praegune versioon',
'core_build' => 'Versioon :build',
'core_build_help' => 'Uusim versioon on saadaval.',
'core_downloading' => 'Laen alla süsteemifaile',
'core_extracting' => 'Pakin lahti süsteemifaile',
'plugins' => 'Pluginad',
'themes' => 'Teemad',
'disabled' => 'Keelatud',
'plugin_downloading' => 'Plugina allalaadimine: :name',
'plugin_extracting' => 'Plugina failide lahtipakkimine: :name',
'plugin_version_none' => 'Uus plugin',
'plugin_current_version' => 'Praegune versioon',
'theme_new_install' => 'Uue teema paigaldamine.',
'theme_downloading' => 'Teema allalaadimine: :name',
'theme_extracting' => 'Teema failide lahtipakkimine: :name',
'update_label' => 'Uuenda tarkvara',
'update_completing' => 'Lõpetan uuendamise protsessi',
'update_loading' => 'Laen saadaolevaid uuendusi...',
'update_success' => 'Uuendamise protsess lõpetatud',
'update_failed_label' => 'Uendamine ebaõnnestus',
'force_label' => 'Uuenda igal juhul',
'found' => [
'label' => 'Found new updates!',
'help' => 'Kliki "Uuenda tarkvara," et alustada uuendamise protsesse.'
],
'none' => [
'label' => 'Uuendusi ei ole',
'help' => 'Uusi uuendusi ei leitud.'
],
'important_action' => [
'empty' => 'Vali tegevus',
'confirm' => 'Kinnita uuendus',
'skip' => 'Jäta see uuendus vahele (ainult nüüd)',
'ignore' => 'Jäta see uuendus vahele (alati)'
],
'important_action_required' => 'Vajalik tegevus',
'important_view_guide' => 'Vaata uuendamise juhendit',
'important_view_release_notes' => 'Vaate uuenduse märkmeid',
'important_alert_text' => 'Osa uuendusi vajab sinu tähelepanu.',
'details_title' => 'Plugina andmed',
'details_view_homepage' => 'Vaata kodulehte',
'details_readme' => 'Dokumentatsioon',
'details_readme_missing' => 'Dokumentatsiooni pole lisatud.',
'details_changelog' => 'Muudatuste nimekiri',
'details_changelog_missing' => 'Muudatuste nimekirja pole.',
'details_upgrades' => 'Uuendamise juhend',
'details_upgrades_missing' => 'Uuendamise juhendit ei ole lisatud.',
'details_licence' => 'Litsents',
'details_licence_missing' => 'Litsentsi pole lisatud.',
'details_current_version' => 'Praegune versioon',
'details_author' => 'Autor'
],
'server' => [
'connect_error' => 'Ühendus serveriga nurjus.',
'response_not_found' => 'Uuenduste serverit ei leitud.',
'response_invalid' => 'Serverilt saadi vigane vastus.',
'response_empty' => 'Serverilt saadi tühi vastus.',
'file_error' => 'Paketi saatmine ebaõnnestus.',
'file_corrupt' => 'Saadetud fail on vigane.'
],
'behavior' => [
'missing_property' => 'Klass :class peab defineerima atribuudi $:property, mida kasutab käitumine :behavior.'
],
'config' => [
'not_found' => 'Ei leitud :location jaoks seadete faili :file.',
'required' => ":location seade peab sisaldama ':property' väärtust."
],
'zip' => [
'extract_failed' => "Süsteemifaili ':file' lahtipakkimine ebaõnnestus."
],
'event_log' => [
'hint' => 'See logi sisaldab veateateid, mis esinevad süsteemi töös.',
'menu_label' => 'Sündmuste logi',
'menu_description' => 'Vaata süsteemi logi kirjeid.',
'empty_link' => 'Kustuta sündmuste logi',
'empty_loading' => 'Kustutan sündmuste logi...',
'empty_success' => 'Sündmuste logi kustutatud',
'return_link' => 'Tagasi sündmsute logi nimekirja',
'id' => 'ID',
'id_label' => 'Sündmuse ID',
'created_at' => 'Kuupäev & kellaaeg',
'message' => 'Sisu',
'level' => 'Tase',
'preview_title' => 'Sündmus'
],
'request_log' => [
'hint' => 'See logi sisaldab süsteemi juurdepääsuinfot, mis võiks vajada tähelepanu. Näiteks salvestatakse 404 päringud kui kasutaja üritab vaadata lehte, mida ei ole olemas.',
'menu_label' => 'Päringute logi',
'menu_description' => 'Vaata ebaõnnestunud või edasisuunatud päringuid, nt Lehte ei leitud (404).',
'empty_link' => 'Kustuta sündmuste logi',
'empty_loading' => 'Kustutan sündmuste logi...',
'empty_success' => 'Sündmuste logi kustutatud',
'return_link' => 'Tagasi sündmuste logi nimekirja',
'id' => 'ID',
'id_label' => 'Päringu ID',
'count' => 'Korduste arv',
'referer' => 'Allikas',
'url' => 'URL',
'status_code' => 'Staatus',
'preview_title' => 'Päring'
],
'permissions' => [
'name' => 'Süsteem',
'manage_system_settings' => 'Süsteemi seadete muutmine',
'manage_software_updates' => 'Süsteemi uundamine',
'access_logs' => 'Logide vaatamine',
'manage_mail_templates' => 'Kirja mallide haldamine',
'manage_mail_settings' => 'E-posti seadete muutmine',
'manage_other_administrators' => 'Administraatorite haldamine',
'manage_preferences' => 'Haldusliidese seadete muutmine',
'manage_editor' => 'Koodi redaktori seadete muutmine',
'view_the_dashboard' => 'Juurdepääs töölauale',
'manage_branding' => 'Haldusliidese kohandamine'
],
'log' => [
'menu_label' => 'Logi seaded',
'menu_description' => 'Määra millistes süsteemi osadeks peaks logi pidama.',
'default_tab' => 'Logimine',
'log_events' => 'Logi süsteemi sündmusi',
'log_events_comment' => 'Salvesta logi ka andmebaasi (lisaks kettal olevale logifailile).',
'log_requests' => 'Logi vigaseid päringuid',
'log_requests_comment' => 'Süsteemi juurdepääsu päringud, mis võiksid vajada tähelepanu (nt 404)',
'log_theme' => 'Logi teema muudatusi',
'log_theme_comment' => 'Teema muudatused, mida tehakse haldusliideses.',
]
];

View File

@ -0,0 +1,99 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| such as the size rules. Feel free to tweak each of these messages.
|
*/
"accepted" => ":attribute peab olema vastuvõetud.",
"active_url" => ":attribute ei ole korrektne URL.",
"after" => ":attribute peab olema hilisem kui :date.",
"alpha" => ":attribute võib sisaldada ainult täthi.",
"alpha_dash" => ":attribute võib sisaldada ainult tähti, numbreid ja sidekriipse.",
"alpha_num" => ":attribute võib sisaldada ainult tähti ja numbreid.",
"array" => ":attribute peab olema massiiv.",
"before" => ":attribute peab olema varasem kui :date.",
"between" => [
"numeric" => ":attribute peab olema vahemikus :min - :max.",
"file" => ":attribute peab olema vahemikus :min - :max kb.",
"string" => ":attribute peab olema vahemikus :min - :max tähemärki.",
"array" => ":attribute sisaldama :min - :max elementi.",
],
"confirmed" => ":attribute kordus ei kattu.",
"date" => ":attribute pole korrektne kuupäev.",
"date_format" => ":attribute ei vasta vormingule :format.",
"different" => ":attribute ja :other peavad olema erinevad.",
"digits" => ":attribute peab olema :digits märgiline.",
"digits_between" => ":attribute peab olema vahemikus :min and :max märki.",
"email" => ":attribute vorming ei ole korrektne.",
"exists" => "Valitud :attribute pole korrektne.",
"image" => ":attribute peab olema pilt.",
"in" => "Valitud :attribute pole korrektne.",
"integer" => ":attribute peab olema täisarv.",
"ip" => ":attribute peab olema IP aadress.",
"max" => [
"numeric" => ":attribute ei tohi olla täisarv suurem kui :max.",
"file" => ":attribute ei tohi olla suurem kui :max kb.",
"string" => ":attribute ei tohi olla suurem kui :max tähemärki.",
"array" => ":attribute ei tohi sisalda rohkem kui :max elementi.",
],
"mimes" => ":attribute peab olema fail tüübiga :values.",
"extensions" => ":attribute peab olema laiendiga :values.",
"min" => [
"numeric" => ":attribute peab olema vähemalt :min.",
"file" => ":attribute peab olema vähemalt :min kb.",
"string" => ":attribute peab olema vähemalt :min tähemärki.",
"array" => ":attribute peab sisaldama vähemalt :min elementi.",
],
"not_in" => "Valitud :attribute pole korrektne.",
"numeric" => ":attribute peab olema number.",
"regex" => ":attribute vormin pole korrektne.",
"required" => ":attribute on kohustuslik.",
"required_if" => ":attribute on kohustuslik kui :other on :value.",
"required_with" => ":attribute on kohustuslik kui :values on olemas.",
"required_without" => ":attribute on kohustuslik kui :values pole olemas.",
"same" => ":attribute ja :other peavad ühtima.",
"size" => [
"numeric" => ":attribute peab olema :size.",
"file" => ":attribute peab olema :size kb.",
"string" => ":attribute peab olema :size tähemärki.",
"array" => ":attribute peab sialdama :size elementi.",
],
"unique" => ":attribute on juba võetud.",
"url" => ":attribute vorming ei ole korrektne.",
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'custom' => [],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => [],
];

View File

@ -33,7 +33,6 @@ return [
'fullscreen' => 'Полный экран',
'preview' => 'Предпросмотр',
],
'mediamanager' => [
'insert_link' => "Вставить медиа-ссылку",
'insert_image' => "Вставить медиа-изображение",
@ -45,7 +44,6 @@ return [
'invalid_video_empty_insert' => "Пожалуйста, выберите видео для вставки.",
'invalid_audio_empty_insert' => "Пожалуйста, выберите аудио для вставки.",
],
'alert' => [
'confirm_button_text' => 'Ок',
'cancel_button_text' => 'Отмена',

View File

@ -27,9 +27,10 @@ return [
'users' => 'Пользователи',
'system' => 'Система',
'social' => 'Социальное',
'backend' => 'Backend',
'events' => 'События',
'customers' => 'Клиентское',
'my_settings' => 'Мои настройки'
'my_settings' => 'Мои настройки',
]
],
'theme' => [
@ -203,7 +204,7 @@ return [
'plugin_description' => 'Описание',
'plugin_version' => 'Версия',
'plugin_author' => 'Автор',
'plugin_not_found' => 'Plugin not found',
'plugin_not_found' => 'Плагин не найден',
'core_current_build' => 'Текущая сборка',
'core_build' => 'Сборка :build',
'core_build_help' => 'Последняя доступная сборка.',
@ -241,13 +242,18 @@ return [
],
'important_action_required' => 'Необходимое действие',
'important_view_guide' => 'Посмотреть руководство по обновлению',
'important_view_release_notes' => 'Просмотреть заметки о выпуске',
'important_alert_text' => 'Некоторые обновления требуют вашего внимания.',
'details_title' => 'Информация о плагине',
'details_view_homepage' => 'Перейти к домашней странице',
'details_readme' => 'Документация',
'details_readme_missing' => 'Документация не предоставлена.',
'details_changelog' => 'Изменения',
'details_changelog_missing' => 'Нет никакого измененного списка.',
'details_upgrades' => 'Инструкция по обновлению',
'details_upgrades_missing' => 'Инструкция по обновлению не предоставлена.',
'details_licence' => 'Лицензия',
'details_licence_missing' => 'Лицензия не предоставляется.',
'details_current_version' => 'Текущая версия',
'details_author' => 'Автор',
],
@ -281,7 +287,8 @@ return [
'id_label' => 'ID события',
'created_at' => 'Дата & Время',
'message' => 'Сообщение',
'level' => 'Уровень'
'level' => 'Уровень',
'preview_title' => 'События',
],
'request_log' => [
'hint' => 'В этом журнале отображается список запросов браузера, которые могут потребовать внимания. Например, если посетитель открывает несуществующую страницу, то в журнале создается запись с кодом статуса 404.',
@ -296,7 +303,8 @@ return [
'count' => 'Счетчик',
'referer' => 'Источник запроса',
'url' => 'Адрес',
'status_code' => 'Статус'
'status_code' => 'Статус',
'preview_title' => 'Запрос',
],
'permissions' => [
'name' => 'Система',
@ -310,5 +318,16 @@ return [
'manage_editor' => 'Управление настройками редактора кода',
'view_the_dashboard' => 'Просмотр панели управления',
'manage_branding' => 'Персонализация панели управления'
],
'log' => [
'menu_label' => 'Настройки логов',
'menu_description' => 'Указать какие части CMS следует логировать.',
'default_tab' => 'Логирование',
'log_events' => 'Логировать системные события',
'log_events_comment' => 'Хранить системные события в базе данных в дополнение к файловому журналу.',
'log_requests' => 'Логировать неудачные запросы',
'log_requests_comment' => 'Запросы браузера, которые могут потребовать внимания. Например, 404 ошибки.',
'log_theme' => 'Логировать изменения темы',
'log_theme_comment' => 'Когда изменения внесены средствами CMS',
]
];

View File

@ -0,0 +1,88 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Client-side Language Lines
|--------------------------------------------------------------------------
|
| These are messages made available to the client browser via JavaScript.
| To compile this file run: php artisan october:util compile lang
|
*/
'markdowneditor' => [
'formatting' => 'Форматування',
'quote' => 'Цитата',
'code' => 'Код',
'header1' => 'Заголовок 1',
'header2' => 'Заголовок 2',
'header3' => 'Заголовок 3',
'header4' => 'Заголовок 4',
'header5' => 'Заголовок 5',
'header6' => 'Заголовок 6',
'bold' => 'Жирний шрифт',
'italic' => 'Курсив',
'unorderedlist' => 'Ненумерованний список',
'orderedlist' => 'Нумірованний список',
'video' => 'Відео',
'image' => 'Зображення',
'link' => 'Посилання',
'horizontalrule' => 'Вставити горизонтальну риску',
'fullscreen' => 'Повний екран',
'preview' => 'Попередній перегляд',
],
'mediamanager' => [
'insert_link' => "Вставити медіа-посилання",
'insert_image' => "Вставити медіа-зображення",
'insert_video' => "Вставити медіа-відео",
'insert_audio' => "Вставити медіа-аудіо",
'invalid_file_empty_insert' => "Будь ласка, виберіть файл для вставки посилання.",
'invalid_file_single_insert' => "Будь ласка, виберіть один файл.",
'invalid_image_empty_insert' => "Будь ласка, виберіть зображення для вставки.",
'invalid_video_empty_insert' => "Будь ласка, виберіть відео для вставки.",
'invalid_audio_empty_insert' => "Будь ласка, виберіть аудіо для вставки.",
],
'alert' => [
'confirm_button_text' => 'Ок',
'cancel_button_text' => 'Скасувати',
'widget_remove_confirm' => 'Видалити цей віджет?',
],
'datepicker' => [
'previousMonth' => 'Попередній місяць',
'nextMonth' => 'Наступний місяць',
'months' => ['Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень'],
'weekdays' => ['Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П\'ятниця', 'Cубота'],
'weekdaysShort' => ['Нд', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
],
'filter' => [
'group' => [
'all' => 'всі',
],
'dates' => [
'all' => 'всі',
'filter_button_text' => 'Фільтр',
'reset_button_text' => 'Скинути',
'date_placeholder' => 'Дата',
'after_placeholder' => 'Після',
'before_placeholder' => 'До',
],
],
'eventlog' => [
'show_stacktrace' => 'Показати трасування стека',
'hide_stacktrace' => 'Приховати трасування стека',
'tabs' => [
'formatted' => 'Форматований',
'raw' => 'Початковий',
],
'editor' => [
'title' => 'Редактор вихідного коду',
'description' => 'Ваша операційна система повинна бути налаштована на прослуховування до однієї з цих схем URL.',
'openWith' => 'Відкрити за допомогою',
'remember_choice' => 'Запам\'ятати обраний варіант для цієї сесії',
'open' => 'Відкрити',
'cancel' => 'Скасувати',
],
],
];

View File

@ -0,0 +1,333 @@
<?php
return [
'app' => [
'name' => 'October CMS',
'tagline' => 'Повернення до витоків',
],
'directory' => [
'create_fail' => 'Неможливо створити директорію: :name',
],
'file' => [
'create_fail' => 'Неможливо створити файл: :name',
],
'combiner' => [
'not_found' => "Складальник ресурсів не може знайти файл ':name'.",
],
'system' => [
'name' => 'Система',
'menu_label' => 'Система',
'categories' => [
'cms' => 'CMS',
'misc' => 'Різне',
'logs' => 'Журнали',
'mail' => 'Пошта',
'shop' => 'Магазин',
'team' => 'Команда',
'users' => 'Користувачі',
'system' => 'Система',
'social' => 'Соціальне',
'backend' => 'Backend',
'events' => 'Події',
'customers' => 'Клієнтське',
'my_settings' => 'Мої налаштування',
],
],
'theme' => [
'label' => 'Тема',
'unnamed' => 'Безіменна тема',
'name' => [
'label' => 'Назва теми',
'help' => 'Назва теми по її унікальним кодом. Наприклад, RainLab.Vanilla',
],
],
'themes' => [
'install' => 'Встановити теми',
'search' => 'Пошук тем для установки...',
'installed' => 'Встановлені теми',
'no_themes' => 'Немає тем, встановлених з магазину.',
'recommended' => 'Рекомендується',
'remove_confirm' => 'Ви впевнені, що хочете видалити обрану тему?',
],
'plugin' => [
'label' => 'Плагін',
'unnamed' => 'Безіменний плагін',
'name' => [
'label' => 'Назва плагіну',
'help' => 'Введіть назву плагіна зі своїм унікальним кодом. Наприклад, RainLab.Blog',
],
],
'plugins' => [
'manage' => 'Управління плагінами',
'enable_or_disable' => 'Включити або вимкнути',
'enable_or_disable_title' => 'Включення або відключення плагінів',
'install' => 'Встановити плагіни',
'install_products' => 'Встановити розширення',
'search' => 'Пошук плагінів для установки...',
'installed' => 'Встановлені плагіни',
'no_plugins' => 'Немає плагінів, встановлених з магазину.',
'recommended' => 'Рекомендується',
'remove' => 'Видалити',
'refresh' => 'Оновити',
'disabled_label' => 'Відключити',
'disabled_help' => 'Відключені плагіни будуть ігноруватися.',
'frozen_label' => 'Заморозити оновлення',
'frozen_help' => 'Плагіни, які були заморожені ігноруються в процесі оновлення.',
'selected_amount' => 'Обрано плагінів: :amount',
'remove_confirm' => 'Ви впевнені, що хочете видалити цей плагін?',
'remove_success' => 'Вибрані плагіни успішно видалені.',
'refresh_confirm' => 'Ви впевнені?',
'refresh_success' => 'Вибрані плагіни успішно оновлені.',
'disable_confirm' => 'Ви впевнені?',
'disable_success' => 'Плагіни успішно відключені.',
'enable_success' => 'Плагіни успішно включені.',
'unknown_plugin' => 'Плагіни були видалені з файлової системи.',
],
'project' => [
'name' => 'Проект',
'owner_label' => 'Власник',
'attach' => 'Підключити проект',
'detach' => 'Від\'єднати проект',
'none' => 'Не виявлено',
'id' => [
'label' => 'Ідентифікатор проекту',
'help' => 'Як знайти ідентифікатор вашого проекту',
'missing' => 'Будь ласка, вкажіть ідентифікатор вашого проекту для використання.',
],
'detach_confirm' => 'Ви впевнені, що хочете від\'єднати цей проект?',
'unbind_success' => 'Проект був успішно від\'єднаний.',
],
'settings' => [
'menu_label' => 'Налаштування',
'not_found' => 'Неможливо знайти зазначені налаштування.',
'missing_model' => 'На сторінці налаштувань відсутнє визначення моделі.',
'update_success' => 'Налаштування для :name успішно оновлені.',
'return' => 'Повернутися до системних налаштувань',
'search' => 'Пошук',
],
'mail' => [
'log_file' => 'Файл журналу',
'menu_label' => 'Налаштування пошти',
'menu_description' => 'Управління налаштуванням електронної пошти.',
'general' => 'Загальне',
'method' => 'Метод',
'sender_name' => 'Ім\'я відправника',
'sender_email' => 'Адреса відправника',
'php_mail' => 'PHP mail',
'smtp' => 'SMTP',
'smtp_address' => 'Сервер вихідної пошти',
'smtp_authorization' => 'Використовувати SMTP авторизацію',
'smtp_authorization_comment' => 'Активуйте цю опцію, якщо ваш SMTP-сервер вимагає авторизацію.',
'smtp_username' => 'SMTP логін',
'smtp_password' => 'SMTP пароль',
'smtp_port' => 'SMTP порт',
'smtp_ssl' => 'Використовувати SSL',
'smtp_encryption' => 'Протокол шифрування для SMTP',
'smtp_encryption_none' => 'Без шифрування',
'smtp_encryption_tls' => 'TLS',
'smtp_encryption_ssl' => 'SSL',
'sendmail' => 'Sendmail',
'sendmail_path' => 'Sendmail шлях',
'sendmail_path_comment' => 'Будь ласка, вкажіть шлях до sendmail.',
'mailgun' => 'Mailgun',
'mailgun_domain' => 'Mailgun домен',
'mailgun_domain_comment' => 'Будь ласка, вкажіть Mailgun домен.',
'mailgun_secret' => 'Секретний API-ключ',
'mailgun_secret_comment' => 'Введіть ваш Mailgun API-ключ.',
'mandrill' => 'Mandrill',
'mandrill_secret' => 'Секретний ключ Mandrill',
'mandrill_secret_comment' => 'Введіть ваш Mandrill API-ключ.',
'ses' => 'SES',
'ses_key' => 'SES API-ключ',
'ses_key_comment' => 'Введіть ваш SES API-ключ',
'ses_secret' => 'SES секретний API-ключ',
'ses_secret_comment' => 'Введіть ваш секретний SES API-ключ',
'ses_region' => 'SES регіон',
'ses_region_comment' => 'Введіть ваш SES регіон (наприклад, us-east-1)',
'drivers_hint_header' => 'Драйвера не встановлені',
'drivers_hint_content' => "Необхідно встановити плагін ':plugin', перш ніж можна буде відправляти пошту.",
],
'mail_templates' => [
'menu_label' => 'Шаблони пошти',
'menu_description' => 'Зміна шаблонів листів, що відправляються користувачам і адміністраторам.',
'new_template' => 'Новий шаблон',
'new_layout' => 'Новий макет',
'template' => 'Шаблон',
'templates' => 'Шаблони',
'menu_layouts_label' => 'Макети пошти',
'layout' => 'Макет',
'layouts' => 'Макети',
'no_layout' => '-- макет відсутній --',
'name' => 'Назва',
'name_comment' => 'Унікальне ім\'я, що використовується для позначення цього шаблону',
'code' => 'Код',
'code_comment' => 'Унікальний код, який використовується для позначення цього шаблону',
'subject' => 'Тема',
'subject_comment' => 'Тема повідомлення',
'description' => 'Опис',
'content_html' => 'HTML',
'content_css' => 'CSS',
'content_text' => 'Plaintext',
'test_send' => 'Надіслати тестове повідомлення',
'test_success' => 'Тестове повідомлення було успішно надіслано.',
'test_confirm' => 'Тестове повідомлення буде відправлено на :email. Продовжити?',
'creating' => 'Створення шаблону...',
'creating_layout' => 'Створення макета...',
'saving' => 'Збереження шаблону...',
'saving_layout' => 'Збереження макета...',
'delete_confirm' => 'Ви дійсно хочете видалити цей шаблон?',
'delete_layout_confirm' => 'Ви дійсно хочете видалити цей макет?',
'deleting' => 'Видалення шаблону...',
'deleting_layout' => 'Видалення макета...',
'sending' => 'Відправка тестового повідомлення...',
'return' => 'Повернутися до списку шаблонів',
],
'install' => [
'project_label' => 'Приєднати до проекту',
'plugin_label' => 'Встановити плагін',
'theme_label' => 'Встановити тему',
'missing_plugin_name' => 'Будь ласка, вкажіть назву плагіна для установки.',
'missing_theme_name' => 'Будь ласка, вкажіть назву теми для установки.',
'install_completing' => 'Завершення процесу установки',
'install_success' => 'Плагін був успішно встановлений.',
],
'updates' => [
'title' => 'Менеджер оновлень',
'name' => 'Оновлення ПЗ',
'menu_label' => 'Оновлення',
'menu_description' => 'Оновлення системи, управління і установка плагінів і тем.',
'return_link' => 'Повернутися до системи оновлень',
'check_label' => 'перевірити оновлення',
'retry_label' => 'Спробувати ще раз',
'plugin_name' => 'Название',
'plugin_code' => 'Код',
'plugin_description' => 'Опис',
'plugin_version' => 'Версія',
'plugin_author' => 'Автор',
'plugin_not_found' => 'Плагін не знайден',
'core_current_build' => 'Поточна збірка',
'core_build' => 'Збірка :build',
'core_build_help' => 'Остання доступна збірка.',
'core_downloading' => 'Завантаження файлів програми',
'core_extracting' => 'Розпакування файлів програми',
'plugins' => 'Плагіни',
'themes' => 'Теми',
'disabled' => 'Відключено',
'plugin_downloading' => 'Завантаження плагіна: :name',
'plugin_extracting' => 'Розпакування плагіна: :name',
'plugin_version_none' => 'Новий плагін',
'plugin_current_version' => 'Поточна версія',
'theme_new_install' => 'Нова тема встановлена.',
'theme_downloading' => 'Завантаження теми: :name',
'theme_extracting' => 'Розпакування теми: :name',
'update_label' => 'Оновити',
'update_completing' => 'Завершення процесу оновлення',
'update_loading' => 'Пошук доступних оновлень...',
'update_success' => 'Процес оновлення був успішно завершений.',
'update_failed_label' => 'Неможливо оновити програму',
'force_label' => 'Примусово оновити',
'found' => [
'label' => 'Доступні нові оновлення!',
'help' => 'Натисніть «Оновити», щоб почати процес оновлення.',
],
'none' => [
'label' => 'Оновлень немає',
'help' => 'Нові оновлення не знайдено.',
],
'important_action' => [
'empty' => 'Виберіть дію',
'confirm' => 'Підтвердіть оновлення',
'skip' => 'Пропустити цей плагін (тільки один раз)',
'ignore' => 'Пропустити цей плагін (завжди)',
],
'important_action_required' => 'Необхідна дія',
'important_view_guide' => 'Подивитися керівництво по оновленню',
'important_view_release_notes' => 'Перегляд приміток випуску',
'important_alert_text' => 'Деякі оновлення вимагають вашої уваги.',
'details_title' => 'Інформація про плагін',
'details_view_homepage' => 'Перейти до домашньої сторінки',
'details_readme' => 'Документація',
'details_readme_missing' => 'Документації не надано.',
'details_changelog' => 'Історія змін',
'details_changelog_missing' => 'Історії змін не передбачено.',
'details_upgrades' => 'Інструкція по оновленню',
'details_upgrades_missing' => 'Інструкція по оновлення не надана.',
'details_licence' => 'Ліцензія',
'details_licence_missing' => 'Ліцензія не зазначена.',
'details_current_version' => 'Поточна версія',
'details_author' => 'Автор',
],
'server' => [
'connect_error' => 'Помилка підключення до сервера.',
'response_not_found' => 'Сервер оновлення не знайдено.',
'response_invalid' => 'Неправильна відповідь сервера.',
'response_empty' => 'Порожній відповідь сервера.',
'file_error' => 'Сервер не зміг доставити пакет.',
'file_corrupt' => 'Завантажений файл пошкоджений.',
],
'behavior' => [
'missing_property' => 'Клас :class повинен містити властивість $:property, що використовується розширенням :behavior.',
],
'config' => [
'not_found' => 'Не вдалося знайти конфігураційний файл :file, очікуваний для :location.',
'required' => "Для конфігурації, що використовується в :location не вказано властивість ':property'.",
],
'zip' => [
'extract_failed' => "Неможливо зволікти файл ':file'.",
],
'event_log' => [
'hint' => 'У цьому журналі відображається список можливих помилок, які виникають в роботі додатка, таких як виключення і налагоджувальна інформація.',
'menu_label' => 'Журнал подій',
'menu_description' => 'Перегляд системного журналу подій.',
'empty_link' => 'Очистити журнал подій',
'empty_loading' => 'Очищення журналу подій...',
'empty_success' => 'Успішне очищення журналу подій.',
'return_link' => 'Повернутися в журнал подій',
'id' => 'ID',
'id_label' => 'ID події',
'created_at' => 'Дата & Час',
'message' => 'Повідомлення',
'level' => 'Рівень',
'preview_title' => 'Подія',
],
'request_log' => [
'hint' => 'У цьому журналі відображається список запитів браузера, які потребують уваги. Наприклад, якщо відвідувач відкриває неіснуючу сторінку, то в журналі створюється запис з кодом статусу 404.',
'menu_label' => 'Журнал запитів',
'menu_description' => 'Перегляд невдалих або перенаправлених запитів.',
'empty_link' => 'Очистити журнал запитів',
'empty_loading' => 'Очищення журналу запитів...',
'empty_success' => 'Успішне очищення журналу запитів.',
'return_link' => 'Повернутися до журналу запитів',
'id' => 'ID',
'id_label' => 'ID запису',
'count' => 'Лічильник',
'referer' => 'Джерело запиту',
'url' => 'Адреса',
'status_code' => 'Статус',
'preview_title' => 'Запит',
],
'permissions' => [
'name' => 'Система',
'manage_system_settings' => 'Налаштування системних параметрів',
'manage_software_updates' => 'Управління оновленнями',
'access_logs' => 'Перегляд системних логів',
'manage_mail_templates' => 'Управління поштовими шаблонами',
'manage_mail_settings' => 'Управління настройками пошти',
'manage_other_administrators' => 'Управління іншими адміністраторами',
'manage_preferences' => 'Управління настройками бекенд',
'manage_editor' => 'Управління настройками редактора коду',
'view_the_dashboard' => 'Перегляд панелі управління',
'manage_branding' => 'Персоналізація панелі керування',
],
'log' => [
'menu_label' => 'Налаштування журналу',
'menu_description' => 'Вкажіть, які налаштування слід використовувати для ведення журналу.',
'default_tab' => 'Вхід',
'log_events' => 'Журнал системних подій',
'log_events_comment' => 'Система зберігання подій в базі даних, на додаток до журналу на основі файлів.',
'log_requests' => 'Помилкові запити',
'log_requests_comment' => 'Запити браузерів, які потребують уваги, такі як помилка 404.',
'log_theme' => 'Зміни теми',
'log_theme_comment' => 'При внесенні змін до теми через адмін-панель.',
],
];

View File

@ -0,0 +1,99 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| such as the size rules. Feel free to tweak each of these messages.
|
*/
"accepted" => "Ви повинні прийняти :attribute.",
"active_url" => "Поле :attribute недійсний URL.",
"after" => "Поле :attribute має бути датою після :date.",
"alpha" => "Поле :attribute може містити тільки літери.",
"alpha_dash" => "Поле :attribute може містити тільки букви, цифри і дефіс.",
"alpha_num" => "Поле :attribute може містити тільки букви і цифри.",
"array" => "Поле :attribute має бути масивом.",
"before" => "Поле :attribute має бути датою перед :date.",
"between" => [
"numeric" => "Поле :attribute має бути між :min и :max.",
"file" => "Размер :attribute повинен бути від :min до :max Килобайт.",
"string" => "Длина :attribute повинна бути від :min до :max символов.",
"array" => "Поле :attribute має містити :min - :max элементов.",
],
"confirmed" => "Поле :attribute не збігається з підтвердженням.",
"date" => "Поле :attribute не є датою.",
"date_format" => "Поле :attribute не відповідає формату :format.",
"different" => "Поля :attribute та :other повинні відрізнятися.",
"digits" => "Довжина цифрового поля :attribute повинна бути :digits.",
"digits_between" => "Довжина цифрового поля :attribute повинна бути між :min та :max.",
"email" => "Поле :attribute має хибний формат.",
"exists" => "Вибране значення для :attribute вже існує.",
"image" => "Поле :attribute має бути зображенням.",
"in" => "Вибране значення для :attribute помилково.",
"integer" => "Поле :attribute має бути цілим числом.",
"ip" => "Поле :attribute має бути дійсним IP-адресою.",
"max" => [
"numeric" => "Поле :attribute має бути не більше :max.",
"file" => "Поле :attribute має бути не більше :max кілобайт.",
"string" => "Поле :attribute має бути не довше :max символів.",
"array" => "Поле :attribute має містити не більше :max елементів.",
],
"mimes" => "Поле :attribute має бути файлом одного з типів: :values.",
"extensions" => "Поле :attribute повинен мати одне з розширень: :values.",
"min" => [
"numeric" => "Поле :attribute має бути не менше :min.",
"file" => "Поле :attribute має бути не менше :min кілобайт.",
"string" => "Поле :attribute має бути не коротшою :min символів.",
"array" => "Поле :attribute має містити не менше :min елементів.",
],
"not_in" => "Вибране значення для :attribute помилково.",
"numeric" => "Поле :attribute має бути числом.",
"regex" => "Поле :attribute має хибний формат.",
"required" => "Поле :attribute обов'язкове для заповнення.",
"required_if" => "Поле :attribute обов'язково для заповнення, коли :other дорівнює :value.",
"required_with" => "Поле :attribute обов'язково для заповнення, коли :values вказано.",
"required_without" => "Поле :attribute обов'язково для заповнення, коли :values не вказано.",
"same" => "Значення :attribute має збігатися з :other.",
"size" => [
"numeric" => "Поле :attribute повинно бути :size.",
"file" => "Поле :attribute повинно бути :size кілобайт.",
"string" => "Поле :attribute має бути довжиною :size символів.",
"array" => "Кількість елементів в поле :attribute повинно бути :size.",
],
"unique" => "Таке значення поля :attribute вже існує.",
"url" => "Поле :attribute має хибний формат.",
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'custom' => [],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => [],
];

View File

@ -13,4 +13,36 @@ class WidgetManagerTest extends TestCase
$this->assertArrayHasKey('TestVendor\Test\FormWidgets\Sample', $widgets);
$this->assertArrayHasKey('October\Tester\FormWidgets\Preview', $widgets);
}
public function testIfWidgetsCanBeExtended()
{
$manager = WidgetManager::instance();
$manager->registerReportWidget('Acme\Fake\ReportWidget\HelloWorld', [
'name' => 'Hello World Test',
'context' => 'dashboard'
]);
$widgets = $manager->listReportWidgets();
$this->assertArrayHasKey('Acme\Fake\ReportWidget\HelloWorld', $widgets);
}
public function testIfWidgetsCanBeRemoved()
{
$manager = WidgetManager::instance();
$manager->registerReportWidget('Acme\Fake\ReportWidget\HelloWorld', [
'name' => 'Hello World Test',
'context' => 'dashboard'
]);
$manager->registerReportWidget('Acme\Fake\ReportWidget\ByeWorld', [
'name' => 'Hello World Bye',
'context' => 'dashboard'
]);
$manager->removeReportWidget('Acme\Fake\ReportWidget\ByeWorld');
$widgets = $manager->listReportWidgets();
$this->assertCount(1, $widgets);
}
}